Obsah:
- Krok 1: Díly
- Krok 2: PROTOTYPING
- Krok 3: RUKAVICE
- Krok 4: BOX VYSÍLAČE
- Krok 5: OVLÁDACÍ BOX ARM
- Krok 6: PŘIŘAZENÍ PIN
- Krok 7: KOMUNIKACE
- Krok 8: SKETCHES a další…
- Krok 9: CO JINÉ?
- Krok 10: *** VYHRÁLI JSME !!! ***
Video: Mávnutím ruky ovládáte robotickou paži OWI žádné struny: 10 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
IDEA:
Na Instructables.com (k 13. květnu 2015) existují nejméně 4 další projekty týkající se úpravy nebo ovládání OWI Robotic Arm. Není divu, protože je to tak skvělá a levná robotická stavebnice, se kterou si můžete hrát. Tento projekt je v duchu podobný (tj. Ovládejte Robotic Arm pomocí Arduina), ale liší se v přístupu. [video]
Smyslem je mít možnost ovládat robotické rameno bezdrátově pomocí gest. Také jsem se pokusil omezit úpravy Robotické paže na minimum, takže je stále možné použít s původním ovladačem.
Zní to jednoduše.
Nakonec to byl třídílný projekt:
- Rukavice s dostatkem senzorů pro ovládání LED a 5 motorů
- Vysílací zařízení na bázi Arduino Nano, které přijímá řídicí příkazy z rukavice a bezdrátově je odesílá do řídicí jednotky Arm
- Bezdrátový přijímač a ovládání motoru na bázi Arduino Uno připojené k robotickému ramenu OWI
FUNKCE
- Podpora všech 5 stupňů volnosti (DOF) a LED
- Velké červené tlačítko - k okamžitému zastavení motorů na paži, aby se zabránilo poškození
- Přenosný modulární design
Pro mobilní uživatele: „Propagační video“tohoto projektu je na YouTube zde.
Krok 1: Díly
RUKAVICE:
K sestavení ovladače rukavic budete potřebovat následující:
- Střižené rukavice Isotoner Smartouch Tech Stretch (nebo podobné) - na Amazon.com
- Spectra Symboflex Sensor 2,2 " - na Amazon.com
- 3osý gyroskop GY -521 6DOF MPU6050 + modul akcelerometru - na Fasttech.com
- 2X5 BOX HEADER ROVNĚ - na Phoenixent.com
- 2X5 IDC SOCKET -RECEPTACLE - na Phoenixent.com
- FLAT RIBBON CABLE 10 Dirigent.050 "Pitch - na Phoenixent.com
- 2 x 5mm LED - zelená a žlutá
- 2 x malá tlačítka
- Rezistory, dráty, jehla, černá nit, lepicí pistole, pájecí pistole, pájka atd.
PŘEVODOVÝ BOX:
- Deska 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
- Pouzdro na 9V držák baterie s vypínačem ON/OFF - na Amazon.com
- 2X5 BOX HEADER ROVNĚ - na Phoenixent.com
- 9v baterie
- 47uF (50v) kondenzátor
- Rezistory, dráty, lepicí pistole, pájecí pistole, pájka atd.
OWI ROBOTIC ARM CONTROLLER BOX:
- Vývojová deska kompatibilní s Arduino Uno R3 Rev3 - na Fasttech.com
- SADA DIY PROTIPY Shield pro Arduino (nebo podobné) - na Amazon.com
- Bezdrátový transceiver nRF24L01+ 2,4 GHz kompatibilní s Arduino - na Amazon.com
- 3 x 16kolíkový ovladač motoru IC integrovaného obvodu L293D - na Fasttech.com
- 1 x 8-bitový posuvný registr SN74HC595 74HC595 s 3stavovými výstupními registry DIP16-na Amazon.com
- 47uF (50v) kondenzátor
- Box pro Arduino - na Amazon.com
- Vypínač
- 2 x 13 mm tlačítka (jedno červené a jedno zelené víčko)
- 2 x 2X7 BOX HEADER ROVNĚ - stejné jako výše na Phoenixent.com
- FLAT RIBBON CABLE 14 Dirigent.050 "Rozteč - stejné jako výše na Phoenixent.com
- 9v baterie + připínací konektor
- Rezistory, dráty, lepicí pistole, pájecí pistole, pájka atd.
… a samozřejmě:
OWI Robotic Arm Edge - Robotické rameno - OWI -535 - na Adafruit.com
Krok 2: PROTOTYPING
Důrazně navrhuji prototypování každého z kontrolních zařízení před pájením všech komponent dohromady.
Tento projekt využívá několik náročných částí hardwaru:
nRF24L01
Chvíli mi trvalo, než si dva nRF24 promluvili. Zdá se, že ani Nano, ani Uno neposkytují dostatek stabilizovaného výkonu 3,3 V, aby moduly mohly fungovat konzistentně. Řešením v mém případě byl kondenzátor 47uF přes napájecí piny na obou modulech nRF24. Existuje také několik zvláštností s využitím knihovny RF24 v režimech IRQ a non-IRQ, takže doporučuji příklady pečlivě prostudovat.
Pár skvělých zdrojů:
nRF24L01 Produktová stránka RF vysílače s ultra nízkým výkonem 2,4 GHz
Stránka knihovny ovladačů RF24
Pouhé googlování nRF24 + arduino vytvoří spoustu odkazů. Stojí za to prozkoumat
REGISTRACE ŘAZENÍ 74HC595
Není divu, že jsem musel poměrně rychle ovládat 5 motorů, LED, dvě tlačítka a bezdrátový modul. Dobře známým způsobem, jak „rozšířit“počet pinů, je použít posuvný registr. Protože nRF24 již používal rozhraní SPI, rozhodl jsem se použít SPI i pro programování posuvných registrů (pro rychlost a pro uložení pinů) místo funkce shifttout (). K mému překvapení to fungovalo jako kouzlo od prvního okamžiku. Můžete si to ověřit v přiřazení pinů a ve skicách.
Breadboard a propojovací vodiče jsou vaši přátelé.
Krok 3: RUKAVICE
OWI Robotic ARM má 6 položek k ovládání (obrázek OWI Robotic Arm Edge)
- LED dioda umístěná na GRIPPERU zařízení
- STROPNÍK
- ZÁPĚSTÍ
- KOLO - je část robotické paže připevněná k ZÁPĚSTI
- SHOULDER je část robotické paže připevněná k BASE
- ZÁKLAD
Rukavice je určena k ovládání LED diod Robotic Arm a všech 5 motorů (stupně volnosti).
Na obrázcích mám vyznačené jednotlivé senzory a také popis níže:
- GRIPPER se ovládá tlačítky umístěnými na prostředníčku a malíčku. Uchopovač se zavírá stlačením ukazováčku a prostředníčku k sobě. Gripper se otevírá stisknutím prstence a malíčku k sobě.
- WRIST je řízen flexibilním odporem na indexovém vyhledávači. Skrčení prstu do poloviny způsobí, že zápěstí půjde dolů, a po úplném zkroucení se zápěstí zvedne. Udržování ukazováčku rovně zastaví zápěstí.
- ELBOW se ovládá akcelerometrem - nakláněním dlaně nahoru a dolů se loket pohybuje nahoru a dolů
- SHOULDER se ovládá akcelerometrem - naklápěcí dlaň doprava a doleva (ne však vzhůru nohama!) Pohybuje ramenem nahoru a dolů
- BASE se ovládá také akcelerometrem, podobně jako dlaň naklánějící rameno doprava a doleva úplně vzhůru nohama (dlaň nahoru) pohybuje základnou doprava a doleva
- LED na chapadle se zapíná/vypíná stisknutím obou ovládacích tlačítek chapadla k sobě.
Všechny reakce na tlačítka jsou zpožděny o 1/4 sekundy, aby nedocházelo k chvění.
Sestavení rukavice vyžaduje určité pájení a hodně šití. V zásadě jde jen o připevnění 2 tlačítek, flexibilního rezistoru, modulu Accel/Gyro k tkanině rukavice a vedení vodičů do konektorové skříňky.
Dvě LED diody na připojovací krabici jsou:
- ZELENÁ - zapnutí
- ŽLUTÁ - bliká, když jsou data přenášena do ovládací skříňky ramene.
Krok 4: BOX VYSÍLAČE
Krabice vysílače je v podstatě Arduino Nano, bezdrátový modul nRF24, flexibilní drátový konektor a 3 odpory: 2 výsuvné 10 kOhm odpory pro ovládací tlačítka chapadla na rukavici a odpor s dělením napětí 20 kOhm pro ohebný senzor ovládající zápěstí.
Vše je pájeno dohromady na vero-desce. Všimněte si, že nRF24 „visí“nad Nano. Bál jsem se, že by to mohlo způsobit rušení, ale funguje to.
Použití 9v baterie dělá část na popruhu trochu objemnou, ale nechtěl jsem se s bateriemi LiPo potýkat. Možná později.
Pokyny k pájení najdete v kroku přiřazení pinů
Krok 5: OVLÁDACÍ BOX ARM
Ovládací box Arm je založen na Arduino Uno. Přijímá příkazy z rukavice bezdrátově prostřednictvím modulu nRF24 a ovládá rameno OWI Robotoc Arm pomocí 3 čipů ovladače L293D.
Vzhledem k tomu, že byly použity téměř všechny kolíky Uno, je v krabici spousta drátů - sotva se zavírá!
Podle návrhu se box spustí v režimu VYPNUTO (jako by bylo stisknuto tlačítko redstop), což obsluze poskytne čas na nasazení rukavice a přípravu. Jakmile je operátor připraven, stiskne zelené tlačítko a spojení mezi rukavicí a ovládací skříňkou by mělo být okamžitě navázáno (jak ukazuje žlutá LED na rukavici a červená LED na ovládací skříňce).
PŘIPOJENÍ K OWI
Připojení k robotickému ramenu se provádí pomocí 14kolíkového dvouřadého konektoru (podle obrázku výše) pomocí 14vodičového plochého kabelu.
- Připojení LED je na společnou zem (-) a arduino pin A0 přes odpor 220 Ohm
- Všechny vodiče motoru jsou připojeny k pinům L293D 3/6 nebo 11/14 (+/-). Každý L293D podporuje 2 motory, tedy dva páry kolíků.
- Napájecí vedení OWI jsou kolíky zcela vlevo (+6v) a nejvíce vpravo (GND) na 7pólovém konektoru na zadní straně žlutého vrcholu. (Na obrázku výše můžete vidět zapojené vodiče). Tyto dva jsou připojeny k pinům 8 (+) a 4, 5, 12, 13 (GND) na všech třech L293D.
V dalším kroku se podívejte na zbývající přiřazení pinů
Krok 6: PŘIŘAZENÍ PIN
NANO:
- 3.3v - 3.3v až nRF24L01 čip (pin 2)
- 5v - 5v na desku akcelerometru, tlačítka, flexibilní senzor
- a0 - flexibilní odporový vstup
- a1 - žluté LED „komunikační“ovládání
- a4 - SDA na akcelerometr
- a5 - SCL na akcelerometr
- d02 - pin přerušení čipu nRF24L01 (pin 8)
- d03 - vstup vstupu chapadla
- d04 - vstup tlačítka zavření chapadla
- d09 - SPI CSN pin to nRF24L01 chip (pin 4)
- d10 - SPI CS pin na čip nRF24L01 (pin 3)
- d11 - SPI MOSI na čip nRF24L01 (pin 6)
- d12 - SPI MISO na čip nRF24L01 (pin 7)
- d13 - SPI SCK na čip nRF24L01 (pin 5)
- Vin - 9v +
- GND - společný základ
UNO:
- 3.3v - 3.3v až nRF24L01 čip (pin 2)
- 5v - 5v na tlačítka
- Vin - 9v +
- GND - společný základ
- a0 - LED na zápěstí +
- a1 - SPI SS pin pro Shift Register Vyberte - pro pin 12 na Shift Register
- a2 - ČERVENÉ tlačítko
- a3 - ZELENÉ tlačítko
- a4 - směr základny vpravo - kolík 15 na L293D
- a5 - komunikační LED
- d02 - nRF24L01 IRQ vstup (pin 8)
- d03 - povolte pin 1 nebo 9 základního serva (pwm) na L293D
- d04 - směrová základna vlevo - kolík 10 na příslušném L293D
- d05 - povolte pin 1 nebo 9 ramenního serva (pwm) na L293D
- d06 - povolte koleno servo (pwm) pin 1 nebo 9 na L293D
- d07 - SPI CSN pin to nRF24L01 chip (pin 4)
- d08 - SPI CS pin na čip nRF24L01 (pin 3)
- d09 - povolte pin 1 nebo 9 na L293D na servo zápěstí (pwm)
- d10 - povolte pin 1 nebo 9 serva chapadla (PWM) na L293D
- d11 - SPI MOSI na čip nRF24L01 (pin 6) a pin 14 na posuvném registru
- d12 - SPI MISO na čip nRF24L01 (pin 7)
- d13 - SPI SCK na čip nRF24L01 (pin 5) a pin 11 na posuvném registru
SHIFT REGISTER A L293Ds:
- pin QA (15) 74HC595 na pin 2 L293D #1
- pin QB (1) 74HC595 na pin 7 L293D #1
- pin QC (2) 74HC595 na pin 10 L293D #1
- pin QD (3) 74HC595 na pin 15 L293D #1
- pin QE (4) 74HC595 na pin 2 L293D #2
- pin QF (5) 74HC595 na pin 7 L293D #2
- pin QG (6) 74HC595 na pin 10 L293D #2
- pin QH (7) 74HC595 na pin 15 L293D #2
Krok 7: KOMUNIKACE
Rukavice posílá 2 bajty dat do řídicího boxu 10krát za sekundu nebo kdykoli je přijat signál z jednoho ze senzorů.
2 bajty jsou dostačující pro 6 ovládacích prvků, protože potřebujeme odeslat pouze:
- ON/OFF pro LED (1 bit) - ve skutečnosti jsem použil 2 bity, aby byly v souladu s motory, ale jeden stačí
- VYPNUTO/DOPRAVA/VLEVO pro 5 motorů: každý 2 bity = 10 bitů
Celkem 11 nebo 12 bitů je dostačující.
Směrové kódy:
- VYPNUTO: 00
- PRÁVO: 01
- VLEVO: 10
Kontrolní slovo vypadá takto (bitově):
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 - chapadlo
- M2 - zápěstí
- M3 - loket
- M4 - rameno
- M5 - základna
Bajt 1 by mohl být pohodlně veden přímo do posuvného registru, protože ovládá pravý/levý směr motorů 1 až 4.
Pro komunikaci je povolen časový limit 2 sekundy. Pokud dojde k vypršení časového limitu, všechny motory se zastaví, jako by bylo stisknuto ČERVENÉ tlačítko.
Krok 8: SKETCHES a další…
RUKAVICE
Náčrt rukavice používá následující knihovny:
- DirectIO - k dispozici na Githubu
- I2Cdev - k dispozici na Githubu
- Drát - součást Arduino IDE
- MPU6050 - k dispozici na Github
- SPI - součást Arduino IDE
- RF24 - k dispozici na Github
a tři mnou vyvinuté knihovny:
- AvgFilter - k dispozici na Githubu
- DhpFilter - k dispozici na Githubu
- TaskScheduler - k dispozici na Githubu
Skica rukavice je k dispozici zde: Glove Sketch v1.3
OVLÁDACÍ BOX ARM
Skica paže používá následující knihovny:
- DirectIO - k dispozici na Githubu
- PinChangeInt - k dispozici na Github
- SPI - součást Arduino IDE
- RF24 - k dispozici na Github
a mnou vyvinutá knihovna:
TaskScheduler - k dispozici na Githubu
Náčrt paže je k dispozici zde: Arm Sketch v1.3
Datové listy pro použitý hardware
- Posuvný registr 74HC595 - datový list
- Ovladač motoru L293D - list
- Bezdrátový modul nRF24 - datový list
- Akcelerometr/gyroskopický modul MPU6050 - datový list
31. května 2015 AKTUALIZACE:
Zde je k dispozici nová verze náčrtků ovládacích boxů rukavic a paží: Rukavice a náčrty paží v1.5
Zde se také nacházejí na githubu.
Změny
- Do komunikační struktury byly přidány další dva bajty pro odeslání požadované rychlosti motoru pro motory zápěstí, loktů, ramen a základny jako 5bitová hodnota (0.. 31) z rukavice úměrná úhlu ovládacího gesta (viz níže). Arm Control Box mapuje hodnoty [0.. 31] na příslušné hodnoty PWM pro každý z motorů. To umožňuje postupné ovládání rychlosti obsluhou a přesnější ovládání paží.
- Nová sada gest:
1. LED: LED dioda ovládající tlačítka - tlačítko prostředního prstu - ZAPNUTO, tlačítko prstu růžičky - VYPNUTO
2. GRIPPER: Flexibilní páskové ovládání Gripper - napůl ohnutý prst - OPEN, plně ohnutý prst - CLOSE
3. ZÁPĚSTÍ: Zápěstí se ovládá nakloněním dlaně z plně horizontální polohy NAHORU a DOLŮ. Větší náklon produkuje vyšší rychlost
4. ARM: Paže je ovládána naklápěcí dlaní z plně horizontální polohy VLEVO a VPRAVO. Větší náklon produkuje vyšší rychlost
5. Rameno: Rameno je ovládáno otáčením dlaně VPRAVO a VLEVO z dlaně směřující přímo nahoru. Dlaň se otáčí podél loketní osy (stejně jako mává rukou)
6. ZÁKLAD: Základna se ovládá stejným způsobem jako rameno s dlaní směřující rovně dolů.
Krok 9: CO JINÉ?
PŘEDSTAVENÍ V PRÁCI
Jak už to u takových systémů bývá, mohly být naprogramovány tak, aby dokázaly mnohem více.
Například současný design již obsahuje další schopnosti, které standardní dálkové ovládání není možné:
- Postupné zvyšování rychlosti: každý pohyb motoru je zahájen předem definovanou minimální rychlostí, která se postupně zvyšuje každou 1 sekundu, dokud není dosaženo maximální rychlosti. To umožňuje přesnější ovládání každého z motorů (zejména zápěstí a chapadla)
- Rychlejší zrušení pohybu: když Arm Box přijme příkaz k zastavení motoru, na okamžik obrátí motor na přibližně 50 ms, čímž „rozbije“pohyb a umožní přesnější ovládání.
CO JINÉHO?
Možná by mohla být implementována propracovanější gesta ovládání. Nebo lze pro propracované ovládání použít simultánní gesta. Může paže tančit?
Pokud máte nápad, jak rukavici přeprogramovat, nebo máte verzi skici, kterou chcete otestovat - dejte mi prosím vědět: [email protected]
Krok 10: *** VYHRÁLI JSME !!! ***
Tento projekt získal první cenu v soutěži Coded Creations sponzorované společností Microsoft.
Koukni na to! WOO-HOO !!!
Druhá cena v kódovaných výtvorech
Doporučuje:
Žádné Makey Makey? Žádné problémy ! Jak si vyrobit make -up doma?: 3 kroky
Žádné Makey Makey? Žádné problémy ! Jak si vyrobit make -up Makey doma !: Chtěli jste se někdy zúčastnit soutěže Makey Makey na Instructables, ale nikdy jste Makey Makey Makey neměli?! NYNÍ můžete! V následujícím průvodci vám chci ukázat, jak si vytvořit vlastní Makey Makey pomocí několika jednoduchých komponent, které můžete
Jak si vyrobit robotickou paži doma: 8 kroků
Jak si vyrobit robotické rameno doma: V tomto návodu jsem vám ukázal, jak jsem toto robotické rameno vyrobil a jak jsem toto rameno ovládal pomocí smartphonu
Jak si vytvořit skvělou robotickou ruku: 7 kroků (s obrázky)
Jak si vyrobit skvělou robotickou ruku: LeArm je vysoce výkonné programovatelné robotické rameno. Může se pohybovat velmi flexibilně a chytit se v různých směrech. Díky celokovové konstrukci těla je robotické rameno stabilní a krásné! Nyní představujeme jeho montáž. Můžete mu tedy dát
Ovládáte svůj Esp6266 z internetu? Zdarma a snadno: 7 kroků
Ovládáte svůj Esp6266 z internetu? Zdarma a snadno: Kolikrát jsme nehledali jednoduchý způsob komunikace s našimi zařízeními přes internet bez komplikací a / nebo složitých zprostředkovatelských aplikací, DNS, IP adres nebo VPN. Mnohokrát jsem byl dotázán, jak zapnout vedl, r
Postavte mluvící robotickou hlavu poháněnou Arduinem!: 26 kroků (s obrázky)
Postavte mluvící robotickou hlavu s pohonem Arduino !: Tato robotická hlava byla původně postavena jako projekt na konci roku pro moji fyzickou výpočetní třídu, ale přes léto se " naučila " jak mluvit. Hlavu pohánějí dva Freeduinos, 3 čipy TLC5940NT a Adafruit Industries