บทที่ 16: การเขียนโปรแกรมควบคุมความเร็วมอเตอร์ดีซีด้วยสัญญาณ PWM

UTEN BOONLIAM Avatar
บทที่ 16 / 26

บทที่ 16: การเขียนโปรแกรมควบคุมความเร็วมอเตอร์ดีซีด้วยสัญญาณ PWM

มอเตอร์กระแสตรง เป็นอุปกรณ์จักรกลไฟฟ้าที่แปลงไฟฟ้ากระแสตรงให้เป็นพลังงานกลโดยการหมุนของเพลา เป็นการทำงานบนหลักการของแรงลอเรนซ์ (Lorentz force)โดยที่ตัวนำกระแสไฟฟ้าในสนามแม่เหล็กสัมผัสกับแรงจึงทำให้ตัวนำเคลื่อนที่ไปในทิศทางของแรงที่เรียกว่าแรงลอเรนซ์(Lorentz force)

โดยทั่วไปแล้วมอเตอร์ DC ประกอบด้วยแม่เหล็กไฟฟ้าหรือแม่เหล็กถาวรและขดลวดที่ได้รับการเคลือบด้วยน้ำยาฉนวน เมื่อจ่ายไฟฟ้ากระแสตรงเข้าไปยังขดลวดจะเกิดการเหนี่ยวนำของสนามแม่เหล็กไฟฟ้า เนื่องจากการเหนี่ยวนำแม่เหล็กไฟฟ้าทำให้ armature เคลื่อนที่ไปตามทิศทางของแรง มอเตอร์กระแสตรงมีการใช้กันอย่างแพร่หลายในระบบอัตโนมัติทางอุตสาหกรรมของเล่นและหุ่นยนต์ ความเร็วของมอเตอร์ DC สามารถควบคุมได้ทั้งโดยการควบคุมกระแสไฟฟ้าไปยังกระดองหรือโดยการใช้แหล่งจ่ายไฟแบบแปรผัน

การควบคุมความแรงมอเตอร์ดีซี โดยปกติจะปรับเพิ่มและลดแรงดันที่ส่งออกไปยังมอเตอร์ แต่การปรับเพิ่มหรือลดแรงดันนั้นเป็นแนวทางที่ต้องใช้วงจรที่ซับซ้อนมีความยุ่งยากค่อนข้างมาก ดังนั้นโดยทั่วไปจึงนิยมใช้เทคนิคที่เรียกว่า Pulse Width Modulation (PWM) ซึ่งไม่ได้ปรับเพิ่มหรือลดแรงดันโดยตรง หากแต่ใช้หลักการเปิด/ปิดมอเตอร์ด้วยความเร็วสูงๆ จนผลค่าเฉลี่ยของแรงดันที่ได้ออกมาเทียบเท่ากับการเปลี่ยนแรงดันโดยตรง ซึ่งเป็นเทคนิคเดียวกันกับการควบคุมความสว่างของ LED RGB จากบทความที่ผ่านมานั่นเอง

บนบอร์ด Arduino Learning Kit จะมีวงจรขับมอเตอร์ดีซีอยู่ 2 ช่อง โดยใช้ Power MOSFET เป็นตัวขับกระแสให้กับมอเตอร์ ซึ่งจะใช้แรงดัน 12V เป็นตัวขับ ดังนั้นในการทดลองนี้จำเป็นที่จะต้องต่อ AC to DC Adapter 12V ให้กับบอร์ด Arduino Learning Kit

Motor 1 Motor 2
Arduino Uno 5 6
Arduino Nano 5 6
ESP32(ESP-WROM-32) 32 33

ตารางที่ 16. 1 ขาที่ต่อใช้งานกับมอเตอร์ดีซี

การเขียนโปรแกรมสั่งงานดีซีมอเตอร์ด้วยสัญญาณ PWM

เขียนโปรแกรมตามตัวอย่างด้านล่าง โดยประยุกต์ใช้ความรู้เรื่องการอ่านค่าแรงดันจากตัวต้านทานปรับค่าได้ โดยให้ความเร็วมอเตอร์ตัวที่ 1 เปลี่ยนแปลงตามค่า VR1 และความเร็วมอเตอร์ตัวที่ 2 เปลี่ยนแปลงตามค่า VR2 และให้แสดงค่า PWM % ที่หน้าเจอ LCD16x2

แบบฝึกหัดสำหรับทบทวนความเข้าใจ

  1. จำลองการทำงานในระบบ smart farm โดยให้เราออกแบบระบบโรงเรือนเลี้ยงไก่ โดยภายในโรงเรือนจะมีเซนเซอร์วัดอุณหภูมิและความชื้น DHT22 วัดค่าอยู่ เมื่ออุณหภูมิสูงขึ้นให้พัดลมระบายอากาศหมุนและเร่งความเร็วพัดลมตามอุณหภูมิที่สูงขึ้นโดย ตามตาราง โดยให้แสดงค่าอุณหภูมิและความเร็วพัดลมทางหน้าจอ LCD16x2

อุณหภูมิ

(องศาเซลเซียส)

ความเร็วพัดผมระบายอากาศ PWM (%)
<= 30 0%
31 10%
32 20%
33 30%
34 40%
35 50%
36 60%
37 70%
38 80%
39 90%
>= 40 100%

หมายเหตุ: ในการทดลอง ค่าอุณหภูมิในตารางข้างบน สามารถปรับเปลี่ยนได้ตามสภาพแวดลอมในการทดลองนั้น ๆ

Leave a Reply

Your email address will not be published. Required fields are marked *