Forum: Mikrocontroller und Digitale Elektronik AVR: Drehencoder & Impulse verlieren


von Günter W. (gnter_w)


Lesenswert?

Hi,

habe hier ein Grundsatzproblem:
Ich frage über einen schnellen Timer einen Drehencoder ab und merke mir 
das Delta zur letzten Abfrage die in einer langsameren Haupschleife 
läuft.

Soweit so gut. Drehe ich den Encoder nun sehr sehr schnell, dann 
verliere ich soviele Impluse, daß die CPU meint, ich drehe den Encoder 
in die andere Richtung.

Also: wie schnell muß ich die CPU Takten? Ist eine höhere Taktfrequenz 
überhaupt die Lösung? Gibt es andere "loss less" Ansätze?


LG
Günter

von Achim M. (minifloat)


Lesenswert?

Günter W. schrieb:
> Ich frage über einen schnellen Timer einen Drehencoder ab und merke mir
> das Delta zur letzten Abfrage die in einer langsameren Haupschleife
> läuft.

mach das Delta doch gleich im Timer und integriere in einer statischen 
Variable die aufgelaufenen Impulse auf. Diese statische Variable sollte 
mit einer anderen Funktion ausgelesen und auf 0 gesetzt werden.
So finden auch zwei aufintegrierte Impulse ihren Weg in die 
Hauptschleife, selbst wenn der Prozessor viel zu tun hat. Die 
Timer-Interruptroutine stellt an sich ja schon sicher, dass sie 
regelmäßig ausgeführt wird(Beispiel: Durchlauf der Mainloop in ~50ms, 
Timerinterrupt alle 5ms, es könnten bis zu 10 Impulse auflaufen, die 
aber alle "durchkommen").

mfg mf

PS: An dem "Rückwärtsdrehen" sind Shannon und Nyquist wegen des 
Abtasttheorems schuld. Das Abtasten stellt aber hier gleich auch die 
Dekodierung in einzelne Impulse dar.

von Michael (Gast)


Lesenswert?

Günter W. schrieb:
> Gibt es andere "loss less" Ansätze?

Werte die Phasensignale über Pin-Change IRQ aus.

von Achim M. (minifloat)


Lesenswert?

Michael schrieb:
> Günter W. schrieb:
>> Gibt es andere "loss less" Ansätze?
>
> Werte die Phasensignale über Pin-Change IRQ aus.

Und was ist mit Prellen? mfg mf

von Falk B. (falk)


Lesenswert?

@  Michael (Gast)

>> Gibt es andere "loss less" Ansätze?

>Werte die Phasensignale über Pin-Change IRQ aus.

Nö, dass lässt man besser bleiben und liest den Artikel Drehgeber.

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.