Kategorie: Obwody mikrokontrolera
Liczba wyświetleń: 16.299
Komentarze do artykułu: 0

Jak podłączyć enkoder inkrementalny do Arduino

 

Często w urządzeniach na mikrokontrolerach trzeba zorganizować zarządzanie elementami menu lub wprowadzić pewne poprawki. Istnieje wiele sposobów: użyj przycisków, rezystorów zmiennych lub koderów. Enkoder inkrementalny pozwala kontrolować coś za pomocą nieskończonego obrotu rączki. W tym artykule przyjrzymy się, jak uruchomić enkoder inkrementalny i Arduino.

Jak podłączyć enkoder inkrementalny do Arduino

Funkcje enkodera inkrementalnego

Enkoder inkrementalny, jak każdy inny typ enkodera, jest urządzeniem z obrotowym uchwytem. Z daleka przypomina potencjometr. Główną różnicą w stosunku do potencjometru jest to, że uchwyt enkodera obraca się o 360 stopni. Nie ma żadnych ekstremalnych przepisów.

Enkodery występują w wielu typach. Przyrostowy różni się tym, że za jego pomocą nie można poznać położenia rączki, ale jedynie fakt obrotu w pewnym kierunku - w lewo lub w prawo. Na podstawie liczby impulsów sygnałowych można już obliczyć, pod jakim kątem się obrócił.

Enkoder i Arduino

W ten sposób możesz przejść mikrokontroler polecenie, zarządzaj menu, na przykład poziom głośności i tak dalej. W życiu codziennym można je było zobaczyć w radiach samochodowych i innym sprzęcie. Służy jako wielofunkcyjny organ do regulacji poziomu, korektor i nawigacja w menu.

Pokrętło poziomu dźwięku

Zasada działania

Wewnątrz enkodera inkrementalnego znajduje się dysk z etykietami i suwakami, które stykają się z nimi. Jego struktura jest podobna do potencjometru.

Zdemontowany enkoder

Na powyższym rysunku widać dysk ze znakami, które są potrzebne do przerwania połączenia elektrycznego z ruchomym stykiem, w wyniku czego otrzymujesz dane o kierunku obrotu. Konstrukcja produktu nie jest tak ważna, zrozummy zasadę działania.

Projekt enkodera

Enkoder ma trzy wyjścia informacyjne, jedno wspólne, pozostałe dwa są zwykle nazywane „A” i „B”, na powyższym rysunku widać pin enkodera z przyciskiem - możesz odebrać sygnał, klikając jego wałek.

Jaki sygnał otrzymamy? W zależności od kierunku obrotu jednostka logiczna pojawi się najpierw na pinie A lub B, więc otrzymamy sygnał przesunięty fazowo, a to przesunięcie pozwala nam określić, który kierunek. Sygnał jest uzyskiwany w kształcie prostokąta, a mikrokontroler jest kontrolowany po przetworzeniu danych o kierunku obrotu i liczbie impulsów.

Zasada działania

Na rysunku pokazano symbol dysku ze stykami, pośrodku znajduje się wykres sygnałów wyjściowych, a po prawej stronie tabela stanu. To urządzenie jest często rysowane jako dwa klawisze, co jest logiczne, ponieważ w rzeczywistości otrzymujemy sygnał „do przodu” lub „do tyłu”, „w górę” lub „w dół” oraz liczbę akcji.

Obwód enkodera

Oto przykład rzeczywistego wyprowadzenia enkodera:

Przykład rzeczywistego wyprowadzenia enkodera

Ciekawe:

Wadliwy enkoder można zastąpić dwoma przyciskami bez blokady i odwrotnie: sterowanie domowe, w którym dwa z tych przycisków można sfinalizować, ustawiając enkoder.

Na poniższym filmie widać naprzemienność sygnału na zaciskach - podczas płynnego obrotu diody LED zapalają się w kolejności odzwierciedlonej na poprzednim wykresie.

Nie mniej wyraźnie zilustrowane w poniższej animacji (kliknij na zdjęcie):

Urządzenie i zasada działania enkodera

Enkoder może być zarówno optyczny (sygnał generowany przez emitery przez fotodetektory, patrz rysunek poniżej), jak i magnetyczny (działa na efekt Halla). W takim przypadku nie ma on kontaktów i dłuższej żywotności.

