Obsah:

Mávnite rukou na ovládanie robotickej ruky OWI Žiadne struny: 10 krokov (s obrázkami)
Mávnite rukou na ovládanie robotickej ruky OWI Žiadne struny: 10 krokov (s obrázkami)

Video: Mávnite rukou na ovládanie robotickej ruky OWI Žiadne struny: 10 krokov (s obrázkami)

Video: Mávnite rukou na ovládanie robotickej ruky OWI Žiadne struny: 10 krokov (s obrázkami)
Video: Robotická ruka pro děti s funkční hydraulikou od Wiky 2024, November
Anonim
Image
Image
Časti
Časti

NÁPAD:

Na stránke Instructables.com (k 13. máju 2015) existujú najmenej 4 ďalšie projekty okolo úpravy alebo ovládania OWI Robotic Arm. Nie je prekvapením, že je to taká skvelá a lacná robotická súprava na hranie. Tento projekt je v duchu podobný (tj. Ovládajte robotické rameno pomocou Arduina), ale líši sa v prístupe. [video]

Ide o to, aby ste mohli robotické rameno ovládať bezdrôtovo pomocou gest. Tiež som sa pokúsil obmedziť úpravy robotického ramena na minimum, aby ho bolo možné stále používať s pôvodným ovládačom.

Znie to jednoducho.

Nakoniec to bolo trojdielny projekt:

  1. Rukavica vybavená dostatkom senzorov na ovládanie LED a 5 motorov
  2. Vysielacie zariadenie na báze Arduino Nano, ktoré prijíma riadiace príkazy z rukavice a odosiela ich bezdrôtovo do ovládacieho zariadenia Arm
  3. Bezdrôtový prijímač a ovládanie motora na báze Arduino Uno pripevnené k robotickému ramenu OWI

VLASTNOSTI

  1. Podpora všetkých 5 stupňov slobody (DOF) a LED diódy
  2. Veľké červené tlačidlo - na okamžité zastavenie motorov na ramene, aby sa zabránilo poškodeniu
  3. Prenosný modulárny dizajn

Pre mobilných používateľov: „Propagačné video“tohto projektu je na YouTube tu.

Krok 1: Diely

RUKAVICE:

Na zostavenie ovládača rukavíc budete potrebovať nasledovné:

  1. Strečové šité rukavice Isotoner Smartouch Tech (alebo podobné) - na Amazon.com
  2. Spectra Symboflex Sensor 2,2 " - na Amazon.com
  3. 3 osový gyroskop GY -521 6DOF MPU6050 + modul akcelerometra - na Fasttech.com
  4. HEADER 2X5 BOX PRIAMO - na Phoenixent.com
  5. 2X5 IDC SOCKET -RECEPTACLE - na Phoenixent.com
  6. PLOCHÝ STUHOVÝ KÁBEL 10 Vodič, 050 "rozstup - na Phoenixent.com
  7. 2 x 5 mm LED - zelená a žltá
  8. 2 x malé tlačidlá
  9. Rezistory, drôty, ihla, čierna niť, lepiaca pištoľ, spájkovacia pištoľ, spájka atď.

PREVODOVKA STRAP-ON BOX:

  1. Doska kompatibilná s Arduino Nano v3.0 ATmega328P -20AU - na Fasttech.com
  2. Bezdrôtový transceiver nRF24L01+ 2,4 GHz kompatibilný s Arduino - na Amazon.com
  3. Gymboss WRISTBAND - na Amazon.com
  4. Puzdro na 9V držiak na batériu s vypínačom ON/OFF s káblovým vedením - na Amazon.com
  5. HLAVOVÁ HLAVICE 2X5 PRIAMO - na Phoenixent.com
  6. 9v batéria
  7. Kondenzátor 47uF (50v)
  8. Rezistory, drôty, lepiaca pištoľ, spájkovacia pištoľ, spájka atď.

OWI ROBOTIC ARM CONTROLLER BOX:

  1. Vývojová doska kompatibilná s Arduino Uno R3 Rev3 - na Fasttech.com
  2. SADA DIY SÚPRAVY Prototype Shield pre Arduino (alebo podobné) - na Amazon.com
  3. Bezdrôtový transceiver nRF24L01+ 2,4 GHz kompatibilný s Arduino - na Amazon.com
  4. 3 x 16 -kolíkový ovládač motora IC integrovaného obvodu L293D - na Fasttech.com
  5. 1 x 8-bitový posuvný register SN74HC595 74HC595 s 3-stavovými výstupnými registrami DIP16-na Amazon.com
  6. Kondenzátor 47uF (50v)
  7. Box pre Arduino - na Amazon.com
  8. Vypínač
  9. 2 x 13 mm tlačidlá (jedno červené a jedno zelené písmeno)
  10. 2 x 2X7 BOX HEADER ROVNÝ - rovnaké ako vyššie na Phoenixent.com
  11. PLOCHÝ STUHOVÝ KÁBEL 14 Vodič, 050 "rozteč - rovnaké ako vyššie na Phoenixent.com
  12. 9v batéria + pripínací konektor
  13. Rezistory, drôty, lepiaca pištoľ, spájkovacia pištoľ, spájka atď.

… a samozrejme:

OWI Robotic Arm Edge - Robotické rameno - OWI -535 - na Adafruit.com

Krok 2: PROTOTYPING

PROTOTYPING
PROTOTYPING
PROTOTYPING
PROTOTYPING

Pred spájkovaním všetkých komponentov dôrazne odporúčam prototypovať každé z riadiacich zariadení.

Tento projekt používa niekoľko náročných hardvérových komponentov:

nRF24L01

Chvíľu mi trvalo, kým som sa s dvoma nRF24 nechal hovoriť. Zdá sa, že ani Nano, ani Uno neposkytujú dostatok stabilizovaného výkonu 3,3 V na to, aby moduly mohli fungovať konzistentne. Riešením v mojom prípade bol kondenzátor 47uF cez napájacie kolíky na oboch moduloch nRF24. Existuje aj niekoľko zvláštností s použitím knižnice RF24 v režimoch IRQ a non-IRQ, takže odporúčam príklady si poriadne preštudovať.

Niekoľko skvelých zdrojov:

Stránka produktu nRF24L01 IC s extrémne nízkym výkonom 2,4 GHz RF transceiveru

Stránka knižnice ovládača RF24

Len googlovanie nRF24 + arduino vygeneruje veľa odkazov. Stojí za to skúmať

74HC595 REGISTRÁCIA PRESUNU

Nie je prekvapením, že som musel relatívne rýchlo ovládať 5 motorov, LED diódu, dve tlačidlá a bezdrôtový modul. Známym spôsobom, ako „rozšíriť“počet pinov, je použiť posuvný register. Pretože nRF24 už používal rozhranie SPI, rozhodol som sa použiť SPI aj na programovanie posuvných registrov (na rýchlosť a na uloženie pinov) namiesto funkcie shifttout (). Na moje prekvapenie to od prvého momentu fungovalo ako kúzlo. Môžete si to pozrieť v priradení pinov a v náčrtkoch.

Breadboard a prepojovacie káble sú vaši priatelia.

Krok 3: RUKAVICE

RUKAVICE
RUKAVICE
RUKAVICE
RUKAVICE
RUKAVICE
RUKAVICE
RUKAVICE
RUKAVICE

OWI Robotic ARM má 6 položiek na ovládanie (obrázok OWI Robotic Arm Edge)

  1. LED dióda umiestnená na GRIPPERI zariadenia
  2. CHRÍPKA
  3. ZÁPADOK
  4. KOLENO - je časť robotického ramena pripevneného k ZÁPADKU
  5. RAMENO je časť robotického ramena pripevneného k ZÁKLADNE
  6. ZÁKLAD

Rukavica je navrhnutá na ovládanie LED diódy Robotic Arm a všetkých 5 motorov (stupne slobody).

Na obrázkoch mám označené jednotlivé senzory, ako aj nižšie uvedený popis:

  1. GRIPPER sa ovláda tlačidlami umiestnenými na prostredníku a pinky. Uchopovač sa zatvára stlačením ukazováka a prostredníka k sebe. Gripper sa otvára stlačením prsteňa a pinky dohromady.
  2. WRIST je ovládaný flexibilným odporom na indexovom vyhľadávači. Skrútenie prsta do polovice spôsobí, že zápästie klesne a po úplnom zvinutí sa zápästie zdvihne. Udržiavanie vzpriameného ukazováka zastaví zápästie.
  3. ELBOW sa ovláda akcelerometrom - nakláňanie dlane nahor a nadol pohybuje lakťom nahor a nadol
  4. Rameno sa ovláda akcelerometrom - nakláňanie dlane doprava a doľava (nie však hore dnom!) Pohybuje ramenom hore a dole
  5. BASE sa ovláda aj akcelerometrom, podobne ako pri nakláňaní dlane vpravo a vľavo úplne hore dnom (dlaňou nahor) pohybuje základňou doprava a doľava
  6. LED dióda na chápadle sa zapína/vypína stlačením oboch ovládacích tlačidiel chápadla dohromady.

Všetky reakcie na tlačidlá sú oneskorené o 1/4 sekundy, aby sa zabránilo chveniu.

Zostavenie rukavice vyžaduje určité spájkovanie a veľa šitia. V zásade ide iba o prichytenie 2 tlačidiel, flexibilného rezistora, modulu Accel/Gyro k tkanine rukavice a smerovanie vodičov do konektorovej skrinky.

Dve diódy LED na pripojovacej skrinke sú:

  1. ZELENÁ - zapnutie
  2. ŽLTÉ - bliká, keď sa údaje prenášajú do ovládacieho boxu ramena.

Krok 4: BOX VYSIEVAČA

VYSIELAČSKÝ BOX
VYSIELAČSKÝ BOX
VYSIELAČSKÝ BOX
VYSIELAČSKÝ BOX
VYSIELAČSKÝ BOX
VYSIELAČSKÝ BOX

Krabica vysielača je v podstate Arduino Nano, bezdrôtový modul nRF24, flexibilný drôtový konektor a 3 odpory: 2 výsuvné odpory 10 kOhm pre tlačidlá ovládania chápadla na rukavici a odpor s delením napätia 20 kOhm pre flexibilný snímač ovládajúci zápästie.

Všetko je spájkované na vero-doske. Všimnite si toho, že nRF24 „visí“nad Nano. Bál som sa, že to môže spôsobovať rušenie, ale funguje to.

Použitím 9v batérie je popruhová časť trochu objemná, ale nechcel som sa miešať s batériami LiPo. Možno neskôr.

Pokyny na spájkovanie nájdete v kroku priradenia pinov

Krok 5: OVLÁDACÍ PRVOK ARMY

RIADIACA SKRÍŇKA
RIADIACA SKRÍŇKA
RIADIACA SKRÍŇKA
RIADIACA SKRÍŇKA
RIADIACA SKRÍŇKA
RIADIACA SKRÍŇKA
RIADIACA SKRÍŇKA
RIADIACA SKRÍŇKA

Ovládací box ramena je založený na Arduino Uno. Prijíma príkazy z rukavice bezdrôtovo prostredníctvom modulu nRF24 a ovláda rameno OWI Robotoc Arm pomocou 3 čipov ovládača L293D.

Pretože boli použité takmer všetky kolíky Uno, v krabici je veľa drôtov - sotva sa zatvára!

Podľa plánu sa box spustí v režime VYPNUTÉ (akoby sa stlačilo tlačidlo červeného zastavenia), čo dáva obsluhe čas na nasadenie rukavíc a prípravu. Akonáhle je operátor pripravený, stlačí zelené tlačidlo a malo by sa okamžite nadviazať spojenie medzi rukavicou a riadiacou skrinkou (ako ukazuje žltá LED na rukavici a červená LED na ovládacej skrinke).

PRIPOJENIE K OWI

Pripojenie k robotickému ramenu sa vykonáva pomocou 14 -pinového dvojradového konektora (podľa obrázku vyššie) pomocou 14 -žilového plochého kábla.

  • Pripojenia LED sú na spoločnú zem (-) a arduino pin A0 cez odpor 220 Ohm
  • Všetky vodiče motora sú pripojené k pinom L293D 3/6 alebo 11/14 (+/-). Každý L293D podporuje 2 motory, teda dva páry kolíkov.
  • Elektrické vedenie OWI je na ľavom (+6v) a pravom (GND) kolíku 7 -kolíkového konektora na zadnej strane žltého vrchu. (Na obrázku vyššie môžete vidieť zapojené vodiče). Tieto dva sú pripojené k pinom 8 (+) a 4, 5, 12, 13 (GND) na všetkých troch L293D.

V nasledujúcom kroku si pozrite ostatné priradenia pinov

Krok 6: PRIDELENIE PINU

PRIDELENIE PINU
PRIDELENIE PINU
PRIDELENIE PINU
PRIDELENIE PINU
PRIDELENIE PINU
PRIDELENIE PINU

NANO:

  • 3,3v - 3,3v až čip nRF24L01 (pin 2)
  • 5v - 5v na dosku akcelerometra, tlačidlá, flexibilný senzor
  • a0 - flexibilný odporový vstup
  • a1 - žlté ovládanie „comms“LED
  • a4 - SDA na akcelerometer
  • a5 - SCL na akcelerometer
  • d02 - kolík prerušenia čipu nRF24L01 (pin 8)
  • d03 - otvorený vstup tlačidla chápadla
  • d04 - vstup tlačidla chápadla zatvorte
  • d09 - SPI CSN pin na čip nRF24L01 (pin 4)
  • d10 - SPI CS pin na čip nRF24L01 (pin 3)
  • d11 - čip SPI MOSI na nRF24L01 (kolík 6)
  • d12 - čip SPI MISO na nRF24L01 (pin 7)
  • d13 - čip SPI SCK na nRF24L01 (kolík 5)
  • Vin - 9v +
  • GND - spoločný základ

UNO:

  • 3,3v - 3,3v až čip nRF24L01 (pin 2)
  • 5v - 5v na tlačidlá
  • Vin - 9v +
  • GND - spoločný základ
  • a0 - LED na zápästí +
  • a1 - SPI SS pin pre posuvný register Vyberte - pre pin 12 na posuvnom registri
  • a2 - ČERVENÉ tlačidlo
  • a3 - Vstup ZELENÉHO tlačidla
  • a4 - smerová základňa vpravo - kolík 15 na L293D
  • a5 - komunikácia viedla
  • d02 - nRF24L01 IRQ vstup (pin 8)
  • d03 - povoľte kolík 1 alebo 9 základného serva (pwm) na L293D
  • d04 - smerová základňa vľavo - kolík 10 na príslušnom L293D
  • d05 - povoľte kolíkový servo (pwm) kolík 1 alebo 9 na L293D
  • d06 - povoľte koleno servo (pwm) kolíka 1 alebo 9 na L293D
  • d07 - SPI CSN pin na čip nRF24L01 (pin 4)
  • d08 - SPI CS pin na čip nRF24L01 (pin 3)
  • d09 - povoľte kolík 1 alebo 9 servo zápästia (pwm) na L293D
  • d10 - aktivujte kolík 1 alebo 9 servopohonu (pwm) na L293D
  • d11 - čip SPI MOSI na nRF24L01 (kolík 6) a kolík 14 na posuvnom registri
  • d12 - čip SPI MISO na nRF24L01 (pin 7)
  • d13 - SPI SCK na čip nRF24L01 (kolík 5) a kolík 11 na posuvnom registri

REGISTRÁCIA PREVODU A L293Ds:

  • kolík QA (15) 74HC595 na kolík 2 L293D #1
  • kolík QB (1) 74HC595 na kolík 7 L293D #1
  • kolík QC (2) 74HC595 na kolík 10 L293D #1
  • kolík QD (3) 74HC595 na kolík 15 L293D #1
  • kolík QE (4) 74HC595 na kolík 2 L293D #2
  • kolík QF (5) 74HC595 na kolík 7 L293D #2
  • kolík QG (6) 74HC595 na kolík 10 L293D #2
  • kolík QH (7) 74HC595 na kolík 15 L293D #2

Krok 7: KOMUNIKÁCIA

KOMUNIKÁCIA
KOMUNIKÁCIA

Rukavica odosiela 2 bajty údajov do riadiacej skrinky 10 -krát za sekundu alebo vždy, keď je prijatý signál z jedného zo senzorov.

2 bajty stačia na 6 ovládacích prvkov, pretože potrebujeme odoslať iba:

  • ON/OFF pre LED (1 bit) - V skutočnosti som použil 2 bity, aby boli v súlade s motormi, ale jeden stačí
  • OFF/RIGHT/LEFT pre 5 motorov: 2 bit každý = 10 bitov

Celkom 11 alebo 12 bitov stačí.

Smerové kódy:

  • VYPNUTÉ: 00
  • SPRÁVNE: 01
  • VĽAVO: 10

Kontrolné slovo vyzerá takto (bitovo):

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

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

  • M1 - chápadlo
  • M2 - zápästie
  • M3 - lakeť
  • M4 - rameno
  • M5 - základňa

Bajt 1 by mohol byť pohodlne vedený priamo do posuvného registra, pretože ovláda pravý/ľavý smer motorov 1 až 4.

Pre komunikáciu je povolený časový limit 2 sekundy. Ak nastane časový limit, všetky motory sa zastavia, ako keby ste stlačili ČERVENÉ tlačidlo.

Krok 8: Náčrtky a ďalšie…

SKETCHES a ďalšie…
SKETCHES a ďalšie…

RUKAVICE

Náčrt rukavíc používa nasledujúce knižnice:

  • DirectIO - k dispozícii na Github
  • I2Cdev - k dispozícii na Github
  • Drôt - súčasť Arduino IDE
  • MPU6050 - k dispozícii na Github
  • SPI - súčasť Arduino IDE
  • RF24 - k dispozícii na Github

a tri mnou vyvinuté knižnice:

  • AvgFilter - k dispozícii na Github
  • DhpFilter - k dispozícii na Github
  • TaskScheduler - k dispozícii na Github

Náčrt rukavíc je k dispozícii tu: Glove Sketch v1.3

RIADIACA SKRÍŇKA

Náčrt ramena používa nasledujúce knižnice:

  • DirectIO - k dispozícii na Github
  • PinChangeInt - k dispozícii na Github
  • SPI - súčasť Arduino IDE
  • RF24 - k dispozícii na Github

a mnou vyvinutá knižnica:

TaskScheduler - k dispozícii na Github

Náčrt ramena je k dispozícii tu: Arm Sketch v1.3

Údajové listy pre použitý hardvér

  • Posuvný register 74HC595 - list s údajmi
  • Ovládač motora L293D - list s údajmi
  • Bezdrôtový modul nRF24 - list s údajmi
  • Modul akcelerometra/gyroskopu MPU6050 - list s údajmi

31. mája 2015 AKTUALIZÁCIA:

Nová verzia náčrtkov ovládacích boxov rukavíc a rúk je k dispozícii tu: Náčrtky rukavíc a paží v1.5

Nachádzajú sa tu aj na githube.

Zmeny

  • Do komunikačnej štruktúry boli pridané ďalšie dva bajty na odosielanie požadovaných otáčok motora pre zápästie, lakeť, rameno a základňu ako 5 -bitová hodnota (0.. 31) z rukavice úmerná uhlu ovládacieho gesta (pozri nižšie). Arm Control Box mapuje hodnoty [0.. 31] na príslušné hodnoty PWM pre každý z motorov. To umožňuje postupné ovládanie rýchlosti operátorom a presnejšie ovládanie ramena.
  • Nová sada gest:

1. LED: tlačidlá ovládajúce tlačidlá - stredné tlačidlo - ZAPNUTÉ, tlačidlo ružového prsta - VYPNUTÉ

2. ÚCHYTOVAČ: Flexibilný pásik ovláda chápadlo - napoly ohnutý prst - OTVORENÝ, úplne ohnutý prst - ZATVORIŤ

3. ZÁPAD: zápästie je ovládané nakláňaním dlane z úplne horizontálnej polohy HORE a DOLE, v uvedenom poradí. Väčší náklon produkuje väčšiu rýchlosť

4. ARM: Rameno je ovládané naklápaním dlane z úplne horizontálnej polohy VĽAVO a VPRAVO. Väčší náklon produkuje väčšiu rýchlosť

5. RAMENO: Rameno sa ovláda otáčaním dlane VPRAVO a VĽAVO z dlane smerujúcej nahor. Dlaň sa otáča pozdĺž osi lakťa (ako mávnutím ruky)

6. ZÁKLAD: Základňa sa ovláda rovnako ako rameno, dlaň smeruje rovno nadol.

Krok 9: ČO INÉ?

ČO EŠTE?
ČO EŠTE?

PREDSTAVBA V PRÁCI

Ako to už u takýchto systémov býva, mohli byť naprogramovaní tak, aby robili oveľa viac.

Napríklad súčasný dizajn už obsahuje ďalšie schopnosti, ktoré nie sú možné pomocou štandardného diaľkového ovládača:

  • Postupné zvyšovanie rýchlosti: každý pohyb motora je zahájený vopred definovanou minimálnou rýchlosťou, ktorá sa zvyšuje postupne každú 1 sekundu, kým sa nedosiahne maximálna rýchlosť. To umožňuje presnejšie ovládanie každého z motorov (najmä zápästia a chápadla)
  • Rýchlejšie zrušenie pohybu: keď Arm Box prijme príkaz na zastavenie motora, na okamih obráti motor na približne 50 ms, čím „rozbije“pohyb a umožní presnejšie ovládanie.

ČO EŠTE?

Možno by bolo možné implementovať prepracovanejšie gestá ovládania. Na simultánne ovládanie je možné použiť aj simultánne gestá. Môže paže tancovať?

Ak máte nápad, ako rukavicu preprogramovať, alebo máte verziu náčrtu, ktorý by som chcel otestovať - dajte mi prosím vedieť: [email protected]

Krok 10: *** VYHrali sme !!! ***

*** SME VYHRALI !!! ***
*** SME VYHRALI !!! ***

Tento projekt získal prvú cenu v súťaži Coded Creations sponzorovanej spoločnosťou Microsoft.

Skontrolovať to! WOO-HOO !!!

Kódované výtvory
Kódované výtvory
Kódované výtvory
Kódované výtvory

Druhá cena za kódované výtvory

Odporúča: