Forum: Mikrocontroller und Digitale Elektronik Wie Drehencoder anschliesen?


von Nik Bamert (Gast)


Lesenswert?

Hi!

Ich hab mir vor kurzem mal so einen Drehencoder kauft(oder wie auch
immer sie genannt werden, ich mein die dinger die in der Regel 20-30
Einrastungen haben, womit man dann z.b. eine digitale
lautstärkeregelung machen kann.)
Nun hab ich endlich verstanden wie das mit dem Gray code geht, aber
gleichzeitig ist ein neues Problem enstanden, ich hab irgendwo gelesen
das die Dinger ähnlich wie eine mechanische Maus funktionieren.
Also mit solch kleinen lichtschranken. Folglich muss in dem Ding ja
eine Led drin sein und ich keine Ahnung wie ich das Ding nun
anschliessen muss. Das Datenblatt von ALPS hat leider auch nur Infos
wie Masse und
Anschlüsse drinn. Wobei dann bei denn Anschlüssen einfach A, B, C
steht.
Ich hab also drei Anschlüsse, nun, muss da einer die Spannung für eine
Led bekommen und an den anderen beiden hab ich dann die
Ausgangssignale,
oder wie geht das? Einen Schaltplan in dem das ganze drin ist konnte
ich leider auch noch nicht finden :-(
Hilfeeee :)

mfg Nik

von Jens (Gast)


Lesenswert?

Es gibt optische Drehgeber, die funktionieren in der Tat wie eine Maus.
Ich denke aber, du hast einen ganz normalen mechanischen Drehgeber. A
und B sind wohl deine beiden Signale, die du an POrtpins anschließt und
C wird "Common" sein. Den schließt du entweder gegen GND oder VCC,
gegen diesen Pin werden A und B beim drehen geschaltet.

von BKD (Gast)


Lesenswert?

Hallo,
du meinst sicher ein Drehpoti-->

Ich habe die Auswertung so gemacht:
Den Kontakt in der mitte habe ich auf Masse gelegt links und rechts
jeweils an einen Interrupt (mit Pullup). Wenn ein Interrupt passiert
schaut der MCU was als nächstes passiert somit habe ich die
drehrichtung und die Pulse (Wenn A dann muss B folgen <--> Wenn B muss
A folgen)

von Jens (Gast)


Lesenswert?

Mit Interrupt ist schlecht, da die Dinger prellen wie Sau. Besser im
Timerinterrupt auswerten, siehe Codesammlung.

von Nik Bamert (Gast)


Lesenswert?

Cool danke, dann kann ich da ja anscheinend einfach mal 5 volt ohne
Sorge reinlassen...:P

Die Auswertung hab ich mir auch so in der Art überlegt, einfach etwa
100 mal in der sek. mit nem Timerinterrupt die Eingänge abzfragen, um
dann auszuwerten. Vielen dank, dann kanns ja los gehen ;-)

von JojoS (Gast)


Lesenswert?

in der Codesammlung ist ein langer Thread zum Thema 'Drehgeber
auslesen', da sind auch mehrere Codebeispiele für den AVR zu finden.

von Nik Bamert (Gast)


Lesenswert?

