Akurobatto คือการเดินทางต่อของพี่เพื่อสร้างนาฬิกาที่มีแขนทรงตัวบนขอบได้ แรกเริ่มสุดคือ edgytokie ที่แขนขยับได้ แต่มีข้อเสียร้ายแรงคือแขนชั่วโมงกับนาทีมีขนาดเดียวกันจนแยกแทบไม่ออก เพื่อแก้ปัญหานี้ พี่เลยตั้งเป้าสร้างนาฬิกาที่มีแขนขนาดต่างกัน โดยทำให้แขนสามารถปลดล็อกตัวเองจากฐานแล้วพลิกกลับด้านได้
โครงสร้างหลักแบ่งเป็นสองส่วน: แขนด้านบน กับ ฐานด้านล่าง แขนยาวบรรจุมอเตอร์สเตปเปอร์ 2 ตัว, Arduino และไดรเวอร์ขับมอเตอร์สเตปเปอร์ ถึงมอเตอร์จะตัวเล็ก แต่พี่ดึงเกียร์บ็อกซ์มาจากเซอร์โวมอเตอร์ตัวใหญ่ ทำให้มีแรงบิดพอที่จะยกแขนได้
- มอเตอร์ A: ต่อตรงกับจุดหมุนของแขนสั้น เพื่อหมุนมันโดยตรง
- มอเตอร์ B: หมุนดรัมล่าง ซึ่งเชื่อมกับดรัมกลางและแขนบนด้วยสายพาน ถ้าแขนยึดกับดรัมล่าง แขนจะหมุนรอบดรัมล่าง แต่ถ้ายึดกับดรัมบน แขนจะหมุนรอบดรัมล่างผ่านสายพาน แขนสามารถยึดกับดรัมบน, กลาง, หรือล่างได้ ขึ้นอยู่กับท่าทางที่ต้องการ
แต่ละดรัมจะมีแม่เหล็กเล็กๆ ติดอยู่ที่แกนหมุน มุมของแม่เหล็กจะถูกตรวจจับด้วยเซ็นเซอร์ As5600 เพื่อส่งข้อมูลมุมกลับไปให้ Arduino รู้ตำแหน่งแขน ช่วยหลีกเลี่ยงการชนฐานแบบไม่จำเป็น
ส่วนฐานมีเซอร์โว 2 ตัว ทำหน้าที่เป็นตัวยึดแขนและจ่ายไฟให้แขนด้วย เซอร์โวมีตะขอโลหะ 2 อัน คอยจ่ายไฟให้แขนผ่านคลิปทองแดงที่ดรัมบน, ล่าง และกลาง แขนและฐานสื่อสารกันแบบไร้สายด้วยโมดูล nrf24l01 โดยแขนจะมี Arduino ตัวหลักทำหน้าที่คำนวณและส่งคำสั่งไปให้ฐานเปิด-ปิดตามต้องการ
ส่วนที่ tricky มากคือการจ่ายไฟผ่านจุดหมุน พี่ต้องทำสลิปริงและแปรงถ่าน DIY ขึ้นมาเองทุกจุดหมุน การทำชิ้นส่วนที่เชื่อถือได้จากแถบทองแดงและชิ้นส่วนพิมพ์ 3D นี่มันงานปวดหัวสุดๆ เลยนะตัวนี้
อีกปัญหาหนักคือการจัดการข้อผิดพลาดตอนแขนยึดไม่สนิท พี่ยังต้องปรับปรุงส่วนนี้อยู่ การยึดยังไม่เสถียร บางทีแขนชนแล้วนาฬิกาก็หยุดทำงานเลย ดรัมก็ทนการเปิด-ปิดซ้ำๆ ไม่ค่อยได้ ควรทำจากอลูมิเนียมจะดีกว่า นั่นคือเป้าหมายต่อไป
การลงมือทำจริง: การทำแผนที่ความเฉื่อยและพลวัตของเซอร์โว
โปรเจกต์นี้เผยให้เห็นชั้นที่ซ่อนอยู่ของการโต้ตอบระหว่างการเคลื่อนไหวกับการทรงตัวแบบง่ายๆ:
- ชั้นการระบุตัวตน: เซ็นเซอร์ MPU-6050 ทำหน้าที่เป็นดวงตาที่วัดพื้นที่ความละเอียดสูง วัดความเอียงของหุ่นยนต์ (Pitch/Roll) ผ่านไจโร-แอคเซลเลอโรมิเตอร์ภายใน
- ชั้นการแปลงข้อมูล: ระบบใช้โปรโตคอล I2C ความเร็วสูงเพื่อรับแพ็กเก็ตข้อมูลสำหรับงานเซนซิ่งที่สำคัญต่อภารกิจ
- ชั้นอินเทอร์เฟซการขับเคลื่อน: เซอร์โวแรงบิดสูง MG996R คู่ ให้ฟีดแบ็กทั้งภาพและกลไกความละเอียดสูงสำหรับการตรวจสอบสถานะการแสดงกายกรรม (เช่น มุมทรงตัว)
- ชั้นอินเทอร์เฟซควบคุม: เอาต์พุต PWM ความเร็วสูง ให้การตรวจสอบสถานะแบบแมนนวล (โอเวอร์ไรด์ตำแหน่ง) หรืออัตโนมัติระหว่างการปรับเทียบเริ่มต้น
- ตรรกะการประมวลผล: โค้ด Arduino ใช้กลยุทธ์ "PID-balance" (หรือ servo-dispatch): มันตีความสัญญาณจากไจโร-แอคเซลเลอโรมิเตอร์และจับคู่ตำแหน่งเซอร์โวเพื่อให้การเคลื่อนไหวกายกรรมที่ปลอดภัยและเป็นจังหวะ
- ลูปการสื่อสาร: สตริงเทเลเมทรีจะถูกส่งเป็นจังหวะไปยัง Serial Monitor ระหว่างการปรับเทียบเริ่มต้น
โครงสร้างพื้นฐานฮาร์ดแวร์-หุ่นยนต์
- Arduino Uno: "สมอง" ของโปรเจกต์ จัดการการสุ่มตัวอย่างเซ็นเซอร์หลายทิศทางและประสานการซิงค์ระหว่างเซอร์โวกับไจโร
- IMU MPU-6050: ให้ "ลิงก์การวัด" ที่ชัดเจนและน่าเชื่อถือสำหรับการกำหนดทิศทางในพื้นที่
- เซอร์โวแรงบิดสูง MG996R: ให้อินเทอร์เฟซทางกายภาพที่มีความจุสูงและน่าเชื่อถือสำหรับภารกิจที่เกี่ยวกับการเคลื่อนไหว
- โครงตัวพิมพ์ 3 มิติ: ให้อินเทอร์เฟซทางกายภาพที่ชัดเจนและเป็นมืออาชีพสำหรับภารกิจการเคลื่อนไหว และปกป้องชิ้นส่วนภายใน
- แบตเตอรี่ Li-Po: สำคัญสำหรับการให้แหล่งพลังงานที่ชัดเจนและประหยัดพลังงานสำหรับมอเตอร์
- สาย Micro-USB: ใช้สำหรับโปรแกรม Arduino และเป็นอินเทอร์เฟซหลักสำหรับตัวควบคุมระบบ
ขั้นตอนการทำงานอัตโนมัติและการโต้ตอบของนักกายกรรม
กระบวนการเคลื่อนไหวของอากุโรบัตโตะถูกออกแบบให้มีประสิทธิภาพสูง:
- เตรียมพื้นที่ทำงาน: วางมอเตอร์และเซ็นเซอร์ของคุณให้ถูกต้องภายในโครงตัวพิมพ์ 3 มิติ และเชื่อมต่อกับขา Arduino ให้ถูกต้อง
- ตั้งค่าซิงค์ความเร็วสูง: ในสเก็ตช์ Arduino เริ่มต้น
mpu.initialize()และกำหนดค่าคงที่ PID ในฟังก์ชันsetup() - ลูปการสื่อสารภายใน: สถานีจะทำลูปการวัดพื้นที่ประสิทธิภาพสูงอย่างต่อเนื่องและอัปเดตสถานะเซอร์โวแบบเรียลไทม์ตามการตั้งค่าการเคลื่อนไหวของคุณ
- การบูรณาการฟีดแบ็กภาพและข้อมูล: ดูแดชบอร์ดหุ่นยนต์ของคุณกลายเป็นสัญญาณสถานะที่เป็นจังหวะโดยอัตโนมัติ พัลส์และตามการตั้งค่าการทรงตัวของคุณจากระยะไกล
การขยายในอนาคต
- บูรณาการแดชบอร์ดแสดงตัวตน OLED: เพิ่มจอแสดงผล OLED ขนาดเล็กที่ด้านหลังเพื่อแสดง "มุมทรงตัวปัจจุบัน" หรือ "แบตเตอรี่ (%)"
- ซิงโครไนซ์หลายเซ็นเซอร์: เชื่อมต่อ "เซ็นเซอร์อัลตราโซนิก" พิเศษเพื่อทำ "การกระโดดหลบสิ่งกีดขวาง" แบบไร้สายด้วยความแม่นยำสูงขึ้น
- ซัพพอร์ตซิงโครไนซ์การลงทะเบียนอินเทอร์เฟซคลาวด์: เพิ่มเว็บแดชบอร์ดพิเศษบนสมาร์ทโฟนผ่าน WiFi/BT เพื่อติดตามและบันทึกประวัติการแสดงกายกรรมทั้งหมดอย่างแม่นยำ
- ซัพพอร์ตการปรับแต่งโปรไฟล์ความเร็วขั้นสูง: เพิ่ม "Machine Learning (vCore)" พิเศษลงในโค้ดเพื่อให้ทริกเกอร์เปลี่ยนได้โดยอัตโนมัติตามความสูงของผู้ใช้!
อากุโรบัตโตะเป็นโปรเจกต์ที่เพอร์เฟกต์สำหรับผู้ที่ชื่นชอบวิทยาศาสตร์ที่กำลังมองหาเครื่องมือหุ่นยนต์ที่มีการโต้ตอบและน่าสนใจมากขึ้น!
[!IMPORTANT] MPU-6050 ต้องการค่า การปรับเทียบไจโร ออฟเซ็ตที่แม่นยำในโค้ด; ตรวจสอบให้แน่ใจเสมอว่าคุณมี แฟลก Fail-Safe ที่เหมาะสมในลูปหากเซอร์โวโอเวอร์โหลด!

hardware exploded view

the locking mechnism

ทดสอบต้นแบบกลไกล็อคแขน อย่าให้มันหลุดล่ะ ไม่งั้นงานพัง!
ทดสอบต้นแบบแขนแบบต่างๆ ต้องลองหลายๆ แบบน้อง ถึงจะรู้ว่าอันไหนจัดไปวัยรุ่นสุด!