Skocz do zawartości

Budowa pierwszego robota na bazie Raspberry Pi


Pomocna odpowiedź

Napisano

Cześć! Mam na imię Wojtek i postawiłem sobie ambitne zadanie zbutowania mojego pierwszego robota (czy platformy jezdnej, jak to niektórzy określają). Będę wdzięczny za kilka podpowiedzi w doborze części elektronicznych i elektrycznych. W nawiasach kwadratowych [] podałem moje pytania.

Co już mam?

- Raspberry Pi 2 B z WiFi

- Moduł uruchomieniowy Atmega 32 AVR + programator

- Płytkę stykową

Co chcę uzyskać?

- zdalnie sterowana platforma jezdna z napędem na 2 przednie koła

- zasięg komunikacji ok. 50m na wolnej przestrzeni

- jazda w przód, tył, skręcanie, obrót w miejscu; prędkość ok. 1 m/s

- jazda po nierównym i pochyłym terenie nachylonym do 30 stopni

- podwozie w kształcie kwadratu o boku ok. 15-20 cm

- masa całkowita ok. 1kg wraz z akumulatorem

Co mi się wydaje, że będę potrzebował?

- 2 silniki [wybrać silniki krokowe, czy serwomechanizmy?]

- 2 sterowniki silników [czy chodzi o jakieś mostki L, R czy H?]

- moduł zasilający do silników [jeden czy dwa moduły? czy chodzi o przekaźniki?]

- akumulator

Jak to chcę zrobić?

Chcę przede wszystkim wykorzystać Raspberry Pi do sterowania platformą, ale jeśli nie wystarczy to mogę go połączyć z modułem Atmega. Zamierzam zaopatrzyć się w jak najwięcej gotowych części, żeby móc skupić się na projektowaniu mechanicznym i programowaniu w Pythonie. Komunikację z PC na początek chcę mieć za pomocą WiFi i odpalać programy na Raspberry, które będą sterować robotem.

[Na jakie pytania jeszcze muszę sobie odpowiedzieć?]

[Czy jakiś element pominąłem?]

[Jakie proponujecie silniki i sterowniki?]

[Czy podany przeze mnie schemat jest z kosmosu?]

[Czy zamiast WiFi lepiej będzie zastosować jakiś moduł RF na 433MHz lub inny?]

IMG_55eafd50981214934.png

Z góry dziękuję za pomoc i pozdrawiam!

Generalnie masz dwie opcje, tak jak słusznie zauważyłeś.

Albo użyjesz sewomechanizmów (ale takich o ciągłych obrotach), i wówczas każdy z nich ma sterownik wbudowany, albo użyjesz silników DC z przekładniami, i wówczas dla każdego potrzebujesz mostek H albo w postaci chipa (bardzo lubię L293D, który ma 2 mostki H w jednym układzie), albo go sobie sam poskładasz z tranzystorów.

Bardzo mi się podoba ten ten projekt, który wygląda jak to, w co celujesz: http://letsmakerobots.com/robot/project/pibot-a

Jak dobrze pójdzie to niedługo będzie na forum artykuł o płytce rozszerzeń dla Raspberry-Pi wyposażonej w sterownik silnika. Wtedy można zrezygnować z AVR.

Inna opcja to zrobić na początek robota na AVR sterowanego przez RS-232. Później można bardzo łatwo wykorzystać RPi do wysyłania poleceń przez UART.

Zwykle pierwsze konstrukcje budowane są w celu nabrania wprawy w łączeniu mechaniki z elektroniką i programowaniem oraz nauczenia się rozwiązywania podstawowych problemów jakie na stykach dziedzin zawsze występują. Wygląda, że zaczynasz z wysokiego c i dlatego kilka moich uwag.

Będziesz musiał się postarać, by wszystkie wnętrzności (napędy + elektronika + zasilanie) zmieścić w kwadracie 20x20cm. Jeżeli pójdziesz w górę, pojazd zrobi się wysoki i jego dzielność terenowa bardzo zmaleje. Z tego co napisałeś chcesz zrobić coś jeżdżącego po wertepach i górkach a to wymaga dobrej trakcji i niskiego położenia środka masy oraz - co jest z tym sprzeczne - dużego prześwitu podwozia. Jeżeli chcesz wjeżdżać na ziemiste górki 30° to będziesz potrzebował nie tylko napędu 4x4 ale i dobrych, dużych kół. Duże i grube opony to duże opory toczenia i duże momenty, które dostaniesz jedynie z silnych napędów. Małe serwa są fajne do lekkich zabawek, ale trochę mocniej obciążone palą się szybko, bo ich delikatne silniczki są przeznaczone do pracy start-stopowej (np. stery w samolocie) a nie do ciągłego napędzania ciężkiej platformy. Pomyśl jakich prędkości oczekujesz i policz jaka moc i jakie momenty przy zadanej masie będą potrzebne przy wjazdach na planowane wzniesienia. Czym innym jest jazda po płaskim i czystym biurku a czymś zupełnie innym robienie pojazdu terenowego. Myślę, że na początek powinieneś uruchomić swoją elektronikę, przetestować sterowanie radiowe i pracę mostków na prostym dwukołowym pojeździe bez wielkich oczekiwań co do jego możliwości zdobywania szczytów. Robiąc konstrukcję modułowo będziesz mógł wymieniać i/lub dodawać poszczególne bloki, np. dwa dodatkowe napędy czy enkodery silników i cieszyć się z rozwoju. Staraj się rozwiązywać problemy po kolei, nie projektować na styk i nie bać się wracać do wcześniejszych etapów gdy coś okaże się niepasujące lub nie do przejścia. Jeżeli okaże się, że potrzebujesz momentu 1.5kgcm to wybierz napęd dysponujący 3-4kgcm, bo ten opisany przez producenta jako 1.6 będzie pracował na granicy (albo raczej już poza) swoich możliwości a po 30 sekundach silnik zamieni się w kłąb dymu.

To o czym piszesz bardzo łatwo zrobisz na obu komputerkach. Malina potrafi jakby z założenia więcej - choćby bez problemu obsłuży WiFi - co jest sporym uproszczeniem. Możesz ją programować w C lub w modnych ostatnio językach skryptowych. Z drugiej strony pisząc program na "goły" AVR na pewno nie będziesz miał problemu z opóźnieniami generowanymi przez wołowatego Linuxa, ale obsługę radia będziesz musiał zrobić samemu. Oczywiście w sieci z pewnością znajdziesz wiele gotowych rozwiązań takiego połączenia.

Trzeba też będzie ogarnąć wielowątkowość, która w komputerze nadzorującym wiele procesów toczących się w czasie rzeczywistym będzie niezbędna. "Dorosły" system operacyjny Maliny ma to w standardzie, ale rozwiązując to (samodzielnie lub przy użyciu jednego z kilku dostępnych mini-systemów) na AVR będziesz wiedział jak to się robi w szczegółach, wyczujesz możliwości tego procesora i na następne projekty będziesz już patrzył zupełnie inaczej. Jednostkę centralną dobrze jest wybrać taką, by miała spory nadmiar interfejsów (komunikacyjnych i takich zwykłych pinów I/O) - to na początku nie kosztuje wiele a gdy kiedyś zabraknie do podłączenia jakiegoś fajnego czujnika - masz kłopot.

@deshipu - fajna stronka, faktycznie fajne roboty tam są oparte o Pi, posprawdzam jak one są zbudowane

@Elvis - Pi na początek, AVR może później; cierpliwie czekam na płytkę rozszerzeń 🙂

@r_bot - na pierwszy projekt biorę pod uwagę tylko wifi, bo już mi działa; dzieki za model mostka

@marek1707 - dzięki za tak kompletną odpowiedź; Kwadrat 20x20cm jest zgodny z założeniami. Upraszczam projekt do poruszania się po płaskim, równym terenie. Dobrze, że mnie uprzedziłeś. Rekomendujesz silniki zwykłe, krokowe, czy serwa?

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ę »
×
×
  • Utwórz nowe...