Lab 3 Lotus Servo

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

เพื่อใช้งานควบคุม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 องศา