www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wie Drehencoder anschliesen?


Autor: Nik Bamert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: BKD (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: Jens (Gast)
Datum:

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

Autor: Nik Bamert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;-)

Autor: JojoS (Gast)
Datum:

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

Autor: Nik Bamert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Hermann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie hast du denn gemessen?

hoffentlich mit einem oszi!

Autor: Andi K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: proXon (Gast)
Datum:

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

gruss
robin

Autor: Fred STevens (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Nik Bamert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: Fred Stevens (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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. :-)

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Peter:

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

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Michi

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


Peter

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.