กลับไปหน้ารวมไฟล์
arduino-uno-cpu-fan-similutator-58fd0d.md

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

ข้อมูล Frontmatter ดั้งเดิม

title: "Arduino UNO: CPU FAN Similutator"
description: "A very basic CPU FAN Simulator"
author: "cristianlicari"
category: "Motors & Robotics"
tags:
  - "environmental sensing"
  - "energy efficiency"
views: 4590
likes: 0
price: 1120
difficulty: "Intermediate"
components:
  - "1x Axial Fan, Brushless Motor"
  - "1x Optocoupler, 1 Channel"
  - "1x Temperature Sensor"
  - "1x Arduino UNO"
  - "2x Resistor 10k ohm"
  - "1x Alphanumeric LCD, 16 x 2"
  - "2x Tactile Switch, Top Actuated"
  - "2x Rotary potentiometer (generic)"
  - "2x Resistor 220 ohm"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles:
  - "https://create.arduino.cc/editor/cristianlicari/ec3cd513-c98b-427a-b72a-8908c4ced27e/preview"
documentationLinks: []
passwordHash: "877e27c75ef62c8786e3e77cdeaa10093052328ee818c7b8c7ec853c79d17c67"
encryptedPayload: "U2FsdGVkX1/tBkHqj3XOe+m2tu27qXyj0MJJJd9Sld/qBWE5eloKgQ+Xp87mkOUpN5W/IIDgNOOjTWBja+8/Xc0OcQyGLLXIbhHHV2sCYUY="
seoDescription: "Build a basic CPU FAN Simulator using Arduino UNO. A simple and easy-to-follow hardware project for beginners."
videoLinks: []
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/arduino-uno-cpu-fan-similutator-58fd0d_cover.jpg"
lang: "th"