Vampire2 to moja druga konstrukcja micromouse. W porównaniu z pierwszą konstrukcją (Vampire) wprowadzono pewne zmiany mechaniczne jak dodanie żyroskopu, zmiana enkoderów oraz zmniejszenie wymiarów płyty PCB.
Konstrukcja mechaniczna i zasilanie
Podwoziem robota jest płyta PCB wykonana w firmie Satland Prototype. Napędem są silniki Pololu 30:1 sterowane za pośrednictwem mostka TB6612. Koła standardowe Pololu. Ostatecznie udało się uzyskać myszkę o wymiarach maksymalnych 95x75mm, co pozwala poruszanie się po skosie. Prześwit robota został ustawiony dla bezpieczeństwa na 4mm. Maksymalna prędkość jaką udało mi się uzyskać na tych silnikach to 1.6m/s.
Robot zasilany jest z akumulatora litowo-polimerowego. W tej chwili jest to Pakiet LiPol Dualsky 150mAh 7.4V. Pakiet spokojnie wystarcza na wykonanie przejazdów podczas zawodów.
Elektronika
Mózgiem robota jest mikrokontroler STM32F407VGT6. Głównymi cechami są: taktowanie 168 MHz, 192kB RAM, 1MB flash, duża liczba peryferii z czego wiele ze wsparciem DMA, sprzętowa obsługa wejść kwadraturowych, wiele dostępnych interfejsów komunikacyjnych. Model ten stosowany jest w płytce ewaluacyjnej Discovery, dzięki czemu po testach z płytką ewaluacyjną kod nie wymagał żadnych zmian aby przenieść go na robota.
W konstrukcji użyto enkodery magnetyczne AS5306 oraz magnesy zamocowane na obręcze kół z 72 polami magnetycznymi. W rezultacie z enkoderów otrzymujemy 5700 imp/obrót co daje dokładność 0,017 mm/imp.
Jako dalmierzy użyto diod podczerwieni SFH4511 w parze z fototranzystorami TEFT4300. Diody sterowane są poprzez układ ULN2003, każda osobno. Dalmierze zapewniają dość dobrą charakterystykę w zakresie 0-20 cm.
Robot wyposażony jest w żyroskop cyfrowy L3GD20. Posiada on bardzo mały dryf, zakres do +-2000st/s oraz interfejs SPI.
Interfejs użytkownika
Do wybierania trybów pracy wykorzystano 4 przyciski. Na płycie są również 4 diody. Płyta posiada wyprowadzenie dla wyświetlacza z telefonu Nokia 3310, który obecnie nie jest zamontowany. Wyprowadzony został również interfejs UART do komunikacji z PC.
Oprogramowanie
Oprogramowanie w dalszym ciągu jest rozwijane. W aktualnej wersji uzyskano stabilną jazdę w labiryncie. Algorytm pozwala na przeszukiwanie labiryntu pole po polu z zatrzymywaniem się na każdym polu. Wyszukiwanie trasy przy użyciu algorytmu floodfill z dodanymi różnymi wagami dla prostych i zakrętów, odpowiednio 1 i 3. Sterowanie dynamiką bazuje na pomyśle opisanym w [Programowanie] Sterowanie robotem mobilnym klasy (2,0) .
Podsumowanie
Robot spełnił moje oczekiwania. Pierwszy cel, czyli stabilne i przewidywalne zachowanie w labiryncie, został osiągnięty. Trwają prace nad rozwojem algorytmu przeszukiwania aby możliwe było przeszukiwanie bez zatrzymywania się, a w przyszłości również wymiana i przystosowanie robota do silników z przekładnią 10:1.
Galeria
Osiągnięcia
I miejsce w kategorii MicroMouse na zawodach Robomaticon 2013 w Warszawie
Pozdrawiam 😃