Encoder mit dem Arduino auslesen

By | 10. Dezember 2017

Encoder sind  Drehwinkel-Sensoren. Encoder haben keinen Start- oder Endpunkt. Man kann ihn daher endlos in beide Richtungen drehen.  Die Absolute Positionsabfrage ist damit nicht möglich, da der Encoder ja keine feste Positionen hat. Stattdessen gibt er bei jeder Drehung einen Impuls ab. Da die Kontakte versetzt angeordnet sind, kann man an der Reihenfolge der Signale erkennen ob er sich von  Rechts nach Links oder umgekehrt dreht.

Das folgende Beispiel-Programm zeigt wie die Eingangssignale über die Interrupt-Mechanismen des Arduino abgefragt  und analysiert werden können. Die Drehrichtung wird am Monitor ausgegeben und gleichzeitig ein Symbol auf einem LCD-Display hin- und herbewegt.

 

Das Programm erzeugt auf dem Monitor folgende Ausgabe:

Wobei die Positions-Darstellung auf dem Display noch optimierungsfähig wäre, aber ich denke das muss sowieso Anwendung-spezifisch angepasst werden. Mir ging es primär darum, aufzuzeigen wie man Encoder Signale auswerten und in eigene Anwendungen integrieren kann.