Serwisy partnerskie:
Close icon
Serwisy partnerskie

Budowa dekodera enkodera impulsowego (elektroniczne pokrętło)

W ostatnim czasie enkodery impulsowe wraz z potencjometrami elektronicznymi wyparły klasyczne potencjometry. Istotną zaletą takiego rozwiązania jest ich długa żywotność i brak trzasków podczas regulacji. Pewien problem stanowi sterowanie potencjometru elektronicznego enkoderem – pokrętłem. Bezpośrednie podłączenie jest w zasadzie niemożliwe.
Article Image

Zauważyła to firma ELM Electronics, udostępniając układ ELM402. Niestety jest on mało popularny w naszym kraju, a przez to drogi. Przedstawione w projekcie rozwiązanie oparte na popularnym i tanim mikrokontrolerze, oferuje większe możliwości i to za niewielką część ceny pierwowzoru.

Aby w pełni wykorzystać możliwości układu, zaprojektowano uniwersalną płytkę, w której można umieścić różne typy potencjometrów cyfrowych. W docelowym rozwiązaniu można użyć mikrokontrolera w obudowie SMD.

Jak to działa - dekoder enkodera impulsowego (elektroniczne pokrętło)?

Budowa układu, którego schemat pokazany jest na rysunku 1, jest banalnie prosta. Zasilanie zapewnia port USB. P3 to enkoder – elektroniczne pokrętło. Kondensatory C1 i C2 wraz z wewnętrznymi rezystorami podciągającymi tworzą filtr RC eliminujący zakłócenia, spowodowane drżeniem styków. W przerwaniu wywołanym przez jedno z wyprowadzeń enkodera sprawdzany jest stan drugiego wyprowadzenia.

Zależnie od tego, w jakim stanie logicznym jest linia B enkodera w chwili opadającego zbocza linii A, można sprawdzić kierunek obrotu ośki enkodera. Z rysunku 2 łatwo wywnioskować, że nie jest ważne, czy analizujemy zbocze narastające, czy opadające i którego wejścia – zawsze na podanej zasadzie można określić kierunek obracania ośki enkodera.

Rys.1 Dekoder enkodera impulsowego - schemat układu

Mikrokontroler bada stan wyjść pokrętła – enkodera i wytwarza impulsy sterujące dla współpracującego potencjometru. Dostępne są różne scalone potencjometry elektroniczne różnych producentów, wymagające odmiennych impulsów sterujących. Niektóre mają wbudowaną pamięć EEPROM, gdzie można trwale zapisać „stan suwaka” potencjometru, czyli wartość nastawionej rezystancji lub współczynnik podziału dzielnika potencjometru. Inne scalone potencjometry nie mają pamięci i po wyłączeniu zasilania suwak zostaje ustawiony w położeniu „spoczynkowym”.

Rys.2 Określanie kierunku obracania ośki enkodera

W omawianym układzie zmiana pozycji pokrętła enkodera P3 powoduje wygenerowanie odpowiedniego impulsu (zestawu impulsów) zmieniającego stan dołączonego scalonego elektronicznego potencjometru. W tym celu przewidziano trzy „wyjścia impulsowe” oznaczone /CS (Chip Select), U/D (Up/Down) oraz DW. Zależnie od typu współpracującego układu potencjometru wytwarzana jest potrzebna sekwencja, zwykle na dwóch liniach. Rysunek 3 pokazuje przykładowe przebiegi zmieniające stan potencjometru MAX5128.

Rys.3 Przykładowe przebiegi zmieniające stan potencjometru MAX5128

Po wykryciu ruchu pokrętła uruchomiany jest także timer odliczający czas: 10 sekund. Jeśli w tym czasie nie będzie zmiany położenia enkodera, wtedy pozycja „ślizgacza” zostanie zapamiętania w wewnętrznej pamięci potencjometru – rysunek 4 pokazuje sekwencję zapisu stanu kostki MAX5128.

Rys.4 Sekwencja zapisu stanu kostki MAX5128

Jeśli dołączony potencjometr nie ma pamięci EEPROM, informacja o pozycji jego suwaka zostanie zapisana w pamięci mikrokontrolera i odtworzona po jego zresetowaniu (ostatnie ustawienie potencjometru z pamięcią EEPROM jest odtwarzane przez niego po włączeniu zasilania).

Ponieważ po resecie mikrokontrolera nie jest znane położenie „ośki” potencjometru (potencjometry po włączeniu zasilania przyjmują 1/2 wartości rezystancji lub pozycję zero), program najpierw generuje 256 impulsów DOWN, po czym tyle impulsów UP, ile było zapamiętane w EEPROM. Dla niektórych potencjometrów liczba impulsów DOWN może być mniejsza (128, 100 lub 64). Aktualne oprogramowanie obsługuje tryby pracy (potencjometry) opisane w tabeli 1.

Tabela 1 Tryby pracy (potencjometry)

Działanie w dwóch ostatnich wymienionych w tabeli trybach emulacji EML402 pokazane są na rysunku 5. W górnej części rysunku kursorami zaznaczono impulsy, które mają czas trwania 3ms (2,963ms).

Timer odliczający timeout 10 sekund jest obsługiwany w przerwaniach. Pomiędzy przerwaniami mikrokontroler jest wprowadzany w tryb obniżonego poboru mocy. Tu widać zaletę obsługi enkodera w przerwaniu INT. Dzięki niemu mikrokontroler jest wybudzany z przerwania i program główny nie ma problemu z obsługą potencjometru. Można by jeszcze bardziej oszczędzać energię.

Rys.5 Działanie w  trybach emulacji EML402

Należałoby po odliczaniu timeout ustawić przerwania INT wyzwalane poziomem i wyłączyć WDG. W przerwaniu INT ustawić ponownie IRQ od zbocza, natomiast w programie głównym, po wybudzeniu, włączyć WDG. Aby głębokie uśpienie działało, przerwanie musiałoby być doprowadzone do linii INT0 (PB2), bo tylko ona w tym procesorze AVR może generować IRQ wyzwalane poziomem. Przerwanie takie musi być typu SIGNAL, a nie INTERRUPT, bo nastąpi przepełnienie stosu. W przerwaniu należy przestawić je z wyzwalania poziomem na wyzwalanie zboczem opadającym.

Montaż i uruchomienie - dekoder enkodera impulsowego

Układ można zmontować na płytce drukowanej, pokazanej na rysunku 6. Montaż jest standardowy i nie wymaga omawiania. Pomocą może być fotografia tytułowa oraz druga fotografia w artykule. Urządzenia nie trzeba uruchamiać, trzeba tylko wgrać odpowiednią wersję oprogramowania. Ustawienie bitów konfiguracyjnych jest standardowe (zegar 1MHz). Można ewentualnie zaznaczyć WDGON.

Rys.6 Płytka drukowana - dekoder enkodera impulsowego (elektroniczne pokrętło)

Kody źródłowe i wynikowe znajdują się w Elportalu w materiałach dodatkowych.

Wykaz elementów
R1
1kΩ SMD 1206
R2
10kΩ SMD 1206
C1,C2
15nF SMD 1206
C3,C4,C5,C6
100nF SMD 1206
U1
DS1804-010+ pot. cyfr. 100 pozycji.
U2
ATtiny25 (ATtiny13/25/45/85) DIP8
U3
SOIC-8
U4
MAX5128 pot. cyfr. uDFN-8
D1
LED SMD 1206
J0
gniazdo goldpin 1x6
J1,J4,J5
listwa kątowa goldpin 1x4
J2
USB-A kątowy USBa THT
J3
ZL201-06G gniazdo „wannowe” 6 pin
P3
enkoder impulsowy
P8,P9,P10,P11
kołki pomiarowe
Do pobrania
Download icon Budowa dekodera enkodera impulsowego (elektroniczne pokrętło)
Tematyka materiału: potencjometry, enkodery, dekodery
AUTOR
Źródło
Elektronika dla Wszystkich luty 2019
Udostępnij
UK Logo