Aktuální vydání

celé číslo

02

2023

Amper 2023

Propojená výroba, průmyslový internet věcí a analýzy dat

celé číslo

Postavte si svůj robot – roboty ve výuce (část 3)

Třetí část seriálu o konstrukci výukových robotů ze stavebnice Lego se zabývá porovnáním různých typů a generací stavebnice Lego Mindstorms dostupných na domácím trhu. Podrobně je zde popsána stavebnice Lego Mindstorms NXT a její řídicí jednotka (kostka NXT) spolu se servomotory a jejich řízením.

 

Porovnání stavebnic Lego Mindstorms NXT a EV3

Na českém trhu lze koupit dvě různé stavebnice, a to Lego Mindstorms (obr. 1) a Lego Mindstorms Education (obr. 2), které se od sebe liší sice jen drobnostmi, avšak z pohledu uživatele poměrně důležitými. Například základní verze Lego Mindstorms se prodává v papírové krabici, umožňuje programovatelnou kostku napájet šesti tužkovými články a obsahuje CD se základním softwarem NXT-G. Verze Lego Mindstorm Education se prodává v plastovém boxu (což zjednodušuje skladování, přepravu a manipulaci), umožňuje programovatelnou kostku napájet dobíjecími články a lze k ní dokoupit síťový adaptér. Obě dvě verze se také liší v počtu dílků pro sestavování robotů a mohou se rovněž odlišovat počtem a typem senzorů.
 
Pro generaci Lego Mindstorms NXT, která je u nás nejvíce rozšířená, lze najít porovnání např. v [1]. Pro poslední generaci Lego Mindstorms EV3 je porovnání verzí (Home a Education) uvedeno např. v [2]. Obsah jednotlivých stavebnic Lego Mindstorms Education uvádí [3].
 

Stavebnice Lego Mindstorms NXT

Další text bude pojednávat již výhradně o stavebnici Lego Mindstorms NXT. Byla by chyba si stavebnici Lego Mindstorms představovat jen jako hromadu kostiček doplněnou o jedno elektronické zařízení. Už po prvním otevření krabice lze zjistit, že se stavebnice skládá z mnoha jednotlivých a na první pohled zajímavých modulů, které je možné mezi sebou pospojovat kabely, kombinovat a navzájem využívat. Nejvíce asi zaujme nejmohutnější z modulů, který má na sobě kromě několika tlačítek i malý displej. Je to řídicí jednotka (kostka) NXT (obr. 3). Obsahuje mikropočítač, který řídí a využívá ostatní moduly. Je „srdcem a ústředním mozkem“ většiny vytvořených sestav.
 
Řídicí kostka je univerzální modul, „mozek“ celé stavebnice. Program jejího mikroprocesoru (programový kód) řídí činnost kostky a ovládá ostatní zařízení. Lze jej vytvořit pomocí menu na panelu kostky nebo pohodlněji v počítači, který je možné připojit kabelem USB nebo bezdrátově prostřednictvím rozhraní Bluetooth. Samotná kostka sice umí provádět výpočty, zobrazovat informace na displeji, přehrávat zvuky i komunikovat prostřednictvím Bluetoothu, bez připojených modulů jí však chybějí „oči“, „uši“, „ruce“ i „nohy“. Chybějící „pohybový aparát“ jí doplňují krokové motory a „smysly“ zase senzory. Senzory poskytují potřebné údaje, které kostka dále zpracuje. Například je-li ke kostce připojen senzor teploty, není problém jeho signál v řídicí kostce zpracovat a hodnotu teploty třeba zobrazit na displeji.
 

Řídicí kostka NXT

Řídicí jednotku robotu zde zkráceně označujme jen „řídicí kostka“. Uvnitř řídicí kostky (obr. 4) jsou dva mikroprocesory. Hlavní je 32bitový mikroprocesor ARM 7 s pracovní frekvencí 48 MHz, 256 kB paměti flash a 64 kB paměti RAM. Druhý mikroprocesor, který zastává pomocné funkce, je osmibitový typu ATmega 48 s pracovní frekvencí 8 MHz, 4 kB paměti flash a 512B pamětí RAM. Výhodou paměti flash je, že při vypnutí nebo vyjmutí baterie v ní zůstane vše, co v ní bylo nahráno.
 
Na vrchní straně kostky jsou tři konektory (výstupní porty) pro připojení servomotorů, označené písmeny A, B a C (obr. 4). Je zde ještě konektor pro připojení kabelu rozhraní USB, který je svým druhým koncem připojen k počítači. Takto lze přenášet programy z počítače do robotu nebo naopak nahrát data z robotu do počítače. Ke stejnému účelu je možné využít i bezdrátovou komunikaci prostřednictvím rozhraní Bluetooth. Při připojení k počítači je řídicí kostka vždy v modu slave, ale při komunikaci s dalšími řídicími kostkami může jedna z kostek také komunikovat v modu master, zatímco ostatní připojené kostky komunikují v módu slave. Ke každé řídicí kostce komunikující v modu master lze připojit až čtyři kostky v modu slave. Každá kostka má v protokolu Bluetooth přiřazeno své unikátní jméno, které se zobrazuje na prvním řádku displeje. Na spodní straně kostky jsou čtyři vstupní porty, které jsou označeny číslicemi 1, 2, 3, 4 a jsou určeny pro zapojení senzorů.
 
Řídicí kostka NXT má na čelní straně monochromatický displej LCD s rozlišením 100 × 64 obrazových bodů (pixel). Na displeji lze zobrazovat text nebo jednoduché obrázky. Pod displejem jsou čtyři tlačítka. Oranžové tlačítko je určeno k zapínání, k potvrzování volby v menu řídicí kostky a ke spouštění programů. Pod ním se nachází tmavě šedé tlačítko, kterým je možné smazat soubor nebo se v menu vrátit o krok zpět. Dvojice světle šedých šipek je určena pro pohyb vlevo a vpravo v menu. Na zadní straně kostky je prostor pro napájecí baterie – buď pro šest článků AA, nebo pro dobíjecí lithiovou baterii. Řídicí kostka NXT může vyluzovat různé zvuky prostřednictvím reproduktoru, který je umístěn na jejím pravém boku.
 

Servomotory NXT a jejich řízení

Otočná část servomotoru (obr. 5) se může pohybovat rychle, ale i velmi pomalu, což je umožněno převodem se soustavou osmi ozubených koleček. Pro přesné ovládání pohybu je v každém motoru zabudován rotační snímač polohy. Ve vnitřní struktuře servomotoru (obr. 5 dole) si lze všimnout, že snímač je umístěn na levé části oranžového „bubnu“ – motoru. Snímač tvoří černé kolečko s dvanácti štěrbinami. Z jedné strany kolečka je zdrojem světla (čtvercová krabička překrývající kolečko snímače) generován světelný paprsek, který prochází kolečkem a dopadá na fotočlánek na jeho protilehlé straně. Při otáčení motoru se otáčí i kolečko snímače a fotočlánek je střídavě osvětlován a zatmíván – je schopen přečíst 24 stavů on/off při jedné otáčce. K řízení rychlosti servomotorů se používá pulzní šířková modulace (PWM – Pulse Width Modulation). Ve skutečnosti je pomocí PWM ovládán výkon motoru, a to v rozmezí 0 až 100 %. Lze si to jednoduše představit tak, že výkon motoru závisí na tom, jak dlouho je v daném cyklu zapnut (připojen k napětí). Čím delší je časový úsek cyklu, kdy je motor připojen k napětí, tím větší je jeho výkon. Výkon a s ním související rychlost tedy závisejí na poměru mezi dobami zapnutí a vypnutí. Tento poměr se nazývá střída. Cyklus, během kterého se vystřídají oba stavy, se nazývá perioda. Jeli požadováno, aby výkon motoru byl 25 %, střída signálu PWM bude 1 : 3. Znamená to, že aktivní stav (zapnutí, on) trvá jednu časovou jednotku a pasivní stav (vypnutí, off) trvá zbylé tři časové jednotky z celkových čtyř (obr. 6). Pro to, aby byl výkon motoru 100%, a tedy bylo dosaženo maximální rychlosti, musí být střída 1 : 0 – aktivní stav trvá po celou dobu periody, motor je trvale zapnut. Vnitřní řídicí jednotka přepíná mezi stavy on a off velmi rychle (perioda je v jednotkách milisekund), a tak se motor zdánlivě otáčí spojitě.
 
Literatura:
[1] VALK, L.: Understanding the difference between NXT set versions. On-line, publikováno v únoru 2012. Dostupné na <http://robotsquare.com/2012/02/18/understanding-nxt-versions/> [cit. 2. 9. 2014].
[2] VALK, L.: The Difference Between Lego Mindstorms EV3 Home Edition (#31313) and Lego Mindstorms Education EV3 (#45544).
On-line, publikováno v listopadu 2013. Dostupné na <http://robotsquare.com/2013/11/25/difference-between-ev3-home-edition-and-education-ev3/> [cit. 2. 9. 2014].
[3] JAKEŠ, T.: Lego Mindstorms NXT Education. ZČU v Plzni, poslední změna únor 2013. On-line. Dostupné na <https://lego.zcu.cz/web/moduly-systemu-lego-nxt> [cit. 2. 9. 2014].
 
Ing. Martin Hlinovský, Ph.D.
Ing. Lenka Mudrová
 
Obr. 1. Lego Mindstorms NXT, Lego Mindstorms NXT 2.0 a Lego Mindstorms EV3
Obr. 2. Lego Mindstorms NXT Education (vlevo) a Lego Mindstorms EV3 Education (vpravo)
Obr. 3. Řídicí jednotka (kostka) NXT s připojenými servomotory a senzory
Obr. 4. Řídicí kostka NXT – popis
Obr. 5. Interaktivní servomotor NXT – nahoře celkový pohled, dole detail vnitřní struktury