Skocz do zawartości

Wybór mikrokontrolera dla robota


Piekarz

Pomocna odpowiedź

Witam!

Zbudowałem pierwszego robota, który posłużył raczej jako pole do testów. Robot bardziej przypomina płytkę testową dla atmegi 16 niż przemyślaną konstrukcje. Doczekał się jedynie czujników linii i tak pozostało do teraz 😉 (

)Ostatnio odkurzyłem to ustrojstwo i wpadłem na pomysł dodania kilku dodatkowych czujników, jednak tutaj wyszły na jaw niedociągnięcia konstrukcji. Kilka wyprowadzeń procesora jest zajętych na stałe i nie da się ich już wykorzystać. Ucząc się na błędach postanowiłem zbudować trochę bardziej zaawansowaną i przemyślaną konstrukcje - robota uniwersalnego. Na pewno będzie posiadał:

- dwa silniki

- enkodery (jeden dla każdego silnika)

- bluetooth (btm 222/btm 122)

- czujnik linii

- czujnik odległości ( sharp, może więcej niż jeden)

- wyświetlacz LCD

- czujnik koloru

- chwytak (jedno lub dwa serwa)

- 1 lub 2 diody led

- pomiar napięcia akumulatorów

jeszcze nie przemyślane:

- karta SD (lub zewnętrzna pamięć EEPROM, do zapisu mapy otoczenia - być może wystarczy pamięć wbudowana w procesor)

- serwo do obracania czujnika

Właśnie próbuje dobrać mikrokontroler, który "uciągnął" by wszystkie podzespoły. Wybór jak na razie padł na atmege 32. Dałoby się podłączyć wszystkie elementy jednak nie wiem jak wyglądałby czas obsługi wszystkich czujników, sterowanie serwami z jednoczesnym wysyłaniem danych przez BT i wyświetlaniem na LCD. Atmega pracowałaby z częstotliwością 16 Mhz. Mam pytanie do bardziej doświadczonych, czy ktoś mógłby doradzić czy taki procesor jest wystarczający, czy lepiej rozejrzeć się za czymś mocniejszym? może ARM?

Link do komentarza
Share on other sites

Zrobisz to spokojnie na jednym procesorze (ewentualnie jeżeli enkodery będą z dużą częstotliwością wysyłały sygnały to zrobiłbym oddzielny procesor dla nich i dla sterowania serw).

ARM zawsze będzie szybszy, ale o ile nie zależy Tobie na optymalnie szybkiej odpowiedzi na zdarzenia to nie musisz się na niego przesiadać do takiego projektu. Czy tak najważniejsza jest odpowiednia obsługa przerwań, która dla obu procesorów będzie podobna.

Link do komentarza
Share on other sites

Za cene atmega32 możesz mieć o wiele bardziej wydajniejszego ARM, np LPC1313FBD48. Inna kwestią jest mapowanie. Zapoznaj się z robotem który jest tu: http://www.pirobot.org/blog/0014/

Tutaj za mapowanie odpowiada mały PCet i Robot Operating System. Mapowanie i poruszanie się po mapie to nie jest prosta sprawa. Niestety sama atmega tu nie wystarczy.

Jeśli zrezygnujesz z mapowanie to atmega32 spokojnie wystarczy:)

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

misha89, Zdaje sobie sprawę z trudności mapowania otoczenia, myślałem o podobnym rozwiązaniu z ARM'em i linuksem. Do tego zadania nadawałby się tani chiński netbook np. taki: http://allegro.pl/mini-laptop-7-wifi-128-mb-ram-2gbsd-wind-c-i1707100281.html Ma na pokładzie wifi, sporo pamięci i mocny procesor. Do tego można podłączyć kamerkę, co dałoby potężne narzędzie 😉 Jednak zbudowanie poprzedniego robota zajęło mi około roku... zajmowałem się nim tylko w wolnych chwilach, większość czasu spędził w szufladzie. Może kiedyś w przyszłości pokuszę się na zbudowanie czegoś tak rozbudowanego 😉 mam pewną koncepcje, żeby mój robot poruszał się w labiryncie zbudowanym z linii (poprószałby się w nim jak line follower) - nie wgryzłem się jeszcze w temat, być może lepiej żeby był to labirynt podobny do labiryntów micro mouse. Wydaje mi się że zbudowanie takich map jest dużo prostsze niż analiza "zwykłego" otoczenia 😉 Nad tą kwestią jeszcze intensywnie myślę 😋 Ale wydaje mi się że taka mapa zajmowałaby niewiele pamięci... Póki co skłaniam się do atmegi, ceny ARMów są faktycznie niskie, jednak kupując ARMA mósiałbym się wyposażyć dodatkowo w programator który też swoje kosztuje... jeśli atmega jest wystarczająca, zostane raczej przy atmedze 😉

Link do komentarza
Share on other sites

Treker, dokładnie... atmega powinna dać radę? Robot działałby jako zwykły LF, poruszałby się w labiryncie + posaidałby ramię z czujnikiem kolorów dla urozmaicenia 😉 mógłby pożadkowac kolorowe przedmioty w labiryncie na przykład 😉

Link do komentarza
Share on other sites

Kiedyś myślałem żeby nakleić na podłogę kolorową taśmę po której poruszałby się robot:P np mógłby dojechać do kwiatków i je podlać🙂 w najbliższym czasie będę zajmował się robotem wykorzystującym kamerę Kinect do poruszania się.

Możesz użyć kamery internetowej i napisać soft do analizy obrazu w OpenCV. Albo jak nie lubisz programować to polecam program RoboRealm! Pełna wersja kosztuje ok. 90$. http://www.roborealm.com/ Ma bardzo dużo funkcji do analizy obrazu, portu szeregowego, komercyjnych robotów, płytek Pololu itp.

Spoko laptopik:) ciekawe czy są awaryjne:P

Link do komentarza
Share on other sites

misha89, ciekawa biblioteka OpenCV, swojego czasu pisałem program od zera do analizy obrazu na linuksie. Pobierał surowe ramki ze sterownika... raczej w celach edukacyjnych 😋

Dzięki za odpowiedzi, zabieram się za budowe 😉

Link do komentarza
Share on other sites

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...

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.