Hi!
Da gibt es mehrere Möglichkeiten.
Du kannst z.B. über eine kleine Statemachine die vier Zustände 1)
auswerten, die der Geber einnehmen kann und dann die "Durchläufe" durch
die FSM zählen.
Anhand der Abfolge, wie die Zustände eintreten kannst du die
Drehrichtung erkennen (Stichwort: Quadraturdecoder)
Das ist die gängige Lösung. google einfach mal nach Quadraturdecoder
Es gibt auch µC mit extra Quadratureingang
Eine einfache Umsetzung der FSM ist auch in einem kleinen CPLD möglich.
Optional kannst du auch die Spuren A udn B auf ein FF geben (A z.B auf
den Takt und B auf den D) Dann wird je nach Drehrichtung der Ausgang Q
entweder 0 oder 1 annehmen.
zum Zählen der Impulse kannst dann einfach eine Spur (A oder B) auf nen
Zähler führen.
Problem bei der Lösung: du hast nur noch 1/2 Auflösung des Gebers.
Weiterhin können dir bei der Methode Inkremente verloren gehen, wenn du
die Spur auf nen Zähler gibst und mit dem generierten Richtungssignal
die Zählrichtung einstellst. Wenn du dann innerhalb eines Messzyklus die
Drehrichtung änderst, kann sein, dass du eine falsche Endposition
ermittelst.
Daher ist diese Methode nicht für jeden Anwendungsfall geeignet.
1) (A B) (A /B) (/A /B) (/A B)