Czujnik kąta

Jak już wspomniano, kierunek obrotu można określić na podstawie tego, który z sygnałów wyjściowych wcześniej się zmienił, ale tak to wygląda w praktyce!

Mechaniczne punkty mocowania

Dokładność sterowania zależy od rozdzielczości enkodera - liczby impulsów na obrót. Liczba impulsów może wynosić od jednostek do tysięcy sztuk. Ponieważ enkoder może działać jako czujnik położenia, im więcej impulsów, tym dokładniej nastąpi określenie.Ten parametr jest określany jako PPR - impuls na obrót.

Ale jest mały niuans, a mianowicie, podobne oznaczenie LPR to liczba etykiet na dysku.

I liczba przetworzonych impulsów. Każda etykieta na dysku daje 1 prostokątny impuls na każdym z dwóch wyjść. Impuls ma dwa fronty - tylny i przedni. Ponieważ istnieją dwa wyjścia, z każdego z nich otrzymujemy 4 impulsy, których wartości można przetworzyć.

PPR = LPRx4


Połącz się z Arduino

Ustaliliśmy, co musisz wiedzieć o enkoderze inkrementalnym, teraz dowiedzmy się, jak podłączyć go do Arduino. Rozważ schemat połączeń:

Schemat podłączenia czujnika położenia do Arduino

Moduł enkodera to płytka, na której znajdują się enkoder inkrementalny i rezystory podciągające. Możesz użyć dowolnych pinów.

Schemat podłączenia enkodera

Jeśli nie masz modułu, ale oddzielny enkoder, wystarczy dodać te rezystory, obwód zasadniczo nie będzie się różnił. Aby sprawdzić kierunek obrotu i jego działanie w połączeniu z Arduino możemy odczytać informacje z portu szeregowego.

Przykład programu

Przeanalizujmy kod bardziej szczegółowo, w kolejności. W void setup () ogłosiliśmy, że użyjemy komunikacji przez port szeregowy, a następnie ustawimy piny 2 i 8 w trybie wejściowym. Wybierz numery PIN samodzielnie na podstawie schematu połączenia. Stała INPUT_PULLUP ustawia tryb wprowadzania, arduino ma dwie opcje:

  • WEJŚCIE - wejście bez rezystorów podciągających;

  • INPUT_PULLUP - połączenie z wejściem rezystorów podciągających. W mikrokontrolerze są już rezystory, przez które wejście jest podłączone do power plus (pullup).

Jeśli używasz rezystorów do dokręcenia do dodatniej mocy, jak pokazano na powyższych schematach lub używasz modułu enkodera - użyj polecenia WEJŚCIE, a jeśli z jakiegoś powodu nie możesz lub nie chcesz używać zewnętrznych rezystorów - INPUT_PULLUP.

Logika programu głównego jest następująca: jeśli mamy jeden na wejściu „2”, to wysyła port H do monitora, jeśli nie, L. W ten sposób, kiedy obrócisz w tym samym kierunku na monitorze portu szeregowego, otrzymasz coś takiego: LL HL HH LH LL. I odwrotnie: LL LH HH HL LL.

Jeśli dokładnie przeczytasz wiersze, prawdopodobnie zauważysz, że w jednym przypadku pierwszy znak uzyskał wartość, aw drugim przypadku pierwszy znak najpierw się zmienił.


Wniosek

Enkodery inkrementalne znalazły szerokie praktyczne zastosowanie we wzmacniaczach do systemów akustycznych - były używane jako regulacja głośności, w radiach samochodowych - do dostosowywania parametrów dźwięku i nawigacji po menu, u myszy komputerowych za jego pomocą przewijasz strony codziennie (koło jest zainstalowane na wale) . A także w narzędziach pomiarowych, maszynach CNC, robotach, selsyn nie tylko jako elementy sterujące, ale także do pomiaru wartości i określania pozycji.

Zobacz także na bgv.electricianexp.com:

  • Metody odczytu i zarządzania portami we / wy Arduino
  • Sterowanie silnikiem i serwomechanizmem za pomocą Arduino
  • Funkcje łączenia urządzeń z Arduino
  • Podłączanie i programowanie Arduino dla początkujących
  • Najpopularniejsze czujniki dla Arduino

  •