Skocz do zawartości

Enkodery i AVR


DaveV13

Pomocna odpowiedź

Halo halo,

buduje robota czterokołówego 4x4 i potrzebuję czyjeś opinii, żeby dobrać mikrokontroler (najlepiej AVR). Chcę obsłużyć 4 enkodery magnetyczne pololu - te o 12 impulsach na obrót. Na początku myślałem, żeby wziąć Atmega328P i je obsłużyć przerwaniami od portów PCINT, bo zewnętrznych INT jest za mało ( 2 ). No i pytanie, czy 4 enkodery to już za dużo jak na tą rodzinę uC, czy przez przypadek nie porywam się z motyką na słońce? Znacie jakieś Atmegi z większą liczbą przerwań zewnętrznych?? Z góry dzięki.

Link do komentarza
Share on other sites

Wg mojej najlepsze wiedzy, najlepszą metodą na obsługę enkoderów na procesowy AVR (domyślam się, że chodzi o ATMega) jest obsługa w przerwaniach od timera.

W takim to przerwaniu można więcej niż jeden enkoder obsługiwać, wszystko zależy od szybkości sprawdzania stanów na pinach enkoderów tj. od częstotliwości przerwań od licznika.

Polecam szczególnie ten wątek:

https://forum.atnel.pl/topic18208.html

Mamy tam gotową bibliotekę do obsługę enkoderów w kilku rodzajach. Bibliotekę sam z powodzeniem stosuję w swoich projektach i jeszcze mnie nie zawiodła 🙂

Taka implementacja obsługi nie potrzebuje żadnych dodatkowych filtrów (kondensatorów i rezystorów),  jest odporna na drgania styków,.

Jeśli w grę mogą wchodzić mikrokontrolery z innych rodzin, to te od ST mają zwykle sprzętowa obsługę enkoderów, właściwe dla większości liczników i można obsługiwać co najmniej kilka enkoderów. Osobiście jeszcze tego nie stosowałem, bo wyżej zaprezentowana biblioteka jest naprawdę niezła.

 

  • 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

Fajnie byłoby porządnie do tego podejść. Jestem ciekaw czy na Atmedze bym zainplementował te regulatory. Nie chciał bym wchodzić w np. Stm'y, bo mogę nie zdążyć, żeby to ogarnąć. No chyba, że mnie ktoś przekona i powie "Hej, przecież to łatwe" 🙂

Jaką rozdzielczość byś sugerował Treker?

Link do komentarza
Share on other sites

1 godzinę temu, DaveV13 napisał:

Jestem ciekaw czy na Atmedze bym zainplementował te regulatory.

No właśnie w tym kontekście Cię pytałem o zastosowanie. Chcesz robić regulator pozycji, czy tylko mniej-więcej wiedzieć ile przejechało dane koło (zakładając brak poślizgu)? Możesz dać link do tych konkretnych enkoderów?

Link do komentarza
Share on other sites

Moje zastosowanie niech narazie dąży do przejechania przez robota trasy w postaci figur geometrycznych przeze mnie zadanych - pewnie łatwe do osiągnięcia, chociaż intryguje mnie ten artykuł o sterowaniu 2.0 i chyba pójdę w tą stronę. Tylko nie chciałbym ograniczyć się platformą. 

Enkoder: https://www.pololu.com/product/3081

Zakładając, że wybrałbym silnik z przekładnią 50:1 wyszło by z 600 impulsów na obrót koła. 

Link do komentarza
Share on other sites

16 godzin temu, DaveV13 napisał:

Moje zastosowanie niech narazie dąży do przejechania przez robota trasy w postaci figur geometrycznych przeze mnie zadanych - pewnie łatwe do osiągnięcia

To jest najtrudniejsze, co się da wymyślić, szczególnie jeśli chcesz, żeby na koniec linie się spotykały dokładnie w miejscu startu.

Link do komentarza
Share on other sites

To zbuduje sobie narazie prototyp - dwukolowy na 2 takich enkoderach, arduino i zobaczę jakie będą efekty, czy mnie zadowolą czy nie. Myślę, że na tą chwilę najlepszy pomysł, a przy okazji zbiorę trochę informacji i wyciągnę odpowiednie wnioski. Ktoś za? 🙂

Link do komentarza
Share on other sites

A może silniki krokowe? Odpadają enkodery i słaba kontrola położenia silników DC. No i podwozie 4-kołowe do tego celu to zły pomysł. Nigdy nie wiesz jak ono zakręci, bo ostateczne położenie jego geometrycznego środka i orientacja po wykonaniu manewru będą zależały od stosunku współczynników tarcia opon. A przecież nigdy równe nie będą. Poza tym takie coś bierze zakręty z definicji na poślizgu - przemyśl to sobie. Do rysowania dobrze nadaje się podwozie 2-kołowe, bo jeśli nie zrobisz czegoś głupiego żadna z dwóch opon nie przesuwa się tu w bok ani nie musi ślizgać. Wyznaczasz położenia czasowe impulsów kroków do dwóch sterowników i masz prawie że wprost zadane krzywe na płaszczyźnie. Błędy oczywiście zawsze jakieś będą, ale tutaj nie są wbudowane w metodę a zależą jedynie od dynamiki pojazdu (algorytm łagodnej jazdy, żadnych gwałtownych przyspieszeń) i szerokości opon  a te powinny być jak najwęższe, np z gumowych oringów.

Link do komentarza
Share on other sites

Dnia 31.08.2018 o 22:06, DaveV13 napisał:

Zakładając, że wybrałbym silnik z przekładnią 50:1 wyszło by z 600 impulsów na obrót koła. 

Silniki 50:1 pozwalają na dość szybką jazdę, będziesz wykorzystywał ich maksymalne możliwości? Im szybsza jazda tym większe poślizgi itd. Jeśli nie zależy Ci na prędkości wybierz jeszcze większe przełożenie - może nawet 150:1. Wtedy będziesz miał bardzo fajne sprzężenie zwrotne z enkoderów 🙂

  • Lubię! 1
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.