Merkurino 01 (1)

Malá řídící jednotka na bázi Arduina, nejen pro roboty.

Chtěl jsem nějaký jednoduchý řídící modul pro připojení ke konstrukcím z Merkuru, a dal jsem si tyto cíle:

  • možnost použít „přátelské“ prostředí pro začátečníky
  • lehce dostupné příklady a aplikace na internetu
  • vstupy a výstupy rozděleny podle použitelnosti a s tím spojené konektory
  • možnost připojit LCD displej
  • propojitelnost s další jednotkou – řetězení, koprocesor, expanze
  • značení stejné jako v „domovském“ prostředí (arduino, picaxe, arm, …)
  • indikační diody
  • přímý výstup na alespoň 3 motory
  • přehlednost i při minimálních rozměrech
  • klávesnice
  • montáž na „Merkurovskou“ rozteč
  • využít desku co nejvíce
A jak se to povedlo:

Výběr řídící jednotky – procesoru nebyl složitý. Pro začátečníky je v současnosti k dispozici několik platforem, z nichž nejzajímavější jsou PICAXE a Arduino. Mikrokontrolér ARM je pěkný a výkonný, ale vyžaduje větší programátorské znalosti a tak se sem nehodí.

Procesory PICAXE jsou skvělé svým minimalistickým kódem založeným na Basicu – celý funkční program může mít jen několik řádek napsaných a vyzkoušených během pár minut. To si ovšem vybírá svou daň tím že neumožňuje používat složitější programové konstrukce.

Prostředí Arduina je jiné – v základu je počet procesorů zmenšen na 3 – AVR ATmega328, ATmega2560 a ATmega32u4. Na rozdíl od PICAXE je potřeba základní deska s krystalem 16MHz, ale na destičce jsou pak vyřešeny potřebné obslužné věci, jako je stabilizátor napájecího napětí, indikační dioda na jednom pinu. Označení vstupů a výstupů v programovacím prostředí (IDE) pro všechny procesory stejné; procesor se programuje přes USB.

V tomto srovnání a s přihlédnutím k požadavkům vychází ve všech směrech nejvýhodněji varianta s Arduino Nano s procesorem ATmega328, které má 8 analogových vstupů  a 14 digitálních výstupů (lze programově změnit). Analogových“ výstupů (hw PWM) má 6.

Z toho vyplynula mechanická konstrukce: základní deska, do jejíchž konektorů je zasunuto Arduino Nano a LCD displej 16×2. Rozměr celé jednotky jsem zvolil 10 x 5 cm (podle displeje a nejpoužívanější desky v Merkuru – 5x10x1).  Celá sestava je modulární, procesorová deska se dá zaměnit (PicAxe, PIC, AVR, Arm)  a displej také (za větší 20×4).  Vyšel jsem z toho, že konektory s kablíky je vhodné mít spíše schované, proto jsou umístěny na opačné straně než displej. Zde jsou také indikační diody pro ladění (např. motorů bez motorů), připojení I2C, potenciometr pro nastavení jasu displeje, konektory pro enkodery a PWM. H-můstky jsou samostatné, lze je však jednoduše propojit s Arduinem.

arduino-robot-nano

Schéma zapojení