Lab 10 การใช้งานมอเตอร์กระแสตรง (DC Motor) 

จุดประสงค์การเรียนรู้

   สามารถเขียนCodeในKB-IDEควบคุมการทำงานของDC Motorได้


สาระการเรียนรู้

   1. DC Motor

       DC Motor เป็นมอเตอร์กระแสตรงที่เปลี่ยนพลังงานไฟฟ้าไปเป็นพลังงานกล โดยอาศัยหลักการเมื่อมีกระแสไฟฟ้าไหลผ่านตัวนำที่วางอยู่ในสนามแม่เหล็ก จะมีแรงเกิดขึ้นที่ลวดเหนี่ยวนำ ทำให้ลวดตัวนำเกิดการเคลื่อนที่ ซึ่งหาค่าแรงนี้ได้จากสมการ F = BIL  

             เมื่อ  F  คือ แรงที่เกิดขึ้นจากลวดตัวนำ   มีหน่วยเป็นนิวตัน

                  B  คือ ค่าความหนาแน่นของเส้นแรงแม่เหล็ก มีหน่วยเป็นเทสลา

                  L คือ ความยาวของขดลวดเหนี่ยวนำมีหน่วยเป็นเมตร

การหาทิศทางของแรงมอเตอร์(แรงแม่เหล็กไฟฟ้า) โดยใช้กฎมือซ้าย โดยนิ้นชี้คือทิศของความหนาแน่นของเส้นแรงแม่เหล็ก (ฺB) นิ้วกลางคือทิศของการไหลกระแสไฟฟ้า(I) นิ้วหัวแม่มือคือทิศทางของแรงแม่เหล็กไฟฟ้าที่เป็นต้นกำเนิดให้DC Motorนั้นทำงาน ดังรูปข้างล่าง


2. สัญญาณ PWM


       PWM (Pulse-Width modulation) ซึ่งเป็นเทคนิคในการเข้ารหัสสัญญาณDigitalให้ัมีOuputเฉลี่ยคล้ายสัญญาณAnalog โดยจะสร้างLogic HIGH(3.3V) และ LOW(0V)สลับกันซึ่งจะทำให้คาบเวลาช่วงHIGHของหนึ่งลูกคลื่นมีหน่วยเป็นเปอร์เซนต์หรือที่เรียกกันว่าDuty Cycle หากใช้สัญญาณDigitalในการสั่งงานจะไม่สามารถทำให้DC Motorปรับความเร็วได้  ดังนั้นจึงจำเป็นต้องใช้สัญญาณPWMในการควบคุมความเร็วของมอเตอร์ ในที่นี้เราจะใช้ Library-> ESP32Servo.h ที่มีคำสั่ง analogWrite เพื่อสั่งให้PWMทำงานตั้งแต่ 0 - 255 เทียบกับ 0 - 100 เปอร์เซนต์ของความต่างศักย์ที่จ่ายให้มอเตอร์นั่นเอง (ความต่างศักย์มากมอเตอร์หมุนเร็ว ความต่างศักย์น้อยมอเตอร์จะหมุนช้า) ซึ่งสามารถดูรายละเอียดและคำอธิบายสัญญาณ PWM ดังภาพประกอบข้างล่าง

3. ไดซ์ควบคุมมอเตอร์TB6612FNG

       คุณสมบัติโดยทั่วไปของไดซ์ควบคุมมอเตอร์ TB6612FNG

           - รับค่าความต่างศักย์สูงสุดVMที่ใช้งานกับมอเตอร์สูงสุดที่ 15 V

           - กระแสที่ขับได้อย่างต่อเนื่องสูงสุด 1.2A

           - กระแสสูงสุดชั่วขณะไม่เกิน 3.2A


Datasheetการทำงานของขาสัญญาณ TB6612FNG 

หลักการในการสั่งงานความเร็วและควบคุมทิศทางของมอเตอร์กระแสตรง โดยปกติจะใช้ 3 พอร์ตสัญญาณในการควบคุมมอเตอร์กระแสตรง 1 ตัว ดังนี้ พอร์ตดิจิตอล 2 พอร์ต และพอร์ตPWM1พอร์ต ดังนี้

  - กรณีที่ 1 Digital AI1 เป็น HIGH ->  Digital AI2 เป็น HIGH  มอเตอร์จะหยุดโดยมีการจ่ายกระแสไฟฟ้าล้อจะเบรก

  - กรณีที่ 2 Digital AI1 เป็น LOW - >Digital AI2 เป็น LOW  มอเตอร์จะหยุดโดยไม่มีการจ่ายกระแสไฟฟ้าล้อจะฟรี

  - กรณีที่ 3 Digital AI1 เป็น HIGH -> Digital AI2 เป็น LOW - > PWMA(ความเร็วจาก 0-255) มอเตอร์จะหมุนไปข้างหน้า

  - กรณีที่ 4 Digital AI1 เป็น LOW - >Digital AI2 เป็น HIGH- > PWMA (ความเร็วจาก 0-255) มอเตอร์จะหมุนกลับทาง

วัสดุอุปกรณ์

1. บอร์ดLotus Devkit V.1.0 จำนวน 1 ตัว

2. สายMicro USB   จำนวน 1 เส้น

3.  DC Motor  จำนวน 2 ตัว

4. Adapter 9 Vdc หรือ Battery Lipo 7.4Vdc จำนวน 1 ตัว/ก้อน

ข้อมูลพื้นฐานการใช้งานDC Motor

การใช้งาน DC Motor 2 ตัว

เป้าหมายในการทำงานของLabนี้ เพื่อเขียนโปรแกรมสั่งให้DC Motor ทำงานตามที่กำหนดได้

2. ทำการ Upload Code ลงไปที่บอร์ด ตามขั้นตอนด้านล่าง 

3. ขั้นตอนการทำงาน ดูตามคลิปวีดีโอแสดงการทำงานข้างล่าง และให้ทำการจ่ายไฟจากแบตเตอรี่ หรือ Adapter อย่างใดอย่างหนึ่ง พร้อมกับเปิดสวิตซ์บอร์ดให้งาน servo motor ถึงจะทำงานได้