Kazalo:

Robotska roka Arduino: 5 korakov
Robotska roka Arduino: 5 korakov

Video: Robotska roka Arduino: 5 korakov

Video: Robotska roka Arduino: 5 korakov
Video: How to Make a Mini Robot bug 2024, Julij
Anonim
Image
Image
Robotska roka Arduino
Robotska roka Arduino
Robotska roka Arduino
Robotska roka Arduino

Ker je to moj prvi projekt po 15 vadnicah mojega začetnega kompleta Arduino, je njegov pravi namen dobiti nekaj kritikov, namigov, predlogov, idej od vseh, ki vedo več kot jaz.

Ta projekt govori o robotski roki s 4 dofi in oprijemom. Z dokaj nizkim proračunom: strukturo je odrezal prijatelj, 4 servomotorji so bili 30 €, 2 krmilne palice 4 €, vijaki itd. Za manj kot 10 € in vse ostalo (Arduino, žice, servo oprijema itd.).) je bil že vključen v moj začetni komplet. Skupaj 40-45 €, kar je približno 45-50 ameriških dolarjev (ista cena kompleta za roko, vendar hej, zabavno je bilo, da sem ga zgradil sam (in občasno kaj pokvaril) in ne sledite navodilom kot stroj).

Ker je bil to moj prvi projekt in Instructable, sem se prijavil na "First Time Author" in še nekaj drugih natečajev, zato, če vam je všeč, glasujte:)

1. korak: OBLIKOVANJE IN SESTAVLJANJE:

Najprej sem potreboval strukturo: to je bil vsekakor najdaljši del. Ker nisem hotel kopirati in prilepiti projekta od nekoga drugega, sem vzel projekt za referenco in jaz (in še nekaj usposobljenih sošolcev, ki so me res rešili) začeli spreminjati glede na naše potrebe (različni servomotorji z različnim navorom, težo in merami itd.). Nekajkrat sem ga moral zgraditi, pri vsakem sem ugotovil, da je nekaj narobe, in morali smo odšteti nekaj kosov in poskusiti znova. Priložil sem datoteko.dxf, če jo želite uporabiti. Potem sem moral kupiti elektroniko.: Večina delov je bila standardna, težji del je bil izbrati servomotorje. Zahtevani navor sem izračunal s palcem, kasneje sem poskusil natančnejši izračun in ugotovil, da sem ga morda malo pretiraval. Očitno bi bilo za drugi servo (od podnožja) dovolj 6 kg/cm, moje pa 9-11 kg/cm. No, to mi daje nekaj varnosti in možnost, da naložim do 2 kg tovora (kar je nemogoče, vendar mi je všeč, da bi to tehnično lahko naredil). Lahko bi kupil tudi različne servomotorje z manjšim navorom med odmikom od baze, vendar je bil nakup enakih servomotorjev pri istem prodajalcu daleč najcenejša možnost. 350mA in mikroservo 9g porabi 100mA, skupaj 350*4 +100 = 1500mA. Tako sem rešil polnilnik (6V 1.5A) in vanj prilepil dve mostički (če bi nekateri od vas potrebovali nekaj resničnih navodil, vprašajte v komentarjih in potrudil se bom, da naredim korak za korakom) vodnik) Seznam materialov:- Konstrukcija- vijak M5x7cm x5, vijaki m5 x15 (podnožje)- vijak M3x16 mm x18*- vijak M3x20 mm x13*- vijaki M3 x40*- vijak M3x8 cm x3- objemka (sicer bo padla)- 3 mozniki- Arduino (ali kaj drugega za nadzor, mora imeti vsaj 5 PWM)- Nekaj za napajanje 5-6V in vsaj 1,5A- 3x ps2 podobne krmilne palice- 4x TowerPro mg995 servomotorji- 1x TowerPro 9g mikroservo (za oprijem) - Veliko skakalnih žic - Okvir*(Uporabil sem vijake in vijake, da sem jih lahko hitro sestavil in razstavil, sicer bi skoraj vse lahko zamenjali z vijaki za lesarstvo)

2. korak: KODA:

Zamisel je, da vsak servo krmilimo z eno od dveh osi krmilne palice, podobne ps2. Zdi se, da ima vsaka krmilna palica različne vrednosti počitka (vrednost med 0-1023, ko je še vedno) za os y in x. je bila težava, saj je bila razlika vse prej kot majhna (ena je imela nič na y pri 623) in želel sem uporabiti funkcijo zemljevida za pretvorbo od 0-1023 v stopinje. Toda funkcija zemljevida meni, da je vrednost počitka 1023/2. Kar je pripeljalo do vsakega premikanja servomotorja, takoj ko sem vklopil Arduino, ni bilo dobro. To sem uspel zaobiti tako, da sem ročno ugotovil razliko med vrednostjo branja in vsako različno vrednostjo počitka (ki sem jo izračunal ločeno za vsako krmilno palčko), nato pa da bi bila koda krajša in pametnejša, sem ga prisilil, da je prebral preostale vrednosti v nastavitveni funkciji in jih shranil v nekatere spremenljivke. Novi algoritem temelji na pretvorbi prirastka v stopinjah, vendar sem želel zelo nizko stopinjo za svoj prirastek, zato Moral sem ga razdeliti za konstanto: preizkusil sem veliko vrednosti, dokler nisem prišel do zadnjih 200 (lahko dodam potenciometer, da ročno spremenim to vrednost na želeno). Preostala koda je precej standardna, mislim, čeprav bi bilo morda bolj elegantno dati izračun prirasta znotraj ločene funkcije.

3. korak: ELEKTRONIKA:

ELEKTRONIKA
ELEKTRONIKA

Ožičenje je enako, kot je prikazano na sliki ali v datoteki za fritzing: servosignali na zatiče: 5-6-9-10-11 in os krmilne palice na analogne zatiče: A0-A1-A2-A3-A4 Večja težava, s katero sem naletel je, da je igralne palice moral dobavljati Arduino, NE pa polnilec, ki ga uporabljam za servomotorje. V nasprotnem primeru bi se servo zmešal, če bi se naključno premikal naprej in nazaj. Mislim, da je to morda zato, ker, če jim dobavim polnilnik, Arduino ne bo mogel natančno povedati razlike v potencialu, ko jih premaknem, potem pa spet: V elektroniki sem zelo nov, zato je le ugibanje. Priključitev ozemljitve Arduino in ohišja polnilnika prek plošče je pomagala preprečiti naključne in nepričakovane premike, podobno zaradi predvidene ponudbe igralnih palic.

4. korak: TRENUTNO IZBOLJŠAJTE:

TRENUTNO SE IZboljšuje
TRENUTNO SE IZboljšuje

Ker lahko vsaka krmilna palica nadzoruje 2 servomotorja (1 na os), potrebujem 3 servomotorje za nadzor celotne roke, a na srečo imam samo 2 palca. oprijem in odpiranje in zapiranje oprijema, skupaj za 4 osi, 2 krmilni palici in 2 palca! Ugotovil sem, da je ta težava dobro znana kot obratna kinematika, ugotovil sem tudi, da je vse prej kot enostavno. nelinearnih) enačb za iskanje stanja vsakega efektorja (koti servomotorjev) glede na končni položaj. Naložil sem ročno napisan papir z enačbami in trenutno delam na novi kodi za njihovo uporabo. Ne bi smelo biti preveč težko, v bistvu moram prebrati igralne palice, z njihovimi odčitki spremeniti xyz koordinate oprijema, nato pa jih dati v moje enačbe, izračunati kote servomotorjev in jih zapisati.

5. korak: PRIHODNI IZBOLJŠANJA:

Tako sem zelo zadovoljen z izidom tega in glede na to, da sem popolnoma nov v elektroniki, da nekaj ne razstrelim ali da se sam počutim, je bila že velika zmaga. strojna oprema, je več kot dobrodošla! Doslej sem razmišljal o: 1. Potenciometer za spreminjanje "občutljivosti" igralnih palic. Nova koda, ki mu omogoča, da "posname" nekaj gibov in jih ponovi (morda hitreje in krajše od človeškega vnosa) 3. Nekakšen vizualni/oddaljeni/glasovni vnos in možnost pridobivanja predmetov, ne da bi kdo uporabljal igralne palice4. Sposobnost risanja geometrijskih figur Kakšna druga ideja? Prosimo, komentirajte kakršne koli predloge. Hvala

Priporočena: