สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ในวิดีโอนี้ มีการประกอบมือหุ่นยนต์ 3D, การควบคุมเซอร์โว, การควบคุมเซ็นเซอร์แบบยืดหยุ่น, การควบคุมแบบไร้สายด้วย nRF24L01, เครื่องรับ Arduino และซอร์สโค้ดของเครื่องส่งสัญญาณ ในระยะสั้น ในโครงการนี้ เราจะเรียนรู้วิธีควบคุมมือหุ่นยนต์ด้วยถุงมือไร้สาย
ขั้นตอนที่ 1: วิดีโอสอน
ด้วยวิดีโอแนะนำนี้ คุณสามารถดูการประกอบแขนหุ่นยนต์และอีกมากมาย ฉันเพิ่มวิดีโอเพราะบางส่วนของการประกอบแขนหุ่นยนต์มีรายละเอียดมาก
ขั้นตอนที่ 2: ฮาร์ดแวร์และเครื่องมือที่จำเป็น
ฮาร์ดแวร์ที่จำเป็น
2x บอร์ด Arduino (นาโน) --
2x nRF24L01+ ตัวรับส่งสัญญาณ --
อะแดปเตอร์ nRF24L01+ 2x --
เซอร์โว MG996R 5x --
เซนเซอร์ Flex ขนาด 5x4.5 นิ้ว --
ตัวต้านทาน 5x 10k --
แบตเตอรี่ 2x18650 3.7V --
ที่ใส่แบตเตอรี่ 1x18650 --
แบตเตอรี่ 1x 9V --
ขั้วต่อแบตเตอรี่ 9V 1x --
ถุงมือ 1x --
1x สายถัก / สายถัก --
3x มินิเขียงหั่นขนม --
สายจัมเปอร์ --
1x ยาง / ยางหรือสปริง
1x ลวดเหล็กหรือเส้นใย
สลักเกลียว 3x (เส้นผ่านศูนย์กลาง 8 มม.)
เครื่องมือที่จำเป็น (ไม่บังคับ)
สว่านไฟฟ้า + เครื่องมือเดรเมล --
เครื่องพิมพ์ 3 มิติ Anet A8 --
ปลา 22M 1.75mm ไส้แดง --
ปืนกาวร้อน --
เคเบิ้ลไทร์ --
กาวเหนียวพิเศษ --
ชุดกระเป๋าไขควง --
บัดกรีแบบปรับได้ --
แท่นบัดกรี --
ลวดเชื่อม --
ท่อหดความร้อน --
เครื่องตัดสายไฟ --
บอร์ด PCB --
ชุดสกรูน๊อต --https://goo.gl/EzxHyj
ขั้นตอนที่ 3: โมเดล 3 มิติของมือและปลายแขน
มือนี้เป็นส่วนหนึ่งของโครงการโอเพ่นซอร์สที่เรียกว่า InMoov มันเป็นหุ่นยนต์ที่พิมพ์ได้ 3 มิติ และนี่เป็นเพียงการประกอบมือและปลายแขน
สำหรับข้อมูลเพิ่มเติม โปรดเยี่ยมชมเว็บไซต์ทางการของ InMoov คุณสามารถเยี่ยมชมหน้า "Assembly Sketches" และ "Assembly Help" ในเว็บไซต์ InMoov สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับแอสเซมบลี
ขอบคุณ InMoov -- https://inmoov.fr/ -
Anet A8 3D Printer ถูกใช้ในโครงการนี้ แบบจำลองถูกพิมพ์ด้วยคุณภาพต่ำสุด
ส่วน 3D ทั้งหมดที่ใช้ในโครงการนี้
ขั้นตอนที่ 4: การประกอบชิ้นส่วน
การประกอบชิ้นส่วนแขนหุ่นยนต์มีรายละเอียดและซับซ้อนมาก ดังนั้นคุณสามารถไปที่หน้า "ภาพร่างการประกอบ" และ "ความช่วยเหลือในการประกอบ" ในเว็บไซต์ InMoov สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการประกอบ มีการอธิบายอย่างละเอียดบนเว็บไซต์ InMoov หรือคุณสามารถดูวิดีโอที่ฉันแชร์
www.inmoov.fr/assembly-sketchs/
inmoov.fr/hand-and-forarm/
พิจารณาคำแนะนำนี้สำหรับมุมนิ้วที่ถูกต้อง:
เมื่อประกอบนิ้ว ตรวจสอบให้แน่ใจว่าได้วางชิ้นส่วนอย่างถูกต้องก่อนติดกาว เก็บเซอร์โวมอเตอร์ทั้งหมดไว้ที่ 10 หรือ 170 องศาก่อนที่จะติดรอกเซอร์โวเข้ากับเซอร์โวมอเตอร์ เมื่อติดตั้งรอกเซอร์โว ให้นิ้วอยู่ในตำแหน่งปิดหรือเปิด (ตามมุมเซอร์โวของคุณ) จากนั้นพันรอบรอกเซอร์โวจนสายหรือสายถักเปียยืดออก
ขั้นตอนที่ 5: การเชื่อมต่อมือ (เครื่องรับ)
- ณ จุดนี้เซอร์โวควรติดตั้งไว้ที่ปลายแขนแล้ว หากต้องการเชื่อมต่อกับแหล่งจ่ายไฟและ Arduino คุณสามารถใช้เขียงหั่นขนมขนาดเล็กได้
- อย่าลืมเชื่อมต่อขั้วลบบนเขียงหั่นขนมกับ GND ของ Arduino ต้องเชื่อมต่อ GND ทั้งหมดในวงจรเพื่อให้มันทำงาน
- ฉันแนะนำให้ใช้อะแดปเตอร์จ่ายไฟสำหรับโมดูล nRF24L01+ มิฉะนั้น การสื่อสารอาจเสียหายเนื่องจากกระแสไฟไม่เพียงพอ
- หากคุณประสบปัญหาเหล่านี้: การสั่นในเซอร์โวมอเตอร์ เซอร์โวมอเตอร์ไม่ทำงาน การสื่อสารขัดข้อง และในสถานการณ์ที่คล้ายคลึงกัน ให้จ่ายไฟภายนอกให้กับบอร์ด Arduino ของคุณ (เช่น USB)
- หากคุณใช้พินที่แตกต่างจากพินที่แสดงด้านล่าง ให้เปลี่ยนเป็นรหัส
การเชื่อมต่อของเซอร์โวมอเตอร์:
Servo-1 เชื่อมต่อกับอนาล็อก 01 (A1) ของ Arduino
Servo-2 เชื่อมต่อกับอนาล็อก 02 (A2) ของ Arduino
Servo-3 เชื่อมต่อกับอนาล็อก 03 (A3) ของ Arduino
Servo-4 เชื่อมต่อกับอนาล็อก 04 (A4) ของ Arduino
Servo-5 เชื่อมต่อกับอนาล็อก 05 (A5) ของ Arduino
การเชื่อมต่อของโมดูล nRF24L01:
VCC เชื่อมต่อกับ +5V ของ Arduino
GND เชื่อมต่อกับ GND ของ Arduino
CE เชื่อมต่อกับดิจิตอล 9 พินของ Arduino
CSN เชื่อมต่อกับดิจิตอล 10 พินของ Arduino
SCK เชื่อมต่อกับดิจิตอล 13 พินของ Arduino
MOSI เชื่อมต่อกับดิจิตอล 11 พินของ Arduino
MISO เชื่อมต่อกับ 12 พินดิจิตอลของ Arduino
ขั้นตอนที่ 6: การเชื่อมต่อของถุงมือ (เครื่องส่งสัญญาณ)
- เซ็นเซอร์แบบยืดหยุ่นจำเป็นต้องมีวงจรเพื่อให้เข้ากันได้กับ Arduino เซ็นเซอร์แบบยืดหยุ่นเป็นตัวต้านทานแบบปรับค่าได้ ฉันจึงแนะนำให้ใช้ตัวแบ่งแรงดันไฟฟ้า ฉันใช้ตัวต้านทาน 10K
- สาย GND (กราวด์) หลักที่เชื่อมต่อกับสาย GND แต่ละตัวจากเซ็นเซอร์ เชื่อมต่อกับ GND ของ Arduino +5 V จาก Arduino ไปที่สายแรงดันบวกหลัก สายไฟจากเซ็นเซอร์แบบยืดหยุ่นแต่ละตัวเชื่อมต่อกับพินอินพุตแบบอะนาล็อกที่แยกจากกันผ่านตัวแบ่งแรงดันไฟฟ้า
- ฉันบัดกรีวงจรบน PCB ขนาดเล็ก ซึ่งสามารถติดตั้งบนถุงมือได้ง่าย คุณสามารถสร้างวงจรบนเขียงหั่นขนมขนาดเล็กแทน PCB ได้
- คุณสามารถใช้แบตเตอรี่ 9V สำหรับวงจรของถุงมือ
- หากคุณใช้พินที่แตกต่างจากพินที่แสดงด้านล่าง ให้เปลี่ยนเป็นรหัส
การเชื่อมต่อของเซ็นเซอร์แบบยืดหยุ่น:
Flex-1 เชื่อมต่อกับแอนะล็อก 01 (A1) ของ Arduino
Flex-2 เชื่อมต่อกับอนาล็อก 02 (A2) ของ Arduino
Flex-3 เชื่อมต่อกับแอนะล็อก 03 (A3) ของ Arduino
Flex-4 เชื่อมต่อกับอนาล็อก 04 (A4) ของ Arduino
Flex-5 เชื่อมต่อกับอนาล็อก 05 (A5) ของ Arduino
การเชื่อมต่อของโมดูล nRF24L01:
VCC เชื่อมต่อกับ +5V ของ Arduino
GND เชื่อมต่อกับ GND ของ Arduino
CE เชื่อมต่อกับดิจิตอล 9 พินของ Arduino
CSN เชื่อมต่อกับดิจิตอล 10 พินของ Arduino
SCK เชื่อมต่อกับ 13 พินดิจิตอลของ Arduino
MOSI เชื่อมต่อกับดิจิตอล 11 พินของ Arduino
MISO เชื่อมต่อกับ 12 พินดิจิตอลของ Arduino
ขั้นตอนที่ 7: รหัสที่มาของโครงการ
เพื่อให้ซอร์สโค้ดทำงานได้อย่างถูกต้อง ให้ทำตามคำแนะนำ:
- ดาวน์โหลดไลบรารี RF24.h และย้ายไปยังโฟลเดอร์ไลบรารี Arduino
- หลังจากเชื่อมต่อเซ็นเซอร์แบบยืดหยุ่นบนถุงมือแล้ว ให้อ่านและบันทึกค่าต่ำสุดและสูงสุดที่เซ็นเซอร์แบบยืดหยุ่นแต่ละตัวตรวจพบ
- จากนั้นป้อนค่าเหล่านี้ลงในรหัสเครื่องส่ง (ถุงมือ)
- เก็บเซอร์โวมอเตอร์ทั้งหมดไว้ที่ 10 หรือ 170 องศาก่อนที่จะติดรอกเซอร์โวเข้ากับเซอร์โวมอเตอร์
- เมื่อติดตั้งรอกเซอร์โว ให้นิ้วอยู่ในตำแหน่งปิดหรือเปิด (ตามตำแหน่งเซอร์โวของคุณ)
- จากนั้นพันรอบรอกเซอร์โวจนสายถักเปียยืดออก
- เลื่อนนิ้วทั้งหมดไปยังตำแหน่งปิดและเปิดโดยตรวจสอบเซอร์โวมอเตอร์ทีละตัว
- จากนั้นจึงได้มุมที่ดีที่สุดสำหรับเซอร์โวมอเตอร์ (มุมเซอร์โวในขณะที่นิ้วปิดและเปิด)
- ป้อนมุมของเซอร์โวมอเตอร์และค่าเซ็นเซอร์แบบยืดหยุ่นลงในรหัสเครื่องส่งดังนี้
เฟล็กซ์เซนเซอร์ขั้นต่ำ ค่า flex sensor สูงสุด ค่าเซอร์โวนาที มุม, เซอร์โวสูงสุด มุม
(flex_val = แผนที่ (flex_val, 630, 730, 10, 170);
- มีการเปลี่ยนแปลงเพียงครั้งเดียวในซอร์สโค้ดของตัวรับ เซ็นเซอร์แบบยืดหยุ่นตัวใดในตัวส่งสัญญาณจะควบคุมมอเตอร์เซอร์โวในตัวรับ ตัวอย่างเช่น msg[0] จะส่งข้อมูลของ x sensor-5 หากคุณต้องการควบคุมเซอร์โวมอเตอร์-5 ด้วยเฟล็กซ์เซนเซอร์-5 คุณสามารถทำได้โดยพิมพ์ 'servo-5.write(msg[0])'
- หากคุณใช้พินที่แตกต่างจากพินที่แสดงในวงจร ให้เปลี่ยนทั้งสองรหัส
ฉันรู้ว่ามันซับซ้อนเล็กน้อยในตอนสุดท้าย แต่โปรดอย่าลืม: ไม่มีอะไรยาก! คุณสามารถทำมันได้! แค่คิด ค้นคว้า เชื่อมั่นในตัวเองและลอง