Drehencoder full step - half step

OP #6900436
Lesenswert?

Hallo zusammen,

ich habe hier ein Gerät bei dem ein wichtiger Eingabe-Drehencoder 
spinnt. Kurz gesagt, über etwa eine halbe Umdrehung gibt er fehlerhafte 
Pulse aus, so dass der Microcontroller die Drehung nicht registriert. 
Also ungefähr so: Drehe ich von 12 Uhr auf 6 Uhr zählt er brav hoch. 
Drehe ich dann weiter von 6 Uhr wieder auf 12 Uhr zählt er einfach 
nicht.
Man kann den Drehknopf sogar irgendwie zur Seite drücken, dann zählt er 
an der Stelle manchmal. Also der Encoder ist irgendwie hin.
Wichtig: Der Encoder ist ein Click-Encoder mit so etwa 25-30 Clicks pro 
Umdrehung.

Jetzt habe ich mich mal reingeschraubt und den Encoder ausgemessen und 
da sieht man, die AB-Signale liegen sehr knapp beisammen. Also kaum geht 
der A hoch kommt auch gleich schon der B. Das ist dem yC wahrscheinlich 
zu schnell.
Also bei halbwegs gleichmäßigem Drehen macht der nicht:
1
_AAAAAAAAAAAA____________AAAAAAAAAAAAAA_________
2
_____BBBBBBBBBBBBBB____________BBBBBBBBBBBB_____

Sondern eher:
1
_AAAAAAAAAAAA____________AAAAAAAAAAAAAA_________
2
__BBBBBBBBBBBB____________BBBBBBBBBBBBBB________

So jetzt habe ich mal probeweise eine EC11 Encoder von Amazon, den ich 
herumliegen hatte dran gelötet und siehe da. Alles funktioniert FAST 
prächtig. Auch bei schnellem Drehen verliert der yC jetzt keine Schritte 
mehr.
ABER er überspringt welche. Warum? Der original Encoder macht bei jedem 
Click einen HALBEN Schritt. Also:
1
_AAAAAAAAAAAA____________AAAAAAAAAAAA_________
2
__BBBBBBBBBBBB____________BBBBBBBBBBBB________
3
       click      click      click       click

Mein EC11 Encoder macht bei jedem Click einen VOLLEN Schritt. Also:
1
_AAAAAAAAAAAA____________AAAAAAAAAAAAAA_______
2
______BBBBBBBBBBBBBB____________BBBBBBBBBBBB__
3
       click                     click

Wenn ich also auf meinem EC11 Encoder einen Click weiter drehe, zählt 
der yC 2 Schritte.

Jetzt könnte ich das natürlich mit einem ATtiny85 halbieren. Ich könnte 
aber auch einfach einen passenden Encoder kaufen, der pro Click nur 
einen halben Schritt ausgibt. Aber wie findet man so etwas? Wie heißen 
diese Dinge? Wie erkenne ich das im Datenblatt?

Herzlichen Dank für eure Hilfe.
Gast #6900519
Lesenswert?

Oliver R. schrieb:
> Nein, es ist nicht ein Fehler des Decoders. Der arbeitet einwandfrei.
> Der Encoder muss ein anderer sein.

Und du brauchst das Internet, um dir zu sagen, dass du dann einfach 
einen passenden Encoder kaufen sollst?

Aber na gut, manchmal ergeben sich die richtigen Gedanken halt erst beim 
"Gespräch"...
Gast #6900556
Lesenswert?

Oliver R. schrieb:
> Und ein "pulse" ist ein voller Schritt oder ein Halber?

Nö. Alle solche Angaben kommen eher aus der PR-Abteilung und haben nur 
eine recht indirekte Beziehung zum angebotenen Bauteil.

Sofern du zu so einem Bauteil ein Datenblatt kriegen kannst, lies dort. 
Ansonsten gilt nur: Ausprobieren.

W.S.
Gast #6900866
Lesenswert?

Volker S. schrieb:
> Ausgangssignal des Encoders?
> Encoder Signal A oder B, oder beider?

Ausgang A und B bilden ein Codewort (2 Bit gespiegelten Gray-Code), der 
der Reihe nach 4 Zustände annimmt. Jede Änderung des Zustandes stellt 
einen Schritt dar.
Ein Referenzpulse (R) ist oft nicht vorhanden.
https://de.wikipedia.org/wiki/Inkrementalgeber#/media/Datei:AB_Signal_and_Ref.svg
Gast #6901330
Lesenswert?

