czwartek, 14 kwietnia 2011

Impulsator stykowy


Autor: Dondu

Impulsatory (ang. encoder) stykowe ze względu na swoją niską cenę, są aktualnie spotykane w wielu urządzeniach od audio do pieców węglowych :-)
Są bardzo pomocne w urządzeniach, które mają jakieś liniowe parametry do ustawiania, jak np. głośność, temperatura, itp.

Niektóre mają również możliwość wykrycia przyciśnięcia pokrętła.
Przykład:  Impulsator stykowy ED1212S



Także w tym temacie początkujący elektronicy popełniają wiele prostych błędów, które związane są z:
  1. drganiami styków
  2. przekraczaniem parametrów technicznych


1. Drgania styków

Najpierw zapoznaj się z tematem drgań styków: Zjawisko drgania styków

Skoro już wiesz jakie problemy niesie z sobą to zjawisko, musisz wiedzieć, że impulsator stykowy także ma ten problem. Najpierw zobacz jak wygląda wykres zmian na wyjściu jednego z pinów impulsatora, gdy kręcąc nim zmienia on stan z wysokiego na niski i ponownie na wysoki.

Gdyby nie było zjawiska drgań styków, to wykres wyglądałby tak:

Rys. 1 -  Impulsator stykowy idealny



Niestety występują losowe drgania styków więc wygląda to tak:

Rys. 2 - Impulsator stykowy (drgania styków)



W tym wypadku drgania styków nie są problemem ponieważ jak widzisz są wyraźne odstępy, które można zmierzyć i na tej podstawie wykryć mniej więcej, w którym momencie następują zmiany na pinie impulsatora. Innymi słowy drgania da się wyeliminować za pomocą programu lub sprzętowo.



Nieprawidłowe działanie przy szybkim kręceniu


Niestety szybkie obracanie impulsatorem powoduje zjawisko zmniejszenia się wyraźnych przerw na wykresie, aż do momentu nałożenia się drgań styków, przez co NIE JEST MOŻLIWE stwierdzenie, w którym miejscu impulsator zmienia się z 1 na 0 i odwrotnie:

Rys. 3 - Impulsy nakładają się

W tym przypadku, ani programem, ani sprzętowo nie da się drgań wyeliminować.
No, chyba, że potrafisz  - wtedy opatentuj i zarabiaj w skali świata :-)

Zjawisko to możesz zaobserwować w swoim sprzęcie audio na pokrętle głośności - spróbuj pokręcić nim bardzo szybko.


Jak to rozwiązać?

Źródło: SQ9ATK
Dla większych prędkości obrotowych niezbędne jest stosowanie impulsatorów optycznych lub magnetycznych, które są pozbawione wady związanej z drganiami styków. Niestety są one z reguły sporo droższe jak na przykład ten:  Impulsator optyczny 61B11-01-02

Możesz także zrobić własny impulsator w oparciu o mechanizm ze starej myszki komputerowej (zdjęcie po prawej) lub z silnika krokowego.






2. Przekraczanie parametrów technicznych

Każdy element ma określone parametry techniczne. Impulsator także, ale niestety często początkujący nie biorą ich pod uwagę :-)

Prąd i napięcie
Impulsatory stykowe dopuszczają z reguły niskie napięcia i małe prądy: np 5V i kilkanaście maksymalnie kilkadziesiąt mA. Przekraczanie tych parametrów prowadzi do przedwczesnego zniszczenia styków (łuk elektryczny, itp.), co początkowo objawia się chaotycznym działaniem.

Maksymalna ilość obrotów
Maksymalna ilość pełnych obrotów, po której impulsator może nadawać się do wyrzucenia, to średnio 30.000, ale przy prędkości 600 obrotów/godzinę (1 obrót na 6 sekund). Większe prędkości znacznie szybciej zużywają impulsatory stykowe. Podłączenie takiego impulsatora pod wiertarkę niechybnie skończy się jego rozpadem :-)

Ale i na to jest sposób - solidne enkodery z nadrukowanymi tarczami i transoptorem (patrz zdjęcie po prawej) - możesz wykonać we własnym zakresie i będzie tani.



Kierunek obrotów

Niewątpliwą zaletą impulsatorów jest fakt, iż można wykryć kierunek jego obrotów. Innymi słowy możesz za jego pomocą na przykład zwiększać lub zmniejszać nastawioną temperaturę, itp.

Jak to wykryć?
Nie jest to trudne. Wystarczy wykrywać kolejność następujących po sobie narastających zboczy na obu wyjściach impulsatora. W zależności od tego, na którym wyjściu jako pierwsze pojawi się zbocze narastające, jednoznacznie określa nam kierunek obrotów:




Po wykryciu obu zboczy "zerujemy" pomiar oczekując następnych zboczy narastających. Jeżeli w tym czasie kierunek obrotów się zmieni, kierunek zostanie prawidłowo odczytany. Nie zapomnij o wyeliminowaniu drgań styków.

Zamiast zboczy narastających możesz wykrywać zbocza opadające.

To wszystko - proste nieprawdaż?

3 komentarze:

  1. Takie odczytywanie stanu enkodera jest mało efektywne. Wykorzystujemy jedynie co czwarty impuls z enkodera i tracimy na rozdzielczości enkodera.

    OdpowiedzUsuń
  2. Opis pokazuje jedynie, jak wykryć kierunek zaznaczając, że można to robić zarówno na zboczach narastających jak i opadających. Artykuł nie przedstawia algorytmów obsługi enkoderów, może więc zrobimy z tego następny odcinek EPP.

    OdpowiedzUsuń
  3. Metoda zboczowa jest dlatego nieefektywna (uwaga Anonimowego z 14 maja 2012), że musisz przekręcić gałkę o kilka pozycji, zamiast wykryć zmianę już po jednej. Impulsator ma wyjście w 2-bitowym kodzie Graya. Jeżeli przypiszesz do A wagę 1, a do B wagę 2, to cykl zmian (nie licząc drgań styków) jest 0<->1<->3<->2<->0. Czyli np. zmiana z 3 na 2 oznacza ruch zgodnie ze wskazówkami zegara, a z 3 na 1 w przeciwną itd. To jest bardzo prosty automat sekwencyjny.

    OdpowiedzUsuń