Arduino UNO: CPU FAN Similutator
เป็นส่วนขยายจาก Temperature over LCD project, นี่คือตัวอย่างของการนำชิ้นส่วนคอมพิวเตอร์เก่ากลับมาใช้ใหม่
ด้วย LCD, temperature sensor, optocouplers, สวิตช์สองตัว และ resistor บางส่วน เราจะมาสร้าง CPU FAN ที่ควบคุมด้วยระบบดิจิทัลกัน
ในตัวอย่างนี้ ผมใช้พัดลม 5V แบบ 3 สาย เพื่อจ่ายไฟโดยตรงจากขา 5V ของ Arduino
จะสามารถตั้งค่า threshold temperature ได้โดยใช้สวิตช์สองตัว ตัวหนึ่งเพิ่มค่า อีกตัวหนึ่งลดค่า เพื่อบอกให้ Arduino รู้ว่าจะเปิดพัดลมเมื่อใด หาก actual temperature สูงกว่า threshold temperature พัดลมจะเปิดทำงาน
สิ่งที่ควรรู้เกี่ยวกับ CPU fan
มีพัดลมหลายชนิด ทั้งแบบ 3 สาย หรือ 4 สาย แบบแรกจะมี GND, แหล่งจ่ายไฟ และสาย output สำหรับสื่อสารค่า rpm ส่วนแบบที่สองจะใช้สายที่ 4 เป็น PWM power supply เพื่อตั้งค่า rpm
อีกสิ่งหนึ่งที่ควรรู้คือ พัดลม 5V โดยปกติจะทำงานที่ 400mA ซึ่งจะสร้างสัญญาณรบกวนบนสาย Arduino ที่อาจทำลาย internal voltage sensors ได้ ดังนั้น โปรดเก็บโปรเจกต์นี้ไว้เพื่อวัตถุประสงค์ทางการศึกษาเท่านั้น ไม่ใช่สำหรับวงจรระดับมืออาชีพ
สิ่งที่ควรรู้เกี่ยวกับ OPTOCOUPLERS
เป็นสวิตช์ง่ายๆ ที่ใช้ LED และ foto-resistor ภายใน เพื่อปิดและเปิดวงจร หาก LED ติด วงจรจะปิดและ "ไฟฟ้า" สามารถผ่านไปได้ หากไม่ติด ก็จะไม่สามารถผ่านไปได้
ในการเปิด/ปิด LED เพียงแค่ใช้ digital output แบบ LOW และ HIGH จาก Arduino ของเรา พร้อมกับ resistor เพื่อไม่ให้ LED ไหม้
รายละเอียดทางเทคนิคเพิ่มเติม
การควบคุม Pulse-Width Modulation (PWM) อย่างเชี่ยวชาญ
โปรเจกต์นี้จำลองการทำงานของ PC cooling fan ระดับมืออาชีพ ช่วยให้เจาะลึกการควบคุมความเร็วแบบปรับค่าได้และ tachometer feedback
- การจัดการสัญญาณ PWM: Arduino Uno สร้างสัญญาณ PWM 25kHz (ซึ่งเป็นมาตรฐานอุตสาหกรรมสำหรับ PC fan) เพื่อควบคุม 4-pin PWM fan ทั้งแบบจำลองหรือแบบกายภาพ firmware ใช้ฟังก์ชัน
analogWrite()เพื่อปรับเปลี่ยน "Duty Cycle" ซึ่งเป็นการเปลี่ยนค่า RPM ของพัดลมอย่างมีประสิทธิภาพ - การอ่านค่า Tachometer Pulse: Arduino ตรวจสอบขา "Sense" ของพัดลม โดยใช้ hardware interrupts เพื่อคำนวณความถี่ของ pulse ที่เข้ามา และคำนวณค่า RPM (Revolutions Per Minute) ที่แม่นยำของพัดลมแบบ real-time
อินเทอร์เฟซสำหรับการวินิจฉัย
- RPM Dashboard: ความเร็วพัดลมปัจจุบัน, duty cycle และค่า RPM ที่คำนวณได้ จะแสดงบน Serial Monitor หรือ 16x2 LCD ที่เชื่อมต่ออยู่ ซึ่งเป็นเครื่องมือวินิจฉัยที่สมบูรณ์แบบสำหรับการวิเคราะห์ประสิทธิภาพ PC cooling