Robot samojezdny
Table of Contents
Założenia
Stworzenie robota - pojazdu, który mógłby służyć do nauki elementów robotyki. Przykładowe etapy projektu:
- przygotowanie platformy opartej na czterech kołach mecanum (dowolny kierunek jazdy),
- przygotowanie elektroniki zasilającej opartej na ogniwach 16850 i ładowaniu przez USB-C,
- uruchomienie wstępne na Arduino Uno,
- stworzenie aplikacji sterującej na Androida sterującej robotem przez bluetooth (np. w MIT App Inventor),
- przetestowanie podstawowych czujników: odległości, podążania za linią,
- wprowadzenie możliwości graficznego tworzenia programu sterującego robotem,
- dodanie np. ramienia robota bądź innego elementu, który sprawi, że całość będzie bardziej robotem a mniej samochodzikiem RC,
- potencjalna zmiana elektroniki sterującęj: Arduino Mega, ESP32, RaspberryPI,
- potencjalnie dodanie obsługi Wifi, być może wbudowanie w robota AP ze stroną sterującą,
- potencjalne dodanie kamer i analizy obrazu,
- potencjalne dodanie użycia AI do sterowania.
Platforma bazowa
Jako bazę do projektu, użyto gotowego zestawu platformy dwupoziomowej z czterema silnikami DC i czterema kołami mecanum. Każde koło mecanum składa się z szeregu ukośnych walców/baryłek umieszczonych na obwodzie. Obracanie kół w określonych kierunkach powoduje dzięki tym walcom powstawanie dodatkowych sił bocznych i cała platforma może nie tylko jeździć przód/tył, ale także przesuwać się na boki, bądź skręcać w miejscu. Ponieważ założeniem było bardziej stworzenie programowalnego robota a nie samochodu RC, wybrano taki właśnie rodzaj kół dających większe możliwości mobilne. Przy montażu kół mecanum ważna jest ich orientacja - na zdjęciu poniżej widać jak są ułożone cylindry kół względem całej platformy.

Zasilanie
Zasilanie oparte jest na 4 ogniwach 18650 podłączonych w układzie 2S2P z układem BMS. Z pomiarów wynikało, że jeden silniczek nie pobiera prądu więcej niż 200mA więc szacunkowo całość elektroniki nie powinna przekraczać poziomu 1A. Użyto starych ogniw z baterii laptopa dając im drugie życie. Całość zapewnia napięcie 7-8.4V przy pojemności około 3500mAh. Robot powinien więc działać przez około 4 godzin ciągłej pracy, w praktyce poziom 8 godzin powinien być osiągalny. Czas ten można wydłużyć dwukrotnie używając nowych ogniw.
Całość ładowana jest przez USB-C za pomocą modułu opartego na układzie CN3302. W czasie ładowania z zewnątrz pobierane jest 2A przy 5V, a ładowanie użytych ogniw powinno trwać około 4 godziny. Moduł oryginalnie pozwalał na ładowanie prądem nawet 4A, ale temperatury układu zbliżały się do granicznego poziomu 150°C. Po przekonfigurowaniu modułu na 2A temperatury spadły do 75°C.
Obwody wyjściowe zasilania zostały dodatkowo zabezpieczone bezpiecznikiem polimerowym 5A.

Montaż Arduino Uno z modułem sterowania silników
Na górnej platformie wykorzystano gotowe otwory pod arduino i zamontowano Arduino Uno z podstawowym modułem sterowania silnikami DC.

A może Arduino Mega z lepszym modułem sterowania silników?
Trochę czasu minęło, ale robocik dostał klona Arduino Mega, który pozwoli na podłączenie większej liczby urządzeń. Najważniejsze jest jednak to, że zamiast przestarzałego modułu sterowania silnikami opartego na tranzystorach bipolarnych, zamontowano moduł sterowany przez I2C i oparty na półmostkach MOSFET. Zmiana ogromna - teraz pojazd rusza bez problemu nawet przy niewielkich prądach i może np. jechać z niewielkimi prędkościami. Wcześniej silniki DC nie potrafiły ruszyć dopóki nie dostały większego prądu.
Podłączono też moduł Bluetooth (podstawowy HC05), żeby przetestować działanie pojazdu sterując nim za pomocą smartphona.
