บทที่ 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

แบบฝึกหัดสำหรับทบทวนความเข้าใจ
-
จำลองการทำงานในระบบ 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