hmm mist :( ich hab gerade mal durchgemessen(alle drei Möglichkeiten)
und das Ding ist entweder futsch oder ich machs falsch.
Also ich hab zum Testen einfach an einen der Anschlüsse mal 5volt
gehängt und nacher ein bisschen gedreht und gemessen an welchen
Anschlüssen ich dann was für signale bekomme. Und die sind einfach
jedesmal entweder beide null oder beide eins. Und dies bei allen drei
KOmbinationen. Nun hab ich da mit dem Gray code was falsch verstanden
und immer zwei gray codes werden bei einem "click" ausgegeben oder
wie?
Dann wäre es ja logisch, dass ich immer zweimal 0 oder zweimal 1
habe...
Ich habe aber eigentlich gedacht, das die 4 mit dem Gray code möglichen
kombinationen alle nacheinander rauskommen, eine bei jeder Rastung und
nicht zwei-hab ich da was flasch verstanden?

von Hermann (Gast)


Lesenswert?

wie hast du denn gemessen?

hoffentlich mit einem oszi!

von Andi K. (Gast)


Lesenswert?

Nur zwischen den Rastungen sind die Signale 01 und 10 (AB).
Was den Anschluss angeht ist A = Kanal A, B = Kanal B und C der Button
(Druckknopf).
Ob nun mit Toggle-Interrupt (Pin Change) oder mit Timer ist eigentlich
egal allerdings sollte man in beiden Fällen Hard- oder
Softwaretechnisch entprellen.

MfG
Andi

von proXon (Gast)


Lesenswert?

es ist tatsächlich meistens so dass der drehencoder je rastung zwei gray
code schritte weiterhüpft....

gruss
robin

von Fred STevens (Gast)


Lesenswert?

Ich habe damit auch mahl rum gespielt und folgendes functioniert recht
gut:
Der regler hat 2 ausgangen, A und B. Beim drehen, wirt je nach
drehrichtung erst A, dan B oder erst B dan A geschalted. Die einfachste
lossung ist jetzt beide signalen, A und B uber 3k3 an 5volt zu schalten
und mit 100nF an masse. Der mittlere anschlus der regler auch an masse.

Jetzt EINER der beide (a oder b) an ein interupt anschlus, der in die
lage ist einer potential anderung zu agieren. Der andere anschlus an
ein normaler eingang.
Beim Interupt beide signalen einlesen und uberprufen.
Sinnt sie gleich (a=b) richting a, sinnt sie nicht gleich (a<>b)
richting b.
So einfach geht daß!!
Durch die condensatoren hatte ich auch kein problem mit prellen!
Viel erfolg,
Fred

von Nik Bamert (Gast)


Lesenswert?

Hey vielend Dank Fred, ich habs nun auch mal so gemacht und im prinzip
funktioniert das schon sehr gut, jedenfalls mit der einen drehrichtung
;)

Ein Problem hab ich aber noch, ich hab einen EC-11B von ALPS,
der anscheinend ein wenig anders funktioniert als alle anderen
drehgeber :S Der schaltet pro schritt doch nur irgendwie einen Gray
code weiter (nach datenblatt)

Allerdings ist das dort nur beschrieben, so wie das signal aussieht
kann ich mir leider nicht vorstellen. Aber vielleicht hat ja mal jemand
von euch einen dieser exotischen Drehgeber erfolgreich in Betrieb
genommen,
und kann mir mitteilen wie das Ding funktioniert ?

von Fred Stevens (Gast)


Lesenswert?

Hallo Nik,

Ich könnte mir daß mahl ansehen. Schicke mir doch mahl das datenblatt
davon uber mail, oder ein link wo ich es mir ansehen kann.
Denn ich verwendet habe stammt von Conrad.
Andere sachen, andere lossungen. :-)

von Tobias (Gast)


Lesenswert?

Hallo Forum!

Falls jemand auch noch das Problem mit dem ALPS EC11B
Encoder hat, hier die mit dem dig. Oszi gemessenen
Spannungsverläufe (entsprechen NICHT dem Datenblatt!)

Rechtsdrehung:
A --__--
B --_---

Linksdrehung:
A --__--
B ---_--


Dabei rasten A und B auf jeweils statisch 1

Schaltung war hierbei A und B mit PullUp, C auf GND

MfG Tobi

von peter dannegger (Gast)


Lesenswert?

@Tobi,

das sieht sehr nach falschem Anschluß aus.

Leg mal A auf GND und miß an B und C, dann sollte es stimmen.


Peter

von Michi (Gast)


Lesenswert?

@Peter:

Nein, das ist schon richtig so. Steht im Datenblatt und funktioniert
hier bei mir auch einwandfrei.

von peter dannegger (Gast)


Lesenswert?

@Michi

ich meinte auch Tobi und der sagt ja: "entsprechen NICHT dem
Datenblatt!"


Peter

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.