จุดประสงค์การเรียนรู้
เพื่อใช้งานควบคุมServo Motorโดยผ่านPlatform CiRA COREในการสื่อสารข้อมูลแบบSerial
สาระการเรียนรู้
Servo Motor
เซอร์โวมอเตอร์เป็นมอเตอร์ที่ประกอบด้วยไฟฟ้าคอลโทรลและกลไกในตัวเอง โดยปกติสามารถควบคุมหรือล็อคองศาการทำงานได้ การใช้งานจะใช้ในการควบคุมตำแหน่ง, ความเร็ว, แรงบิด และความแม่นยำให้มีการทำงานสอดคล้องกันอย่างมีประสิทธิภาพ โดยอาศัยวงจรแบบป้อนกลับ(Feedback Controller)
- Feedback Controller คือ ระบบควบคุมี่มีการวัดค่าOutputของระบบ แล้วนำมาเปรียบเทียบค่าInputเพื่อควบคุมและปรับแต่งให้ค่าOutputของระบบมีค่าเท่ากับหรือใกล้เคียงกับค่าInput
- ชนิดของServo Motor หากแบ่งตามชนิดของแหล่งจ่ายไฟจะแบ่งเป็น Servo Motorกระแสตรง และServo Motorกระแสสลับ
- Servo Motor ที่มีขายในทั้งตลาดโดยทั่วไปจะมีแบบทำงานระหว่าง 0องศา - 90 องศา,0องศา - 180 องศา,0องศา - 270 องศา ส่วนสำหรับServo Motorชนิด 360 องศา จะเป็นรุ่นดัดแปลงโดยปกติจะไม่สามารถล็อคตำแหน่งมุมได้เหมือนรุ่นอื่นๆ
DatasheetของสีสายไฟของServo Digitalขนาดเล็กโดยทั่วไป
วัสดุอุปกรณ์
1. ไมโครสวิตซ์ ชนิดกดติดปล่อยดับ จำนวน 1 ตัว
2. ตัวต้านทาน 10 กิโลโอห์ม จำนวน 1 ตัว
3. บอร์ด ESP32 Devkit V.1 จำนวน 1 บอร์ด
4. สายMicro USB จำนวน 1 เส้น
5. Breadboard
6. สายแพร Male-Male
7. หลอด LED จำนวน 3 หลอด
8. ตัวต้านทาน 220 โอห์ม จำนวน 3 ตัว
9. ตัวต้านทานปรับค่าได้ Potentiometer จำนวน 1 ตัว
10. ลำโพงBuzzer จำนวน 1 อัน
11. จอแสดงผล OLED I2C จำนวน 1 อัน
12. Servo Motor จำนวน 1 ตัว
13. โมดูลMb 102 Breadboard จำนวน 1 ตัว
14. Adaptor 9Vdc จำนวน 1 ตัว
15. ไดซ์มอเตอร์ TB6612 FNG จำนวน 1 ตัว
16. มอเตอร์กระแสตรง จำนวน 2 ตัว
วิธีทำการทดลอง
1. ทำการUpload Code firmware ของArduino IDE ไปที่บอร์ดESP32 Devkit v.1 โดยCode Frimware จะอยู่ที่นี่
2. ต่อวงจรดังตารางและรูปข้างล่าง (ถ้าหากอุปกรณ์ไม่ครบสามารถต่อแค่Servo Motor,โมดูล MB102 Breadboard,AdaptorและESP32ก็ได้ ในรูปเป็นการต่อวงจรการทำงานแบบครบทุกLAB)
ตารางDatasheetการต่อวงจร
1. Datasheet Servo Motor
2. Datasheet MB 102 Breadboard
Mb 102
-
บอร์ดESP32
GND
** หมายเหตุ : ที่ MB 102 ให้นำจัมเปอร์มาต่อระหว่างขา OFF กับ 5V ถึงจะได้ไฟOutput 5V
3.ทำการเปิดโปรแกรมโดยการเรียงลำดับในตารางดังนี้
ลำดับที่
1
2
3
ชื่อโปรแกรม
4. หลังจากเรียกใช้โปรแกรม CiRA Lotus Nano ตัวโปรแกรมจะถามถึงรหัสผ่านในการเข้าใช้งานโปรแกรม ให้ทำการกรอกรหัสผ่านของเครื่องก่อนแล้วคลิกที่ปุ่มOK
5. หลังจากนั้นตัวโปรแกรม CiRA Lotus Nano จะทำการเปิดหน้าต่างดังรูปข้างล่างนี้ขึ้น ซึ่งให้เราเลือก Device เป็น /dev/ttyUSB0 แล้วกดที่ปุ่มSTART
****แต่ถ้าหากกดที่ปุ่มSTARTแล้วขึ้นError ให้ทำการเปิดพอร์ตUSB โดยใช้คำสั่งที่Terminal ดังนี้ :sudo chmod 666 /dev/ttyUSB0
ในกรณีที่ใช้งานได้จะมีหน้าตาดังรูปข้างล่าง
6.หลังจากนั้นให้เปิดที่หน้าต่างของCiRA COREและทำการเขียนFlow data code ดังนี้
การทำงานในแต่ละกล่อง
ชื่อกล่อง
Java Script / การตั้งค่าในเฟือง
การทำงาน
กดปุ่ม Run เมื่อต้องการให้โปรแกรมเริ่มทำงาน
สั่งทำงานServo Motor ที่ +90 องศา
**** สามารถสั่งงานมอเตอร์ได้ 180 องศา โดยคำสั่งในการใช้งานสามารถใช้ได้ตั้งแต่ -90 องศา จนถึง 90 องศา
7. ทำการRun Code บนPlatform CiRA CORE แล้วกดปุ่มSTART และRun ที่Button Run จะทำให้Servo Motorเคลื่อนที่มาอยู่ที่ตำแหน่ง+90 องศา