จุดประสงค์การเรียนรู้
สามารถเขียนCodeภาษาCในArduino IDEควบคุมการองศาของServo motorได้
สาระการเรียนรู้
1. 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 องศา จะเป็นรุ่นดัดแปลงโดยปกติจะไม่สามารถล็อคตำแหน่งมุมได้เหมือนรุ่นอื่นๆ
2. คำสั่งการใช้งาน
รูปแบบการใช้งานคำสั่งในภาษาซีของArduino IDEในเนื้อหานี้ จะใช้คำสั่งดังต่อไปนี้
วัสดุอุปกรณ์
1. บอร์ดLotus Devkit V.1.0 จำนวน 1 ตัว
2. สายMicro USB จำนวน 1 เส้น
3. Servo Motor จำนวน 1 -3 ตัว
4. Adapter 9 Vdc หรือ Battery Lipo 7.4Vdc จำนวน 1 ตัว/ก้อน
วิธีทดลอง
ตอนที่ 1 การใช้งาน Servo Motor 1 ตัว
เป้าหมายในการทำงานของLabนี้ เพื่อเขียนโปรแกรมสั่งให้Servo Motor ทำงานตามองศาที่กำหนดได้ 1 ตัว
นำบอร์ดLotus Devkit V.1.0 มาต่อกับสายMicro USB และServo motor ดังรูปข้างล่าง
2. ทำการCopy Codeด้านล่างก่อนUpload code Arduino IDE ลงไปใบนบอร์ด ESP32 Devkit v1 ควรเลือกที่Tool -> Board -> ESP32 Arduino ->ESP32 Dev Module (ดังภาพประกอบด้านล่าง)
3.หลังจากนั้นให้เข้ามาที่ Tool ->Port แล้วเลือกพอร์ตC om portที่เชื่อมกับUSB ดังรูปข้างล่าง
4. หลังจากUpload Code เสร็จสิ้น ให้เสียบAdapter 9 Vdc หรือ แบตเตอรี่ Lipo 7.4 Vdc เพื่อใช้เป็นไฟเลี้ยงServo Motor ใหักับวงจร จากนั้นให้เลื่อนสวิตซ์เปิดการใช้งานแบตเตอรี่ขึ้น ดังวีดีโอข้างล่าง
ตอนที่ 2 การใช้งาน Servo Knob
เป้าหมายในการทำงานของLabนี้ เพื่อเขียนโปรแกรมสั่งให้Servo Motor ทำงานตามค่าการหมุนตัวต้านทานปรับค่าได้ Knob
สามารถ Upload Code ดังตัวอย่างข้างล่าง หลังจากUpload Code เสร็จสิ้น ให้เสียบAdapter 9 Vdc หรือ แบตเตอรี่ Lipo 7.4 Vdc เพื่อใช้เป็นไฟเลี้ยงServo Motor ใหักับวงจร จากนั้นให้เลื่อนสวิตซ์เปิดการใช้งานแบตเตอรี่ขึ้น และทำการหมุนตัวต้านทานปรับค่าได้ ดังรูปและวีดีโอข้างล่าง
ตอนที่ 3 การใช้งาน Servo Knob 3 ช่องร่วมกับจอแสดงผล OLED
เป้าหมายในการทำงานของLabนี้ เพื่อเขียนโปรแกรมสั่งให้Servo Motor ทำงานตามค่าการหมุนตัวต้านทานปรับค่าได้ Knob ร่วมกันจอ OLED เพื่อมองให้เห็นองศาการทำงานของServo Motor
สามารถ Upload Code ดังตัวอย่างข้างล่าง หลังจากUpload Code เสร็จสิ้น ให้เสียบAdapter 9 Vdc หรือ แบตเตอรี่ Lipo 7.4 Vdc เพื่อใช้เป็นไฟเลี้ยงServo Motor ใหักับวงจร จากนั้นให้เลื่อนสวิตซ์เปิดการใช้งานแบตเตอรี่ขึ้น และทำการหมุนตัวต้านทานปรับค่าได้ ดังรูปและวีดีโอข้างล่าง Lab 9.3 Servo Knob and OLED Devkit Robot
ตอนที่ 4 การใช้งาน Servo Knob ร่วมกับจอแสดงผล OLED
เป้าหมายในการทำงานของLabนี้ เพื่อเขียนโปรแกรมสั่งให้Servo Motor 3 ช่อง ทำงานตามค่าการหมุนตัวต้านทานปรับค่าได้ Knob ร่วมกันจอ OLED เพื่อมองให้เห็นองศาการทำงานของServo Motor
สามารถ Upload Code ดังตัวอย่างข้างล่าง หลังจากUpload Code เสร็จสิ้น ให้เสียบAdapter 9 Vdc หรือ แบตเตอรี่ Lipo 7.4 Vdc เพื่อใช้เป็นไฟเลี้ยงServo Motor ใหักับวงจร จากนั้นให้เลื่อนสวิตซ์เปิดการใช้งานแบตเตอรี่ขึ้น และทำการหมุนตัวต้านทานปรับค่าได้ ดังวีดีโอข้างล่าง Lab 9.3 Servo Knob and OLED Devkit Robot