Sadržaj:
- Supplies
- Korak 1: Odštampajte sve 3D komponente
- Korak 2: (Opcionalno) Pričvrstite drvenu dasku na dno kutije kako biste je ojačali
- Korak 3: Izmjerite i izrežite drvenu dasku tako da odgovara kutiji
- Korak 4: Označite položaje motora
- Korak 5: Označite položaje zagrada 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 pomoću L-zagrada
- Korak 10: Uzmite 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 s 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 Code programe
- Korak 21: Spojite servo upravljačke pinove na Arduino
- Korak 22: Pritisnite dugme Reset u obradi, ovo će postaviti sve ruke na 90 stepeni
- Korak 23: Horizontalno pričvrstite 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: Napomene
- Korak 28: Rješavanje problema
- Korak 29: Veze
- Korak 30: Kodirajte
- Korak 31: Više slika
Video: Robotska ručka s žičanom kontrolom: 31 korak
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:06
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 gurnuti.
3D štampanje:
Ovde i Ovde
Supplies
6 servo motora (MG995)
Arduino Uno
Oko 6 metara čelične žice presvučene plastikom (0,5 mm)
Kutija 23x33x10 (može biti uža, definitivno ne smije biti kraća)
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-kraka priključna bloka
Žice za platformu
3D štampane komponente (nisam ja dizajnirao, veze do elemenata u opisu):
3 "vijka"
2 "Element 1"
1 „Element 2“
2 „Element 3“
1 Osnovni konektor
Korak 1: Odštampajte sve 3D komponente
Možda će vam trebati podrška za rupe i lukove za vijke, ali pazite da ne dodate podršku tijelu vaših komponenti; ovo će zatvoriti male rupe za žicu i morat ćete napraviti nove rupe
Korak 2: (Opcionalno) Pričvrstite drvenu dasku na dno kutije kako biste je ojačali
Moja kutija je bila prilično slaba, vaša možda nije
Korak 3: Izmjerite i izrežite drvenu dasku tako da odgovara kutiji
Korak 4: Označite položaje motora
pazite da se ruke ne dodiruju
Korak 5: Označite položaje zagrada 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 pomoću L-zagrada
Korak 10: Uzmite 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 s 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 trebale odgovarati 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 ovdje danim uputama. Možda ćete morati turpijati dijelove tako da odgovaraju
Korak 19: Instalirajte Processing i Arduino
Obrada i Arduino
Korak 20: Zalijepite Code programe
Kôd se nalazi pri dnu ove stranice
Korak 21: Spojite servo upravljačke pinove na Arduino
Priključio 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 dugme Reset u obradi, ovo će postaviti sve ruke na 90 stepeni
Korak 23: Horizontalno pričvrstite 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: Napomene
Koristio sam žicu za nakit od 0,5 mm, ali 0,4 mm bi trebalo biti u redu. U originalnom dizajnu korištena je PVC žica, ali se ona previše lako slomila i bilo je teško raditi s njom.
Ako ćete kretati ruku u automobilu ili biciklu, omotajte zglobove ruku trakom kako biste bili sigurni da neće iskočiti. Ovo 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 napraviti 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 su zatvorene u 3D štampanim elementima:
Dodali ste podršku cijelom elementu umjesto samo rupa za vijke. Ili ponovno odštampajte 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 portove (moj nije), možete kupiti USB 2 produžni kabel ili koristiti računalo koje ima USB 2 portove
Kod ne radi:
Slijedite ovaj vodič i izmijenite ga da napravite vlastiti kod
Dio ruke se ne miče:
Žice su se možda zaplele, da biste to provjerili, skinite servo krak sa serva i pokušajte ručno povući žice. Raspetljajte žice i ako je i dalje teško povući žice, pokušajte upotrijebiti neki WD-40 ili mazivo za lakše kretanje
Korak 29: Veze
Non Robotic Arm:
Arm 3D ispisi:
Moja ruka 3D štampanje:
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; // Stepeni koji se dodaju ili oduzimaju od trenutne pozicije intgreesFoward = 5; // Odgoda tako da se dvije funkcije ne dogode u pogrešnom redoslijedu 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); // Postavi sve motore na zadane postavke 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 (); // stavi u ovaj znak // Kontrola motora if (val == 'a' && current1 + stupnjevi naprijed mini1) {myservo1.write (trenutni1 - stupnjevi naprijed); struja1 = struja1 - stupnjevi naprijed; delay (delayBetweenSteps); } if (val == 'c' && current2 mini2) {myservo2.write (current2 - stupnjevi naprijed); struja2 = struja2 - stepeniForward; delay (delayBetweenSteps); } if (val == 'e' && current3 mini3) {myservo3.write (current3 - stupnjevi naprijed); struja3 = struja3 - 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 pritisnuto dugme za brzinu 1 stepeniFoward = 1; delay (delayBetweenSteps); } if (val == 'x') {// Ako pritisnete dugme brzine 5 stepeniFoward = 5; delay (delayBetweenSteps); } if (val == 'y') {// Ako pritisnete dugme za brzinu 10 stepeniFoward = 10; delay (delayBetweenSteps); } if (val == 'z') {// Ako pritisnete dugme brzine 20 stepeniFoward = 20; delay (delayBetweenSteps); } if (val == 'r') {// Ako je pritisnuto dugme brzine 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:
import processing.serial.*; kontrola uvozaP5.*; // uvoz ControlP5 biblioteke 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, vjerovatno dolazi odavde. String portName = Serial.list () [0]; port = novi serijski (ovaj, portName, 9600); // povezao sam arduino sa com3, bilo bi drugačije u linux -u i mac os -u // dopuštamo dodavanje butona u prazan prozor cp5 = novi ControlP5 (ovo); font = createFont ("Arial", 13); // prilagođeni fontovi za dugmad i naslov // Dugmad za kontrolu brzine cp5.addButton ("One") // "One" je naziv dugmeta.setPosition (50, 50) // x i y koordinate gornjeg lijevog ugla dugmeta.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ćava dodavanje nekih funkcija našim gumbima // pa kad pritisnete bilo koje dugme, šalje određeni znak preko serijskog porta // Siguran sam da je moguće slati nizove umjesto znakova, i imalo bi više smisla, ali ne znam kako se to radi // 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 kontrolu motora 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čuje se:
Korak po korak Izgradnja računara: 9 koraka
Korak po korak Izgradnja računara: Potrošni materijal: 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 || Korak po korak vodič: 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 obrazovanje iz robotike s kompletom: 6 koraka
Korak po korak edukacija o robotici s kompletom: Nakon nekoliko mjeseci izgradnje vlastitog robota (pogledajte sve ove stavke), a nakon što su dijelovi dva puta otkazali, odlučio sam napraviti korak unatrag i razmisliti o svom strategija i smjer. Višemjesečno iskustvo ponekad je bilo vrlo korisno i
Akustična levitacija sa Arduino Uno Korak po korak (8 koraka): 8 koraka
Akustična levitacija s Arduino Uno Korak po korak (8 koraka): ultrazvučni pretvarači zvuka L298N Dc ženski adapter za napajanje s muškim dc pinom Arduino UNOBreadboard Kako to funkcionira: Prvo učitajte kôd na Arduino Uno (to je mikrokontroler opremljen digitalnim i analogni portovi za pretvaranje koda (C ++)
Uradi sam Arduino robotska ruka, korak po korak: 9 koraka
Uradi sam Arduino robotsku ruku, korak po korak: Ovaj vodič će vas naučiti kako sami napraviti robotsku ruku