Skocz do zawartości

Arduino i enkoder CPR


zazik

Pomocna odpowiedź

Dużo zależy od tego ile tych CPR Twój enkoder ma. Jeżeli dużo i w dodatku siedzi na osi silnika (a nie na wale wyjściowym przekładni) to częstotliwość impulsów będzie wysoka. Już dla 1000rpm i 64CPR masz ponad 1kHz a przecież nie są to wysokie obroty jak na silnik DC. Musisz pamiętać, że środowisko Arduino już "samo z siebie" korzysta w sposób niejawny z wielu przerwań procesora. Podstawowe to przerwanie liczące czas, następne to te obsługujące generację programowych PWM i sygnałów do serwomechanizmów. Do tego dochodzi UART (Serial.cośtam) i zaczyna być gęsto. Jeżeli przerwanie od wejścia enkodera "nie wciśnie" się między obsługi pozostałych, krok zostanie zgubiony a dodatku przy dużym obciążeniu nie będzie już czasu na wykonywanie programu głównego.

Odpowiedzi na tak ogólne pytania nie są proste, bo i szczegóły implementacji nie są zawsze takie same. Raz się da coś zrobić, innym razem trzeba lekko coś zmodyfikować a w jeszcze innym przypadku po prostu nie ma szans. Napisz jaki to enkoder, czy kwadraturowy i czy potrzebujesz detekcji kierunku. Czy jest na osi silnika, jak szybko zamierzasz nim kręcić i wreszcie jaką pętlę chcesz zamykać? Położenie robota (odometria) czy sam regulator obrotów silnika.

Nie zawsze potrzebna jest duża rozdzielczość więc może wystarczy mniej CPR, może trzeba będzie poświęcić osobny procesor na obsługę pętli sterowania silnikami albo wstawić inny, szybszy lub ze sprzętową obsługą enkoderów. Robi się obsługę takich enkoderów na gołych AVR i to działa do wielu(nastu) kHz, ale organizacja systemu Arduino zużywa trochę mocy procesora i trzeba to wziąć pod uwagę.

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.