ROBOTboard – osazení a oživení

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-botobrá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