Hallo,
ich weiß es gibt schon duzende Threads zum Thema
Drehgeber-Auswertung,ich bekomme es aber einfach nicht zu laufen.
Außerdem würde ich gerne aus meinen Fehlern lernen. Wäre also toll wenn
mir jemand sagen könnte woran es scheitert.
Habe das ganze mit Hilfe des Drehgeber-Artikels verfasst und ein paar
LEDs zur Visualisierung verwendet. Programmiert wird das ganze für einen
Atmega328p. Das Problem ist, beim Drehen wird die LED mal alle Drei, mal
jeden zweiten und manchmal sogar nur jeden vierten "click" getoggelt.
Wär toll wenn mir jemand einen Tipp geben könnte.
mfg Thomas
Thomas schrieb:> Das Problem ist, beim Drehen wird die LED mal alle Drei, mal jeden> zweiten und manchmal sogar nur jeden vierten "click" getoggelt.
Welche LED? Welcher Click? Und was meint das Oszilloskop zu dieser
Sache? Was kommt heraus, wenn du einfach mal die Encoderposition an
einem Port ausgibst?
Hallo und guten Morgen.
Ausgelesen soll ein mechanischer Handdrehgeber. Dieser hat pro Spur 4
Zustandswechsel pro Rastposition. Ich möchte nun mitzählen um wieviele
Rastpositionen ich mich bewegt habe. Benötige also theoretisch nicht
alle Flanken.
Da das Ausgeben nicht richtig funktioniert hat und ich lediglich ein
Multimeter zur "Analyse" besitze, habe.ich nun eine LED für eine Drehung
im Uhrzeigersinn und eine für eine Drehung gegen den Uhrzeigersinn, die
ich bei jeder Rastposition, also nach 4 Signalübergängen togglen möchte.
Leider passiert dies jedoch nicht in regelmäßigen Abständen. Also mal so
wie es richtig wäre nach 2 Rastpositionen, dann wieder erst bei der
dritten oder vierten Rastposition.
Hoffe nun ein bisschen mehr Klarheit in die Sache gebracht zu haben
haben.
Mfg Thomas
>Evtl prellt der Drehgeber!?
Auch wenn er das tüte (Konjunktiv), sollte es bei dieser Art der
Auswertung gehen.
Ich glaube das Problem liegt daran:
>habe.ich nun eine LED für eine Drehung>im Uhrzeigersinn und eine für eine Drehung gegen den Uhrzeigersinn,
Genau das darfst Du nämlich nicht machen.
Angenommen Du drehst 2 Schritte weiter.
+1 +1
Dann leuchtet die LED 2x, rot_delta steht auf 2.
Angenommen Du drehst 2 Schritte weiter.
+1 -1 +1 +1
Dann leuchtet die LED 3x, rot_delta steht auf 2.
Du siehst, wichtig ist, was in rot_delta steht. Nicht, wie oft die LED
leuchtet.
Ich vermute, es geht also. Die LEDs verwirren nur, weil diese nämlich
die Flanken zählen. Genau das willst Du ja nicht.
Vielen Dank Ioh, das ist natürlich richtig.
Habe das Programm jetzt so umgeschrieben, dass die LEDs die Zustände der
Drehgebersignale anzeigen und merkwürdiges beobachtet.
Bei langsamer Drehung im Uhrzeigersinn gehen beide LEDs gleichzeitig an
und nicht wie es eigentlich sein sollte versetzt. Aus gehen sie dann
phasenverschoben. Dreht man den Drehgeber gegen den Uhrezigersinn, so
schalten die LEDs zwar versetzt ein, gehen aber gleichzeitig aus.
Woran könnte denn das liegen? o.O Bin echt verwirrt.
Anbei noch der "Timing"Auszug aus dem Datenblatt.
Vielen Dank schonmal an alle hier!!!
@ Thomas (Gast)
>Bei langsamer Drehung im Uhrzeigersinn gehen beide LEDs gleichzeitig an>und nicht wie es eigentlich sein sollte versetzt. Aus gehen sie dann>phasenverschoben. Dreht man den Drehgeber gegen den Uhrezigersinn, so>schalten die LEDs zwar versetzt ein, gehen aber gleichzeitig aus.>Woran könnte denn das liegen? o.O Bin echt verwirrt.
Klingt nach einem mechanischen Defekt. Oder einem falschen Anschluss.
Ist mir auch schon mal passiert. Wenn man die gemeinsame Masse mit einem
der Ausgänge verwechselt kommt genau das raus ;-)
Falk Brunner schrieb:> Klingt nach einem mechanischen Defekt. Oder einem falschen Anschluss.> Ist mir auch schon mal passiert. Wenn man die gemeinsame Masse mit einem> der Ausgänge verwechselt kommt genau das raus ;-)
Und wie recht du hast :P
Masseabgriff ist nicht in der Mitte sondern an einem seitlichen Pin. Und
ich schreib mir da die Finger wund. Vielen vielen Danke für die rasche
Hilfe.
Einen schönen rest Sonntag allerseits.
mfg Thomas