แขนหุ่นยนต์โฮมเมดใช้ชิ้นส่วนมาตรฐานโดยใช้ ARDUINO และ GUI ในการประมวลผล(https://www.instructables.com/id/Homemade-Robotic-Arm-Using-Standard-Parts-Using-Ar/)
ขั้นตอนที่ 1: ทำบ้านของคุณ
ใช่แล้วก็ยังคงเกี่ยวกับการทำบ้านของคุณก่อนที่คุณจะเริ่มโครงการเหล่านี้ สำหรับฉันฉันเริ่มต้นด้วยพื้นฐานและบทสรุปที่ดีเกี่ยวกับแขนหุ่นยนต์คือการสอนแขนหุ่นยนต์ที่เว็บไซต์ของ Society of Robotics อ้างผู้เขียน:
"แขนหุ่นยนต์น่าจะเป็นหุ่นยนต์ที่มีความซับซ้อนทางคณิตศาสตร์มากที่สุดที่คุณเคยสร้างขึ้นมา"
เชื่อฉันฉันพบนี้ออกเมื่อฉันได้พัฒนาสมการสำหรับการเคลื่อนไหวทางกลศาสตร์ไปข้างหน้าและผกผัน - แต่ด้วยที่กล่าวว่าฉันได้หาวิธีง่ายๆในการทำเช่นนี้จะแจ้งให้ทราบเมื่อเราไปพร้อม ฉันจะให้คุณทุกแหล่งข้อมูลเพิ่มเติม / การอ้างอิงที่ท้ายบทเรียนนี้ที่ฉันใช้
ขั้นตอนที่ 2: รวบรวมชิ้นส่วนของคุณ
ServoCity:
- (2) SPG785A1-5 Servo Gearbox (อัตราส่วนเกียร์ 7: 1 สำหรับไหล่และ 3.8: 1 สำหรับข้อศอก)
- (1) SPG785A-BM ด้านล่างสำหรับยึด, HS-785HB (อัตราส่วน 3.8: 1) - ไม่ประกอบ
- (1) 1 "ท่ออลูมิเนียมกลวง - 3", 635104
- (1) 1 "ท่ออลูมิเนียมกลวง - 5", 635108
- (2) 1 "90 ° Bore Tube Clamp (545464)
- (1) ตัวยึดล้อ, 1 "(1.00) - 545386
- (1) 1 "ปากกาจับยึด Bore Clamping Hub A (545352)
- (1) 1 "Bore Tube Clamp D (545620)
- (1) 1 "Bore Clamping Hub A (545352) - ดีกว่าโดยใช้ 1" Bore Clamping Hub B (545354)
- (1) อะแดปเตอร์ Hub ขนาด 1.50 "x 0.770"
- (1) 90 °รูปสี่เหลี่ยมผืนผ้า Mount F (545448)
- (1) 90 °วงเล็บดุมล้อ A (585494)
- (2) 1 / 4-20 RoundScrew Plate (545468)
- (2) ช่องแบนแบบวงคู่ (585422)
- (2) ServoBlocks มาตรฐานของ Hitec
- (4) แถบเชื่อมต่อบีม (585403)
- Hitec HS-422 Servo
- Hitec HS-5645MG ดิจิตอลเซอร์โว, ตั้งโปรแกรมไว้ที่ 180 องศา
- 6-32 สกรูปั้มฟิลลิปไขว้ศีรษะ - 1/2 นิ้ว 1/4 นิ้ว 5/16 นิ้ว 3/16 นิ้ว (ประมาณ 20 ชิ้น)
- 4-40 Truss Head ฟิลิปป์สกรูเครื่อง - 1/4 นิ้ว (8)
- Socket Head Machine Cap สกรูหกเหลี่ยมประมาณ 10 ทุก 1/2 และ 1/4 นิ้ว
Pololu.com
- Mini Maestro 18 ช่อง USB Servo Controller
- สายพรีเมี่ยมจัมเปอร์ 10-Pack MF 6 "สีแดง
- Premium Jumper Wire 10-Pack MF 6 "สีดำ
- สายจัมเปอร์ Premium 50-Piece Rainbow Assortment MF 6 "
- สายจัมเปอร์ Premium 50-Piece Rainbow Assortment MM 6 "
- 4 standoffs 4-40 ชายหญิง - 1 ใน
- 4 standoffs 4-40 ชาย - หญิง - 1/4 นิ้ว
- 4 standoffs 4-40 ชายหญิง - 1/2 ใน
Amazon.com
- Neiko Steel Spring Shop Assortment - 200 สปริงใน 20 ขนาด / ลักษณะ
- VIMVIP ปลั๊กขยายสายไฟต่อ Servo สำหรับชาย - หญิงรุ่น 30cm สำหรับ KK MWC Eagle Control Board (Pack of 10pcs)
- หลอดสามเหลี่ยม (Pack of 10) 5 อะแดปเตอร์ไฟ DC แจ็คชายและปลั๊กอะแดปเตอร์ตัวเชื่อมต่อ Jack 5 หญิง
- สายซิลิโคน - ขอบละเอียด - 12 เกจ - 5 ฟุตสีดำ, 5 ฟุตสีแดง
- บอร์ด Perf
Robotshop.com
- ตัวควบคุมแรงดันไฟฟ้าสลับ 5V 1A, RB-Dim-20
- ตัวควบคุมการปรับแรงดันไฟฟ้า 25W, RB-Dim-28 ปรับเป็น 8v
- (2) คณะกรรมการ Breakout Regulator แรงดันไฟฟ้า, RB-Dim-25
ขั้นตอนที่ 3: เครื่องมือ
นี้ค่อนข้างง่าย:
- ปากกาหกเหลี่ยม 7/64
- ไขควง - หัวหลายที่ผมหยิบขึ้นมาที่สถานีบ้าน
- ชุดไขควง iFix - คุณไม่จำเป็นต้องมีชุดอุปกรณ์เฉพาะนี้ แต่คุณจะต้องใช้ไขควงขนาดเล็กสำหรับปลั๊ก DC และขั้วต่อไฟฟ้า
- คู่ของลวดตัด / strippers
- มัลติมิเตอร์
ขั้นตอนที่ 4: ซอฟต์แวร์สำหรับ Maestro, GUI และ Arduino
ลงและติดตั้งซอฟต์แวร์ต่อไปนี้หากคุณยังไม่ได้ติดตั้งซอฟต์แวร์ลงในคอมพิวเตอร์ของคุณ
- ศูนย์ควบคุม Maestro
- ห้องสมุด Maestro Arduino
- สำหรับ GUI ที่คุณจะต้องประมวลผล 3
- Arduino และรหัสการประมวลผล
ฉันจะสมมติว่าผู้อ่านรู้วิธีติดตั้งแอปพลิเคชันในระบบปฏิบัติการของตนรวมถึงการติดตั้งไลบรารี Arduino
คำแนะนำในการใช้ Maestro Control Center มีให้โดย Pololu ขอแนะนำให้อ่านก่อนตั้งค่าเซอร์โวของคุณ: 4. ใช้ Maestro Control Center
ขั้นตอนที่ 5: การประกอบ ServGic SPG785A-BM Servo Power Gearbox (Arm Base)
เซอร์โว SPG785A-BM มาพร้อมกับคำแนะนำโดยละเอียดสำหรับการประกอบ แต่เราจะต้องทำการเปลี่ยนแปลงเล็กน้อยเพื่อรองรับ Hub Spacer ขนาด 1 นิ้ว
สิ่งที่คุณจะต้องทำก็คือการประกอบ Hub Gear กับด้านที่ราบรื่นขึ้นด้วย 3/4 หรือ 1 นิ้วที่มีสลักเกลียวหัว 6-32 สกรู ขั้นตอนแรกคือการคว้าตัวยึดท่อที่มาพร้อมกับกล่องเกียร์ Hub Spacer และสกรูตัวใดตัวหนึ่งเพื่อเริ่มต้น วางรูสกรูลงใน spacer, clamp tube และเกียร์ให้แน่นเข้าด้วยกันและแนบสกรูสามชิ้น ถ้าคุณไม่ถือสามส่วนแน่นคุณจะลมขึ้นด้วยช่องว่างที่คุณไม่ต้องการ ง่ายมากพอที่จะแก้ไขได้โดยการปิดสกรูและขันอีกครั้งหลังจากที่คุณได้รับการจับที่ดีขึ้น คุณจะต้องทำเช่นนี้ในที่อื่นอีกสามแห่ง นี่เป็นภาพแรกในขั้นตอนนี้
เมื่อประกอบเซอร์เวอร์แล้วให้แนบเซอร์โวฐานกับหนึ่งใน 12 สายขยายเซอร์โวไปที่ช่อง 0 ของ mini-Maestro และต่อสายเคเบิล mini-USB เข้ากับเครื่องคอมพิวเตอร์ ดับเบิลคลิกที่ไอคอน Maestro Control Center และควรเชื่อมต่อกับ Mini-Maestro Controller โดยอัตโนมัติ บนแท็บ "สถานะ" ของแผงควบคุมเปิดใช้งานช่อง 0 และตั้งศูนย์เซอร์โวที่ 1500 (โดยวิธีนี้เป็นเวลาไม่กี่วินาที) ด้วยเซอร์โวที่เชื่อมต่ออยู่ให้ต่อชุดเกียร์เข้ากับฮับโดยให้แนวแนวตั้งชี้ไปข้างหน้าและกดลงตามคำแนะนำที่ให้มา ตอนนี้ความสนุกเริ่มขึ้นแล้ว
เลื่อนแถบเลื่อนบนแท็บ "สถานะ" ขึ้นเพื่อปรับค่าสูงสุดของเซอร์โวเพื่อให้เส้นเคลื่อนที่ไป 180 องศา กำหนดค่าสูงสุดที่ 180 องศาในแท็บสถานะและปรับค่าดังกล่าวในแท็บ "การตั้งค่าช่อง" หากเลื่อนแถบเลื่อนไม่เคลื่อนที่เซอร์โว 180 องศาจะเพิ่มมูลค่าของการตั้งค่าสูงสุดในแท็บ "การตั้งค่าช่อง" และคลิกที่ปุ่มบันทึก กลับไปที่แท็บสถานะและเลื่อนแถบเลื่อนต่อไปจนกว่า servo จะเลื่อนไป 180 องศา จากนั้นกลับไปที่แท็บการตั้งค่าช่องเปลี่ยนค่าสูงสุดเป็นค่าที่คุณมีในแท็บสถานะและคลิกบันทึก
ปฏิบัติตามขั้นตอนเดียวกันนี้เพื่อหาค่า min สำหรับ 180 องศาในทิศทางตรงกันข้าม อย่าลืมคลิกปุ่มบันทึก เมื่อวางเสร็จคุณควรตั้งชื่อช่องให้เป็น "ฐาน"
ในแท็บการตั้งค่าช่องให้ตั้งค่า "On Startup Error" เป็น "GoTo" เพื่อให้ค่าเริ่มต้นของเซอร์โวอยู่ที่ 0 องศา การตั้งค่าสำหรับเซอร์โวของฉันจะแสดงในภาพการตั้งค่าช่อง
ในแท็บ "การตั้งค่า Serial Settings" การตั้งค่าของคุณควรเหมือนกับที่แสดงในภาพด้านบน
ตอนนี้อาจเป็นเวลาที่ดีในการติดตั้งฐานแขนกับชิ้นส่วน ABS, HDPE หรือวัสดุที่คุณเลือกซึ่งมีขนาดประมาณ 8 "W by 15" L และหนา 1/8 นิ้วใช้รูใน Arm Base เป็น คู่มือของคุณและทำเครื่องหมายแผ่นฐานอย่างเหมาะสมฉันใช้ชิ้นส่วนของ ABS และเจาะสี่หลุมด้วยการเจาะและใช้ 1/4 "ยาว 6-32 สกรู
ขั้นตอนที่ 6: การประกอบกล่องเกียร์ Servo SPG785A1-5 (ประกอบชุดไหล่)
สำหรับขั้นตอนนี้คุณจะต้องมีเซอร์โวเกียร์ SPG785A1-5 (7: 1), 90 องศา 1 "และท่อต่อขยายเซอร์โว 12 สาย ..
ก่อนอื่นติดเซอร์โวเกียร์ไปยังช่อง 1 ของ Mini-Maestro และกำหนดการตั้งค่าเซอร์โว
- เชื่อมต่อ Mini-Maestro เข้ากับเครื่องคอมพิวเตอร์และเปิด Maestro Control Center
- เปิดใช้ช่อง 1 ใน Control Center
- เลื่อนแถบเลื่อนช่อง 1 ไปที่ 1500 และวางเครื่องหมายบนเฟืองศูนย์กลาง สำหรับข้อศอกประกอบ 0 องศาส่งต่อ ดูภาพการปรับทิศทางเซอร์โวในขั้นตอน
- ทำตามขั้นตอนเดียวกันในการกำหนดค่าต่ำสุดและสูงสุดที่ +/- 180 องศาตามที่คุณได้ทำในขั้นตอนที่ 5
- ตั้งชื่อช่อง "ไหล่" ในแท็บการตั้งค่าช่อง
- ตั้งค่าการเร่งความเร็วไปที่ 40 ซึ่งจะควบคุมความเร็วของเซอร์โว หมายเหตุ: คุณสามารถเปลี่ยนการตั้งค่านี้หลังผ่านห้องสมุด Arduino Mini-Maestro ก่อนที่จะโหลดสเปรดชีต Arduino
- ตั้ง "GoTo" ไว้ที่การตั้งค่าที่เกี่ยวกับ +135 องศา (บรรทัดควรเป็นประมาณ 45 จากแนวตั้งที่ชี้ขึ้น
ถัดไปย้าย servo ไปกลาง (กลาง) หรือ 0 องศาประมาณ 1500 ใน Control Center และแนบ 1 "ยึดหลอดเบื่อเพื่อให้สอดคล้องกับ 0 องศาและขันสกรู hex ด้วย 7/64 นิ้วประแจหกเหลี่ยม
ขั้นที่ 7: แนบ Assy บ่ากับ Assy ฐาน
ส่วนนี้สามารถเป็นเคล็ดลับเล็ก ๆ น้อย ๆ ใช้สกรูหัวกลม 1/4 "1/4 นิ้วและพอดีกับรูด้านล่างของกล่องเกียร์ไหล่ที่ 0 องศาเซลเซียสและ 180 องศาถ้าสกรูยาว 1/4" ใช้สกรูที่สั้นกว่า จัดตำแหน่งหลุมด้วยรู 0/180 องศาที่พื้นที่ 1 "บนกล่องเกียร์ Base ขันสกรูให้แน่นด้วยไขควงหัวแม่มือ Philips ใช้ไขควง iFIx เพื่อให้พอดีกับพื้นที่ที่แน่นหนาคุณจะต้องหันมุม ไขควงเพื่อให้งานนี้หมายเหตุ: ถ้าฉันต้องทำเช่นนี้มากกว่าฉันจะได้มีรุ่นที่ไม่ได้ประกอบ
ขั้นตอนที่ 8: ประกอบ SPG785A1-5 Servo Gearbox (Elbow Assembly)
ขั้นตอนนี้ทำตามขั้นตอนเดียวกันกับชุดไหล่ (Gearbox) ตามขั้นตอนที่ 5 ยกเว้นเซอร์โวที่เชื่อมต่อกับช่อง 3 ของ Mini-Maestro ชื่อบนแท็บ "การตั้งค่าช่อง" ควรเป็น "ข้อศอก" ความเร็วควรตั้งไว้ที่ 10 และ "GoTo" ควรอยู่ที่ประมาณ -135 องศา อย่าลืมแนบ "Bore Tube Clamp 1" 905 (545464) และขันสกรูซ็อกเก็ตให้แน่น
ขั้นตอนที่ 9: การต่อข้อศอกกับไหล่
สำหรับขั้นตอนนี้คุณจะต้องมีสิ่งต่อไปนี้:
- 1 "ท่ออลูมิเนียมกลวง - 3", 635104
- 1 "Bore Clamping Hub B (545354) นี่คือรูเจาะรูเจาะรู A
- 90 °รูปสี่เหลี่ยมผืนผ้าขึ้น F (545448)
- อะแดปเตอร์ Hub 1.50 "x 0.770"
- (4) 6-32 แผ่นเกลียวเดี่ยว
- (8) สกรูหัวต่อซ็อกเก็ต 6-32 - ยาว 1/2 "
- (4) 6-32 สกรูหัวเหล็กมัด - 3/8 "ยาว
- (2) 9/32 "x 2-13 / 16" สปริงเสริม
ขั้นตอนแรกในการประกอบประกอบย่อยคือการจับคู่ฮับอะแดปเตอร์กับ 1" เจาะ Clamping Hub A. วางช่องของอะแดปเตอร์และหนีบฮับ. ใช้ 1/2" สกรูหัวซ็อกเก็ต (4) และสกรูสอง ชิ้นส่วนร่วมกับ 7/64 "ประแจหกเหลี่ยม
ขั้นตอนถัดไปเป็นเรื่องยุ่งยากเล็กน้อยเพราะคุณจะไม่สามารถขันน๊อตบนสกรูหัวยึดได้โดยตรง ก่อนอื่นให้ใช้สกรูหัว 3/8 นิ้วและเลื่อนผ่านรูเจาะที่มุมซ้ายบนของ Quad Hub Mount ดังรูปที่ 1 เลื่อนอะแดปเตอร์ Hub ไปที่สกรูและจัดตำแหน่งฮับหนีบดังแสดงใน รูปประกอบย่อยเมื่อเสร็จแล้วให้ขันสกรูออกจากสกรูจนกว่าจะต่อกับ Hub Adaptor และวางสกรูลงบนสกรูให้แน่นขันสกรู
ตอนนี้เอาท่อและวางไว้ใน Clamping Hub และขันให้แน่นบนสกรูหัวซ็อกเก็ตเพื่อล็อคท่อในสถานที่ ตรวจสอบให้แน่ใจว่าแน่นหนาเท่าที่คุณจะทำได้
ถัดไปเอาซับแอสเซมบลีและใส่ลงในด้านล่างของกล่องเกียร์เซอร์โว ล็อคชุดประกอบย่อยไว้ในตำแหน่งพร้อมกับ (4) สกรูของซ็อกเก็ตที่เหลืออยู่
ถัดไปใช้สปริงสองส่วนขยายและเชื่อมโยงกัน ใช้ปลายด้านหนึ่งของสปริงและสอดระหว่างแท็บของ 90 องศาเบื่อ clamp เลื่อนสกรูกระชับไปตามรูและขันสกรูหัวต่อให้แน่นก่อนที่จะประกอบข้อศอก ดูภาพที่แนบมา
ขั้นตอนสุดท้ายคือการจับข้อศอกกับไหล่ ใช้ที่จับข้อศอกและเลื่อนท่อไปที่ 90 องศาของ Clamping Hub ของชุดไหล่ ระยะห่างระหว่างฐานยึดไหล่กับฐานหนีบข้อศอกประมาณ 1.25 ให้ขันสกรูหัวยึดของซ็อกเก็ตลงในส่วนยึดให้ตรวจสอบระยะห่างระหว่างศูนย์เพื่อให้ได้ดังรูป
ระมัดระวังเมื่อคุณปล่อยให้มันไปที่จุดนี้แขนไม่สมดุลดังนั้นเมื่อคุณปล่อยให้มันไปมันจะลดลงเช่นหิน
ขั้นตอนที่ 10: การประกอบแขน
สำหรับขั้นตอนนี้คุณจะต้องมีสิ่งต่อไปนี้:
- (12) สกรูหัวกรูม 1/2 "6-32
- (1) 1 "ท่ออลูมิเนียมกลวงยาว - 5"
- (1) หมุดยึด 1 นิ้ว "90 องศา" A
- (1) สว่านเจาะกระแทก 1 นิ้ว A
- (2) วงเล็บคู่แบบแบน
- (2) 1 / 4-20 แผ่นกลมกลึง (545658)
แอสเซมบลีจะสวยตรงไปข้างหน้าสำหรับการชุมนุมนี้:
- ติดตั้งดุมหนีบขนาด 1 "และใช้สกรู (4) 1/2" 6-32 ด้านหนึ่งของตัวยึดช่องสัญญาณแบบแบน 2 ด้านตามที่แสดงในภาพ
- ถัดไปใช้ขายึด 90 องศาและยึดเข้ากับช่องเสียบแบบคู่กับแผ่นสกรูหนึ่งตัวพร้อมด้วยสกรูหัวตะแกรง (4) 1/2 "ให้แน่ใจว่าคุณใช้ส่วนที่สั้นกว่าของวงเล็บเมื่อติดตั้งวงเล็บคู่
- ใช้ตัวยึดช่องสัญญาณคู่แบบแบนที่สองและติดตั้งไว้ที่วงเล็บ 90 องศาพร้อมกับแผ่นสกรูตัวที่สองและ (4) หัวขันสกรู 1/2 "6-32
- ขั้นตอนสุดท้ายคือการเลื่อนท่ออลูมิเนียมลงในฮับหนีบและขันสกรูหัวซ็อกเก็ตให้แน่น
ขั้นตอนที่ 11: แนบลำเลียงกับข้อศอก
ส่วนเพิ่มเติมที่จำเป็นสำหรับขั้นตอนนี้:
- 1 "Bore Tube Clamp D (545620)
เลื่อนสวนประกอบแขนเขาไปในวงเล็บมุมขวาของศอก ระยะห่างระหว่างเส้นตรงกลางของข้อศอกกับข้อศอกขวาควรอยู่ที่ 3.75 "เมื่อคุณมีระยะห่างที่ถูกต้องให้กระชับสกรูยึดของหลอดเพื่อให้ปลายแขนไม่เคลื่อนย้ายตรวจสอบให้แน่ใจว่าวงเล็บอยู่ในระดับ
ใช้ Bore Tube Clamp D และแนบปลายฤดูใบไม้ผลิดังแสดงในภาพ ขันสกรูให้หลวม ๆ หนีบหนีบหนีบเข้าที่ปลายท่ออลูมิเนียมที่ปลายแขนและขันสกรูให้แน่นเข้าที่หนีบ
ขั้นที่ 12: การประกอบข้อมือและกริปเปอร์
อะไหล่ที่คุณต้องการสำหรับขั้นตอนนี้:
- (2) ServoBlocks มาตรฐาน HiTec
- (1) HiTec HS-5645MG Servo (สั่งซื้อล่วงหน้าเพื่อการหมุน 180 องศา)
- (1) Servo HiTec HS-422 (การหมุน 180 องศา)
- (2) 3/4 "6-32 สกรูหัวกลม
- (2) 3/8 "6-32 สกรูหัวกลม
- (1) มาตรฐาน Gripper Kit A (637094)
- (4) บีมบล็อค B (585600)
คำแนะนำในการประกอบ Servoblock มีให้โดย ServoCity เป็นวิดีโอ YouTube อย่างไรก็ตามคำแนะนำชุดคำแนะนำที่ดีกว่าสามารถพบได้บน YouTube: ดู ServoBlocks (จาก servocity.com) ครั้งแรก
- Pitch Assembly : ทำตามคำแนะนำในการประกอบ Servoblock โดยใช้ฮูดเซอร์ Hitec HS-5645MG อย่างไรก็ตามขอแนะนำให้ก่อนที่จะติดตั้ง Servo Spline Shaft Hub ที่คุณติดตั้งเซอร์โวไว้กับ Mini-Maestro กำหนดการตั้งค่าเป็นกลาง, min / max และตั้งตำแหน่ง GoTo ของคุณ สำหรับเซอร์โวเซอร์โว้กติดไว้ที่ช่อง 3 ของ Mini-Maestro และตั้งชื่อว่า Wrist_Pitch ฉันมีของฉันชี้ลง (-90 องศา) กลับเซอร์โวไปที่ตำแหน่งกลางแล้วติด Shaft Spline กับเซอร์โว ตรวจสอบให้แน่ใจว่าคุณปรับตำแหน่งรูใดในเพลาไปทางตำแหน่งที่เป็นกลางตามที่แสดงในภาพและเห็นได้จากรูป
- Roll Assembly : ทำตามขั้นตอนเดียวกันสำหรับ servoblock ของโรลยกเว้นว่าคุณจะใช้ servo HS-422 เหมือนกับที่คุณทำกับ servobload ของ servo ใช้ servo หมุนไปที่ channel 6 และตั้งชื่อว่า Wrist_Rotate
- การประกอบ servoblocks สองตัวเพื่อสร้าง wris t:
- ตอนนี้คุณมีการตั้งค่า servoblock ม้วนถอดแผ่นศูนย์กลาง servoblock ด้านซ้าย จับ servobloc กับเพลาแบบ spline หันหน้าไปทางคุณและด้านหลังท้าย servo ที่ชี้ขึ้น
- นำแผ่นยึดและแนบกับหัวสกรู (4) 1/2 "6-32
- ใส่กลอนลูกกลิ้งกลับเข้าที่จานยึด
- การใส่ Gripper เข้ากับ Servoblock Roll :
- ติดตามวิดีโอ YouTube ServoCity เพื่อประกอบ Gripper
- ใช้สอง Beam Blocks B จับไว้ด้วยกันและต่อกับ 3/4 "Socket Head Screw ไปที่รูที่ด้านซ้ายของศูนย์กลางด้านบนของ Spline
- ทำซ้ำสำหรับด้านขวา ใช้รูปภาพเป็นข้อมูลอ้างอิง
- ใส่กริปเปอร์เข้ากับ Blocks Blocks โดยใช้สกรูหัวแทร่น 3/8 "
ขั้นตอนที่ 13: ประกอบชุดข้อมือเข้ากับปลายแขน
อะไหล่ที่จำเป็นสำหรับขั้นตอนนี้:
- (4) สกรูหัวกรูม 1/2 "6-32
แนบแผ่นฮับขั้วต่อเข้ากับช่องมองภาพ `ช่องสัญญาณแบบแบน 'บนแขนโดยใช้สกรูหัวกลม (4) servoblock กลิ้งควรจะเป็นเพียงเกี่ยวกับมากกว่าตรงกลางของกระปุกเกียร์ฐาน
เลื่อนสายเซอร์โวผ่านท่ออลูมิเนียมและใช้เซอร์โวสายเซอร์โวเพื่อต่อเซอร์โวเซอร์กับ Mini-Maestro ขณะนี้คุณควรมีแขนหุ่นยนต์ที่สามารถควบคุมได้ผ่าน mini-maestro
ชุดถัดไปของขั้นตอนคือการตั้งค่าอุปกรณ์อิเล็กทรอนิกส์สำหรับ Arm
ขั้นตอนที่ 14: การเดินสายไฟฟ้า
อะไหล่ที่จำเป็นสำหรับขั้นตอนนี้:
- โต๊ะ Perf Perfect ขนาด 6 "x4.5"
- (4) 1 "ชาย - หญิง 4-40 standoffs
- (4) 1/4 "ชาย - หญิง 4-40 standoffs
- (4) 1/2 "ชาย - หญิง 4-40 standoffs
- (12) 1/4 "4-40 สกรู
- Mini-Maestro 18 ช่องสัญญาณควบคุม
- Ardunio Uno
- (2) บอร์ดฝ่าวงล้อม RB-Dim-xx
- (1) RB-Dim-14 ตัวควบคุมการสลับ 10 วัตต์ตั้งไว้ที่ 9v
- (1) RB-Dim-20 ตัวควบคุมการสลับ 5v 1A
- สายไฟ Silicon ขนาด 20 เส้น (สีดำและสีขาว)
- สายจัมเปอร์ชาย - ชาย
- (3) จัมเปอร์สีดำ
- (2) จัมเปอร์สีแดง
- (4) สายจัมเปอร์ชาย - หญิง
Perf Board :
- เจาะรูสำหรับมุม 4 - 4 รอบ
- ใช้ Arduino Uno, Breakout Borads และ mini-Maestro เป็นแม่แบบสำหรับการขุดเจาะ จัดวางส่วนประกอบบนบอร์ด perf และทำเครื่องหมายด้วยรูปแบบรูที่คุณต้องการวางไว้
- ใช้บอร์ด Perf เป็นแม่แบบเพื่อทำเครื่องหมายแผ่นฐานสำหรับเจาะ
วางส่วนประกอบของคุณ :
- ใช้สกรู (4) 1/4 "-40-40 และสกรูลงในบอร์ด perf ใช้สกรู (4) 4-40 และแผ่น breakout ของตัวควบคุมและยึดติดกับ standoffs
- ใช้ standoffs (4) 1/2 "และยึด Arduino Uno กับบอร์ด perf
- คุณต้องใช้สกรูขนาดเล็ก 2 ตัวสำหรับ Mini-Maestro ฉันมีพวกเขาในกล่องขยะของฉันและไม่แน่ใจว่าขนาดพวกเขา.
การเดินสายไฟอิเล็กทรอนิกส์ :
- ตัด (2) ความยาวของสายวัด 20 (สีแดง) ถึง 5 "และตัดออกประมาณ 1/2" ที่ปลายแต่ละด้าน ทำแบบเดียวกันกับสายไฟสีดำ
- ใช้สายไฟสีแดงสองสายและสอดเข้ากับเต้าเสียบ DC หญิงและขันสกรูให้แน่นเพื่อให้สายไม่ขยับ นี่คือสายไฟ (+) เพื่อติดไว้ที่ด้าน (+) ของแจ็ค ทำเช่นเดียวกันกับสาย Blacattak (Ground) แต่ติดไว้ที่ด้าน (-) ของช่องเสียบ DC
- ตอนนี้แนบปลายอีกด้านหนึ่งของสายไฟสีดำและแนบไปกับด้าน (-) ของแต่ละแผงฝ่าวงล้อม ทำเช่นเดียวกันสำหรับสายไฟสีแดง อย่าลืมขันสกรูบนสกรูให้แน่น
- ใช้จัมเปอร์ชายชายสีดำและสอดลงในขาดินบน Uno และเลื่อนปลายอีกด้านหนึ่งเข้าไปในช่อง (-) ของแผงการแตกหักแรงดันไฟฟ้าแบบแปรผัน
- ตอนนี้ใช้จัมเปอร์ชาย - ชาย (หรือสีที่คุณเลือก) และสอดลงในขั้วต่อสกรู (-) ของคณะกรรมการการควบคุม 5v (ด้านออก) และขันสกรูให้แน่น ปลายอีกด้านหนึ่งควรจะเล็ดลอดเข้าด้าน (-) ของขั้วสกรูของ Mini-Maestro ตอนนี้ใช้ผู้ชายสีแดงชายและแนบปลายด้านหนึ่งไป 5v สกรูขาออก (+) และอีกปลายหนึ่งไปยังขั้วสกรู (+) ของ Mini-Maestro
- ถอดจัมเปอร์ที่ให้มาบน mini-Maestro
- ใช้สายจัมเปอร์ชายสำหรับพื้นทั่วไปที่ Arduino แนบไปกับเอาต์พุตของขั้วสกรูตัวควบคุม (-) และใส่ลงในขายึดของ Arduino
- ใช้จัมเปอร์ชาย - หญิงและต่อเชื่อมต่อกับเอาท์พุท (+) ของบอร์ด breakout regulator ตัวแปรและปลายอีกด้านหนึ่งไปยัง pin Gnd ของ mini-Maestro
- ใช้จัมเปอร์ชาย - หญิงและเชื่อมต่อการเชื่อมต่อกับเอาท์พุท (-) ของคณะกรรมการ breakout regulator ตัวแปรและปลายอีกด้านหนึ่งไป Vin pin ของ mini-Maestro
- ใช้จัมเปอร์ชาย - หญิงและเชื่อมต่อการเชื่อมต่อกับขา Rx ของมินิมาสโทรและอีกปลายหนึ่งเพื่อยึด 11 ของ Arduino
- ใช้จัมเปอร์ชาย - หญิงและต่อเชื่อมต่อกับขา Tx ของมินิมาสโทรและอีกปลายหนึ่งเพื่อปักหมุด 10 ของ Arduino
- เชื่อมต่อสายเซอร์โวของแขนกับมินิมาสโทร
ขั้นตอนที่ 15: รหัส Arduino
ให้ดูที่องค์ประกอบบางอย่างของร่าง Arduino ก่อนที่คุณจะเริ่มใช้มันเพื่อขยับแขน
ประการแรกคือวิธีบอกโครงร่างพารามิเตอร์สำหรับเซอร์โวเนื่องจากเราใช้ไลบรารี mini-Maestro ฉันทำสิ่งนี้โดยการตั้งค่าอาร์เรย์ของโครงสร้างซึ่งแต่ละค่าจะกำหนดพารามิเตอร์สำหรับ servo แขน (บรรทัด 31-43 ของร่าง)
struct maestro_parameters { // servo_channel ชื่อชื่อ min, max, home, speed, accel และ neutral come // โดยตรงจากแท็บการตั้งค่าช่อง min-maestro ดังนั้นจึงเป็นสิ่งที่ดี / / ความคิดที่จะยิงหน้าจอและพิมพ์ออก int servo_channel; char servo_name [20]; int servo_min; int servo_max; int servo_home; int servo_speed; int servo_accel; int servo_neutral; // ต้องใช้สองตัวแปรถัดไปสำหรับฟังก์ชันการทำแผนที่ Arduino เราจะทำแผนที่ให้ได้องศา // microseconds fromLow สอดคล้องกับ servo_min และจาก High ตรงกับ // servo_max // ถ้าเราใช้บ่าเป็นตัวอย่างถ้าค่าเซอร์โวของคุณคือ 672 microseconds, // ซึ่งจะตรงกับ +180 องศาและค่าเซอร์โวของคุณคือ 2248 microseconds // ซึ่งตรงกับ -180 องศาจากค่าต่ำสุดและจากค่าที่สูงที่สุดคือ +180 // และ -180 องศาตามลำดับ int servo_fromLow; int servo_from สูง; // ตัวแปรสองตัวแปรถัดไปใช้เพื่อกำหนดข้อ จำกัด servo ในอื่น ๆ // คำว่าการเดินทางที่อนุญาตสูงสุดสำหรับแต่ละเซอร์โว int servo_constLow; int servo_constHigh; } เซอร์โว [6];
ค่าเฉพาะสำหรับเซอร์โวมีการตั้งค่าไว้ที่บรรทัดที่ 66-71 สำหรับแขนของฉันเหล่านี้จะเป็น:
servo [0] = (maestro_parameters) {0 "ฐาน", 1064, 1663, 1366, 0, 0, 1504, -90, 90, -80, 80}; เซอร์โว [1] = (maestro_parameters) {1, "ไหล่", 672, 2248, 2040, 40, 0, 2040, -180, 180, -10, 180}; เซอร์โว [2] = (maestro_parameters) {2 "ข้อศอก", 928, 1872, 1738, 10, 0, 1505, 180, -180, -160, 45}; เซอร์โว [3] = (maestro_parameters) {3 "สายรัดข้อมือ" 928, 2128, 928, 10, 0, 1500, 0, 180, 0, 180}; เซอร์โว [4] = (maestro_parameters) {6 "สายรัดข้อมือ", 608, 2448, 1500, 40, 0, 1500, 90, -90, -90, 90}; เซอร์โว [5] = (maestro_parameters) {7 "Gripper", 1312, 1792, 1358, 7, 0, 1500, 0, 10, 0, 10};
ลองพูดถึงฟังก์ชันการทำแผนที่สักสองสามวินาที โดยทั่วไปฟังก์ชันการทำแผนที่มีรูปแบบดังนี้:
servoPosMs = 4 * map (servoPosDeg เซอร์โวเซอร์โวเซอร์เวอร์เซอร์โว เซอร์โวเซอร์โวเซอร์โวเซอร์โว
สำหรับการอ้างอิงเราต้องคูณค่าการทำแผนที่ที่เกิดขึ้นเป็น 4 เนื่องจากไลบรารี mini-Maestro ทำงานได้คาดหวังว่าจะมีค่าเพิ่มขึ้น 1/4 มิลลิวินาที สิ่งที่ฉันพบก็คือฟังก์ชั่นการทำแผนที่ไม่ถูกต้องสำหรับกระปุกเกียร์ servo และข้อศอกมันถูกปิดโดยคู่ขององศาที่ก่อให้เกิดความไม่ถูกต้องในการวางตำแหน่งแขน servo สิ่งที่ฉันทำขึ้นคือการสร้างเส้นโค้งการถดถอยเชิงเส้นของฉันเองสำหรับเซอร์โวเหล่านี้และฝังไว้ในเส้นโค้ง นี้ทำใน sketches moveServo () function
ลองดูที่ฟังก์ชันนี้:
void moveServo () { / / ฟังก์ชั่น Constrain จำกัด การเคลื่อนที่ของเซอร์โวเพื่อไม่ให้คุณใช้แขนมากเกินไปในตำแหน่ง // ไม่ต้องการ servoPosDeg = constrain (servoPosDeg, เซอร์โวเซอร์โวเซอร์โวเซอร์โว // Mini Maestro values ให้ค่า 1/4 ms ดังนั้นคุณต้องคูณด้วย 4 if (servoNum == 1) { servoPosMs = 4 * (4.4406 * servoPosDeg + 1491.1); } else if (servoNum == 2) { servoPosMs = 4 * (- 2.4208 * servoPosDeg + 1436.2); } else { servoPosMs = 4 * map (servoPosDeg เซอร์โวเซอร์โวเซอร์เวอร์เซอร์โว เซอร์โวเซอร์โวเซอร์โวเซอร์โว } //Serial.println(servoPosDeg); / / setSpeed บอกเซอร์โวความเร็วที่คุณต้องการ servo เพื่อย้าย, // set Target บอกเซอร์โวว่าจะย้ายที่ไหน maestro.setSpeed ((uint8_t) เซอร์โวเซอร์โวเซอร์โวเซอร์โวเซอร์ maestro.setTarget ((uint8_t) เซอร์โวเซอร์โวเซอร์โวเซอร์โวเซอร์ // ขณะนี้ลูปอยู่ที่นี่เพื่อบอกโครงร่างให้รอจนกว่า servo จะเสร็จสิ้นการย้ายก่อน // ส่งข้อความที่ทำ while (maestro.getMovingState () == 1) { //Serial.println( "Serving การย้าย"); }; //Serial.print ("ตำแหน่งคือ:"); //Serial.println (maestro.getPosition (เซอร์โว [servoNum] .servo_channel)); Serial.println ("เสร็จสิ้น"); <p> Serial.println ("Done"); </ p> <p>} </ p>
ในร่างที่โพสต์ฉันได้แสดงความคิดเห็นออกบรรทัดสำหรับการถดถอยเชิงเส้น คุณจะต้องพิจารณาว่าคุณต้องการหรือไม่ โดยทั่วไปบอกเซอร์โวให้ย้ายไปที่ +90 หรือ -90 (ขึ้นอยู่กับเซอร์โว) และดูว่าจริงๆแล้วอยู่ที่ 90 องศา ถ้าคุณรู้สึกราวกับว่าไม่เป็นที่น่าพอใจให้ใช้ศูนย์ควบคุม Maestro เพื่อย้ายเซอร์โวไปที่ 0, 90 180 องศา (ดูรูป) ให้คัดลอกค่ามิลลิวินาทีและใช้ MS Excel เพื่อทำเส้นแนวเส้น (ให้แน่ใจว่าคุณบอกให้ แสดงสมการ
เมื่อต้องการทดสอบรูปวาดให้โหลดร่างลงใน Arduino เมื่อเสร็จสิ้นการโหลดเปิดหน้าต่างคำสั่ง Serial และส่งคำสั่งไปยังแขนในรูปแบบต่อไปนี้:
servoNum, Target Degrees
ตัวอย่าง,
0, 25 แล้วกดปุ่ม return
ย้ายเซอร์โวฐานไปทางซ้าย 25 องศา
โดยสรุป:
Servo Num | Servo |
---|---|
0 | ฐาน |
1 | ไหล่ |
2 | ข้อศอก |
3 | ข้อมือข้อมือ |
4 | ข้อมือหมุน |
6 | กริปเปอร์ |
ขั้นตอนที่ 16: การประมวลผล GUI
ตอนนี้ความสนุกสนานสามารถเริ่มต้นได้แล้ว
เปิดการประมวลผลและโหลดไฟล์ Robot Arm.ino คลิกที่ปุ่ม run และคุณจะเห็น GUI pop up
สิ่งแรกที่คุณจะต้องทำก็คือเลือกพอร์ต Com ที่ Arduino Uno แนบมาซึ่งทำในรายการแบบเลื่อนลงที่มุมซ้ายบนของมุม
คลิกสองครั้งที่ปุ่มสลับเพื่อเปิดใช้งานแขน - นี่คือความล้มเหลวที่ปลอดภัยที่ฉันสร้างระบบของเรามีสองวิธีในการย้ายแขน อันดับแรกคือตัวเลื่อน ย้ายเลื่อนจะย้ายไปร่วมเกี่ยวข้องในแขนวิธีที่สองคือการย้าย 2d เลื่อนจลนศาสตร์ผกผันในกลางซ้ายของกุย นี้จะบอกแขนที่จะย้ายห่าง x ห่างจากฐานและบอกว่าสูงจากพื้นดินที่ควรจะเป็น
ถ้าคุณเปิดใช้งานการสลับไปข้างหน้า Kinematic คุณจะเห็นว่าสองระยะทางตรงกับ
ถ้าคุณเปิดใช้งาน Fixed Axis toggle คุณจะมีตัวเลือกในการตั้งตำแหน่งคงที่สำหรับ gripper "ขนาน" ทำให้ขนานไปกับพื้นดินและ "ขนานไปกับแขน" ทำให้อยู่ในมุมเดียวกับปลายแขน หากต้องการใช้คุณลักษณะนี้คุณต้องเปิดใช้งานการเปิดใช้ Kinematic ไว้ล่วงหน้า
คุณสมบัติอื่น ๆ :
ปุ่มรีเซ็ตอาร์เรย์ : ส่งคำสั่งไปที่แขนเพื่อเลื่อนกลับไปที่ตำแหน่งเริ่มต้น (เริ่มต้น)
บันทึก : บันทึกการเคลื่อนไหวของคุณไปยังไฟล์ดีฟอลต์ที่สร้างขึ้นเมื่อคุณเริ่มวาดภาพ ในการใช้สิ่งที่คุณต้องทำก็คือการใช้ปุ่มปิดเมื่อคุณทำสิ่งที่ต้องการเสร็จสิ้นจากนั้นใช้ปุ่มเปิดและเลือกไฟล์ที่คุณต้องการเล่น หากต้องการเล่นการเคลื่อนไหวของคุณให้ใช้ปุ่มเล่นกลับ
คำแนะนำ:
- เมื่อคุณเริ่มเลื่อนแถบเลื่อนเพื่อให้แน่ใจว่าคุณติดตั้งทุกอย่างอย่างถูกต้อง เรียนรู้จากประสบการณ์
- เมื่อคุณเล่นกับของเล่นใหม่ให้แน่ใจว่าได้รีเซ็ตเพื่อส่งกลับไปที่ตำแหน่งที่บ้าน
ขั้นตอนที่ 17: การอ้างอิง
ตามที่สัญญาไว้ในที่นี้เป็นข้อมูลอ้างอิงบางส่วนที่คุณอาจสนใจ:
ปัญหาที่เกิดขึ้นในการใช้หุ่นยนต์คิเนมี่โดยใช้ Federico Thomas
Spong Kinematics บทที่ 3 และ 4
ความคิดเห็น
แสดงความคิดเห็น