Obsah:
- Krok 1: Diely
- Krok 2: PROTOTYPING
- Krok 3: RUKAVICE
- Krok 4: BOX VYSIEVAČA
- Krok 5: OVLÁDACÍ PRVOK ARMY
- Krok 6: PRIDELENIE PINU
- Krok 7: KOMUNIKÁCIA
- Krok 8: Náčrtky a ďalšie…
- Krok 9: ČO INÉ?
- Krok 10: *** VYHrali sme !!! ***
Video: Mávnite rukou na ovládanie robotickej ruky OWI Žiadne struny: 10 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:58
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:
- Rukavica vybavená dostatkom senzorov na ovládanie LED a 5 motorov
- 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
- Bezdrôtový prijímač a ovládanie motora na báze Arduino Uno pripevnené k robotickému ramenu OWI
VLASTNOSTI
- Podpora všetkých 5 stupňov slobody (DOF) a LED diódy
- Veľké červené tlačidlo - na okamžité zastavenie motorov na ramene, aby sa zabránilo poškodeniu
- 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é:
- Strečové šité rukavice Isotoner Smartouch Tech (alebo podobné) - na Amazon.com
- Spectra Symboflex Sensor 2,2 " - na Amazon.com
- 3 osový gyroskop GY -521 6DOF MPU6050 + modul akcelerometra - na Fasttech.com
- HEADER 2X5 BOX PRIAMO - na Phoenixent.com
- 2X5 IDC SOCKET -RECEPTACLE - na Phoenixent.com
- PLOCHÝ STUHOVÝ KÁBEL 10 Vodič, 050 "rozstup - na Phoenixent.com
- 2 x 5 mm LED - zelená a žltá
- 2 x malé tlačidlá
- Rezistory, drôty, ihla, čierna niť, lepiaca pištoľ, spájkovacia pištoľ, spájka atď.
PREVODOVKA STRAP-ON BOX:
- Doska kompatibilná s Arduino Nano v3.0 ATmega328P -20AU - na Fasttech.com
- Bezdrôtový transceiver nRF24L01+ 2,4 GHz kompatibilný s Arduino - na Amazon.com
- Gymboss WRISTBAND - na Amazon.com
- Puzdro na 9V držiak na batériu s vypínačom ON/OFF s káblovým vedením - na Amazon.com
- HLAVOVÁ HLAVICE 2X5 PRIAMO - na Phoenixent.com
- 9v batéria
- Kondenzátor 47uF (50v)
- Rezistory, drôty, lepiaca pištoľ, spájkovacia pištoľ, spájka atď.
OWI ROBOTIC ARM CONTROLLER BOX:
- Vývojová doska kompatibilná s Arduino Uno R3 Rev3 - na Fasttech.com
- SADA DIY SÚPRAVY Prototype Shield pre Arduino (alebo podobné) - na Amazon.com
- Bezdrôtový transceiver nRF24L01+ 2,4 GHz kompatibilný s Arduino - na Amazon.com
- 3 x 16 -kolíkový ovládač motora IC integrovaného obvodu L293D - na Fasttech.com
- 1 x 8-bitový posuvný register SN74HC595 74HC595 s 3-stavovými výstupnými registrami DIP16-na Amazon.com
- Kondenzátor 47uF (50v)
- Box pre Arduino - na Amazon.com
- Vypínač
- 2 x 13 mm tlačidlá (jedno červené a jedno zelené písmeno)
- 2 x 2X7 BOX HEADER ROVNÝ - rovnaké ako vyššie na Phoenixent.com
- PLOCHÝ STUHOVÝ KÁBEL 14 Vodič, 050 "rozteč - rovnaké ako vyššie na Phoenixent.com
- 9v batéria + pripínací konektor
- 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
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
OWI Robotic ARM má 6 položiek na ovládanie (obrázok OWI Robotic Arm Edge)
- LED dióda umiestnená na GRIPPERI zariadenia
- CHRÍPKA
- ZÁPADOK
- KOLENO - je časť robotického ramena pripevneného k ZÁPADKU
- RAMENO je časť robotického ramena pripevneného k ZÁKLADNE
- 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:
- 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.
- 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.
- ELBOW sa ovláda akcelerometrom - nakláňanie dlane nahor a nadol pohybuje lakťom nahor a nadol
- Rameno sa ovláda akcelerometrom - nakláňanie dlane doprava a doľava (nie však hore dnom!) Pohybuje ramenom hore a dole
- 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
- 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ú:
- ZELENÁ - zapnutie
- ŽLTÉ - bliká, keď sa údaje prenášajú do ovládacieho boxu ramena.
Krok 4: BOX VYSIEVAČA
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
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
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
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…
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É?
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 !!! ***
Tento projekt získal prvú cenu v súťaži Coded Creations sponzorovanej spoločnosťou Microsoft.
Skontrolovať to! WOO-HOO !!!
Druhá cena za kódované výtvory
Odporúča:
Jednoduché ovládanie gestami - ovládajte svoje RC hračky pohybom ruky: 4 kroky (s obrázkami)
Jednoduché ovládanie gestami - Ovládajte svoje RC hračky pohybom ruky: Vitajte v mojom „ible“#45. Pred chvíľou som vyrobil plne funkčnú RC verziu BB8 pomocou dielov Lego Star Wars … https://www.instructables.com/id/Whats-Inside-My-R…Keď som videl, aké je to cool Force Band od Sphero, som si pomyslel: „Ok, ja
Ruka robotickej peny: 7 krokov
Robotická penová ruka: Takto si vyrobíte domácu robotickú ruku pomocou peny. Tento projekt bol vytvorený pre humanoidov 16-264, a to vďaka profesorovi Chrisovi Atkesonovi a TA Jonathanovi Kingovi
Žiadne Makey Makey? Žiadne problémy ! Ako si vyrobiť makeyy doma?: 3 kroky
Žiadne Makey Makey? Žiadne problémy ! Ako si vyrobiť makeyy doma ?: Už ste sa niekedy chceli zúčastniť súťaže Makey Makey o pokynoch, ale nikdy ste Makey Makey Makey nemali?! TERAZ môžete! V nasledujúcej príručke vám chcem ukázať, ako si vytvoriť vlastnú Makey Makey pomocou niekoľkých jednoduchých komponentov, ktoré môžete
Vlastné ovládanie Adafruit Feather NRF52, nevyžaduje sa žiadne kódovanie: 8 krokov (s obrázkami)
Adafruit Feather NRF52 Vlastné ovládacie prvky, nie je potrebné žiadne kódovanie: Aktualizácia 23. apríla 2019 - Grafy dátumu/času používajúce iba Arduino millis () nájdete v Arduino vykresľovaní dátumu/času/protokolovaní pomocou Millis () a PfodApp Najnovšie generované pfodDesigner V3.0.3610+ generované Kompletné skice Arduino na vykreslenie údajov podľa dátumu/času u
Dodatočne namontovať ovládanie BLE na vysokú záťaž - nie je potrebné žiadne ďalšie zapojenie: 10 krokov (s obrázkami)
Dodatočne namontovať ovládanie BLE na vysokovýkonné záťaže - nie je potrebné žiadne ďalšie zapojenie: Aktualizácia: 13. júla 2018 - k napájaniu toroidmi bol pridaný 3 -koncový regulátor. Tento návod pokrýva ovládanie BLE (Bluetooth Low Energy) existujúceho zaťaženia v rozsahu 10 W až> 1000 W. Napájanie sa dá diaľkovo prepínať z vášho Android Mobile cez pfodApp. Nie