S Vaškem vám ukážeme, jak jsme v dtlabu oživovali nejnovější verzi ROBOTboard (v.2-2018/09 – aktuálně kompatibilní v.5-2019/08, má postupně jen drobná vylepšení a doplňování popisek)
Deska je k mání na několika místech.
Plošný spoj je navržen přednostně pro realizaci jednoduchého robotického vozítka. Kromě dvou DC motorků může ovládat i dva malé přesné krokové motory a tři serva. Ale ukázalo se, že velmi dobře slouží jako univerzální rozhraní pro ESP32 k celé řadě dalších projektů. Zatím testujeme možnost osadit si jí podle potřeby – proto jsou součástky „větší“ (integrované obvody v DILu) – ale předpokládme, že v případě zájmu nabídneme i variantu už osazenou, to pak přejdeme na SMD.
► Schematický náčrt základního zapojení „mechatronických“ prvků/motorů: [IMG R1] ►
[IMG R2] ►
Pro první otestování postačí osadit pouze dva konektory pro ESP32 (1×15) a hřebeny (1×3) podle zkoušeného programu. Konektory pro MOTOR1/2 (2x černo-červené dráty / bílé konektory) jsou jen variantou, lze osadit i (modré) svorkovnice, jako na obr. [R5] – zapojeno podle [RS3]
Začínáme:
Blikání vestavěnou LED, blikání RGB jedné WS, osmice nebo celého LED pásku…)
Tím si ověříte základní dovednosti a funkčnost programátoru…
Instalce systému Micropython a octopus():
https://www.octopuslab.cz/micropython-octopus/
Programy máme k dispozici na githubu – jako open source ve verzích pro:
► Arduino-C
► Micropython
► Blockly – Micropython – připravujeme
Obrázek zdrojová část: [IMG R3] ►
Pro práci s motory je nezbytné používat externí zdroj (doporučujeme a sami používáme dva LiOn akumulátory 4,2 v sérii – dávají napětí kolem osmi voltů – na obrázku [R1] i [R3] oranžově 7-9V)
Na obrázku [R3] je osazená zdrojová část – s měřícími body. Zapojení je podle [RS1]
LiOn akumulátory jsou citlivé na podbití (pokud se vybijí pod tři volty, hrozí jim znehodnocení)
Proto využíváme možnost analogového vstupu ESP32 na pinu I36 (na obrázku [R1] i [R3] červeně) a programově ošetříme, například aby se s vybitými baterkami už nespouštěly motory – a zajistíme signalizaci „nabít!“.
Od verze 5 vkládáme za vstupní konektor ještě diodu, která má dvě funkce, snižuje nám napětí o cca 0,7V pro motory příjemnější a slouží také jako ochrana proti přepólování vstupního zdroje.
Základní zdrojová část schematu zapojení je na obrázku [SCH RS1] ►
Na desce jsou připravena místa pro osazení dvou vstupních svorkovnic. Vlevo je VIN (8-12) a napravo +5V/GND.
VIN se dá vypínat miniaturním přepínačem (S1), nebo pomocí Jumperu nastavit {5V}/“nic“/Vin (na stejné pozici na místo „S1“), případně propojit vodičem natrvalo (záleží na projektu a požadovaném výkonovém napětí)
{Hack HR1} spočívá ve vynechání celé zdrojové části se stabilizátorem (modře tečkovaně) a propojení Vin s 5V (modře čárkovaně) celý systém pojede pouze na 5V (pro serva a krokové motory ideální) ale DC motorky pojedou na „symbolický“ výkon – roztočí se, na testy dostačující – ale pro pohyb robotického vozítka asi nepoužitelné.
Zdrojová část se stabilizátorem (předpokládáme externí napájení 8-12V, 5V slouží hlavně pro ESP) pro větší proudy se hodí více miniaturní spinaný zdroj. Pro napájení z akumulátorů pro dlouhodobější provoz to také doporučujeme.
Stabilizátor 7805 – pro řídící elektroniku (při externím výkonovém napájení jiném, než 5V)
Hodnoty dalších součástek nejsou kritické:
C1: kondenzátor – elektrolyt 10-100uF/30V
C2: kondenzátor – elektrolyt 50-100uF/16V
C3: kondenzátor – miniaturní keramický 100nF
R1: miniaturní 0,25W – cca 1k
LED: signalizační LED dioda („libovolná“)
VINMES – měřící napětí z odporového děliče realizovaného trimrem (spojeno s I36 na ESP32).
* Verze 3 (svorkovnice variantně možno nahradit konektorem, napájení ULN je default 5V)
– Součástky, ulázka propojení (drátek, jumper, miniaturní spínač), osazení a funkčnost. ►
[IMG R4] ►
Odporový dělič (na obr. [R1] mezi uzly oranžová-červená) nám sníží vstupních 7-12V na bezpečnou úroveň (na obrázku [R4] vlevo), zvolili jsme jednu desetinu > pokud je na vstupu 7V, modrý trimr je potřeba „natočit“ na 0,7V – na obrázku [R4] vpravo vidíte 0,7V – i měřící body.
7V na vstupu zdroje – oranžová
0,7V na vstupu do pinu I36 – červená
zeleně je označen „jumper“ nebo místo pro osazení miniaturního vypínače, dá se i trvale propojit drátkem
[IMG R5] ►
Na tomto obrázku jsou všechny integrované obvody – bez zdrojové části.
Pro motory jsou použity svorkovnice (na rozdíl od konektorů z obrázku [R2])
Všechny součástky není nutné osazovat – záleží na projektu, který na desce realizujete.
► řadič H-můstek L293D – pro dva stejnosměrné motorky (5-9V)
► expandér PCF8574 – 8bit / možno vstupně výstupní, používáme pro >
► budič sběrnice ULN2803 – pro dva krokové motory
► 3 pin konektory pro napojení 3x PWM pro tři serva – nebo vstupní čidla
► 3 pin konektory – 3x one wire – pro teploměr Dallas / WS RGB LED / …
► 2x7pin konektor – zprava plný octoBUS (napájení/I2c/SPI/D0-D4)
/5pin konektor – zleva I2C a SPI displej (MAX7219)
Propojení PCF8574 s ULN2803 [SCH RS2] ►
[IMG R6] ►
I2C expander (obcod PCF) potřebuje nastavit adresu, pod kterým ho na I2C sběrnici uvidíme.
Nastavují se tři adresovací piny: A0, A1, A2:
A0 > +5V (1) | A2 > GND (0)
Takže podle schématu [RS2] máme dvě varianty:
A1 > 1 … 0x23 – je vidět na obrázku [R6] vpravo – cínová kapka „nahoře“, střed spojen s „1“
A1 > 0… 0x21 – varianta, pro případnou potřebu ovládat 4 krokové motorky najednou, při propojení do „0“ by druhá dvojice by měla jinou adresu.
ULN2003 je výkonový budič sběrnice: https://en.wikipedia.org/wiki/ULN2003A
A ještě připojení stejnosměrných motorků [SCH RS3] ►
L293D – základní zapojení:
(na starších deskách verze 1, 2 a 3 bylo značení MOTOR1 a MOTOR2,
od verze 4 popisujeme MOTOR_A a MOTOR_B, prý se pletlo s číslováním)
Ukázka přechodu na konektory (bílé) od svorkovnic (modré) ►
(Na deskách ponecháme variantní osazení obou možností)
Vybrané projekty
… | ||||
ESP32 – základy – zdroje na githubu WS/Hall/Capacit.button… |
T3 | L3 | … | |
ESP32 – robot 2 DC motory Octopus R01 obrázek [R9]Octopus R02 + inkrement. a více čidel / IR / BT Octopus R03 + RPi kamera + BT/ Wifi |
T3 | L3 | … | |
ESP32 – dva krokové motory (přesné) Kreslítko -„pantograf“ (drawing-bot) obrázek [R8] XY plotter, Polargraf |
T3 | L3 | … | |
ESP32 – tři serva (rychlé) Robotická ruka Drawing-bot – Kreslítko „pantograf“ – obrázek [R8] |
T3 | L3 | … | |
Blockly – Micropython | … |
Zatím jsme ve fázi oživování – ale s deskou lze realizovat hned několik druhů „kreslítek“ [IMG R8] ►
A robot R01 [IMG R9] ►
Jednotlivé plexi dílky – na požádání zašleme dxf soubor, připravujeme i vlastní výrobu a následný prodej hotových stavebnic.
Zdrojové kódy pro první experimenty v Arduino-C i Micropythonu:
https://github.com/octopusengine/octopuslab
A podklady (DXF pro vyřezání laserem, přípdaně STL pro 3D tisk):
https://www.thingiverse.com/thing:3513640