Wie genau funktionieren Drehgeber?

Es geht mir speziell um solche, wie sie dem Arduino kit oft beiliegen.

Das sollten Inkrementalgeber sein (korrigiert mich, wenn ich falsch liege), mit denen man zB. Motorgeschwindigkeiten, Lautstärke etc. einstellen kann.

Ich will die ja nicht einfach nur benutzen und denken: "Ja schön, da drehe ich dran und es tut sich was."

Ich will schon verstehen, wie die ausgewertet werden.

Kann das jemand anschaulich erklären?

Marino_needing_help:
Kann das jemand anschaulich erklären?

Z.B. hier: Inkrementalgeber – Wikipedia

Hallo,

Hier ist noch ein Link, wird ganz gut erklärt.
Und hier gibts noch mehr Infos.

Grüße,
Donny

Drehgeber für manuelle Eingabe haben ca 12 bis 20 Positionen pro Umdrehung. Diese sind meist als mechanische Schalter mit Schleifkontakten ausgelegt.

Es gibt sie als Encoder für Motorpositionen, incrementell oder absolut mit gängigen Auflösungen bis 2000 impulse pro Umdrehung. Diese kosten auch dementsprechend im 3 stelligen Breich.
Dort werden Scheiben mit Markierungen optisch oder magnetisch abgetastet. Es gibt auch IC mit 2 Hallsensoren, die die Winkelposition eines Magneten absolut messen zB TLE493D-W2B6 mit ca 4000 Auflösung

Der Rest ist bereits gesagt.

Grüße Uwe

uwefed:
...
Der Rest ist bereits gesagt.

Grüße Uwe

"Es geht mir speziell um solche, wie sie dem Arduino kit oft beiliegen."

Ok, der 2. Link von "dony" enthält speziell von oder für Arduino schier unzählige Beschreibungen verschiedener Drehgeber. Ich verstehe den ersten Satz des Fragestellers aber so, dass er halt genau die Eigenschaften wissen will, welche die Kits betreffen.

Würde ich auch gerne wissen. Vielleicht schau ich ja mal nach, ob die Kits entsprechend beschrieben sind :slight_smile:

P_Extruder:
Ok, der 2. Link von "dony" enthält speziell von oder für Arduino schier unzählige Beschreibungen verschiedener Drehgeber. Ich verstehe den ersten Satz des Fragestellers aber so, dass er halt genau die Eigenschaften wissen will, welche die Kits betreffen.

Würde ich auch gerne wissen. Vielleicht schau ich ja mal nach, ob die Kits entsprechend beschrieben sind :slight_smile:

Das geht nur um den einen Typ Drehgeber, wie er in den Kits beiliegt. Es gibt da nur unzählige Beispiele, wie man den Drehgeber benutzen und auslesen kann. Das scheint dich zu verwirren. Mal braucht man es langsam oder schnell, mal mit oder ohne Interrupt usw.. Das hängt ganz von der Anwendung ab. Interessant dazu ist am Ende der Punkt Discussion

Drehgeber für manuelle Eingabe haben ca 12 bis 20 Positionen pro Umdrehung. Diese sind meist als mechanische Schalter mit Schleifkontakten ausgelegt.

Alle x Grad schließt sich der Kontakt gegen den gemeinsamen Pin.
Es gibt 2 Kontakte die mechanisch etwas versetzt sind damit man die Drehrichtung erkennen kann.
Wenn der Drehgeber sich in eine richtung dreht ist bei einem Schließen (L-H Übergang) eines Kontaktes der andere Kontakt geschlossen. In der anderen Drehrichtung ist beim Schließen des des Einen Kontakts der andere geöffnet.

Grüße Uwe

Hi

dony:
... --> Link <-- ...

Und schon wird Klarheit verschafft - denke, alleine die Animation im unteren Bereich zeigt, wie so ein Teil intern 'tickt'.

Vll. noch erwähnenswert, daß immer '4 Takte' pro Raste geliefert werden . der Grundzustand ist OFFEN OFFEN.
(hier kann man selbst entscheiden, ob man PullUPs auf GND zieht, mache ich, oder anders herum)

MfG

Marino_needing_help:
Es geht mir speziell um solche, wie sie dem Arduino kit oft beiliegen.

Das sollten Inkrementalgeber sein (korrigiert mich, wenn ich falsch liege), mit denen man zB. Motorgeschwindigkeiten, Lautstärke etc. einstellen kann.

Kann das jemand anschaulich erklären?

Hallo,

die Geber die da oft beiliegen kannst Du nicht zur Messung von Motordrehzahlen nehmen. ich denke die fliegen dir nach 5 min auseinander.

Wie schon geschrieben werden da optische oder magnetische Sensoren drin verwendet. und die dehenden Teile sind entsprechend gelagert. ( Kugellager Gleitlager )

bei Inkremetalgeber ( Encoder ) werden mindestens zwei Signale A & B verwendet die elektrisch 90° verschoben sind. Dadurch kann man die Richtung erkennen wie herum gedreht wird. Sie werden in den untersichiedlichen Impulszahlen hergestellt. Gängige Werte in der Industrie sind 250, 500, 1000, 1024,2048, 2500, I/Umdr. In Abhängigkeit der Impulszahl verändert sich die Auflösung des Gesamtsystems. Zusätzlich haben Encoder meist noch eine Z Spur das Ist ein Impuls je Umdrehung. Der wird in der Regel benötigt um den Refferenzpunkt anfahren zu können.

