Popularny post RomekAtomek Napisano 17 czerwca Popularny post Udostępnij Napisano 17 czerwca Cześć! Kilka lat temu, aby ułatwić młodej osobie naukę programowania, stworzyłem jeżdżącego robota. Zaprezentowałem już wcześniej na tym forum dwa elementy tego projektu (kontroler napędu oraz uchwyt kamery). W niniejszej publikacji chciałbym opisać i zaprezentować całą konstrukcję w obecnym kształcie. Ewolucja projektu Ze względu na założenie, że głównym celem jest nauka programowania, jako serce robota wybrałem Raspberry Pi. Prace zacząłem od zakupu Maliny w wersji 4, gotowego podwozia, 4 małych silników (bez enkoderów) oraz prostego układu sterującego. Szybko okazało się, że RPi ma za mało pinów GPIO, aby spełnić wszystkie nasze wymagania, a podstawowe silniki nie zapewniają żadnej precyzji ruchu. Zmusiło mnie to do zmiany założeń. Do projektu dodałem Arduino jako kontroler wykonawczy oraz zakupiłem większe silniki wyposażone w enkodery kwadraturowe. Specyfikacja techniczna Ostatecznie na pokładzie robota znalazły się następujące komponenty: Raspberry Pi 4 – główny kontroler (komunikacja, logika, zarządzanie urządzeniami). Klon Arduino – kontroler napędu (regulator PID) oraz obsługa urządzeń on/off. Podwozie 4WD – mocniejsze silniki z enkoderami o dużej rozdzielczości. Moduł GPS – do pozycjonowania w terenie (na razie nie został uruchomiony; mam wątpliwości, czy jest sprawny). Ultradźwiękowy czujnik odległości – do detekcji przeszkód. Akcelerometr – do monitorowania orientacji i stabilności robota. Kamera – zamontowana na gimbalu sterowanym w dwóch osiach (Pan/Tilt). Sterownik 16 serw – oparty na układzie PCA9685. Układ zasilania – dedykowany system oparty na ogniwach Li-ion. Dodatki – efekty wizualne i oświetlenie robota. Główny kontroler: Raspberry Pi 4 Odpowiada za wyższą warstwę logiczną, komunikację oraz sterowanie wszystkimi peryferiami. Całe oprogramowanie systemowe zostało napisane w C++. Obecnie eksperymentuję z wykorzystaniem algorytmów sztucznej inteligencji (AI) do autonomicznej kontroli napędu. Dużą zaletą konfiguracji jest to, że RPi służy również do programowania Arduino. Dzięki temu nie trzeba podpiąć robota bezpośrednio do komputera kablem – wgrywanie kodu na mikrokontroler odbywa się zdalnie przez Malinę, co drastycznie ułatwia pracę. Napęd i sterowanie silnikami Jako dedykowany sterownik silników zastosowałem klona Arduino. Jest tani, łatwy w programowaniu i oferuje odpowiednią liczbę pinów do obsługi enkoderów. W celu synchronizacji i precyzyjnej kontroli prędkości kół zaimplementowałem programowy regulator PID. Arduino odbiera gotowe polecenia ruchu z Raspberry Pi poprzez magistralę I2C. W najbliższym czasie planuję podpiąć czujnik odległości bezpośrednio do Arduino, aby realizował funkcję "hardware'owego" hamulca awaryjnego (zatrzymanie napędu po wykryciu bliskiej przeszkody bez czekania na reakcję RPi). Zasilanie Do zasilania całej konstrukcji wykorzystałem pakiet 4 ogniw 18650. Jako ładowarki używam zmodyfikowanego zasilacza od laptopa z odrobinę obniżonym napięciem wyjściowym. Robot posiada dwa obwody zasilania: 5V – do zasilania kontrolerów (RPi, Arduino). 12V – dedykowane dla silników. Stabilne napięcia zapewniają dwie niezależne przetwornice DC-DC. Oczywiście robot jest plug-in: Rzut oka pod "maskę": Sterownik serw Aby nie obciążać mikrokontrolerów generowaniem wielu sygnałów PWM, zastosowałem zewnętrzny sterownik do 16 serw wykorzystujący układ PCA9685 (komunikujący się również po I2C). Odpowiada on m.in. za płynne sterowanie pozycją kamery w dwóch osiach oraz obsługę dodatkowych akcesoriów. Efekt końcowy możecie obejrzeć tutaj. 6
franc 1 lipca Udostępnij 1 lipca Cześć, świetny projekt! Mam pytanie odnośnie podwozia - wspominasz, że na starcie kupiłeś gotowe podwozie 4WD wraz z podstawowymi silnikami. Czy przy wymianie silników na te z enkoderami zostałeś przy tej samej ramie/podwoziu, czy może trzeba było je zmodyfikować (np. inne mocowania pod nowe silniki)? I czy mógłbyś podać model/producenta tego podwozia albo link do sklepu, gdzie je kupiłeś? Chętnie zbudowałbym coś podobnego.
RomekAtomek 2 lipca Autor tematu Udostępnij 2 lipca Podwozie jest tu: https://botland.com.pl/podwozia-robotow/7289-chassis-rectangle-4wd-4-kolowe-podwozie-robota-z-napedem-5904422310127.html Gdy kupowałem, obie płyty były z alu. Musiałem wiercić otwory pod uchwyty silników. Silniki są wyższe, więc musiałem również wymienić tuleje dystansowe między płytami.
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »