Už od studentských let jsem měl touhu postavit si vlastního robota, bohužel však žádný projekt nikdy nebyl dokončen do stavu, který bych považoval za přijatelný (vždy jsem vyzkoušel jednotlivé komponenty, ale už jsem byl moc líný dát je dohromady). Když jsem dostal možnost vést kroužek robotiky v domově dětí a mládeže, řekl jsem si, že je to dobrý impuls konečně něco dokončit, protože robot by musel být vyzkoušen a vyvinut před samotným začátkem kurzu.
Věk potencionálních účastníků kurzu měl být v rozmezí 12-14 let, volil jsem proto nízkou obtížnost a rozhodl se pro robota sledujícího čáru. Dále bylo nutné nabídnout levného robota, protože účastníci kroužku měli mít možnost si robota ponechat a vysoká cena kroužku by potencionální účastníky mohla odradit. Rozhodl jsem se tedy zkonstruovat robota s rozpočtem do 1000 korun.
Kroužek nakonec otevřen nebyl, ale robot byl v té době již rozpracován a tak jsem se rozhodl ho dokončit a vyzkoušet si na něm zakomponování Arduina do univerzálního plošného spoje (do té doby jsem vždy vytvářel prototypy v nepájivém poli). Po dokončení prototypu robota a otestování funkce „sledování čáry“ jsem dodělal regulaci pro jízdu rovně, protože zakoupený podvozek je pro to již připraven.
Tuto poslední funkci jsem přidal, abych vyzkoušel řízení pomocí regulace a protože enkodéry dodané k podvozku mi bylo líto nevyužít.
Snažil jsem se co nejvíce součástek koupit hotových, protože manuální výroba čehokoliv by výrazně komplikovala program kroužku, který měl být jen o samotné stavbě a principech. Naštěstí je v dnešní době možnost koupit přímo stavebnici celého robota nebo alespoň podvozku. Veškeré použité díly jsou na následujícím seznamu. Bohužel podvozek, který jsem si vybral se již neprodává, ale jiný podvozek bude znamenat jen minimum úprav – pravděpodobně jinak uspořádaná kola. Následující ceny jsou z roku 2020.
Jméno součástky | Cena |
Univerzální spoj vrtaný | 69,- |
Sada šroubů, matic a distančních sloupků | 158,- |
H-můstek | 55,- |
Klon Arduino Nano | 279,- |
Stavebnice podvozku robota 2 kola | 349,- |
Infračervený sensor sledování čáry | 78,- |
Optozávora 2x | 98,- |
Celková cena prototypu pro kroužek by tedy byla 919,- (bez nepájivého pole a drátků). Vylepšený model s regulací rychlosti motorů a Arduinem „zabudovaným“ do robota by stál 1086,-.
H-můstek
Pro řízení motorů je použit modul s H-můstkem, který lze sehnat zde. Na těchto stránkách je i návod pro zapojení, včetně vzorového kódu. Pokud budete chtít použít tyto motory pro svého robota, musíte vzít v úvahu, že každý motor se točí jinou rychlostí a to i přes to, že oběma motorům dodáte stejné napětí – pokud budete robota stavět, tak si zkuste v této fázi robota postavit na zem a pustit. Uvidíte, že je to problém 🙂.
V tomto případě není nutné regulaci řešit, protože samotné sledování čáry je forma regulace (pokud robot nejede rovně, tak brzy vyjede mimo čáru a je provedena akce, která ho vrátí). Zmíněné sledování čáry je řešeno pomocí infračerveného sensoru.
Infračervený sensor sledování čáry
Tento modul lze sehnat například zde. Jeho použití je velmi jednoduché, na každém pinu OUT1-5 je výstup HIGH/LOW podle toho, zda IR čidlo něco detekuje. Černá a bílá barva mají rozdílné vlastnosti co se týče pohlcování paprsků vysílaných čidlem. Díky tomu lze zapínat/vypínat motor robota a tím docílit sledování čáry. Čára, kterou chcete sledovat, by měla mít dostatečnou šířku, protože moc úzká čára může být přesně mezi sousedními čidly a robot se tak zastaví (nebo pojede dál – závisí na konkrétní implementaci).
Zabudování Arduina do desky spoje
Prototyp robota vypadal takto:
Aby byl celý „mozek“ robota na jednom místě, tak jsem chtěl do desky zabudovat i H-můstek. Desku jsem provrtal a modul H-můstku k ní přišrouboval (snad to není moc „fušérské“ řešení). Klon Arduina jsem poté zastrčil do desky a připájel. Pokud se rozhodnete něco takového udělat také, tak počítejte s tím, že to dá práci – je třeba připájet 30 pinů (jenom pro přidělání Arduina) a to nepočítám drátky. Bohužel už nelze Arduino z robota vyjmout a použít pro jiný projekt. V dalším podobném projektu chci zkusit použít nějaké pouzdro, do kterého bych Arduino jen zasunul.
Závěr
Robota lze v základu postavit pod 1000,- korun, což dodrželo zvolený limit. Rozšíření robota o funkci jízdy rovně a přidání desky plošného spoje robota trošičku prodražilo, ale to již bylo experimentování mimo původní cíl. Výsledný robot má dva nedostatky, které by bylo potřeba vyřešit. Prvním souvisí se snímáním čáry – sensor by měl být o asi půl milimetru níže, pak by čáru snímal bez problémů. Pokud je sensor níže, tak detekuje čáru pořád, pokud je výše, tak sensor nedetekuje nic (lehce ovlivněno světelnými podmínkami). Druhým problém je rychlost motorů – je moc velká. Pravděpodobně je problém v úrovni napájení motorů. Robot je moc rychlý a občas se stane, že z čáry vyjede moc rychle. Napadají mě dvě možná řešení: 1) použití regulátoru napětí s nižší hodnotou výstupního napětí – robot pojede pomaleji nebo 2) zlepšit program – používám jednoduchou regulaci, použitím lepší techniky, např. LTI regulace by mohl být nedostatek vyřešen. Nakonec několik fotografií výsledku.