จุดประสงค์การเรียนรู้
เพื่อใช้งานควบคุม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 องศา จะเป็นรุ่นดัดแปลงโดยปกติจะไม่สามารถล็อคตำแหน่งมุมได้เหมือนรุ่นอื่นๆ
วัสดุอุปกรณ์
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การต่อวงจร
** หมายเหตุ : ที่ MB 102 ให้นำจัมเปอร์มาต่อระหว่างขา OFF กับ 5V ถึงจะได้ไฟOutput 5V
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 ดังนี้
การทำงานในแต่ละกล่อง
7. ทำการRun Code บนPlatform CiRA CORE แล้วกดปุ่มSTART และRun ที่Button Run จะทำให้Servo Motorเคลื่อนที่มาอยู่ที่ตำแหน่ง+90 องศา