Skocz do zawartości

Pytania odnośnie sterowania quadrapod'em


cinek93

Pomocna odpowiedź

Witam, w dziedzinie robotyki jestem dopiero żółtodziobem. Niedawno ukończyłem mojego pierwszego robota, światłoluba. Teraz chciałbym się zająć czymś bardziej ambitnym, a mianowicie quadrapodem.

Żeby nie było zbędnych komentarzy od razu powiem jakie mam predyspozycje do wykonania swojego zadania. Przez długi czas bawiłem się w konstruowanie i sterowanie modeli samolotów rc. Ostatnimi czasy postanowiłem się zająć robotyką. Jednak różnica pomiędzy robotyką a modelarstwem jest dosyć spora. W modelarstwie skupiałem się bardziej na wykonaniu modelu, a cała elektronika nie była bardzo skomplikowana. W robotyce całą uwagę skupia się właśnie na układach elektronicznych. Druga sprawa to programowanie. Swojego czasu bawiłem się w programowanie programów cheaterskich dla gier komputerowych (tzw. botów) w języku C w oparciu o biblioteki, oprócz tego na lekcjach informatyki programowałem w C różne działania matematyczne. Jednak nie posiadam dużej wiedzy na temat programowania procesorów, ale można się tego w międzyczasie poduczyć😉

A teraz wracam do quadrapoda. Robot ma posiadać po 3 stopnie swobody na nogę. Jako sterownik 12 serw zamierzam użyć płytki arduino uno, gdyż jest bardzo ciekawa stronka, w której jest sporo informacji o jej programowaniu. Układ zamierzam zasilać li-polem.

Do sterowania mam zamiar użyć aparatury: Hitec Laser 4. Początkowo wydawało mi się, że takich aparatur nie stosuje się w robotyce, ale gdy przejrzałem sobie lynxmotion, ujrzałem w ofercie mój nadajnik. W opisie przeczytałem, że nadaje się do sterowania quadrapodami. Niestety nie za bardzo wiem w jaki sposób steruje się poprzez aparaturę rc roboty zdalnie sterowane. W modelarstwie zasada była prosta. Miałem aparaturę i odbiornik 4kanałowy, do każdego kanału było przypisane jedno urządzenie (np. kanał: 1-silnik, 2-ster wysokości, 3-lotki, 4-ster kierunku). W sterowaniu robotem pod jednym kanałem nie będzie urządzenie, ale czynność, którą powoduje ruch kilku serwomechanizmów. Dlatego nie wiem w jaki sposób mam podpiąć do układu odbiornik i czy muszę programować aparaturę do sterowania robotem.

Będę bardzo wdzięczny za udzielenia mi tych informacji.

Link do komentarza
Share on other sites

Musisz podpiąć odbiornik pod procesor, tam dopiero na podstawie podanych informacji wysterować serwa. Nie wiem jak dokładnie, bo nigdy tego nie robiłem, ja wykorzystałem moduły radiowe i sam zrobiłem pilot.

Quadropod to dość skomplikowana konstrukcja, jesteś pewien że chcesz właśnie to budować jako swojego drugiego robota? Polecam zrobić najpierw projekt w CAD'zie.

  • Lubię! 1
Link do komentarza
Share on other sites

Sterowania powinno wyglądać tak, że wejścia (piny portów ustawione jako wejściowe) mikrokontrolera podpinasz tam gdzie normalnie podpiął byś serwomechanizmy, mikrokontroler w łatwy sposób może odczytać sygnały sterujące z odbiornika modelarskiego i na ich podstawie (np. odbiera sygnał odpowiadający sygnałowi który wychyliłby lotkę samolotu w lewo) wysterowuje odpowiednio (w odpowiednią stronę i z odpowiednim opóźnieniem) serwa znajdujące się w nogach robota.

  • Lubię! 1
Link do komentarza
Share on other sites

Jeśli chcesz pomocy to ja ze swej strony oferuję swoją. Wiem jak za pomocą typowej apki wysterować co zechcę. Mam za sobą sterownik światełek do modeli rc w skali 1:10. sam zajmuję się driftem modeli w skali 1:10.

Tu masz filmik poglądowy jak realizowałem odbiór z typowego odbiornika modelarskiego. podpinam się pod odbiornik i heja, ale dziełajut w BASCOM.

Łącznie z zapamiętywaniem nastaw aparatury jak w ponizszym filmiku:

  • Lubię! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Wielkie dzięki, teraz wszystko rozumiem 🙂

Sterowania powinno wyglądać tak, że wejścia (piny portów ustawione jako wejściowe) mikrokontrolera podpinasz tam gdzie normalnie podpiął byś serwomechanizmy, mikrokontroler w łatwy sposób może odczytać sygnały sterujące z odbiornika modelarskiego i na ich podstawie (np. odbiera sygnał odpowiadający sygnałowi który wychyliłby lotkę samolotu w lewo) wysterowuje odpowiednio (w odpowiednią stronę i z odpowiednim opóźnieniem) serwa znajdujące się w nogach robota.

czyli mam to rozumieć w taki sposób, że jak mam 4kanałowy odbiornik to potrzebuję na niego 4wejść mikrokontrolera (po 1 na kanał) i odpowiednio każdy kanał zaprogramować? Czyli moja płytka mająca 14pinów nie wystarcza, bo 12 idzie na serwa, a 4 na odbiornik 😋 .

Quadropod to dość skomplikowana konstrukcja, jesteś pewien że chcesz właśnie to budować jako swojego drugiego robota? Polecam zrobić najpierw projekt w CAD'zie.

wiem, że to będzie bardzo skomplikowane do wykonania, ale co do zbudowania modelu (po zaprojektowaniu go w CADzie) to wiem, że dam radę. Gorzej z programowaniem...

Jeśli chcesz pomocy to ja ze swej strony oferuję swoją. Wiem jak za pomocą typowej apki wysterować co zechcę. Mam za sobą sterownik światełek do modeli rc w skali 1:10. sam zajmuję się driftem modeli w skali 1:10.

Tu masz filmik poglądowy jak realizowałem odbiór z typowego odbiornika modelarskiego. podpinam się pod odbiornik i heja, ale dziełajut w BASCOM.

tylko nie wiem czy takie konstrukcje jak quadrapod da się w ten sposób wysterować :/

Link do komentarza
Share on other sites

czyli mam to rozumieć w taki sposób, że jak mam 4kanałowy odbiornik to potrzebuję na niego 4wejść mikrokontrolera (po 1 na kanał) i odpowiednio każdy kanał zaprogramować? Czyli moja płytka mająca 14pinów nie wystarcza, bo 12 idzie na serwa, a 4 na odbiornik .

Dobrze to rozumiesz. 14 pinów to bardzo mało, po pierwsze zabraknie na 4 kanały i 12 serw a poza tym nie będziesz mógł dodać żadnych ulepszeń ani bajerów. Nie interesowałem się nigdy arduino ale wiem, że są większe (z większą ilością wyprowadzonych wejść/wyjść) płytki.

Link do komentarza
Share on other sites

Dobrze to rozumiesz. 14 pinów to bardzo mało, po pierwsze zabraknie na 4 kanały i 12 serw a poza tym nie będziesz mógł dodać żadnych ulepszeń ani bajerów. Nie interesowałem się nigdy arduino ale wiem, że są większe (z większą ilością wyprowadzonych wejść/wyjść) płytki.

Jest również arduino mega 54pinów: http://allegro.pl/arduino-mega-atmega1280-kabel-usb-gratis-i1334521970.html

128KB pamięci flash wystarczy w zupełności? Nie chcę kupować 2razy droższej płytki z 256KB.

Link do komentarza
Share on other sites

128KB pamięci flash wystarczy w zupełności? Nie chcę kupować 2razy droższej płytki z 256KB.

8kB pewnie by już wystarczyło. Ale RAMu nigdy za wiele. 🙂 Ta wersja arduino spokojnie ci wystarczy, tylko, że jest strasznie droga a nic nie niej nie ma. Ale jak się uparłeś na arduino to może być.

Link do komentarza
Share on other sites

Jak dla mnie to mocno drogo. Taki trochę przerost formy nad treścią.

tylko nie wiem czy takie konstrukcje jak quadrapod da się w ten sposób wysterować :/

Co się nie da? Wszystko się da, przecież to technika mikroprocesorowa. Tu teoretycznie nie ma rzeczy niemożliwych.

Pobierasz impulsy z każdego kanału odbiornika i przetwarzasz, cała reszta leży w sofcie.

Link do komentarza
Share on other sites

Co do flasha w procesorze, do quadropoda wystarczyłoby może rzeczywiście 8kB, ale bezpieczniej będzie wybrać procesor w większą ilością, bo te 8kB może wyjść na styk. Ja do wysterowania 12 serw w hexapodzie używam więcej.

Zastanawiałeś się już jak chcesz zasilać serwa?

Link do komentarza
Share on other sites

Ja do wysterowania 12 serw w hexapodzie używam więcej.

Tutaj powinien być komentarz TIMONka o nieoptymalnym pisaniu kodu 🙂

Z tym, że normalne Arduino ma 14 pinów I/O cyfrowych i jeszcze 6, które mogą służyć jako wejścia analogowe, czyli razem 22

Przejrzałem z grubsza dokumentacje Arduino Uno i faktycznie wydaje się być wystarczająca: 32kB flashu i 22 piny I/O (wejścia analogowe możesz użyć jak zwykłe piny I/O).

Link do komentarza
Share on other sites

nes86, arduino jest o tyle głupie, że własnie portów ADC nie pozwala wykorzystać jako I/O, przynajmniej nie bezpośrednio (trzeba by robić wstawki czystego C w tym arduinowym języku typu C). Ale może coś się zmieniło, od czasu gdy używałem IDE arduino i swoich robionych płytek nibyarduino.

Link do komentarza
Share on other sites

arduino jest o tyle głupie, że własnie portów ADC nie pozwala wykorzystać jako I/O, przynajmniej nie bezpośrednio

Dlaczego? Spojrzałem tylko na płytkę arduino uno i raczej powinno się dać. Przecież tam siedzi "chyba" zwykły avr a wejścia adc wyprowadzone są bezpośrednio na piny.

Link do komentarza
Share on other sites

KD93 napisał/a:

Ja do wysterowania 12 serw w hexapodzie używam więcej.

Tutaj powinien być komentarz TIMONka o nieoptymalnym pisaniu kodu 🙂

Tylko nie zapominaj, że cinek93 bedzie pierwszy raz programował coś takiego, więc jego pierwszy kod raczej też nie będzie optymalny.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.