Skocz do zawartości

AS5040 - niestabilny odczyt połozenia.


co_pat

Pomocna odpowiedź

Witam!

Czy ktoś z forumowiczów ma może doświadczenie zarówno pozytywne jak i negatywne z enkoderami AS5040?

Mój problem polega na tym, że nie mogę uzyskać stabilnego odczytu.

Enkoder zaprogramowany w opcji Step/Dir-Mode2.0 ( 10 bit) przy nieruchomym magnesie podaje impulsy tak jakby magnes poruszał się w dwóch kierunkach. Dodatkowo przy obrocie liczba impulsów na jeden pełen obrót jest różna.

Odległość magnesu od obudowy układu mieści się w normie.

Za wszelkie wskazówki będę bardzo wdzięczny 🙂

Link do komentarza
Share on other sites

Mój problem polega na tym, że nie mogę uzyskać stabilnego odczytu.

Enkoder zaprogramowany w opcji Step/Dir-Mode2.0 ( 10 bit) przy nieruchomym magnesie podaje impulsy tak jakby magnes poruszał się w dwóch kierunkach. Dodatkowo przy obrocie liczba impulsów na jeden pełen obrót jest różna.

Nie mam doświadczeni z tym enkoderem, ale skoro masz 10 bitową rozdzielczość, to oznacza, że mechaniczna dokładność Twojego urządzenia musi być na tyle dobra by nie było "luzów" większych niż 0,35 stopnia. Co więcej dokładność powinna być znacznie większa. Czy jesteś pewien, że spełniasz ten warunek?

A o ile skaczą Ci te wyniki?

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

Niestety właściwie jest to tylko przetłumaczona nota aplikacyjna.

Możesz zamieścić Patryku zdjęcie jak zamontowałeś magnes? może krzywo?😋

Zdjęcie nic nie wniesie bo PCB i tak wszystko zasłania. Magnes starałem się przykleić jak najlepiej potrafiłem. Na oko nie widać żadnej niewspółosiowości wału twornika z magnesem względem otworu o 2 mm większego od średnicy magnesu w którym się on znajduje.

Nie mam doświadczeni z tym enkoderem, ale skoro masz 10 bitową rozdzielczość, to oznacza, że mechaniczna dokładność Twojego urządzenia musi być na tyle dobra by nie było "luzów" większych niż 0,35 stopnia. Co więcej dokładność powinna być znacznie większa. Czy jesteś pewien, że spełniasz ten warunek?

A o ile skaczą Ci te wyniki?

Magnes jest przyklejony do twornika silnika opartego na dwóch łożyskach więc myślę, że to nie to. Wyniki skaczą różnie od kilku do nawet kilkuset impulsów na sekundę.

Problem pojawia się jak wspomniałem nawet gdy magnes jest nieruchomy więc mechanika w tym momencie nie ma dużego wpływu.

Link do komentarza
Share on other sites

A jesteś pewien że dobrze zaprogramowałeś tego as5040? Jak masz jeszcze jeden, to uruchom taki w trybie defaultowym i na przerzutniku D dorób wyjście do wskazywania kierunku - jak sygnał tylko z jednego wyjścia kwadraturowego dasz to zmniejszysz rozdzielczość do 256 imp./obr. i może lepiej zauważysz co jest nie tak.

Link do komentarza
Share on other sites

Nie programowałem tego trybu, ale odczytując wyjścia PWM sygnał odpowiadał idealnie położeniu bez żadnych dodatkowych skoków.

Kiedyś mój kolega miał problem z tymi czujnikami, ale z tego co pamiętam dodanie kilku kondensatorów rozwiązywało problemy. Dobrze odfiltruj zasilanie...

Link do komentarza
Share on other sites

A jesteś pewien że dobrze zaprogramowałeś tego as5040? Jak masz jeszcze jeden, to uruchom taki w trybie defaultowym i na przerzutniku D dorób wyjście do wskazywania kierunku - jak sygnał tylko z jednego wyjścia kwadraturowego dasz to zmniejszysz rozdzielczość do 256 imp./obr. i może lepiej zauważysz co jest nie tak.

Jest dobrze zaprogramowany - sprawdzałem wszystkie tryby pracy i we wszystkich pojawia się ten problem, ale maleje wraz z mniejszą rozdzielczością.

Przypomniało mi się - AS5040 może być wprowadzony w tryb przy programomwaniu przy uruchomieniu, po resecie jest dalej default, może tak właśnie robisz?

Programuje go po każdym uruchomieniu układu - non-permanent.

No i dobrze było by rzucić okiem na schemat.

Połączenia wg. noty aplikacyjnej, nic specjalnego. Nie ma kondensatora 10nF przy wejściu Prog, bo nie programuje OTP. Spróbuję jeszcze dodać rezystor pomiędzy DO i GND może coś zmieni.

Nie programowałem tego trybu, ale odczytując wyjścia PWM sygnał odpowiadał idealnie położeniu bez żadnych dodatkowych skoków.

Kiedyś mój kolega miał problem z tymi czujnikami, ale z tego co pamiętam dodanie kilku kondensatorów rozwiązywało problemy. Dobrze odfiltruj zasilanie...

Na razie przy samych nogach AS5040 jest tantal 10uF i ceramiczny 100nF. Może to być za mało?

Spróbuję zwiększyć ten tantalowy i napiszę co się dzieje.

@EDIT!

Dodałem jeszcze jeden kondensator tantalowy 10uF na zasilaniu, kondensator przy wejściu Prog i rezystor od DO do GND i niestety nic to nie zmieniło.

Spróbuje jeszcze pozmieniać ustawienie obudowy układu względem magnesu, może w tym tkwi problem.

Link do komentarza
Share on other sites

Możliwe też że magnes po prostu lipny, z tego co pamiętam to producent ma zalecenia co do siły magnesu - sama średnica i wysokość nie starczą

Magnes jest dokładnie taki jak zaleca producent.

[ Dodano: 25-08-2011, 14:30 ]

Dostałem bardzo wyczerpującą odpowiedz od technicznego supportu austriamicrosystems. Zastosuję się do ich wskazówek i postaram się wszystko opisać 🙂

[ Dodano: 25-08-2011, 22:26 ]

Już po kilku testach więc mogę napisać co udało się osiągnąć do tej pory.

Support techniczny austriamicrosystems zwrócił mi uwagę na następujące rzeczy:

- magnes nie może być zamontowany bezpośrednio na wale z materiału ferromagnetycznego minimalna odległość od ferromagnetyka to 3mm

- ustawienie obudowy układu względem magnesu nie tylko w granicach 0.5 - 1.8mm ale także z zachowaniem stanów alarmowych określonych przez MagDEC i MagINC ( okazało się, że magnes był za blisko )

- efekt niestabilności impulsów pojawia się kiedy zasilanie nie jest odpowiednio filtrowane i kiedy nie ma kondensatora przy wyjściu VDD3V3 przy zasilaniu 5V i gdy magnes zatrzyma się w punkcie przejścia między dwiema wartościami, zalecane wprowadzenie programowej histerezy (narazie nie mam pomysłu jak 😋 )

- w opcji step/dir bit kierunku również może być niestabilny więc zalecają sprawdzać czas trwania tego wyjścia nie tylko poziom

- ostatni wskazówka to mimo wszystko stosowanie filtrów cyfrowych - chociaż uśredniających

Po zastosowaniu się do wszystkich wskazówek ( bez filtrowania ) efekt jest minimalnie lepszy. Dokładnie można zauważyć kiedy magnes zatrzyma pomiędzy dwiema wartościami i impulsy skaczą jak chcą. Przy większej prędkości obrotowej jest lepiej.

[ Dodano: 25-09-2011, 16:59 ]

Zadowalające efekty udało się uzyskać dopiero po filtrowaniu cyfrowym filtrem dolnoprzepustowym Butterworth'a II rz z częstotliwością odcięcia 40Hz i próbkowaniem 1kHz. zobaczymy jak całość będzie działała w układzie regulacji 🙂

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.