หน้าเว็บ

วันอังคารที่ 14 กรกฎาคม พ.ศ. 2558

สร้างหุ่นยนต์ POPBOT-XT+ กับมอเตอร์ BO1 และติดตั้ง Encoder




popbot-xt รุ่นมาตรฐานจะมาพร้อมกับมอเตอร์รุ่น BO2 ทำให้ยากต่อการติดตั้ง Encoder เพื่อนับระยะทางการเคลื่อนที่ มาดูว่า ถ้าต้องการติดตั้ง Encoder ให้กับ POPBOT XT  ต้องปรับแต่งหุ่นยนต์อย่างไรกันบ้าง
รายละเอียดของตัว Encoder ที่ inex ใช้งานเป็นลักษณะดังนี้

เริ่มสร้างกันเลย...

1. ใช้ฉากโลหะ 2x3 ขันยึดเข้ากับฐานหุ่นยนต์
2. ใช้สกรู 3x10 มม.ขันยึดด้วยนอต 3 มม.

3. นำมอเตอร์มายึดโดยใช้สกรู 3x25 มม. เฉพาะด้านล่างก่อน
4. นำเสารองโลหะ 37 มม. คั่นระหว่างมอเตอร์ 2 ตัวแล้วใช้สกรู 3x25 มม.ขันยึด

5. นำล้อมายึดเข้ากับแกนมอเตอร์ แล้วใช้สกรูเกลียวปล่อยขันยึด

6. เสียบจานเอ็นโค้ดเดอร์ เข้ากับแกนของมอเตอร์

7. ยึดเสารองเข้ากับเอ็นโค้ดเดอร์ ทำเหมือนกัน 2 ชุด


8. ครอบ Encoder ลงบนจาน Encoder ขันสกรูยึดให้แน่น
9. เสียบสาย สัญญาณตำแหน่งดังรูป

10. นำถาดรองกะบะถ่าน ยึดเข้ากับเสารองพลาสติก และเสารองโลหะ ใช้สกรูขนาด 3x15 ขันยึด
11. นำถาดรองกะบะถ่าน ยึดเข้ากับฐานและใช้สกรู 3x6 มม.ขันยึดในตำแหน่งดังรูป

12. นำ ZX-03 ยึดเข้ากับแท่งต่อ 5 รู ใช้สกรู 3x15 มม.ขันยึดด้วยนอต 3 มม.
13. นำ ZX-03 ยึดเข้ากับด้านหน้าของหุ่นยนต์ ในตำแหน่งดังรูป ใช้สกรูขนาด 3x10 มม. ขันยึดให้แน่น

14. จัดวางตำแหน่งเซนเซอร์ ให้อยู่ในระนาบเดียวกัน

15. นำบอร์ด POP-XT ใส่ถ่าน AA 4 ก้อน
16. เสียบบอร์ดไว้ที่โครงหุ่นยนต์

17.เสียบสายมอเตอร์ ดูทิศทางให้ถูกต้อง โดยให้ปิดสวิตช์ที่ตัวหุ่นยนต์ จากนั้นลองหมุนมอเตอร์ หมุนไปด้านหน้าไฟต้องติดเป็นสีเขียว หมุนถอยหลังไฟติดเป็นสีแดง มอเตอร์ 1 ด้านซ้าย มอเตอร์ 2 ด้านขวา
18. เสียบสาย Encoder เข้าที่จุด 2/SDA และ 3/SCL
19. เสียบสาย ZX-03 เข้าที่ A0, A1, A2, A3 (จุดต่ออะนาลอกสีแดง)

หุ่นยนต์เมื่อประกอบเสร็จสมบูรณ์
 

การเคลื่อนที่ของหุ่นยนต์เมื่อใช้ Encoder



ระยะทางการเคลื่อนที่เมื่อล้อหมุนครบ 1 รอบ


แนวคิดการเขียนโปรแกรมอย่างง่ายๆ




อ่านค่าโดยใช้คำสั่ง in เพื่อรับค่าอินพุตเข้ามา เป็น "0" 1 ครั้ง เป็น "1" 1ครั้ง นับค่าเป็น 1 ค่า ดังนั้นถ้านับค่าครบ 20 ค่า จะเคลื่อนที่ได้ 1 รอบหรือประมาณ 22 เซนติเมตรพอดี

ขาที่ใช้งานเป็น Encoder ของ POP-XT



การอ่านค่าโดยใช้อินเตอร์รัปต์

บอร์ด POPXT ที่ติดตั้งซอฟต์แวร์ตั้งแต่เวอร์ชั่น 1.07 ขึ้นไป จะมีไลบรารี่ ชื่อ XTencoder.h ติดตั้งมาด้วย ไลบรารี่ ตัวนี้จะยอมให้สามารถต่อขาเอ็นโค้ดเดอร์ได้ถึง 4 ขา และทำงานเบื้องหลังได้ ผู้ใช้งานเพียงอ่านค่า หรือรีเซตค่า โดยไม่ต้องคอยวนตรวจสอบ รูปแบบการใช้งานคำสั่งมีดังนี้







ตัวอย่างการใช้งาน



จากตัวอย่างเป็นการใช้งาน Encoder ที่ขา 2  โดยเริ่มต้นจะต้องรีเซตค่าการนับให้เป็น 0 ก่อนจากนั้น สั่งให้หุ่นยนต์เดินหน้า ค่าการนับมีค่ามากกว่า 40 สั่งให้หุ่นยนต์หยุดหมุน
จากตัวอย่างด้านบน สามารถเพิ่มคำสั่งสำหรับการหยุดหุ่นยนต์ แบบทันทีทันใดเข้าไป ด้วย สร้างเป็นโปรแกรมที่สมบูรณ์ได้ดังนี้




ไม่มีความคิดเห็น: