Kazalo:

Zamahnite z roko, da nadzirate robotsko roko OWI Brez priloženih strun: 10 korakov (s slikami)
Zamahnite z roko, da nadzirate robotsko roko OWI Brez priloženih strun: 10 korakov (s slikami)

Video: Zamahnite z roko, da nadzirate robotsko roko OWI Brez priloženih strun: 10 korakov (s slikami)

Video: Zamahnite z roko, da nadzirate robotsko roko OWI Brez priloženih strun: 10 korakov (s slikami)
Video: Использование кнопки скорости шагового двигателя 28BYJ-48 с 8 проектами: Ultimate Video Tutorial, урок 107 2024, Julij
Anonim
Image
Image
Deli
Deli

IDEJA:

Na Instructables.com (od 13. maja 2015) obstajajo še vsaj 4 drugi projekti, ki se nanašajo na spreminjanje ali nadzor OWI Robotic Arm. Ni presenetljivo, saj je tako odličen in poceni robotski komplet za igranje. Ta projekt je po duhu podoben (tj. Nadzor robotske roke z Arduinom), vendar se v pristopu razlikuje. [video]

Ideja je, da bi lahko brezžično upravljali robotsko roko s kretnjami. Prav tako sem poskušal omejiti spremembe robotske roke, da bi jo lahko še vedno uporabljali s prvotnim krmilnikom.

Sliši se preprosto.

Na koncu je tridelni projekt:

  1. Rokavica z dovolj senzorji za upravljanje LED in 5 motorjev
  2. Oddajna naprava na osnovi Arduino Nano, ki sprejema ročne ukaze iz rokavice in jih brezžično pošilja v krmilno napravo Arm
  3. Brezžični sprejemnik in naprava za krmiljenje motorja na osnovi Arduino Uno, priključena na robotsko roko OWI

LASTNOSTI

  1. Podpora za vseh 5 stopinj svobode (DOF) in LED
  2. Veliki rdeči gumb - za takojšnjo ustavitev motorjev na roki, ki preprečuje poškodbe
  3. Prenosna modularna zasnova

Za uporabnike mobilnih naprav: "promocijski video" tega projekta je na YouTubu tukaj.

1. korak: Deli

ROKAVICA:

Za izdelavo krmilnika za rokavice boste potrebovali naslednje:

  1. Isotoner Smartouch Tech Stretch Stitched Glove (ali podobno) - na Amazon.com
  2. Spectra Symboflex Sensor 2.2 " - na Amazon.com
  3. GY -521 6DOF MPU6050 3 -osni žiroskop + modul pospeška - na Fasttech.com
  4. 2X5 GLAVA BOX PRAVA - na Phoenixent.com
  5. 2X5 IDC VTIČNICA -RECEPTACLE - na Phoenixent.com
  6. PLOŠČI TRABNI KABL 10 Prevodnik.050 "Nagib - na Phoenixent.com
  7. 2 x 5 mm LED - zelena in rumena
  8. 2 x majhni gumbi
  9. Upori, žice, igla, črna nit, pištola za lepilo, spajkalna pištola, spajkanje itd.

TRANSMISSION STRAP-ON BOX:

  1. Arduino združljiva plošča Nano v3.0 ATmega328P -20AU - na Fasttech.com
  2. nRF24L01+ 2,4 GHz brezžični oddajnik Arduino združljiv - na Amazon.com
  3. Gymboss WRISTBAND - na Amazon.com
  4. 9V ohišje držala za baterijo s stikalom za vklop/izklop žice - na Amazon.com
  5. 2X5 GLAVA BOX PRAVA - na Phoenixent.com
  6. 9v baterija
  7. 47uF (50v) kondenzator
  8. Upori, žice, pištola za lepilo, spajkalna pištola, spajkanje itd.

OWI ROBOTIČNA KONTROLNA ROKA:

  1. Arduino združljiva razvojna plošča Uno R3 Rev3 - na Fasttech.com
  2. Prototip Shield DIY KIT za Arduino (ali podobno) - na Amazon.com
  3. nRF24L01+ 2,4 GHz brezžični oddajnik Arduino združljiv - na Amazon.com
  4. 3 x L293D 16 -polni gonilnik IC z integriranim vezjem - na Fasttech.com
  5. 1 x SN74HC595 74HC595 8-bitni premik registra s 3-državnimi izhodnimi registri DIP16-na Amazon.com
  6. 47uF (50v) kondenzator
  7. Box for Arduino - na Amazon.com
  8. Stikalo za vklop/izklop
  9. 2 gumba 13 mm (ena rdeča in ena zelena kapica)
  10. 2 x 2X7 GLAVA BOX PRAVA - enako kot zgoraj na Phoenixent.com
  11. PLOŠČI TRABLNI KABEL 14 Prevodnik.050 "Nagib - enako kot zgoraj na Phoenixent.com
  12. 9v baterija + spojni priključek
  13. Upori, žice, pištola za lepilo, spajkalna pištola, spajkanje itd.

… in seveda:

OWI Robotic Arm Edge - Robotska roka - OWI -535 - na Adafruit.com

2. korak: PROTOTIPIRANJE

PROTOTIPIRANJE
PROTOTIPIRANJE
PROTOTIPIRANJE
PROTOTIPIRANJE

Močno priporočam izdelavo prototipov vsake od krmilnih naprav, preden vse komponente spajkate skupaj.

Ta projekt uporablja nekaj zahtevnih delov strojne opreme:

nRF24L01

Rabil sem nekaj časa, da sta se nRF24 pogovarjala. Očitno niti Nano niti Uno ne zagotavljata dovolj stabilizirane moči 3,3 V, da moduli delujejo dosledno. Rešitev v mojem primeru je bil 47uF kondenzator preko napajalnih zatičev na obeh modulih nRF24. Obstaja tudi nekaj napak pri uporabi knjižnice RF24 v načinih IRQ in ne-IRQ, zato priporočam, da primere res natančno preučite.

Nekaj odličnih virov:

nRF24L01 Stran z izdelkom IC RF oddajnika z ultra nizko porabo 2,4 GHz

Stran knjižnice gonilnikov RF24

Samo googlanje nRF24 + arduino bo ustvarilo veliko povezav. Vredno je raziskati

74HC595 MENJALNI REGISTAR

Ni presenetljivo, da sem moral krmiliti 5 motorjev, LED, dva gumba in brezžični modul. Na Unu mi je relativno hitro zmanjkalo zatičev. Znan način za "razširitev" števila pin je uporaba premičnega registra. Ker je nRF24 že uporabljal vmesnik SPI, sem se odločil, da uporabim SPI tudi za programiranje registra premikov (za hitrost in shranjevanje zatičev) namesto funkcije shiftout (). Na moje presenečenje je prvič delovalo kot čar. To lahko preverite v dodelitvi pinov in v skicah.

Breadboard in skakalne žice so vaši prijatelji.

3. korak: ROKAVICA

ROKAVICA
ROKAVICA
ROKAVICA
ROKAVICA
ROKAVICA
ROKAVICA
ROKAVICA
ROKAVICA

OWI Robotic ARM ima 6 elementov za nadzor (slika OWI Robotic Arm Edge)

  1. LED, ki se nahaja na GRIPPER -ju naprave
  2. KREZALEC
  3. ZAPESTILO
  4. KOLENEC - je del robotske roke, pritrjen na zapestje
  5. RAČA je del robotske roke, pritrjen na OSNOVO
  6. OSNOVA

Rokavica je zasnovana za krmiljenje LED robotske roke in vseh 5 motorjev (stopnje svobode).

Na slikah imam označene posamezne senzorje in spodnji opis:

  1. KLIPALO krmilijo gumbi na srednjem prstu in rožnati. Hvatalka se zapre tako, da se kazalec in srednji prst pritisneta skupaj. Gripper se odpre s pritiskom na obroč in pinky skupaj.
  2. WRIST nadzoruje prilagodljiv upor na iskalniku indeksov. Če upognete prst do polovice, se zapestje spusti navzdol, zavijanje pa do konca. Če kazalec držite naravnost, se zapestje ustavi.
  3. KOLENO nadzira merilnik pospeška - nagibanje dlani navzgor in navzdol premakne komolec gor in dol
  4. RAČA se upravlja s merilnikom pospeška - nagibanje dlani v desno in levo (čeprav ne na glavo!) Premika ramo navzgor in navzdol
  5. BASE nadzira tudi merilnik pospeška, podobno kot pri nagibanju ramen v desno in levo do konca navzdol (dlan obrnjena navzgor) premika podlago desno oziroma levo
  6. LED na prijemalu se vklopi/izklopi s pritiskom obeh gumbov za upravljanje prijemala.

Vsi odzivi gumbov so zakasnjeni za 1/4 sekunde, da se prepreči tresenje.

Sestavljanje rokavice zahteva nekaj spajkanja in veliko šivanja. V bistvu gre samo za pritrditev 2 gumbov, prilagodljivega upora, modula Accel/Gyro na tkanino rokavice in napeljavo žic do priključne omarice.

Dve LED na priključni omarici sta:

  1. ZELENO - vklopljen
  2. RUMENA - utripa, ko se podatki prenašajo v krmilno omarico za roko.

4. korak: ŠKATLA ODDAJNIKA

ŠKATLA ZA ODDAJNIKE
ŠKATLA ZA ODDAJNIKE
ŠKATLA ZA ODDAJNIKE
ŠKATLA ZA ODDAJNIKE
ŠKATLA ZA ODDAJNIKE
ŠKATLA ZA ODDAJNIKE

Oddajniška omarica je v bistvu Arduino Nano, brezžični modul nRF24, prilagodljiv žični konektor in 3 upori: 2 izvlečna upora 10 kOhm za krmilne gumbe prijemala na rokavici in upor napetosti 20 kOhm za prilagodljiv senzor za krmiljenje zapestja.

Vse je spajeno skupaj na vero-ploščo. Upoštevajte, da nRF24 "visi" nad Nanom. Skrbelo me je, da bi to lahko povzročilo motnje, vendar deluje.

Uporaba 9v baterije naredi del na traku nekoliko obsežen, vendar se nisem hotel zapletati z LiPo baterijami. Mogoče kasneje.

Za navodila glede spajkanja glejte korak dodelitve zatičev

5. korak: NADZORNA ROKA

NADZORNA ROČICA
NADZORNA ROČICA
NADZORNA ROKA
NADZORNA ROKA
NADZORNA ROČICA
NADZORNA ROČICA
NADZORNA ROČICA
NADZORNA ROČICA

Krmilna omarica za roke temelji na Arduino Uno. Brezžično prejema ukaze iz rokavic prek modula nRF24 in krmili roko OWI Robotoc preko treh gonilnikov L293D.

Ker so bili uporabljeni skoraj vsi zatiči Uno, je v škatli veliko žic - komaj se zapre!

Škatla se po zasnovi zažene v načinu OFF (kot da pritisnete gumb za zaustavitev), kar daje operaterju čas, da si nadene rokavico in se pripravi. Ko je naprava pripravljena, pritisne zeleni gumb in povezava med rokavico in krmilno omarico mora biti takoj vzpostavljena (kar označujeta rumena LED na rokavici in rdeča LED na nadzorni omarici).

POVEZAVA Z OWI

Povezava z robotsko roko poteka preko 14 -polnega dvorednega glavnika (po zgornji sliki) prek 14 -žilnega ploskega kabla.

  • LED povezave so na skupni ozemljitvi (-) in arduino pin A0 preko upora 220 Ohm
  • Vse žice motorja so priključene na zatiče L293D 3/6 ali 11/14 (+/-). Vsak L293D podpira 2 motorja, torej dva para zatičev.
  • Napajalni vodi OWI so skrajni levi (+6v) in skrajni desni (GND) nožici 7 -polnega priključka na zadnji strani rumenega vrha. (Na zgornji sliki lahko vidite priključene žice). Ti dve sta povezani na nožice 8 (+) in 4, 5, 12, 13 (GND) na vseh treh L293D.

Preostanek dodelitve pinov si oglejte v naslednjem koraku

6. korak: DODELA PIN

DODELA PIN
DODELA PIN
DODELA PIN
DODELA PIN
DODELA PIN
DODELA PIN

NANO:

  • 3.3v - 3.3v na čip nRF24L01 (pin 2)
  • 5v - 5v do plošče merilnika pospeška, gumbi, prilagodljiv senzor
  • a0 - vhod fleksibilnega upora
  • a1 - rumena LED -komunikacija "comms"
  • a4 - SDA na merilnik pospeška
  • a5 - SCL na merilnik pospeška
  • d02 - čip nRF24L01 Prekinitveni zatič (pin 8)
  • d03 - odprt vhod z gumbom prijemala
  • d04 - zaprite vhod z gumbom prijemala
  • d09 - SPI CSN pin na čip nRF24L01 (pin 4)
  • d10 - SPI CS pin na čip nRF24L01 (pin 3)
  • d11 - SPI MOSI do čipa nRF24L01 (pin 6)
  • d12 - SPI MISO do čipa nRF24L01 (pin 7)
  • d13 - SPI SCK do čipa nRF24L01 (pin 5)
  • Vin - 9v +
  • GND - skupna točka

UNO:

  • 3.3v - 3.3v na čip nRF24L01 (pin 2)
  • 5v - 5v do gumbov
  • Vin - 9v +
  • GND - skupna točka
  • a0 - LED zapestje +
  • a1 - SPI SS pin za Shift Register Izberite - za pin 12 na Shift Register
  • a2 - Vhod z RDEČIM gumbom
  • a3 - Vnos ZELENE tipke
  • a4 - smer desne desne - zatič 15 na L293D
  • a5 - vodila za komunikacijo
  • d02 - nRF24L01 IRQ vhod (pin 8)
  • d03 - omogočite osnovni servo (pwm) zatič 1 ali 9 na L293D
  • d04 - smerna osnova levo - zatič 10 na ustreznem L293D
  • d05 - omogočite ramenski servo (pwm) zatič 1 ali 9 na L293D
  • d06 - omogočite kolenasti servo (pwm) zatič 1 ali 9 na L293D
  • d07 - SPI CSN pin na čip nRF24L01 (pin 4)
  • d08 - SPI CS pin na čip nRF24L01 (pin 3)
  • d09 - omogočite zatič servo (pwm) pin 1 ali 9 na L293D
  • d10 - omogočite servo (pwm) zatika prijemala 1 ali 9 na L293D
  • d11 - SPI MOSI v čip nRF24L01 (pin 6) in pin 14 v registru premikov
  • d12 - SPI MISO do čipa nRF24L01 (pin 7)
  • d13 - SPI SCK na čip nRF24L01 (pin 5) in pin 11 na registru premikov

SHIFT REGISTER IN L293Ds:

  • nožica QA (15) 74HC595 na pin 2 L293D #1
  • nožica QB (1) 74HC595 na pin 7 L293D #1
  • nožica QC (2) 74HC595 na pin 10 L293D #1
  • nožica QD (3) 74HC595 na pin 15 L293D #1
  • nožica QE (4) 74HC595 na pin 2 L293D #2
  • nožica QF (5) 74HC595 na pin 7 L293D #2
  • nožica QG (6) 74HC595 na pin 10 L293D #2
  • nožica QH (7) 74HC595 na pin 15 L293D #2

7. korak: KOMUNIKACIJA

KOMUNIKACIJA
KOMUNIKACIJA

Rokavica pošlje 2 bajta podatkov v krmilno omarico 10 -krat na sekundo ali kadar koli prejme signal enega od senzorjev.

2 bajta zadostuje za 6 kontrol, ker moramo poslati samo:

  • ON/OFF za LED (1 bit) - dejansko sem uporabil 2 bita, da sem skladen z motorji, vendar je en dovolj
  • OFF/DESNO/LEVO za 5 motorjev: vsak po 2 bita = 10 bitov

Skupaj 11 ali 12 bitov zadostuje.

Kode smeri:

  • IZKLOPLJENO: 00
  • DESNO: 01
  • LEVO: 10

Kontrolna beseda izgleda tako (bitna):

Bajt 2 ---------------- Bajt 1 ----------------

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 LED-M5-M4-M3-M2-M1-

  • M1 - prijemalo
  • M2 - zapestje
  • M3 - komolec
  • M4 - ramena
  • M5 - osnova

Bajt 1 je mogoče priročno vnesti neposredno v register premikov, saj nadzoruje smer desno/levo motorjev od 1 do 4.

Za komunikacijo je omogočena časovna omejitev 2 sekundi. Če pride do časovne omejitve, se vsi motorji ustavijo, kot da bi pritisnili RDEČO tipko.

8. korak: SKICE in še več…

SKICE in še več…
SKICE in še več…

ROKAVICA

Skica rokavic uporablja naslednje knjižnice:

  • DirectIO - na voljo na Githubu
  • I2Cdev - na voljo na Githubu
  • Wire - del Arduino IDE
  • MPU6050 - na voljo v Githubu
  • SPI - del Arduino IDE
  • RF24 - na voljo na Githubu

in tri knjižnice, ki sem jih razvil:

  • AvgFilter - na voljo pri Githubu
  • DhpFilter - na voljo na Githubu
  • TaskScheduler - na voljo v Githubu

Skica rokavic je na voljo tukaj: Skica rokavic v1.3

NADZORNA ROKA

Skica roke uporablja naslednje knjižnice:

  • DirectIO - na voljo na Githubu
  • PinChangeInt - na voljo na Githubu
  • SPI - del Arduino IDE
  • RF24 - na voljo na Githubu

in knjižnico, ki sem jo razvil:

TaskScheduler - na voljo v Githubu

Skica roke je na voljo tukaj: Arm Sketch v1.3

Podatkovni listi za uporabljeno strojno opremo

  • 74HC595 register premikov - podatkovni list
  • Gonilnik motorja L293D - podatkovni list
  • brezžični modul nRF24 - podatkovni list
  • Merilnik pospeška/žiroskop MPU6050 - podatkovni list

31. maj 2015 Posodobitev:

Nova različica skic kontrolne škatle za rokavice in roke je na voljo tukaj: Skice rokavic in rok v1.5

Tukaj se nahajajo tudi na githubu.

Spremembe

  • V komunikacijsko strukturo smo dodali še dva bajta za pošiljanje zahtevane hitrosti motorja za zapestne, komolčne, ramenske in osnovne motorje kot 5 -bitno vrednost (0.. 31) iz rokavice, sorazmerno z kotom kontrolne geste (glej spodaj). Arm Control Box preslika vrednosti [0.. 31] na ustrezne vrednosti PWM za vsak motor. To omogoča postopen nadzor hitrosti s strani operaterja in natančnejše rokovanje z roko.
  • Nov niz kretenj:

1. LED: Gumbi za upravljanje LED - gumb za srednji prst - VKLOPLJEN, gumb za majhne prste - IZKLOPLJEN

2. GRIPPER: Prilagodljiv krmilni trak Oprijem - pol upognjen prst - ODPRTO, popolnoma upognjen prst - ZAPRTO

3. ZAPESTEK: Zapestje nadzorujete z nagibom dlani iz popolnoma vodoravnega položaja navzgor in navzdol. Več nagiba povzroči večjo hitrost

4. ARM: Roko nadzirate z nagibanjem dlani iz popolnoma vodoravnega položaja LEVO in DESNO. Več nagiba povzroči večjo hitrost

5. RAČENA: Ramo nadziramo z vrtenjem dlani DESNO in LEVO od dlani, usmerjene naravnost navzgor. Dlan se vrti vzdolž osi komolca (kot tudi mahanje z roko)

6. OSNOVA: Podnožje se upravlja na enak način kot ramena z dlanjo, usmerjeno naravnost navzdol.

9. korak: KAJ ŠE?

KAJ DRUGEGA?
KAJ DRUGEGA?

Domišljija pri delu

Kot običajno pri takšnih sistemih bi jih lahko programirali, da naredijo veliko več.

Na primer, trenutna zasnova že vključuje dodatne sposobnosti, ki jih s standardnim daljinskim upravljalnikom ni mogoče:

  • Postopno povečanje hitrosti: vsako gibanje motorja se začne z vnaprej določeno minimalno hitrostjo, ki se postopoma povečuje vsake 1 sekunde, dokler ni dosežena največja hitrost. To omogoča natančnejši nadzor vsakega motorja (zlasti zapestja in prijemala)
  • Hitrejše preklicanje gibanja: ko sprejemnik ujame ukaz za ustavitev motorja, za trenutek obrne motor za približno 50 ms, s čimer "prekine" gibanje in omogoči natančnejši nadzor.

KAJ DRUGEGA?

Morda bi lahko izvedli bolj izdelane krmilne poteze. Ali pa bi lahko za dovršene kontrole uporabili hkratne kretnje. Ali lahko Roka pleše?

Če imate idejo, kako znova programirati rokavico, ali imate različico skice, ki jo želite preizkusiti - mi sporočite: [email protected]

10. korak: *** ZMAGALI SMO !!! ***

*** ZMAGALI SMO !!! ***
*** ZMAGALI SMO !!! ***

Ta projekt je osvojil prvo nagrado na natečaju Kodirane kreacije, ki ga sponzorira Microsoft.

Preverite! WOO-HOO !!!

Kodirane kreacije
Kodirane kreacije
Kodirane kreacije
Kodirane kreacije

Druga nagrada v kodiranih stvaritvah

Priporočena: