จุดประสงค์การเรียนรู้
สามารถเขียนCodeภาษาCในArduino IDEควบคุมการองศาของServo motorได้
สาระการเรียนรู้
1. DC Motor
DC Motor เป็นมอเตอร์กระแสตรงที่เปลี่ยนพลังงานไฟฟ้าไปเป็นพลังงานกล โดยอาศัยหลักการเมื่อมีกระแสไฟฟ้าไหลผ่านตัวนำที่วางอยู่ในสนามแม่เหล็ก จะมีแรงเกิดขึ้นที่ลวดเหนี่ยวนำ ทำให้ลวดตัวนำเกิดการเคลื่อนที่ ซึ่งหาค่าแรงนี้ได้จากสมการ F = BIL
เมื่อ F คือ แรงที่เกิดขึ้นจากลวดตัวนำ มีหน่วยเป็นนิวตัน
B คือ ค่าความหนาแน่นของเส้นแรงแม่เหล็ก มีหน่วยเป็นเทสลา
L คือ ความยาวของขดลวดเหนี่ยวนำมีหน่วยเป็นเมตร
การหาทิศทางของแรงมอเตอร์(แรงแม่เหล็กไฟฟ้า) โดยใช้กฎมือซ้าย โดยนิ้นชี้คือทิศของความหนาแน่นของเส้นแรงแม่เหล็ก (ฺB) นิ้วกลางคือทิศของการไหลกระแสไฟฟ้า(I) นิ้วหัวแม่มือคือทิศทางของแรงแม่เหล็กไฟฟ้าที่เป็นต้นกำเนิดให้DC Motorนั้นทำงาน
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 ดังภาพประกอบข้างล่าง
คำสั่งการใช้งาน Python
รูปแบบการใช้งานคำสั่งใน Python ในเนื้อหานี้ จะใชคำสั่งดังต่อไปนี้
ภาพตาราง
วัสดุอุปกรณ์
1. บอร์ดLotus Devkit V.1.0 จำนวน 1 ตัว
2. สายMicro USB จำนวน 1 เส้น
3. DC Motor จำนวน 2 ตัว
4. Adapter 9 Vdc หรือ Battery Lipo 7.4Vdc จำนวน 1 ตัว/ก้อน
วิธีทดลอง
เป้าหมายในการทำงานของLabนี้ เพื่อเขียนโปรแกรมสั่งให้Servo Motor ทำงานตามองศาที่กำหนดได้ 1 ตัว
นำบอร์ดLotus Devkit V.1.0 มาต่อกับสายMicro USB ดังรูปข้างล่าง
2. เนื่องจากบอร์ดLotus Devkit V1.0
ดังภาพข้างล่าง
ภาพ มอเตอร์ DC
3. ทำการโหลด Firmware v1.22.2(2024-02-22.bin) (เลือกเวอร์ชั่นล่าสุด)
เลื่อนข้างล่างเว็ปไซต์ ของบทความ
4. ขั้นตอนต่อไปติดตั้งโปรแกรม Thonny เวอร์ชั่น thonny 3.3.13
5. เริ่มดาวน์โหลดโปรแกรม Thonny เลือกที่อยู่โปรแกรม
6. ทำการติดตั้งโปรแกรม และยอมรับเงื่อนไข
7.ขั้นตอนต่อไปเข้าโปรแกรม Thonny เสร็จสิ้น
8. ขั้นตอนต่อไปเข้าโปรแกรม Thonny
10. ตัวอย่าง ทำการเขียนCode ในโปรแกรม micropython Thonny ตามรูปแบบข้างล่าง
11. เข้าโปรแกรมเลือกที่ ปุ่ม Run >> Select interpreter ...
หน้าต่างของ thonny options ทำการเลือกพอร์ตที่ต่อกับบอร์ด esp32
ในตัวอย่างเลือกเป็นพอร์ต USB (COM5)
12. เข้าโปรแกรมเลือกที่ ปุ่ม Install orupdate firmware
หน้าต่างของ ESP32 ทำการเลือกพอร์ตที่ต่อกับบอร์ด esp32
ในตัวอย่างเลือกเป็นพอร์ต USB (COM5)
13. ในหน้าต่าง ESP32 firmware installer ในตัวอย่างเลือกเป็นพอร์ต USB (COM5)
ต่อไปในส่งของ Firmware >> Browse... เลือก Firmware ที่เราดาวน์โหลดมาเริ่มข้างต้น
14. เลือก Firmware ที่เราดาวน์โหลดมาเลือกชื่อไฟล์
ESP32_GENERIC-20240222-v1.22.2.bin หรือชื่อไฟล์ที่ดาวน์โหลดมาเวอร์ชั่นล่าสุด
รอจนกว่าจะขึ้นข้อความว่า Done ! และ กดปิดหน้าต่างดังกล่าวออก
15. กดปิดหน้าต่างดังกล่าวออก และ กด OK พอออกมาหน้าโค้ดแล้วกดปุ่มสีแดงSTOP
stop/Restart backend(Ctrl+F2) หนึ่งครั้ง
1ุ6.ขั้นตอนต่อไปเป็นการ บันทึกไฟล์ เลือกที่ File >> Save as >> Micro Python device
ตั้งชื่อเป้น main.py ไว้สั่งงานในบอร์ด esp32
1ุ7. ถัดไปกดปุ่ม Run ปุ่มสีเขียว Run current script (F5)
ตัวอย่างการทำงาน
หากกด Run จะเริ่มทำงาน