Raport z budowy robota typu Linefollower Mały Marcin Węgrzyn Koło Naukowe Robotyków KoNaR www.konar.pwr.edu.pl 5 stycznia 2016
SPIS TREŚCI SPIS TREŚCI Spis treści 1 Wstęp 2 2 Robot 2 2.1 Konstrukcja............................ 2 2.2 Listwa z czujnikami........................ 3 2.3 Elektronika............................ 3 2.4 Napęd oraz zasilanie....................... 3 2.5 Algorytm............................. 4 2.6 Zdalne sterowanie......................... 4 3 Zakończenie 5 1
2 ROBOT 1 Wstęp Robot został stworzony na warsztaty rekrutacyjne Koła Naukowego Robotyków KoNaR. Jest to druga wersja tego robota, pierwsza wymagała zbyt wielu poprawek, więc zdecydowałem się zaprojektować i zbudować go od nowa. 2 Robot 2.1 Konstrukcja Robot składa się z dwóch osobnych płytek. Obie wykonane są na dwustronnym laminacie PCB metodą termotransferu. Jedną z nich jest płytka z czujnikami, natomiast druga to płyta główna, na której znajdują się pozostałe elementy. Bateria została przymocowana do robota za pomocą taśmy dwustronnej. Przód opiera się na tranzystorach w obudowie TO92. W tej wersji płyta została zaprojektowana od nowa, mając na celu osiągnięcia jak najmniejszą wagę. Cała konstrukcja waży ok. 90 gram. 2
2.2 Listwa z czujnikami 2 ROBOT 2.2 Listwa z czujnikami Zastosowanie osobnej listwy z czujnikami ma kilka zalet. Zmniejsza ona wagę całości, można ją w łatwy sposób wymienić w razie awarii oraz regulować jej odległość od płyty głównej. Do płyty głównej przymocowana jest za pomocą listwy węglowej. Na płytce znajduje się osiem czujników optycznych oddalonych od siebie w odległości ok. 12mm oraz dwie diody led, które informują czy do każdego czujnika dochodzi zasilanie. 2.3 Elektronika Wszystkim steruje mikrokontroler ATmega32 w obudowie TQFP z rezonatorem kwarcowych 16MHz. Zdecydowałem się na ten właśnie mikrokontroler, ponieważ miałem już małe doświadczenie w programowaniu mikrokontrolerów AVR. Silniki sterowane są za pomocą mostka TB6612, natomiast do wykrywania linii służą popularne czujniki optyczne KTIR0711S, które podłączone są bezpośrednio do kanałów ADC mikrokontrolera. Do stabilizacji napięcia zastosowałem stabilizator L7805M (5V) oraz MCP1700 (3.3V do zasilania modułu bluetooth). Na płycie głównej zamontowanych jest łącznie siedem diod led (zasilanie, stan bluetooth oraz pięć diod informacyjnych). Obok znajdują się również trzy przyciski, z których wykorzystany jest tylko jeden i służy do uruchamiania silników w celu czyszczenia kół. 2.4 Napęd oraz zasilanie Napędem robota są dwa silniki Pololu z przekładnią 10:1. Silniki nie mają problemu z poruszaniem robota i pozwalają na szybką jazdę. Silniki przymocowane są do płyty za pomocą specjalnych mocowań Pololu. Do silników przymocowane są koła Solarbotics RW2i. Robot zasilany jest dwucelowym akumulatorem Li-Pol 7.4V o pojemności 300mAh. Akumulator w zupełności wystarcza na jazdę przez kilka, a nawet 3
2.5 Algorytm 2 ROBOT kilkanaście minut bez ładowania. 2.5 Algorytm Algorytm robota został napisany w języku C. Jest to ten sam algorytm, który był w pierwszej wersji. Opiera się on na regulatorze PD, regulacja liczona jest z częstotliwością ok. 125Hz, co odpowiada ok. 8 ms. Do regulacji nastaw i kalibracji robota służy moduł bluetooth HC-05 którego opiszę później. 2.6 Zdalne sterowanie Robot komunikuje się z telefonem poprzez moduł bluetooth HC-05. Do komunikacji napisałem prostą aplikację na telefon. Aplikacja pozwala na szybką konfigurację nastaw oraz zapisanie ich do pamięci EEPROM mikromotrolera, przez co będą one zapamiętane aż do następnego przeprogramowania. Dzięki aplikacji możemy również wystartować, zatrzymać, skalibrować 4
3 ZAKOŃCZENIE robota oraz sterować nim za pomocą wbudowanego w telefon żyroskopu. Do napisania aplikacji posłużyła strona MIT App Inventor 2. 3 Zakończenie Niestety robot nie został jeszcze przetestowany na żadnych zawodach. Na Robotic Arena 2015 wystartowała jego wcześniejsza wersja, która zajęła 17. miejsce. Wadą robota jest na pewno wygląd płytek PCB, był to mój drugi raz (uwzględniając pierwszą wersję) kiedy wykonywałem płytki i myślę, że mogłyby wyglądać one znacznie lepiej. Czujniki optyczne mogłyby być ułożone trochę inaczej, by poprawić wykrywanie kątów prostych. Według mnie algorytm również wymaga kilku poprawek, by lepiej trzymał się trasy. Mam nadzieję, że prace nad robotem będą ciągle trwały i w przyszłym roku wystartuje on na Robotic Arena 2016 i uzyska lepsze miejsce od poprzednika. 5