Beispiel: Ein Getriebe-Motor (Servo) verfährt z.B eine Spindel , und benötigt dazu für den gesamten Verfahrweg. 100 Umdrehungen. Die Spindel ist 1000mm lang. D.h jede Umdrehung hat einen Vorschub von 10mm Auf der Motorwelle ist ein Encoder mit 1000 I/Umdr vorhanden. Damit könnte die Spindel dann theoretisch mit eine Aüflösung von 1/100 mm verfahren werden. Natürlich kann man so auch die Vorschub-Geschwindigkeit ganz genau einstellen. Man kann das aber elektrisch noch so weit treiben das man jede Flanke de beiden Signale A & B verwendet und damit ergibt sich dann eine Aüflösung von 1/4 Impuls. Ebenfalls betrachten muss man alledings dann noch die maximale Frequenz die sich ergibt, schließlich muss das elektrische System die noch verarbeiten können. Und dann gibt es da noch einen alten Grundsatz. Die Auflösung sollte eine Zehnerpotenz besser sein als die endgültige Forderung nach der Genauigkeit. Um bei dem Beispiel von oben zu bleiben. Bei richtiger Auswahl des Getriebens und der Spindel, spielfrei, sollte 1/10 mm Positoniergenauigleit kein Problem sein.

Die beim Arduino oft beigelegten Teile haben allerdings mechanische Schalter eingebaut, mit 10-20 I/Umdr. Dabei sind zwei Kontaktbahnen versetzt unterbrochen und je ein Schleifer fährt darüber. Damit kann man sie nun z.B als Vorwahlschalter mit 20 Positonen verwenden, oder aber z.B als Lautstärke Regler. Dazu wird dann einfach ein Zählwert gebildet der je nach Drehrichtung auf oder ab zählt. Das eigendliche Nutzsignal , bei Lautstärke halt die Amplitude, wird mit dem Zählerwert multiplizert, damit ändert sich dann die Lautstärke.

Heinz

Die Drehgeber, die ich mir gebastelt habe, funktionieren mit Kodierscheiben, die berührungslos von einem CNY70 abgetastet werden. Die Kodierscheiben zeigen einen Siemensstern, der CNY70 ist eine Kombination von IR-LED und Fototransistor in einem Gehäuse.

Gruß

Gregor

postmaster-ino:
HiUnd schon wird Klarheit verschafft - denke, alleine die Animation im unteren Bereich zeigt, wie so ein Teil intern 'tickt'.

Genau wegen dieser Animation hab ich den Link auch gepostet. Oft sagt ein Bild/Animation halt mehr als 1000 Worte. :wink:

Marino_needing_help:
Das sollten Inkrementalgeber sein (korrigiert mich, wenn ich falsch liege), mit denen man zB. Motorgeschwindigkeiten, Lautstärke etc. einstellen kann....
Ich will schon verstehen, wie die ausgewertet werden.

Natürlich kann man auch mit Inkrementalgeber die Motorgeschwindigkeit einstellen, ich tendiere da aber eher zu einem 10k Potentiometer (beim Arduino). Das sind in der Auswertung und Änderungen 3 Zeilen, die sich in eine verschalten lassen.

Einen Inkrementalgeber Auszuwerten ist da schon was anderes aber auch nicht besonders schwer.

Grüße,
Donny
Nachtrag: Hier handelt es such um einen typischen "Starter Kit" Drehgeber. Unten gibt es noch einen Link zum Waveshare Wiki.

Hallo,
die Links zeigen zwar alle schön das Prinzip. In der realen Ausführung gibt es aber doch im Detail nicht unwesentliche Unterschiede, die man letztendlich nur durch genaues Studium der Datenblätter erkennt. Allein alps hat da verschiedene Schalter, die sich nicht alle gleich verhalten. Es gibt z.B. Ausführungen, wo nur einer der beiden Schalter in der Raststellung eindeutig definiert ist, während das beim anderen nicht so ist ( der schaltet praktisch im Rastpunkt ). Bei diesen Ausführungen sind die beiden Schalter bei der Auswertung nicht vertauschbar, während in der Theorie beide Schalter gleichwertig sind.
Vielleicht ist das auch ein Grund, weshalb es da immer wieder Probleme gibt.

postmaster-ino:
Vll. noch erwähnenswert, daß immer '4 Takte' pro Raste geliefert werden .

Auch da ist ein Blick ins Datenblatt unerlässlich. Es gibt auch welche, die nur 2 Flanken / Raste erzeugen.
Zugegebenermaßen ist das mit dem Datenblatt nicht immer so einfach, weil man oftmals schlicht keins hat. Dann hilft nur Probieren mit dem Wissen über die Unterschiede.

Es gibt auch welche, die nur 2 Flanken / Raste erzeugen.

Habe hier welche, die 8 Flanken pro Rastpunktwechsel erzeugen.
Zudem hat er wackelige Rastpunkte.
D.h. kein Rastpunkt hat einen stabilen Pegel. Weder A noch B.

Ein richtiger Wackeldackel.
Aber kein Problem, wenn man die Auswertung darauf ausrichtet.
Eher im Gegenteil.
Die wenigen Rastpunkte pro Umdrehung sind Bedienerfreundlich, wenn man fein einstellen möchte.

Wenn man allerdings große Bereiche durchfahren möchte, kann/wird eine Beschleunigungsfunktion in Software hilfreich sein.