กลับไปหน้ารวมไฟล์
tutorial-control-12v-devices-with-arduino-mosfet-module-f8e1d9.md

เมื่อไม่กี่สัปดาห์ก่อน ผมได้นำเสนอบทความและวิดีโอสาธิตวิธีการควบคุมอุปกรณ์ที่มีแรงดันไฟฟ้าสูง (High Voltage) ด้วย Arduino ซึ่งได้รับความสนใจเป็นอย่างมาก สำหรับใครที่ยังไม่ได้อ่านหรือต้องการทบทวนพื้นฐาน สามารถย้อนกลับไปดูได้ที่ลิงก์นี้ครับ:

https://create.arduino.cc/projecthub/mdraber/tutorial-on-how-to-control-12v-devices-with-arduino-e5b416

อย่างไรก็ตาม ในขณะที่ผมกำลังจัดระเบียบอุปกรณ์ในเวิร์กชอป ผมก็ได้พบกับ MOSFET Module ซึ่งเป็นอุปกรณ์ชิ้นสำคัญที่ผมมองข้ามไปในบทความที่แล้ว บทความนี้จึงเปรียบเสมือน "ภาคผนวก" หรือส่วนขยายที่จะมาเจาะลึกการใช้โมดูล MOSFET ในการควบคุมไฟ LED 12V อย่างมีประสิทธิภาพและเป็นมืออาชีพมากขึ้น

ทำไมต้อง MOSFET? เจาะลึกในเชิงวิศวกรรม

ในโปรเจคก่อนหน้านี้ เราอาจจะใช้ Relay หรือ Transistor ทั่วไป แต่ MOSFET (Metal-Oxide-Semiconductor Field-Effect Transistor) มีข้อได้เปรียบที่โดดเด่นในงานด้านอิเล็กทรอนิกส์กำลัง (Power Electronics):

  1. ความเร็วในการสวิตช์ (Switching Speed): MOSFET สามารถเปิด-ปิดได้เร็วมากในระดับไมโครวินาที ทำให้เราสามารถใช้เทคนิค PWM (Pulse Width Modulation) เพื่อหรี่ไฟ (Dimming) หรือควบคุมความเร็วรอบมอเตอร์ได้ ซึ่ง Relay แบบกลไกทำไม่ได้
  2. ความทนทาน: เนื่องจากไม่มีหน้าสัมผัสทางกล (Mechanical parts) จึงไม่มีการสึกหรอหรือเกิดประกายไฟ (Arcing) ทำให้มีอายุการใช้งานที่ยาวนานกว่า
  3. ประสิทธิภาพความร้อน: หากเลือกใช้ Logic Level MOSFET ที่เหมาะสม จะมีการสูญเสียพลังงานในรูปความร้อนต่ำมาก (Low RDS(on))

ในบทความนี้เราจะใช้โมดูลที่ใช้ชิปตระกูล IRF520 ซึ่งเป็นที่นิยมอย่างมากในกลุ่มผู้เล่น Arduino


การสาธิตการใช้งานในรูปแบบวิดีโอ

สำหรับใครที่ต้องการดูขั้นตอนการต่อวงจรและการทำงานจริง สามารถรับชมได้จากวิดีโอด้านล่างนี้ครับ:


การเชื่อมต่อวงจร (Hardware Wiring)

การใช้งานโมดูล MOSFET นั้นง่ายกว่าการต่อตัวทรานซิสเตอร์แยกเอง เนื่องจากมีการรวมวงจร Isolation และ Terminal Block มาให้แล้ว:

  • ฝั่ง Arduino (Control):
    • SIG: ต่อเข้ากับ Digital Pin ของ Arduino (เช่น Pin 9 หากต้องการใช้ PWM)
    • VCC: ต่อเข้ากับ 5V ของ Arduino
    • GND: ต่อเข้ากับ GND ของ Arduino
  • ฝั่ง Load (Power):
    • VIN / GND: ต่อเข้ากับแหล่งจ่ายไฟภายนอก 12V
    • V+ / V-: ต่อเข้ากับอุปกรณ์ที่ต้องการควบคุม (ในที่นี้คือ LED 12V)

การวิเคราะห์โค้ดโปรแกรม (Source Code Analysis)

เพื่อให้เห็นภาพการทำงาน ผมขอนำเสนอโค้ดตัวอย่างที่ใช้ในการควบคุมความสว่างของ LED 12V โดยใช้หลักการ PWM ครับ

const int mosfetPin = 9; // กำหนดขา SIG ของ MOSFET ต่อที่ Pin 9 (รองรับ PWM)

void setup() {
  pinMode(mosfetPin, OUTPUT); // ตั้งค่าให้ขา 9 เป็น Output
}

void loop() {
  // 1. ตัวอย่างการเปิด-ปิด (Digital Control)
  digitalWrite(mosfetPin, HIGH); // เปิดไฟ LED 100%
  delay(2000); 
  digitalWrite(mosfetPin, LOW);  // ปิดไฟ LED
  delay(1000);

  // 2. ตัวอย่างการหรี่ไฟ (Analog Control ด้วย PWM)
  // ค่อยๆ เพิ่มความสว่าง
  for(int brightness = 0; brightness <= 255; brightness++) {
    analogWrite(mosfetPin, brightness);
    delay(10);
  }
  delay(1000);
  
  // ค่อยๆ ลดความสว่าง
  for(int brightness = 255; brightness >= 0; brightness--) {
    analogWrite(mosfetPin, brightness);
    delay(10);
  }
  delay(1000);
}

อธิบายลอจิกการทำงาน:

  • digitalWrite(mosfetPin, HIGH): เมื่อส่งสัญญาณ Logic HIGH (5V) ไปยังขา Gate ของ MOSFET จะทำให้ช่องว่างระหว่าง Drain และ Source เชื่อมถึงกัน ส่งผลให้กระแสไฟ 12V ไหลผ่าน LED ได้เต็มที่
  • analogWrite(mosfetPin, value): เป็นการส่งสัญญาณ Pulse ออกไปสลับกันระหว่าง HIGH และ LOW ด้วยความถี่สูง ค่า 0-255 คือค่า Duty Cycle ซึ่งจะกำหนด "ค่าเฉลี่ย" ของพลังงานที่ส่งไปยัง LED ทำให้เรามองเห็นเป็นการหรี่ไฟได้อย่างนุ่มนวล

บทสรุป

การใช้ MOSFET Module เป็นทางเลือกที่ยอดเยี่ยมสำหรับการควบคุมอุปกรณ์ DC แรงดันสูงที่ต้องการความละเอียดแม่นยำและความเร็วในการสวิตช์ ไม่ว่าจะเป็นการหรี่ไฟ LED Strip หรือการควบคุมความเร็วพัดลม DC 12V-24V ด้วยประสิทธิภาพที่เหนือกว่า Relay ในแง่ของขนาดและความยืดหยุ่นทางซอฟต์แวร์ ทำให้มันเป็นอุปกรณ์ที่วิศวกรฝังตัวควรมีติดกล่องเครื่องมือไว้เสมอ

หากคุณชอบเนื้อหาเชิงเทคนิคแบบนี้ และต้องการสนับสนุนการสร้างสรรค์วิดีโอและบทความต่อๆ ไป สามารถสนับสนุนผมได้ที่:

Patreon: https://www.patreon.com/MariosIdeas

หรือร่วมสนับสนุนผ่าน PayPal: คลิกที่นี่เพื่อสนับสนุนผ่าน PayPal

ขอบคุณที่ติดตามครับ! หากมีคำถามเกี่ยวกับโปรเจคนี้ สามารถทิ้งข้อความไว้ได้เลยครับ

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

title: "Tutorial: Control 12V devices with Arduino Mosfet module"
description: "In this tutorial you will learn how to turn of and on 12V Led with the snap of the finger"
author: "Dziubym"
category: "Lab Stuff"
tags:
  - "mosfet module"
  - "12v devices"
views: 2828
likes: 0
price: 299
difficulty: "Easy"
components:
  - "1x Sound Sensor"
  - "1x Mosfet module"
  - "1x Arduino Nano R3"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles: []
documentationLinks: []
passwordHash: "e26b5f7ea7744065578bee44ab534ccaa5f2cac40305d1b8145c73735986b4d8"
encryptedPayload: "U2FsdGVkX1+A/piCcFFyEm5onlUj0tEBBfdZTOttvlWxePoq3LqHHn80kfd1PDQjy7QOfpUElI3bwnDhJ124PryQxyfzybfuiRqwKYqg1E4="
seoDescription: "Learn how to control 12V Led devices using an Arduino and Mosfet module with a simple snap of your fingers in this tutorial."
videoLinks:
  - "https://www.youtube.com/embed/9O0pb0I6bCU"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/tutorial-control-12v-devices-with-arduino-mosfet-module-f8e1d9_cover.jpg"
lang: "en"