Volker S. schrieb:
> Bei den manuellen Dingern mit Rastung, würde ich sagen Schritt ist
> gleich Rastung egal ob sich daraus zwei oder vier Zustandswechsel
> ergeben.

Stimmt genau. Eben so haben die Konstrukteure des DG es vorgesehen. Und 
selbst wenn man sich allergrößte Mühe gibt, wird man bei einem DG mit 
Rastungen es nicht oder nur sehr schwer zuwege bringen, zwischen den 
Rastungen befindliche Zustandswechsel einzeln anzusteuern. Es geht immer 
von einem Knack zum nächsten Knack, egal wie die dazwischeliegenden 
Zustandswechsel sind.

W.S.
Gast #6901351
Lesenswert?

Volker S. schrieb:
> Wolfgang schrieb:
>> Schritt ist eine Änderung des Ausgangssignals
>
> Ausgangssignal des Encoders?
> Encoder Signal A oder B, oder beider?

Wie geschrieben: Ein Schritt ist von einer Rastung zur nächsten und 
nicht von einem Zustandswechsel zum nächsten.

Allerdings gibt es rein technisch einige Details, die man beachten 
sollte. Das sind nämlich die Positionen der Zustandswechsel relativ zu 
den Rastungen. Entweder ist der Weg zwischen den Rastungen in 3 Teile 
geteilt mit Zustandswechsel zwischen 1. und zweitem Teil für den eine 
Kanal und Zustandswechsel zwischen 2. und 3. Teil für den anderen Kanal 
- oder der Weg ist nur in 2 Teile geteilt mit Zustandswechsel für den 
einen Kanal im Bereich der Rastung und Zustandswechsel für den anderen 
zwischen 1. und 2. Teil.

Die Version mit 3 Teilen ist für einfachere Naturen bei den 
Programmierern besser, weil man damit zwei elektrisch gleichwertige 
Kanäle hat und Verwechselungen damit keine fatalen Folgen haben.

Die Version mit 2 Teilen ist elektrisch und mechanisch besser, weil der 
Weg zwischen den Rastungen nur zweigeteilt ist (weniger toleranz- und 
verschleiß-empfindlich).
Dafür sind beide Kanäle aber nicht mehr exakt gleichwertig, denn der 
Kanal, der im Rastbereich seinen Zustand wechselt, ist nur für die 
Richtungsbestimmung gut, und der andere (der mitten zwischen den 
Rastungen wechselt), ist derjenige, der für das Generieren von 
Drehereignissen zu gebrauchen ist.

W.S.
Gast #6901625
Lesenswert?

W.S. schrieb:
> Volker S. schrieb:
>> Wolfgang schrieb:
>>> Schritt ist eine Änderung des Ausgangssignals
>>
>> Ausgangssignal des Encoders?
>> Encoder Signal A oder B, oder beider?
>
> Wie geschrieben: Ein Schritt ist von einer Rastung zur nächsten und
> nicht von einem Zustandswechsel zum nächsten.

Der Auswerteelektronik sind die Rastungen egal, die muss jeden 
elektrischen Zustand mitbekommen - sonst kommt Vorwärts/Rückwärts 
durcheinander.
Wie DU "ein Schritt" definierst, kannst du dir beliebig aussuchen.
Gast #6901656
Lesenswert?

Wolfgang schrieb:
> Wie DU "ein Schritt" definierst, kannst du dir beliebig aussuchen.

Nö, es ist für jedermann das Gleiche. Ein rastender DG hat seinen 
Schritt von Rastpunkt zu Rastpunkt. Punkt. Das ist genau DAS, was beim 
Betätigen wichtig ist.

Wie du dein Denkschema hingegen aufbaust, ist deine Angelegenheit.

Etwas noch anderes ist der Signalverlauf während eines Schrittes. Der 
kann recht unterschiedlich sein. Hatte ich ja bereits erläutert.

W.S.
Gast #6901662
Lesenswert?

W.S. schrieb:
> Etwas noch anderes ist der Signalverlauf während eines Schrittes. Der
> kann recht unterschiedlich sein.

Der Signalverlauf über den Drehwinkel ist nicht großartig 
unterschiedlich. Die Abweichungen entstehen durch die Parametrierung 
über die Zeit.

>  Hatte ich ja bereits erläutert.
Ein Pulsdiagramm statt langatmiger Beschreibungen wäre da deutlich 
hilfreicher

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren