สารบัญ:

หุ่นยนต์แมงมุม Quadruped - GC_MK1: 8 ขั้นตอน (พร้อมรูปภาพ)
หุ่นยนต์แมงมุม Quadruped - GC_MK1: 8 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: หุ่นยนต์แมงมุม Quadruped - GC_MK1: 8 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: หุ่นยนต์แมงมุม Quadruped - GC_MK1: 8 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: หุ่นยนต์แมงมุมตรวจสอบพื้นผิว สแกนโครงสร้างเป็นภาพ 3 มิตินับล้านจุด I TNN Startup I 23-04-66 2024, กรกฎาคม
Anonim
หุ่นยนต์แมงมุมสี่เท่า - GC_MK1
หุ่นยนต์แมงมุมสี่เท่า - GC_MK1

หุ่นยนต์แมงมุมหรือที่รู้จักว่า GC_MK1 เคลื่อนที่ไปข้างหน้าและข้างหลัง และยังสามารถเต้นได้ขึ้นอยู่กับโค้ดที่โหลดบน Arduino หุ่นยนต์ใช้มอเตอร์เซอร์โวขนาดเล็ก 12 ตัว (SG90); 3 สำหรับขาแต่ละข้าง คอนโทรลเลอร์ที่ใช้ควบคุมเซอร์โวมอเตอร์คือ Arduino Nano นอกจากนี้เรายังใช้แบตเตอรี่ 12V ซึ่งลดระดับลงเหลือ 5V โดยใช้ตัวแปลง DC-DC จากนั้นป้อนไปยังพิน VIN เพื่อจ่ายไฟให้กับ Arduino และเซอร์โวมอเตอร์เช่นกัน ชิ้นส่วนทั้งหมดสำหรับร่างกายของหุ่นยนต์ได้รับการพิมพ์ 3 มิติ

ขั้นตอนที่ 1: คำอธิบายที่สำคัญ

เซอร์โวมอเตอร์:

  • เซอร์โวมอเตอร์มักใช้หมุนและผลักหรือดึงวัตถุด้วยความแม่นยำสูง
  • เซอร์โวมอเตอร์ประกอบด้วยมอเตอร์กระแสตรงขนาดเล็กและเกียร์สองชุดที่ใช้ความเร็วสูงของมอเตอร์และทำให้ช้าลงในขณะที่เพิ่มแรงบิดของเพลาส่งออกในเซอร์โว
  • งานหนักต้องใช้แรงบิดมากขึ้น (ใช้เฟืองโลหะในเซอร์โวมอเตอร์เพื่อให้เกิดแรงบิดมากขึ้นในขณะที่เกียร์พลาสติกมีแรงบิดน้อยลง)
  • นอกจากนี้ยังมีเซ็นเซอร์ตำแหน่งบนเฟืองตัวใดตัวหนึ่งของมอเตอร์ซึ่งเชื่อมต่อกับแผงวงจรขนาดเล็ก แผงวงจรจะถอดรหัสสัญญาณเพื่อกำหนดระยะที่เซอร์โวต้องหมุนขึ้นอยู่กับสัญญาณจากผู้ใช้ จากนั้นจะเปรียบเทียบตำแหน่งที่ต้องการกับตำแหน่งจริงและตัดสินใจว่าจะหมุนไปในทิศทางใด
  • การปรับความกว้างพัลส์ (PWM) ใช้เพื่อควบคุมตำแหน่งเซอร์โวมอเตอร์ เซอร์โวมอเตอร์จะทำงานเมื่อได้รับสัญญาณควบคุม (พัลส์) พัลส์คือการเปลี่ยนจากแรงดันไฟต่ำไปเป็นไฟฟ้าแรงสูง โดยปกติพัลส์จะอยู่ในระดับสูงเป็นระยะเวลาหนึ่ง
  • เซอร์โวมอเตอร์มักจะทำงานในช่วง 4.5 ถึง 6 โวลต์และพัลส์เทรนประมาณ 50 ถึง 60 เฮิรตซ์
  • 50HZ = 1/20ms >> PWM = 20ms

ประเภทของเซอร์โวมอเตอร์

  1. Positional Rotation Servo >> หมุนประมาณ 180 องศา/ครึ่งวงกลม
  2. เซอร์โวหมุนต่อเนื่อง >> หมุนไปในทิศทางใดทิศทางหนึ่งอย่างไม่มีกำหนด
  3. Linear Servo >> มีกลไกเพิ่มเติม (แร็คแอนด์พิเนียน) ให้เคลื่อนที่ในทิศทางกลับไปกลับมาแทนที่จะเป็นวงกลม

ขั้นตอนที่ 2: ส่วนประกอบ:

Image
Image

1x Arduino นาโนไมโครคอนโทรลเลอร์:

เซอร์โวมอเตอร์ 12x SG90

1x เขียงหั่นขนมขนาดเล็ก:

/หรือ /

ต้นแบบบอร์ด PCB 1x:

1x 12V แบตเตอรี่:(นี่คืออันที่ฉันใช้ คุณสามารถใช้แบตเตอรี่อื่นได้เช่นกัน)

จัมเปอร์ F ถึง F และจัมเปอร์ M ถึง M:

1x DC เป็น DC Boost Converter

ขั้นตอนที่ 3: ไฟล์ที่พิมพ์ 3 มิติ

ไฟล์ที่พิมพ์ 3 มิติ
ไฟล์ที่พิมพ์ 3 มิติ

หุ่นแมงมุมส่วนบน (ซ้าย) || ตัวแมงมุมหุ่นยนต์ส่วนล่าง (ขวา)

ฉันใช้ Fusion 360 และ Prusa i3 MK3 เพื่อพิมพ์ชิ้นส่วนทั้งหมดสำหรับหุ่นยนต์แมงมุม ฉันปรับเปลี่ยนเตียงให้พอดีกับแบตเตอรี่ของฉัน แต่ฉันคำนวณขนาดผิดพลาด ดังนั้นฉันจึงต้องถือแบตเตอรี่ด้วยตัวเองสำหรับการสาธิต ทำงานกับ GC_MK2 แล้ว!

หากคุณไม่ต้องการเตียงที่ใหญ่กว่าหรือการเปลี่ยนแปลงใดๆ คุณสามารถใช้ไฟล์ปัจจุบันใน thingverse (ลิงก์ด้านล่าง)

ชิ้นส่วนของหุ่นยนต์แมงมุม

ไฟล์ STL สำหรับตัวหุ่นยนต์แมงมุมที่อัปเดต (กว้างขึ้นสำหรับแบตเตอรี่ที่ใหญ่ขึ้น)

ขั้นตอนที่ 4: แผนภาพการเดินสายไฟ

แผนภาพการเดินสายไฟ
แผนภาพการเดินสายไฟ
แผนภาพการเดินสายไฟ
แผนภาพการเดินสายไฟ

ขั้นตอนที่ 5: วิธีการสร้าง

Image
Image

ขั้นตอนที่ 6: รูปภาพที่เป็นประโยชน์

รูปภาพที่เป็นประโยชน์
รูปภาพที่เป็นประโยชน์
รูปภาพที่เป็นประโยชน์
รูปภาพที่เป็นประโยชน์
รูปภาพที่เป็นประโยชน์
รูปภาพที่เป็นประโยชน์

ขั้นตอนที่ 7: รหัส Arduino

เพื่อให้เซอร์โวมอเตอร์ทั้งหมดอยู่ในตำแหน่งเริ่มต้นเดียวกัน คุณต้องอัปโหลดไฟล์ภาพร่างขา Arduino (Legs.ino) ก่อน

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

ดาวน์โหลดและติดตั้งไลบรารี่ FlexiTimer2 ก่อนอัปโหลดภาพร่างโปรแกรม 1 และ 2

ห้องสมุด FlexiTimer2

ตอนนี้คุณพร้อมที่จะอัปโหลด Program1.ino หรือ Program2.ino เพื่อรันบน Arduino แล้ว

Legs.ino

// ค้นหาตำแหน่งเริ่มต้นของขา

// RegisHsu 2015-09-09

#รวม

เซอร์โวเซอร์โว[4][3];

//กำหนดพอร์ตของเซอร์โว

const int servo_pin[4][3] = { {2, 3, 4}, {5, 6, 7}, {8, 9, 10}, {11, 12, 13} };

การตั้งค่าเป็นโมฆะ ()

{// เริ่มต้นเซอร์โวทั้งหมดสำหรับ (int i = 0; i <4; i++) { สำหรับ (int j = 0; j < 3; j++) { servo[j].attach(servo_pin[j]); ล่าช้า (20); } } }

วงโมฆะ (เป็นโมฆะ)

{ สำหรับ (int i = 0; i <4; i++) { สำหรับ (int j = 0; j <3; j++) { servo[j].write(90); ล่าช้า (20); } } }

อีกสองภาพร่าง Arduino ยาวเกินไปที่จะโพสต์ที่นี่

ตรวจสอบลิงค์ด้านล่าง

ลิงก์โฟลเดอร์ Google ไดรฟ์กับไฟล์ทั้งหมด (รวมไฟล์สเก็ตช์ Arduino และไลบรารี่ flexitimer2)

ไฟล์หุ่นยนต์แมงมุม

มอบเครดิตให้กับ RegisHsu สำหรับไฟล์ร่าง Arduino

แนะนำ: