Robot typu linefollower - Joy

Robot typu linefollower - Joy

Przedstawiam jeden z moich pierwszych projektów jakim jest robot typu linefollower. Bazuje on na mikrokontrolerze ATmega32 i posiada osiem czujników odbiciowych wykorzystywnych jako czujniki linii.

 

Głównym celem projektu było stworzenie robota, który niesie ze sobą wartość edukacyjną i rozwojową. Jednym z wymogów jaki sobie postawiłem była możliwość wystartowania w zawodach robotycznych z lepszym i lżejszym robotem niż poprzednie wersje. W tym celu płytka główna musiała być jak najmniejsza. Im mniejsza jest płytka tym robot jest lżejszy, a co za tym idzie mniejszy współczynnik bezwładności. Płytka z czujnikami także została sporo zmniejszona w porównaniu z poprzednimi konstrukcjami. Minimalizacja wagi wymusiła konieczność zamówienia płytek PCB w zewnętrznych firmach, ponieważ wytrawianie tak małych ścieżek w domowych warunkach było bardzo ciężkie i mogłoby się nie udać.

Elektronika:

  • ATmega32A - mikrokontroler
  • TB6612FNG - mostek H
  • KTIR0711S - czujniki odbiciowe, czujniki linii
  • TSOP 38kHz - odbiornik podczerwieni - obsługa pilota
  • LM1117 - stabilizator 5V
  • BTM222 - moduł bluetooth
  • LED'y, switch, taśma ffc itp.

Mikrokontroler taktowany jest maksymalną możliwą częstotliwością 16MHz. 

Robot napędzany jest dwoma silnikami Pololu z przekładnią 1:10. Połączenie płytki głównej z czujnikami zrealizowane jest przy pomocy 20 pinowej taśmy FFC. Na przedniej płytce znajduje się osiem czujników oraz osiem LED'ów sygnalizujących stan danego czujnika. Gdy czujnik znajduje się nad linią zapala się odpowiedni LED. 

Odbiornik podczerwnieni TSOP 38kHz ma za zadanie odbierać sygnał pochodzący z pilota. Pilot wysyła dane zgodnie z protokołem NEC.

Moduł bluetooth wykorzystywany był do bezprzewodowej komunikacji z robotem. Dzięki temu mogłem dostrajać parametry robota, bez konieczności ciągłego przeprogramowywania mikrokontrolera. Dane zapisywane były w pamięci. W sieci istnieją aplikacje na smartfony, które mogą wysyłać znaki przy pomocy połączenia bluetooth - możliwe jest zdalne zatrzymywanie i startowanie robota.

Poniżej przedstawiony jest schemat podłączeń poszczególnych elementów w robocie. Płytka PCB nie jest idealna. Posiada ona kilka błędów oraz rzeczy, które można ulepszyć/zmienić, ale na tamtą chwilę była wystarczająca.

Robot zasilany jest z pakietu Li-Pol 2S (7.4V). Za obniżenie napięcia do 5V odpowiada liniowy stabilizator LM1117.

 

Schemat linefollowera Joy
Rys. 1 Schemat robota typu linefollower - Joy

Program robota został napisany w języku C. Najważniejszym elementem jest regulator PD, który odpowienio steruje silnikami w zależności od uchybu. Uchyb obiczony jest na podstawie aktualnego stanu czujników. Jeżeli czarna linia z wytyczoną trasą znajduje się pod środkowymi czujnikami uchyb jest zerowy - robot jedzie zgodnie z założeniami. Gdy na swojej drodze napotka zakręt, linia zmieni swoje położenie względem czujników, a mikrokontroler obliczny nową wartość uchybu regulacji. Im linia "znajduje się" bliżej skrajnych czujników tym większy jest błąd - wypełnienie sygnału PWM dla odpowiedniego silnika zostaje zwiększone/zmniejszone.