Robot FREEbot na zestawie FREEDOM-KL25Z
„FREEbot” to konstrukcja należąca do popularnej w robotyce amatorskiej kategorii „Linefollower”. Jego zadaniem jest podążanie po trasie wyznaczonej przez linię narysowaną na kontrastującym tle, w sposób całkowicie autonomiczny i jak najbardziej dokładny. Chociaż daleko mu do medalistów większych polskich zawodów robotycznych, to znakomicie nadaje się jako prototyp do testowania wszelkiego rodzaju algorytmów i rozwiązań konstrukcyjnych.
Wygląd gotowego robota „Freebot”
Film prezentujący działanie robota
„Sercem” robota jest tani zestaw Freescale Freedom KL25Z – płytka o standardowych wyprowadzeniach Arduino, z mikrokontrolerem zbudowanym na rdzeniu Cortex M0+ oraz zintegrowanym interfejsem debuggera. Znakomicie współpracuje on z darmowym środowiskiem CodeWarrior, w którym można skorzystać z dobrodziejstw takich narzędzi, jak Processor Expert. W prosty sposób można także użyć w projekcie darmowego systemu operacyjnego – MQX Lite, na którym bazuje oprogramowanie robota.
„Sercem” robota jest FRDM-KL25Z
Dzięki standardowi złącz oraz zgodności napięć zasilających, z płytką KL25Z doskonale współpracują tzw. shieldy dla Arduino – w tym przypadku jest to sterownik silników, Arduino Motor Shield Rev3. Konstrukcja „kanapkowa” jest bardzo wygodna i umożliwia łatwą podmianę wybranych podzespołów w zależności od zapotrzebowania. Szybki demontaż ma dodatkowe plusy w postaci prostszego nanoszenia poprawek w połączeniach.
Freedom KL25Z jest w pełni kompatybilny z większością płytek zaprojektowanych dla Arduino
W celu uproszczenia konstrukcji, zastosowano gotowy zestaw podwozia firmy DFRobot: MiniQ 2WD. Zawiera on komplet podstawowych części – silniki, koła napędzające, chassis, „kulkę” podporową oraz niezbędne śrubki i nakrętki. Wszystkie podzespoły zostały zamocowane na zwykłych, stalowych tulejkach dystansowych M3 o długości 15 mm (sterownik) oraz 10 mm (czujniki). Konieczne okazało się wywiercenie paru otworów w chassis, aby dobrze wyśrodkować listwę czujników.
Podzespoły zostały zamocowane na metalowych tulejkach dystansowych M3
Za czujnik linii służy FREEbotowi płytka Pololu QTR-8A, zawierająca 8 miniaturowych transoptorów odbiciowych KTIR0711S ułożonych w jednym rzędzie. Transoptory te działają na zasadzie pomiaru ilości światła odbitego od podłoża – kolor czarny pochłania więcej fotonów, więc do fototranzystora trafia mniej światła, przez co napięcie sygnału wyjściowego jest niższe. Dla podłoża jasnego efekt jest odwrotny. FREEbot korzysta tylko z 6 czujników, ponieważ praca najdalej wysuniętych na boki transoptorów może być w łatwy sposób zakłócona przez światło z otoczenia. Umiejscowienie czujników dalej od brzegu robota sprawi natomiast, że zmniejszy się płynność ruchów podczas jazdy po linii prostej.
Listwa czujników linii – QTR-8A
Robot zasilany jest z pakietu litowo-polimerowego 2S, 7,4 V. Pakiety takie charakteryzują się małymi wymiarami, niską wagą i dużą wydajnością prądową, przez co są wyjątkowo często spotykane w polskich robotach amatorskich. Silniki zasilane są bezpośrednio z pakietu, natomiast płytki sterowników korzystają z gotowej przetwornicy step-down – Pololu Step-Down Voltage Regulator D24V3ALV. Przetwornica ta posiada możliwość regulacji napięcia wyjściowego w zakresie 2,5…7,5 V przy maksymalnym obciążeniu 300 mA. W FREEbot napięcie zostało ustawione dokładnie na 5 V. Aby włączyć układ w obwód zasilania, należy nieco zmodyfikować złącze – ja zastosowałem dwa rzędy goldpin typu F, przylutowane w sposób widoczny na zdjęciu.
Akumulator litowo-polimerowy (LiPo) oraz przetwornica
FREEbot jest bardzo dobrą konstrukcją do „wejścia w świat? robotów mobilnych kategorii Linefollower oraz źródłem mobilizacji do zapoznania się ze stosunkowo nową rodziną mikrokontrolerów firmy Freescale. Wartym odnotowania jest również fakt, że sterownik o znacznie większych możliwościach od platformy Arduino, jest od niej zdecydowanie tańszy.