Forum: Mikrocontroller und Digitale Elektronik einfacher Encoder


von Huber M. (michael_h784)


Angehängte Dateien:

Lesenswert?

Hallo,

ich möchte mit einem Encoder, der das Signal wie im Bild oben zu sehen 
ist aus gibt. Im Uhrzeigersinn hochzählen lassen, und gegen den 
Uhrzeigersinn herunter zählen lassen. Ich suche jetzt aber erst mal eine 
simple Lösung.  Zb. Über  PD0 (Signal A) und PD1 (Signal B)  beim 
Atmega88 einlesen.  Aber ich komme nicht drauf. Welche kombi ich hier 
auswerten soll, wenn ich zb. A hochzähle, und dann die Richtung wechsle, 
wie ich B runter zählen lassen kann.  Ich stelle mir das so vor
1
 if (!(PIND&(1<<PD0))) {A++;}
  oder , wenn A=1 & B !=1 A++ sonst B--. Hätte hier jemand mal nen Tipp 
für mich? Ausser die Suchfunktion gray Code usw…. wenn ich zum 
höchzählen nur High auswerte und runter nur Low, dann geht sich das auch 
nicht aus

Grüsse Huber

: Verschoben durch User
von Peter II (Gast)


Lesenswert?

Huber M. schrieb:
> Hätte hier jemand mal nen Tipp für mich?

https://www.mikrocontroller.net/articles/Drehgeber

von Jacko (Gast)


Lesenswert?

Mach dir nix draus:
ELVau kriegt das auch nicht ordentlich hin...

(20 MHz-DDS-Generator)

von Jan H. (jan_h565)


Lesenswert?

AB encoder auswerten geht besser mit (flank)interrupts. Wen A eine 
LOW-HIGH Uebergang sieht, gehts du in ISR. In ISR konnen sie dan die 
abhangig von Zustand  B eine Zaehler up oder down aenderen. Mit eine 
HIGH_LOW Flanke das geleiche, aber jetz invers zaehlen. Nur die actuelle 
Zustand anschauen geht nicht !

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Genau, weil IRQs auf prellende Schalter schon immer eine guuute Idee 
waren.
Mit dem verlinkten Drehgeber Artikel ist eigentlich alles gesagt inkl 
Kopierpastencode.

von Georg (Gast)


Lesenswert?

Jan H. schrieb:
> AB encoder auswerten geht besser mit (flank)interrupts.

Das ist nicht nur aus Prinzip eine ganz schlechte Idee und funktioniert 
nur mit idealen Signalen, nach der Beschreibung gehen auch die Flanken 
an B verloren und die Auflösung wird halbiert.

Georg

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.