Skocz do zawartości

Jazda po prostej z enkoderami


Pomocna odpowiedź

Jako metodę pomiaru wybrałem zliczanie impulsów w określonym okresie czasu z ww względu oraz dlatego, że enkoder przysparza problemów przy małych prędkościach.

Można ustalić pewien próg prędkości obrotowej, przy którym następuje zmiana metody pomiaru z liczenia czasu na liczenie impulsów.

Link to post
Share on other sites
Jako metodę pomiaru wybrałem zliczanie impulsów w określonym okresie czasu z ww względu oraz dlatego, że enkoder przysparza problemów przy małych prędkościach.

Można ustalić pewien próg prędkości obrotowej, przy którym następuje zmiana metody pomiaru z liczenia czasu na liczenie impulsów.

Oczywiście można tylko pomiar okresu stosuje się dla małych prędkości obrotowych, a u mnie wtedy jest problem z impulsami co widać na wykresie wyżej dlatego ta metoda odpada. W wykorzystywanym przeze mnie projekcie liczba impulsów jest wystarczająca aby uzyskać aktualną prędkość z częstotliwością 100Hz z rozdzielczością ok 8 bitów metodą pomiaru ilości impulsów.

Link to post
Share on other sites

Może troszkę offtop.

co_pat- z własnego doświadczenia odradzam stosowanie rozwiązań teoretycznych/symulacyjnych, które w praktyce trudno byłoby zrealizować. Zwykły filtr uśredniający/dolnoprzepustowy RC o mniej/więcej dobranej stałej czasowej da niewiele gorsze efekty.

Jak się domyślam próbki zebrane z fizycznej konstrukcji. Druga połowa wykresu obrazuje jakieś słabe hamowanie ewentualnie dziwne luzy (chodzi mi o niską zaszumioną prędkość obrotową). Warto też podpisywać osie 😉.

( oczywiście częstotliwość pracy regulatora powinna być możliwie jak największa)
.

No niestety zdecydowanie się nie zgodzę. Ogólnie rzecz biorąc czas próbkowania powinien być dostosowany do obiektu. Zbyt mały - sprawa jasna- regulator się nie wyrobi/informacja nieaktualna. Ale zbyt duży- stosunek sygnału/szumu maleje. Dasz np. czas próbkowania 1 ms a reakcja na silnikach jest dopiero po kilkudziesięciu w najlepszym wypadku. Z klasycznego regulatora PID robi się zwykły dwustawny (który jednak też potrafi działać 🙂 ).

Co do zmiennych warunków pomiaru- bardzo niebezpieczna sprawa. Załóżmy że jest jakiś ustalony prób wartości prędkości x, przy której zasada pomiaru ma się zmienić z 1. (ilość impulsów w stałym czasie) na 2. (czas pomiędzy impulsami). Będąc na pograniczu progu ±y% zacznie się kompletny bajzel, a dane będą niespójne- raz będzie jedna metoda a np następny pomiar spowodowany zakłóceniem będzie druga. Moim zdaniem metoda 1. jest prostsza, łątwiejsza w implementacji i opracowaniu, nie wymaga też dodatkowych obliczeń. Zawsze można zwiększyć czas próbkowania (łatwo) kosztem niestety większej pamięci dla pomiarów.

Link to post
Share on other sites
Będąc na pograniczu progu ±y% zacznie się kompletny bajzel, a dane będą niespójne- raz będzie jedna metoda a np następny pomiar spowodowany zakłóceniem będzie druga.

Oj nie będzie bajzlu, od tego jest histereza 🙂

A zysk jest bardzo duży, gdyż dzięki podziałowi zmniejsza się poziom błędu metody pomiarowej, a to bardzo istotne.

Link to post
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

Może troszkę offtop.

co_pat- z własnego doświadczenia odradzam stosowanie rozwiązań teoretycznych/symulacyjnych, które w praktyce trudno byłoby zrealizować. Zwykły filtr uśredniający/dolnoprzepustowy RC o mniej/więcej dobranej stałej czasowej da niewiele gorsze efekty.

Jak się domyślam próbki zebrane z fizycznej konstrukcji. Druga połowa wykresu obrazuje jakieś słabe hamowanie ewentualnie dziwne luzy (chodzi mi o niską zaszumioną prędkość obrotową). Warto też podpisywać osie 😉.

Próbowałem rożnych filtrów w tym uśredniających, ale najlepsze efekty w tym najmniejsze przesunięcie fazowe uzyskałem właśnie dla Butterworth'a, a liczba obliczen niewiele większa.

Dziwny wygląd przebiegu spowodowany jest rozpędzaniem napędu palcem 😋, a osie nie są podpisane bo wykres robiony na szybko w excelu 😋

( oczywiście częstotliwość pracy regulatora powinna być możliwie jak największa)
.

No niestety zdecydowanie się nie zgodzę. Ogólnie rzecz biorąc czas próbkowania powinien być dostosowany do obiektu. Zbyt mały - sprawa jasna- regulator się nie wyrobi/informacja nieaktualna. Ale zbyt duży- stosunek sygnału/szumu maleje. Dasz np. czas próbkowania 1 ms a reakcja na silnikach jest dopiero po kilkudziesięciu w najlepszym wypadku. Z klasycznego regulatora PID robi się zwykły dwustawny (który jednak też potrafi działać 🙂 ).

Zgadzam się z Tobą w 100%, tylko mówimy tu o skrajnych przypadkach. Ja miałem na myśli regulator implementowany np. w ATmedze gdzie mamy dość okraniczoną moc obliczeniową 🙂

Link to post
Share on other sites

Owszem, można wprowadzić histerezę w dwa różne kierunki trendu, ale trzeba tą informację jeszcze zapamiętać a dokładniej chwilę wystąpienia zmiany metody ,najlepiej zsynchronizować z pomiarami. Ponadto jeżeli chce się przeliczyć czas pomiędzy impulsami na prędkość w stałej jednostce czasu to dochodzą bardzo niefajne dzielenia na intach (żeby tylko). Do tego jeżeli rozmawiamy o 8bitowcach może być jeszcze mniej ciekawie. Jeżeli dondu próbowałeś zaimplementować tego typu rozważania w praktyce to z chęcią zobaczyłbym wyniki. Jeśli nie, pozostanę przy swoim 🙂

co_pat- napisałem, że chodzi mi o rozwiązania "w praktyce"- rzeczywiste/namacalne, zrealizowane za pomocą układów elektronicznych.

Link to post
Share on other sites
Owszem, można wprowadzić histerezę w dwa różne kierunki trendu, ale trzeba tą informację jeszcze zapamiętać a dokładniej chwilę wystąpienia zmiany metody ,najlepiej zsynchronizować z pomiarami.

To szukanie dziury w całym. To tak krótki moment, że dla silnika niezauważalny, chociażby z powodu jego bezwładności.

Ponadto jeżeli chce się przeliczyć czas pomiędzy impulsami na prędkość w stałej jednostce czasu to dochodzą bardzo niefajne dzielenia na intach (żeby tylko). Do tego jeżeli rozmawiamy o 8bitowcach może być jeszcze mniej ciekawie..

Jeżeli to BASCOM - być może tak (nie znam), ale w C nie ma tego problemu, a mikrokontroler spokojnie będzie się nudził, i to bardzo. Choć oczywiście zawsze można i C zarżnąć.

Jeżeli dondu próbowałeś zaimplementować tego typu rozważania w praktyce to z chęcią zobaczyłbym wyniki. Jeśli nie, pozostanę przy swoim 🙂

Z chęcią pokaże rezultaty, gdy do nich dojdę: http://robonauci.blogspot.com

lub przyznam rację jeżeli polegnę 🙂

Link to post
Share on other sites

Witam. Jakie polecacie enkodery do MM dla silników pololu HP 30:1? Myślałem nad TCRT1000 + tarcza, jednak raczej ciężko będzie uzyskać przy tych silnikach dokładność powyżej 0.4mm przy zastosowaniu jako enkodera kwadraturowego. AS5040 jakoś mnie nie przekonują, ze względu na wymagania, chyba że ktoś już ma pozytywne doświadczenia z stosowania ich z tymi silnikami.

Macie jakieś pomysły?

Link to post
Share on other sites

Ja użyłem CNY70 i przy kompletnej prowizorce wyciągałem z tego 90 impulsów na obrót przy 30:1, ale tarcza u mnie była dość mała - 8mm. można podnieść silniki troszkę i wstawić większą tarczę, wtedy 120 nie powinno być problemem.

Co do całego tematu, to aktualnie z braku czasu musiałem trochę odstawić projekt, ale powoli staram się testować różne rozwiązania.

Link to post
Share on other sites

Z enkoderów proste i skuteczne rozwiązanie to tarcze z myszek kulkowych. Próbowałem też zrobić inkrementalny na bazie tarczy własnej roboty i KTIRów. Niestety w moich testach potrzebowałem minimum 2 mm szerokości pojedynczego paska- osiągalną rozdzielczość określa średnica tarczy.

Jeżeli ktoś już próbował coś takiego robić z lepszym rezultatem to byłbym rad za jakąś wskazówkę, ewentualnie podrzuć Treker zdjęcie w miarę możliwości jak na tych wielkich CNY70 uzyskałeś takie rezultaty przy tarczy fi 16.

Link to post
Share on other sites

Tarcze z myszki raczej odpadają bo ciężko takie coś zamocować prosto na wale, aby nie biło przy 30 000 rpm. Jeżeli nic nowego nie wymyślę to zastosuję 2x TCRT1000 do pojedynczego silnika jako enkoder inkrementalny, i licząc "impuls" co każde zbocze. W ten sposób powinno się udać zastosować tarczę 4 pola białe i 4 czarne, co da łącznie 16 impulsów na 1 obrót wału silnika. Myślę że impuls co 0.2 mm powinien już wystarczyć.

Link to post
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.