Wynalazkowo - eksperymenty małe i duże

Raspberry PI

Jak zbudować robota z Raspberry PI?

Ten artykuł pisał mój mąż, więc jemu przekazuje pałeczkę:

 

W tym tekście postaram się przybliżyć jedną z wielu zresztą metod zbudowania własnego, samobieżnego robota, którego sercem (lub jeśli ktoś woli inaczej – mózgiem) jest jednopłytkowy komputer Rasberry PI 3.

Dlaczego nie Arduino, albo któryś z innych przedstawicieli rodziny „malin”? Z bardzo prostej przyczyny – malina miała mi służyć do kilku różnych eksperymentów i ze wszystkich wymienionych powyżej  układów jest najbardziej uniwersalna, a jeśli porównać z innymi układami – jest też dość tania jak na pełnosprawny komputer. Gdyby ktoś jednak planował nabyć jednopłytkowca tylko i wyłącznie do zbudowania takiego samobieżnego robota polecam Raspberry Pi 0 W ze zintegrowanym modułem BT i Wi-Fi (trzeba tylko sobie dolutować piny GPIO we własnym zakresie).

Zanim przejdziemy do budowy wyjaśnijmy sobie jedną rzecz. Czym mianowicie różnić się będzie nasz robot od zdalnie sterowanego samochodzika? Ceną – to na pewno, ale bardziej tym, że nasz robot będzie w stanie wykonywać pewne sekwencje ruchów zgodnie z wklepanym w niego programem. W przypadku zwykłego zdalnie sterowanego auta program musi już w głowie przechowywać operator no i swoje zadanie będzie on wykonywał tylko tak długo jak długo operator będzie nim sterował.

Pierwszy problem jaki trzeba rozwiązać to wybór odpowiedniego podwozia. Z perspektywy czasu wiem, że mój wybór niestety nie był najlepszy, ale rzuciłem się na najtańsze podwozie gąsienicowe jakie znalazłem Light Damping Balance Tank, o którym mogę powiedzieć tylko tyle, że szczerze go nie polecam. Dla moich potrzeb posiadało o wiele za krótkie przewody do sterowania silnikami, oraz nie posiadało przewodu masy (popularnie mówiąc „minusa”) w ogóle. Dlatego pomimo mojej wielkiej niechęci do lutowania musiałem zorganizować sobie jednak lutownicę, co jednak dzięki pomoce pewnego portalu aukcyjnego okazało się dość tanim przedsięwzięciem (o ile dobrze pamiętam 35 PLN), co pozwoliło mi dolutować brakujące przewody i przedłużyć istniejące. Dodatkowo podwozie to jest wyposażone w silniczki prądu stałego, które okazały się dość odporne na moje próby sterowania ich prędkością. Polecam więc zainwestować jednak w inne rozwiązanie – dużo tego jest w sklepach elektronicznych, czy na serwisach aukcyjnych.

Wszystko fajnie. Mamy podwozie, mamy jakieś kabelki, mamy nawet pełnoprawny komputer mniejszy od paczki papierosów, tylko nie mamy jak tego wszystkiego ze sobą połączyć. Otóż nasz komputerek ma zestaw 40-stu pinów GPIO. GPIO to skrót od General Purpouse Input Output, co po naszemu oznacza Wejścia Wyjścia Ogólnego Przeznaczenia. Jeśli pomyślałeś sobie – fajnie to teraz możemy podłączać, to niestety musze tutaj pohamować twój entuzjazm – nie możemy. Pobór prądu przez silnik dowolnej wielkości praktycznie usmaży malinę, która w obrębie pinów GPIO nie ma żadnych zabezpieczeń prądowych (sprytnie przerzucili to na użytkownika). Dlatego przyda się nam też jakiś kontroler silników prądu stałego.

Mój wybór (ponownie nietrafiony) padł na PiMotor. Jest do nakładka na malinę mająca postać tzw. „hata” czyli kapelusza. Bierze się to stąd, że przykrywa malinę jak kapelutek i pewnie miało być w oczach tego, kto to wymyślił zabawne, ale nie było. O prawdziwy koszmar i wertowanie dokumentacji przyprawiło mnie odkrycie, że mój HAT miał 26 pinów, a RasPi 40. Na pierwszy rzut oka nie pasują i odkrycie, że trzeba było połączyć ostatnie piny na płytce (patrząc od kostek przyłączeniowych dla kabelków), z ostatnimi pinami na malinie (patrząc od stront portów USB) trochę mnie kosztowało nerwów. Skoro już jestem przy PiMotor podpowiem dlaczego uważam go za nietrafiony. Po pierwsze wielki kondensator który odstaje niczym fabryczny komin nie mieści się pod typową dla maliny obudową, dlatego w robocie malinka jeździ sobie półnago. Po drugie – istnieje teoretyczna możliwość zasilania maliny z tego samego źródła co silniki (miałem nadzieję zaoszczędzić trochę miejsca) o ile tylko napięcie jest większe od 5,5V, ale spadek napięcia na silnikach jest wtedy bardzo zauważalny. Po trzecie wreszcie kompletny brak dokumentacji. Jedyne do czego dotarłem to jakiś szkolny projekt, który z grubsza opisuje które piny zasilić, żeby wszystko poszło.

Wszystko podłączone, baterie pięknie wsadzone w podwozie gdzie ich miejsce – i to nowiutkie baterie (specjalnie wziąłem baterie bo mają 1,5 V, a nie 1,2V jak akumulatorki), wszystko polutowane, a luty sprawdzone, elektronika wsadzona w ładny, przezroczysty koszyk, żeby nie spadała na zakrętach program napisany, uruchomiony i co? Robot jeździ jakby był urzędnikiem państwowym –wolno i apatycznie (patrz filmik poniżej).


To wielkie czerwone pudełko, które widać na robocie to powerbank, który zasila malinę.

Trochę walki z woltomierzem (który już od chyba 9 lat twierdzi, że padła w nim bateria) i doszedłem do tego, że HAT jaki kupiłem ma jeszcze jedną wadę – otóż wszystko powinno być zasilane napięciem 6V – czyli 4 baterie po 1,5V każda, ale ten HAT z jakiejś przyczyny powodował, że na silnikach było ledwo po 3V, dzięki czemu robot do przodu jeszcze jakoś jeździł, ale skręcać mógł tylko gdy podawało się na silniczki krótkie impulsy (stąd wyraźne wstrząsy przy skręcaniu). Rozwiązaniem okazał się dodatkowy koszyk na baterie wpięty szeregowo w układ zasilania – jednocześnie postanowiłem zmienić baterie na akumulatorki, żeby zamiast 12V mieć całkiem rozsądne 9,6V zmniejszające ryzyko, że gdyby jakimś cudem wszystko poszło na jeden silnik to się nie spali od razu.

Efekty były całkiem zadowalające (kolejny filmik poniżej).


Jak widać przy zmianie kierunku aż wszystko tam lata, ale brak mocowań to niestety konsekwencja tego, że malinę raz na jakiś czas wyjmuję z jej pojazdu i robię na niej inne eksperymenty.