Power Amplification: ควบคุมอุปกรณ์ 12V
จะเอา USB ไปเลี้ยงหุ่นยนต์ได้ไงวะน้อง! บทเรียน Controlling 12V Devices นี่แหละคือจุดเปลี่ยนสำคัญ จากแค่กะพริบไฟบนเบรดบอร์ด ไปสู่การหมุนมอเตอร์ตัวใหญ่โครตๆ หรือยิงโซลินอยด์ มันสอนหลักการของ "The Gatekeeper" หรือ "ผู้คุมประตูไฟ" นั่นเอง
ปัญหาคือ: แยกแรงดันกันซะ
ชิป ATmega328P มันทำงานที่ 5 โวลต์เป๊ะๆ ขาพอร์ตมันจ่ายไฟได้แค่ 40 มิลลิแอมป์
- พัดลมคอม 12V ต้องการ
12 โวลต์และ500 มิลลิแอมป์ - ถ้าน้องเอาไฟ 12V ไปเลี้ยงพัดลม แล้วต่อพัดลมตรงๆ เข้าขา Digital ของ Arduino เพื่อสั่งเปิดปิด กระแส 12V นั้นจะระเบิดชิปซิลิคอนกระจายแน่นอน
- น้องต้องแยก "สมอง" (ลอจิก 5V) ออกจาก "กำลัง" (กระแสสูง 12V) ให้เป็น
วิธีที่ 1: รีเลย์แบบกลไก (Mechanical Relay)
รีเลย์คือวิธีที่ง่ายสุดแล้ว
- Arduino ส่งสัญญาณ 5V ที่ปลอดภัยไปให้ขดลวดในรีเลย์
- ขดลวดสร้างแม่เหล็ก ดึงสวิตช์โลหะให้ปิด
*คลิก!* - แหล่งจ่ายไฟ 12V ไหลผ่านสวิตช์โลหะนั้นไปยังปั๊มน้ำหรือมอเตอร์โดยสมบูรณ์ Arduino ไม่ได้แตะต้องสายไฟ 12V เลย!
- ข้อเสีย: ใช้ PWM (ปรับความสว่าง/ความเร็ว) ไม่ได้ รีเลย์มีแค่ ON/OFF เท่านั้น
วิธีที่ 2: MOSFET แบบ Logic-Level (IRLZ44N)
ถ้าอยากให้ LED strip 12V ค่อยๆ หรี่ได้ลื่นๆ ต้องใช้ทรานซิสเตอร์เท่านั้น
- ต่อแหล่งจ่าย 12V เข้า LED Strip แล้วต่อกราวด์ของ LED Strip เข้าที่ขา Drain ของ MOSFET
- ต่อขา Arduino Pin 9 (ที่เป็น PWM) เข้าที่ขา Gate ของ MOSFET
- ต้องต่อกราวด์ของ Arduino เข้ากับกราวด์ของแหล่งจ่าย 12V ด้วย (กราวด์ร่วมเป็นกฎเหล็กสำหรับการใช้ทรานซิสเตอร์)
- Arduino ส่งพัลส์สัญญาณ 5V เร็วๆ MOSFET จะเปิดปิดทางเคมีเป็นพันๆ ครั้งต่อวินาที ทำให้สามารถหรี่โหลด 12V ตัวใหญ่ได้อย่างลื่นไหล ไม่มีเสียงคลิกดังโครตๆ!
อุปกรณ์พื้นฐานที่ต้องมี
- Arduino Uno/Nano
- โมดูลรีเลย์ 5V (แบบที่มีออปโตคัปเปลอร์แยกสัญญาณ)
- MOSFET แบบ N-Channel IRLZ44N
- แหล่งจ่าย 12V (แบตเตอรี่หรือ Adaptor) และ โหลด 12V สำหรับทดสอบ