arti1295 14 Napisano 29 stycznia (edytowany) Witam, Chciałbym przedstawić zbudowany ostatnio pojazd inspekcyjny. Założenia były następujące: dobra mobilność w nierównym terenie, sterowanie za pomocą aplikacji na Android'a oraz podgląd z wbudowanej kamery w czasie rzeczywistym. Mechanika W pojeździe zastosowano uproszczoną, 4-kołową wersję zawieszenia rocker-bogie stosowaną m.in. w łazikach marsjańskich. Główną zaletą tego rozwiązania jest niemal równomierny nacisk wszystkich kół na podłoże oraz możliwość uniesienia koła na przeszkodzie. Zastosowane koła pochodzą od "jakiejś" zabawki (znalezione na strychu ) i są zamocowane adapterem hex 12 mm (z małymi przeróbkami, aby schować przekładnię wewnątrz koła). Każde koło posiada własny silnik DC z przekładnią - prędkość wyjściowa: ok. 120 obr/min przy zasilaniu 12V. Silniki zostały zamocowane do aluminiowego profilu kwadratowego 10 mm za pomocą opasek zaciskowych. Profil ten stanowi część wahacza przymocowanego do osi kadłuba przez łożyska z wiertarek (średnica wewnętrzna 6 mm). Z tyłu pojazdu widoczna jest belka różnicowa łącząca wahacze po obu stronach. Dzięki niej kadłub utrzymywany jest w swojej pozycji a wychylenie jednego wahacza powoduje odchylenie drugiego o taki sam kąt przeciwnie skierowany. Jako kadłub wykorzystano obudowę z ABS. Do jej wieczka przymocowano również maszt z kamerą sterowany w dwóch osiach. Elektronika Komputerem sterującym w pojeździe jest Raspberry Pi Zero W z systemem Raspbian w wersji Jessie. Zastosowano ten model z powodu małych rozmiarów, stosunkowo niskiej ceny i małego poboru mocy. Z racji braku przetwornika ADC, zastosowano również arduino w wersji Pro Mini o napięciu 3.3V (aby było zgodne ze standardem w Raspberry). Są również 2 sterowniki silników na bazie modułu L298N (Sterownik ten ma dwa kanały i można było zastosować tylko jeden sterownik, jednak z powodu niewystarczającej wydajności prądowej zastosowano dwa), 2 przetwornice step-down 5V (osobno dla logiki, i osobno dla serwomechanizmów), dwa serwomechanizmy TowerPro SG90, kamera, oraz pakiet 3S ogniw li-ion w rozmiarze 18650. Z racji tego, że kamera jest podłączana przez taśmę FFC, zastosowano również przejściówki z FFC na goldpin, aby nie uszkodzić taśmy podczas obracania kamerą. Oprogramowanie Arduino w tym pojeździe odpowiedzialne jest za odczyt aktualnego napięcia zasilania oraz generowanie sygnałów PWM dla prędkości silników oraz serwomechanizmów pozycjonowania kamery. To jaki sygnał ma być generowany, jest wiadome dzięki połączeniu z Raspberry poprzez UART. Dodatkową funkcją Arduino jest wyłączenie PWM dla silników w przypadku braku komunikacji z Raspberry co zapobiega niekontrolowanej jeździe pojazdu w przypadku np. zerwania zasięgu. Raspberry komunikuje się z użytkownikiem poprzez sieć WiFi (Malinka działa w trybie hot-spot'u). Program działający na Raspberry został napisany w Python'ie i wykorzystuje również biblioteki Flask, w celu utworzenia serwera. Odpowiednie fragmenty kodu są wykonywane po wywołaniu przypisanego do niego adresu. Do transmisji wideo wykorzystano platformę Gstreamer, która pozwala na strumieniowanie w formacie H.264. Dzięki temu udało się uzyskać płynny obraz przy 30 FPS i rozdzielczości 800x600 cechujący się niewielkim opóźnieniem (ok. 300 ms). Powstała również dedykowana aplikacja na system Android, gdzie widoczny jest podgląd z kamery oraz sterowanie pojazdem. Podsumowanie Powstały pojazd zgodnie z założeniami dobrze radzi sobie w terenie, jednak pozostawia również spore możliwości rozbudowy. Można np. dodać zewnętrzną antenę WiFi aby poprawić zasięg (obecnie jest to ok 50m na otwartej przestrzeni), diodę doświetlającą, czy też różne czujniki. Najprawdopodobniej następnym krokiem będzie dodanie przetwarzania obrazów, aby pojazd był w stanie podążać za danym obiektem i być może omijać przeszkody. Na koniec krótka prezentacja działania: Edytowano 29 stycznia przez Treker Poprawiłem formatowanie. 6 Udostępnij ten post Link to post Share on other sites
Treker 1105 29 stycznia @arti1295, witam na forum Widzę, że to Twoje pierwsze kroki na Forbocie, oto najważniejsze informacje na start: Chcesz przywitać się z innymi członkami naszej społeczności? Skorzystaj z tematu powitania użytkowników. Opis najciekawszych funkcji, które ułatwiają korzystanie z forum znajdziesz w temacie instrukcja korzystania z forum - co warto wiedzieć? Poszczególne posty możesz oceniać (pozytywnie i negatywnie) za pomocą reakcji - ikona serca w prawym dolnym rogu każdej wiadomości. Właśnie zaakceptowałem Twój opis, możesz go teraz zgłosić do akcji rabatowej umieszczając link w temacie zbiorczym. Dziękuję za przedstawienie ciekawego projektu, zachęcam do prezentowania kolejnych DIY oraz aktywności na naszym forum 1 Udostępnij ten post Link to post Share on other sites
wieja 7 31 stycznia Świetny projekt.Widzę że używasz jednego źródła zasilania, ale być może sprawdzałeś to lub wiesz - ciekawy jestem jaki jest pobór energii elementów "sterujących" ( Raspberry Pi Zero W [z WiFi i kamerą] + arduino ) ? 2 Udostępnij ten post Link to post Share on other sites
Leoneq 38 31 stycznia Bardzo fajny robocik nie myślałeś nad daniem większego akusa (jakieś żelowe?) 2 Udostępnij ten post Link to post Share on other sites
arti1295 14 31 stycznia Mierzyłem swego czasu pobory prądu i podczas gdy pojazd stał uruchomiony i tylko był wyświetlany podgląd z kamery to cały układ pobierał ok. 170 mA (samo Raspberry i Arduino pewnie trochę mniej), podczas jazdy po równym twardym podłożu - ok. 0,8 A, a największy pobór jaki udało mi się zarejestrować to było około 8 A (pełne napięcie na silniki przy zatrzymanych kołach). Jeżeli chodzi o większą baterię, to wydaje mi się, że nie ma takiej potrzeby. Obecnie założone ogniwa o poj. 2100 mAh pozwalają na ok. 12 godzin działania lub ponad 2 godziny nieprzerwanej jazdy. Oczywiście w nierównym terenie odpowiednio krócej ale mimo wszystko myślę, że te baterie już pozwalają trochę pojeździć. No i zawsze można w miarę szybko wymienić jeśli się rozładują 2 1 Udostępnij ten post Link to post Share on other sites
wieja 7 31 stycznia 3 godziny temu, arti1295 napisał: Mierzyłem swego czasu pobory prądu i podczas gdy pojazd stał uruchomiony i tylko był wyświetlany podgląd z kamery to cały układ pobierał ok. 170 mA (samo Raspberry i Arduino pewnie trochę mniej) Super, unikałem Raspberry zasilanego bateryjnie bo zakładałem że to są obciążenia rzędu 1 A, a w takiej sytuacji trzeba się tym pobawić. Thx 1 Udostępnij ten post Link to post Share on other sites
arti1295 14 31 stycznia W pełnowymiarowych wersjach przy pełnym obciążeniu może tak być. W tym przypadku pewnie też znaczenie ma to, że transmisja obrazu jest w formacie h.264, co na pewno w dużo mniejszym stopniu obciąża sieć niż np. MJPEG. Chyba procesor też ma lżej bo więcej operacji jest wykonywanych sprzętowo, aczkolwiek tutaj już nie jestem pewien jaki wpływ ma format transmisji. 1 Udostępnij ten post Link to post Share on other sites