Sadržaj:
- Pribor
- Korak 1: Ispišite sve 3D komponente
- Korak 2: (Izborno) Pričvrstite drvenu dasku na dno kutije kako biste je ojačali
- Korak 3: Izmjerite i izrežite drvenu dasku koja odgovara kutiji
- Korak 4: Označite položaje motora
- Korak 5: Označite položaje nosača i cijevi
- Korak 6: Izbušite rupu za kabele koji izlaze iz vaše kutije (USB i napajanje)
- Korak 7: Izbušite i ispipajte sve označene rupe
- Korak 8: Pričvrstite motore i cijev na dasku
- Korak 9: Pričvrstite dasku na kutiju s L-zagradama
- Korak 10: Uzmite svoje priključne blokove i zalemite žice zajedno
- Korak 11: Odrežite kraj kabela za napajanje adaptera i skinite žice
- Korak 12: Identificirajte i označite plus i minus žice
- Korak 13: Priključite žice na priključne blokove tako da su sve + servo žice i + žice iz kabela za napajanje spojene, isto vrijedi i za - žice
- Korak 14: Odrežite glavu s žice za umrežavanje
- Korak 15: Izbušite tri rupe na dnu kutije za žice koje vam izlaze iz ruke
- Korak 16: Priključite bazni konektor na kutiju
- Korak 17: Upotrijebite nož ili turpiju za nokte kako biste žljebove žice učinili dubljima
- Korak 18: Konstruirajte ruku
- Korak 19: Instalirajte Processing i Arduino
- Korak 20: Zalijepite programe programa Code
- Korak 21: Spojite servo upravljačke pinove na Arduino
- Korak 22: Pritisnite gumb Reset u obradi, ovo će postaviti sve ruke na 90 stupnjeva
- Korak 23: Vodoravno postavite servo poluge na motor
- Korak 24: Provucite žice kroz ruke tako da nema opuštanja
- Korak 25: Testirajte ruku i pritegnite ili otpustite žice prema potrebi
- Korak 26: Vruće zalijepite žice na servo poluge kako bi bile trajne
- Korak 27: Bilješke
- Korak 28: Rješavanje problema
- Korak 29: Veze
- Korak 30: Kodirajte
- Korak 31: Više slika
Video: Robotska ruka s žičanom kontrolom: 31 korak
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Ovo je vodič o tome kako napraviti robotsku ruku kontroliranu žicama. Prednost korištenja žica je u tome što vam je ruka lakša i možete imati sve svoje motore na dnu ruke, što olakšava izgradnju i održavanje. Evo video snimka ruke u akciji. U budućnosti planiram dodati kandžu kako bi mogla pokupiti stvari, a ne samo ih gurati.
3D ispisi:
Ovdje i Ovdje
Pribor
6 servo motora (MG995)
Arduino Uno
Oko 6 metara čelične žice obložene plastikom (0,5 mm)
Okvir 23x33x10 (može biti uži, definitivno ne smije biti kraći)
Drvena daska 33x10
Matice i vijci
Cijev 14 cm (ovo je potrebno za vođenje žica)
4 L-nosača
5-voltni adapter
2 7-smjerna priključna bloka
Žice za pločice
3D tiskane komponente (nisam ja dizajnirao, veze do elemenata u opisu):
3 "vijka"
2 "Element 1"
1 "Element 2"
2 "Element 3"
1 Osnovni priključak
Korak 1: Ispišite sve 3D komponente
Možda će vam trebati podrška za rupe i lukove za vijke, ali pazite da ne dodate potporu tijelu vaših komponenti; ovo će zatvoriti male rupe za žicu i morat ćete napraviti nove rupe
Korak 2: (Izborno) Pričvrstite drvenu dasku na dno kutije kako biste je ojačali
Moja je kutija bila prilično slaba, vaša možda nije
Korak 3: Izmjerite i izrežite drvenu dasku koja odgovara kutiji
Korak 4: Označite položaje motora
pazite da se niti jedna ruka ne dodiruje
Korak 5: Označite položaje nosača i cijevi
Cijev treba postaviti oko jedan centimetar ispred rupe
Korak 6: Izbušite rupu za kabele koji izlaze iz vaše kutije (USB i napajanje)
Korak 7: Izbušite i ispipajte sve označene rupe
Korak 8: Pričvrstite motore i cijev na dasku
Korak 9: Pričvrstite dasku na kutiju s L-zagradama
Korak 10: Uzmite svoje priključne blokove i zalemite žice zajedno
Korak 11: Odrežite kraj kabela za napajanje adaptera i skinite žice
Korak 12: Identificirajte i označite plus i minus žice
Korak 13: Priključite žice na priključne blokove tako da su sve + servo žice i + žice iz kabela za napajanje spojene, isto vrijedi i za - žice
Korak 14: Odrežite glavu s žice za umrežavanje
Pričvrstite ogoljeni kraj žice matične ploče na minus priključni blok, a kraj igle na uzemljenje na vašem arduinu. Ako to ne učinite, motori će se kretati nestalno bez ikakvog unosa.
Korak 15: Izbušite tri rupe na dnu kutije za žice koje vam izlaze iz ruke
Rupe bi se trebale podudarati s rupama u priključku za bazu.
Korak 16: Priključite bazni konektor na kutiju
Korak 17: Upotrijebite nož ili turpiju za nokte kako biste žljebove žice učinili dubljima
Žičani utori za elemente 2 i 3 su previše plitki.
Korak 18: Konstruirajte ruku
Konstruirajte ruku prema uputama ovdje. Možda ćete morati turpijati dijelove tako da odgovaraju
Korak 19: Instalirajte Processing i Arduino
Obrada i Arduino
Korak 20: Zalijepite programe programa Code
Kôd se nalazi pri dnu ove stranice
Korak 21: Spojite servo upravljačke pinove na Arduino
Spojio sam prvi motor na treći digitalni pin, drugi motor na četvrti digitalni pin i tako dalje. Uvjerite se da je pin za uzemljenje još uvijek spojen na - terminalni blok.
Korak 22: Pritisnite gumb Reset u obradi, ovo će postaviti sve ruke na 90 stupnjeva
Korak 23: Vodoravno postavite servo poluge na motor
Korak 24: Provucite žice kroz ruke tako da nema opuštanja
Provucite žicu kroz što više rupa jer će je privremeno zadržati i lako ukloniti.
Korak 25: Testirajte ruku i pritegnite ili otpustite žice prema potrebi
Korak 26: Vruće zalijepite žice na servo poluge kako bi bile trajne
Korak 27: Bilješke
Koristio sam žicu za nakit od 0,5 mm, ali 0,4 mm bi trebalo biti u redu. U izvornom dizajnu koristila se PVC žica, ali to se prelako slomilo i s njim je bilo teško raditi.
Ako ćete kretati ruku u automobilu ili na biciklu, omotajte zglobove ruku ljepljivom trakom kako biste bili sigurni da neće iskočiti. To je posebno važno za element 1.
Kad sam započeo ovaj projekt, pitao sam se zašto mogu pronaći samo jedan vodič o tome kako izraditi ruku kontroliranu žicama. Sada razumijem zašto ovo nije najčešći način izrade hobot robotske ruke. Žice ponekad ispadnu iz njihovih utora i cijela je stvar nekako slabašna. Ne znam jesu li problemi u tome što nemam puno iskustva ili je cijela ideja problematična iako sam siguran da bi bilo čvršće da znam što radim.
Korak 28: Rješavanje problema
Rupe za žice zatvorene su u 3D ispisanim elementima:
Dodali ste potporu cijelom elementu umjesto samo rupa za vijke. Ili ponovno ispišite element ili otvorite rupe jako vrućom iglom.
COM port je zatvoren, ne možete komunicirati s arduinom:
Vaš arduino možda ne prihvaća USB 3 priključke (moj nije), možete kupiti produžni kabel USB 2 ili koristiti računalo koje ima USB 2 priključke
Kôd ne radi:
Slijedite ovaj vodič i izmijenite ga kako biste napravili vlastiti kod
Dio ruke se ne miče:
Žice su se možda zapetljale, da biste to provjerili, skinite servo krak sa serva i pokušajte ručno povući žice. Raspletite žice i ako je žice još uvijek teško povući, pokušajte upotrijebiti neki WD-40 ili mazivo za lakše kretanje
Korak 29: Veze
Nerobotizirana ruka:
Arm 3D ispisi:
My Arm 3D Printable:
Arduino i obrada:
Korak 30: Kodirajte
Izmijenjeno iz ovog koda
Arduino kod:
#include // Deklarirajte motore Servo myservo1; Servo myservo2; Servo myservo3; Servo myservo4; Servo myservo5; Servo myservo6; // Svi su motori prema zadanim postavkama postavljeni na 90 stupnjeva int current1 = 90; int struja2 = 90; int struja3 = 90; int struja4 = 90; int struja5 = 90; int struja6 = 90; // Minimalni i Maksimalni stupanj koji motori mogu doseći int mini1 = 0; int maxi1 = 180; int mini2 = 0; int maxi2 = 180; int mini3 = 0; int maxi3 = 180; int mini4 = 0; int maxi4 = 180; int mini5 = 0; int maxi5 = 180; int mini6 = 0; int maxi6 = 180; // Stupnjevi koji se zbrajaju ili oduzimaju od trenutnog položaja int stupnjeviFoward = 5; // Odgoda tako da se dvije funkcije ne dogode pogrešnim redoslijedom int delayBetweenSteps = 100; void setup () {// Postavite kontrolne pinove za svaki motor myservo1.attach (3); myservo2.attach (4); myservo3.attach (5); myservo4.attach (6); myservo5.attach (7); myservo6.attach (8); // Sve motore postavite na zadanu postavku myservo1.write (current1); myservo2.write (current2); myservo3.write (current3); myservo4.write (current4); myservo5.write (current5); myservo6.write (current6); // pokretanje serijske komunikacije @9600 bps Serial.begin (9600); } void loop () {if (Serial.available ()) {// ako su podaci dostupni za čitanje char val = Serial.read (); // unesite u ovaj znak // Kontrole motora if (val == 'a' && current1 + stupnjevi naprijed mini1) {myservo1.write (current1 - stupnjevi naprijed); current1 = current1 - stupnjevi naprijed; delay (delayBetweenSteps); } if (val == 'c' && current2 mini2) {myservo2.write (current2 - stupnjevi naprijed); current2 = current2 - stupnjevi naprijed; delay (delayBetweenSteps); } if (val == 'e' && current3 mini3) {myservo3.write (current3 - stupnjevi naprijed); current3 = current3 - stupnjevi naprijed; delay (delayBetweenSteps); } if (val == 'g' && current4 mini4) {myservo4.write (current4 - stupnjevi naprijed); current4 = current4 - stupnjevi naprijed; delay (delayBetweenSteps); } if (val == 'i' && current5 mini5) {myservo5.write (current5 - stupnjevi naprijed); current5 = current5 - stupnjevi naprijed; delay (delayBetweenSteps); } if (val == 'k' && current6 mini6) {myservo6.write (current6 - stupnjevi naprijed); current6 = current6 - stupnjevi naprijed; delay (delayBetweenSteps); } // Kontrola brzine if (val == 'w') {// Ako je pritisnuta tipka za brzinu 1 stupnjevaFoward = 1; delay (delayBetweenSteps); } if (val == 'x') {// Ako je pritisnuta tipka za brzinu 5 stupnjevaFoward = 5; delay (delayBetweenSteps); } if (val == 'y') {// Ako je pritisnuta tipka za brzinu 10 stupnjevaFoward = 10; delay (delayBetweenSteps); } if (val == 'z') {// Ako je pritisnuta tipka za brzinu 20 stupnjevaFoward = 20; delay (delayBetweenSteps); } if (val == 'r') {// Ako je pritisnuta tipka za brzinu 20 myservo1.write (90); struja1 = 90; myservo2.write (90); struja2 = 90; myservo3.write (90); struja3 = 90; myservo4.write (90); struja4 = 90; myservo5.write (90); struja5 = 90; myservo6.write (90); struja6 = 90; delay (delayBetweenSteps); }}}
Kod obrade:
uvoz obrada.serial.*; kontrola uvozaP5.*; // uvoz ControlP5 knjižnice Serijski port; ControlP5 cp5; // kreiramo font PFont objekta ControlP5; void setup () {// isto što i veličina arduino programa (300, 700); // veličina prozora, (širina, visina) printArray (Serial.list ()); // ispisuje sve dostupne serijske portove // Ako imate problem, vjerojatno dolazi odavde. String portName = Serial.list () [0]; port = novi serijski (ovaj, portName, 9600); // povezao sam arduino s com3, bilo bi drugačije u linuxu i mac os -u // dopuštamo dodavanje butona u prazan prozor cp5 = novi ControlP5 (ovo); font = createFont ("Arial", 13); // prilagođeni fontovi za gumbe i naslov // Gumbi za kontrolu brzine cp5.addButton ("One") // "One" je naziv gumba.setPosition (50, 50) // x i y koordinate gornjeg lijevog kuta gumba.setSize (55, 25) // (širina, visina).setFont (font); cp5.addButton ("Pet").setPosition (110, 50).setSize (55, 25).setFont (font); cp5.addButton ("Ten").setPosition (170, 50).setSize (55, 25).setFont (font); cp5.addButton ("Twenty").setPosition (230, 50).setSize (55, 25).setFont (font); cp5.addButton ("Reset").setPosition (110, 2).setSize (55, 25).setFont (font); cp5.addButton ("Servo_1_Foward").setPosition (50, 90).setSize (190, 40).setFont (font); // Gumbi za upravljanje motorom cp5.addButton ("Servo_1_Back").setPosition (50, 140).setSize (190, 40).setFont (font); cp5.addButton ("Servo_2_Foward").setPosition (50, 190).setSize (190, 40).setFont (font); cp5.addButton ("Servo_2_Back").setPosition (50, 240).setSize (190, 40).setFont (font); cp5.addButton ("Servo_3_Foward").setPosition (50, 290).setSize (190, 40).setFont (font); cp5.addButton ("Servo_3_Back").setPosition (50, 340).setSize (190, 40) // (širina, visina).setFont (font); cp5.addButton ("Servo_4_Foward").setPosition (50, 390).setSize (190, 40).setFont (font); cp5.addButton ("Servo_4_Back").setPosition (50, 440).setSize (190, 40) // (širina, visina).setFont (font); cp5.addButton ("Servo_5_Foward").setPosition (50, 490).setSize (190, 40).setFont (font); cp5.addButton ("Servo_5_Back").setPosition (50, 540).setSize (190, 40).setFont (font); cp5.addButton ("Servo_6_Foward").setPosition (50, 590).setSize (190, 40).setFont (font); cp5.addButton ("Servo_6_Back").setPosition (50, 640).setSize (190, 40).setFont (font); } void draw () {// isto što i petlja u arduino pozadini (192, 215, 249); // boja pozadine prozora (r, g, b) ili (0 do 255) // Dodavanje teksta koji kaže da je kontrola brzine popunjavanje kontrole brzine (0, 10, 25); // boja teksta (r, g, b) textFont (font); tekst ("Kontrola brzine", 50, 40); // ("tekst", x koordinata, y koordinata)} // omogućuje dodavanje nekih funkcija našim gumbima // pa kad pritisnete bilo koji gumb, on šalje određeni znak preko serijskog porta // Siguran sam da je moguće poslati nizove umjesto znakova, i to bi imalo više smisla, ali ne znam kako to učiniti // Naredbe za kontrolu brzine void One () {port.write ('w'); } void Five () {port.write ('x'); } void Ten () {port.write ('y'); } void Twenty () {port.write ('z'); } // Naredbe za upravljanje motorom void Servo_1_Foward () {port.write ('a'); } void Servo_1_Back () {port.write ('b'); } void Servo_2_Foward () {port.write ('c'); } void Servo_2_Back () {port.write ('d'); } void Servo_3_Foward () {port.write ('e'); } void Servo_3_Back () {port.write ('f'); } void Servo_4_Foward () {port.write ('g'); } void Servo_4_Back () {port.write ('h'); } void Servo_5_Foward () {port.write ('i'); } void Servo_5_Back () {port.write ('j'); } void Servo_6_Foward () {port.write ('k'); } void Servo_6_Back () {port.write ('l'); } void Reset () {port.write ('r'); }
Korak 31: Više slika
Preporučeni:
3D robotska ruka s koračnim motorima s Bluetooth kontrolom: 12 koraka
3D robotska ruka s koračnim motorima s Bluetooth kontrolom: U ovom ćemo vodiču vidjeti kako izraditi 3D robotsku ruku, s 28byj-48 koračnim motorima, servo motorom i 3D ispisanim dijelovima. Tiskana ploča, izvorni kod, električni dijagram, izvorni kod i mnogo informacija nalaze se na mojoj web stranici
Korak po korak Izgradnja računala: 9 koraka
Korak po korak izgradnja računala: potrepštine: hardver: matična ploča CPU & Hladnjak procesoraPSU (jedinica za napajanje) Skladištenje (HDD/SSD) RAMGPU (nije potrebno) Alati za kućište: Odvijač ESD narukvica/mattermalna pasta s aplikatorom
Tri kola zvučnika -- Korak po korak vodič: 3 koraka
Tri kola zvučnika || Vodič korak po korak: Krug zvučnika pojačava audio signale koji se primaju iz okruženja na mikrofon i šalje ih zvučniku s mjesta na kojem se proizvodi pojačani zvuk. Ovdje ću vam pokazati tri različita načina kako napraviti ovaj zvučnik pomoću:
Korak po korak edukacija iz robotike s kompletom: 6 koraka
Korak po korak edukacija iz robotike s kompletom: Nakon nekoliko mjeseci izgradnje vlastitog robota (molimo pogledajte sve ovo), a nakon što su dijelovi dva puta otkazali, odlučio sam napraviti korak unatrag i ponovno razmisliti o svom strategija i smjer. Višemjesečno iskustvo bilo je ponekad vrlo korisno i
Robotska ruka Arduino, uradi sam, korak po korak: 9 koraka
Robotski rukohvat Arduino, korak po korak: Ovaj vodič će vas naučiti kako sami izgraditi robotski krak