Forum: Mikrocontroller und Digitale Elektronik Impulsausgabe mit Dreh-Inkrementalgeber


von Jörg P. (analog-oldie)


Lesenswert?

Hallo allwissendes Forum,
als altgedienter Analogtechniker (Radio- und Fernsehtechniker), der es 
verpasst hat, sich an die Digitaltechnik anzubiedern, brauche ich eure 
Hilfe:
Ich möchte einen Dreh-Inkrementalgeber mit A- und B-Ausgang mit 
CMOS-Bausteinen der 4000er Serie so auswerten, das mir ein Ausgang 
Impulse bei rechts- und ein weiterer bei linksdrehung liefert. Jeweils 
ein Impuls bei Schaltvorgang.
Ich möchte CMOS-Bausteine verwenden, da mir Arduino, Raspberry und 
Kollegen auch vollkommen fremd sind.
Kann mir jemand ein Schaltbild einer entsprechenden Baugruppe erstellen 
und zusenden? Das zusammenbauen ist mir bekannt und kein Problem.

Vielen Dank schon mal im Voraus
Analog-Oldie
von Falk B. (falk)


Lesenswert?

https://www.mikrocontroller.net/articles/Drehgeber#Siehe_auch
Beitrag "Re: Drehgeber auf UP/DOWN Zähler"

Ja, ist ein Mikrocontroller. Denn kann ich dir bei Interesse brennen und 
schicken.
von H. H. (hhinz)


Lesenswert?

Aus:
http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.29


denn die Schaltung ist eher aufwändig, benötigt ein 74xx175 und ein 
74xx86.
Das Taktsignal T muss mehr als doppelt so hoch sein wie die höchste 
Frequenz
des Inkrementalgebers A, B und geringer als die maximale Zählfrequenz 
des
nachfolgenden flankengetriggerten Zählers wie CD4516 oder 74HC191 auch 
BCD
dezimal mit CD4029.
1
           +---+           
2
 A  -------|D Q|-----+     
3
        +--|T  |     |     
4
        |  +---+     |     
5
        |            +-----|\
6
        |  +---+     |     |+)---------- Up / Down
7
 B  ----(--|D Q|--+  |  +--|/
8
        +--|T  |  |  |  |  
9
        |  +---+  |  |  |  XOR 
10
  +-----(---------+  |  |  
11
  |  +--(---------(--+--(--|\
12
  |  |  |  +---+  |     |  |+)--+
13
  |  +--(--|D Q|--(-----(--|/   +--|\
14
  |     +--|T  |  |     |          |+)-- Clock Enable 
15
  |     |  +---+  |     |       +--|/
16
  |     |         +-----(--|\   |
17
  |     |  +---+        |  |+)--+
18
  +-----(--|D Q|--------+--|/
19
        +--|T  |           
20
        |  +---+           
21
 T  ----+------------------------------- Clock
von Falk B. (falk)


Lesenswert?

H. H. schrieb:
> denn die Schaltung ist eher aufwändig, benötigt ein 74xx175 und ein
> 74xx86.

Das ist NICHT das, was der OP wollte! Er wollte getrennte Taktausgänge 
für Hoch/Runter.
von Wastl (hartundweichware)


Lesenswert?

H. H. schrieb:
> +---+
>  A  -------|D Q|-----+
> ..............

Dann lieber doch Bleistift- oder Kugelschreiber-Zeichnung ...
von Falk B. (falk)


Lesenswert?

von Rainer W. (rawi)


Angehängte Dateien:

Lesenswert?

Wastl schrieb:
> H. H. schrieb:
>> +---+
>>  A  -------|D Q|-----+
>> ..............
>
> Dann lieber doch Bleistift- oder Kugelschreiber-Zeichnung ...

Willst du 85 Jahre alte, bewährte Technik kritisieren. Das Problem ist 
die Software/Konfiguration auf deinem Ausgabegerät nicht ASCII-Art an 
sich.
von H. H. (hhinz)


Lesenswert?

Falk B. schrieb:
> H. H. schrieb:
>> denn die Schaltung ist eher aufwändig, benötigt ein 74xx175 und ein
>> 74xx86.
>
> Das ist NICHT das, was der OP wollte! Er wollte getrennte Taktausgänge
> für Hoch/Runter.

Ab dort nur noch eine kleine Ergänzung.
von Wastl (hartundweichware)


Lesenswert?

Rainer W. schrieb:
> Das Problem ist .....

Welches Problem? Ich habe nur meine Meinung kundgetan.
von Rainer W. (rawi)


Lesenswert?

Wastl schrieb:
> Welches Problem? Ich habe nur meine Meinung kundgetan.

Das Formatierungsproblem bei deinen herausgerissenen Zitatzeilen ist 
doch offensichtlich: Es fehlen die Pre-Tags.
: Bearbeitet durch User
von Falk B. (falk)


Angehängte Dateien:

Lesenswert?

Hier die Variante mit CMOS und getrennten Pulsausgängen. Drei ICs, kann 
man verkraften. Die Pulse sind low active. Wenn das nicht passt, braucht 
man einen 4. IC mit 2 Invertern, sproch noch ein 74HC00.
von H. H. (hhinz)


Lesenswert?

Falk B. schrieb:
> Hier die Variante mit CMOS und getrennten Pulsausgängen.

Warst ja fleißig!
von Yalu X. (yalu) (Moderator)


Lesenswert?

Falk B. schrieb:
> Drei ICs, kann
> man verkraften.

Die Teilschaltung aus IC2B, IC2C und IC2D liefert am Ausgang (abgesehen
von Spikes beim Umschalten der Eingänge) immer low. Damit sind die
Ausgänge von IC3A und IC3B und schließlich auch die Ausgänge LEFT und
RIGHT immer high. Diese Funktionalität kann man auch mit 0 statt 3 ICs
erreichen ;-)
von Wastl (hartundweichware)


Lesenswert?

Rainer W. schrieb:
> Das Formatierungsproblem bei deinen herausgerissenen Zitatzeilen ist
> doch offensichtlich: Es fehlen die Pre-Tags.

Du bist arm. Ich habe nur ein paar ASCII Zeichen wiedergegeben,
da fehlt gar nichts.
von Falk B. (falk)


Angehängte Dateien:

Lesenswert?

Yalu X. schrieb:
> Die Teilschaltung aus IC2B, IC2C und IC2D liefert am Ausgang (abgesehen
> von Spikes beim Umschalten der Eingänge) immer low.
> Ausgänge von IC3A und IC3B und schließlich auch die Ausgänge LEFT und
> RIGHT immer high. Diese Funktionalität kann man auch mit 0 statt 3 ICs
> erreichen ;-)

OK, ich hab IC2C falsch verdrahtet. Siehe Anhang. Jetzt sollte es 
passen.

Hier die Variante mit CMOS und getrennten Pulsausgängen. Drei ICs, kann
man verkraften. Die Pulse sind low active. Wenn das nicht passt, braucht
man einen 4. IC mit 2 Invertern, sproch noch ein 74HC00.
: Bearbeitet durch User
von Veit D. (devil-elec)


Lesenswert?

Hallo,

muss einmal nachfragen. Der TO wird sicherlich einen normalen Drehgeber 
haben der nur A und B Ausgang hat. Woher nimmt man das Taktsignal für 
eure Auswerteschaltungen?
von Mi N. (msx)


Lesenswert?

Jörg P. schrieb:
> Ich möchte CMOS-Bausteine verwenden, da mir Arduino, Raspberry und
> Kollegen auch vollkommen fremd sind.

Wenn es kühler werden sollte, könnte ich Dir einen ATtiny25 
programmieren. Der hat nichts mit Arduino & Co zu tun ;-)
Basis wäre diese Schaltung, wobei SCL/SDA durch UP/DOWN ersetzt würden: 
http://mino-elektronik.de/mt12_iic/mt12_iic.htm#qcnt_tiny25
von Norbert (der_norbert)


Lesenswert?

Veit D. schrieb:
> Woher nimmt man das Taktsignal für
> eure Auswerteschaltungen?

Grins…

Relais mit selbst-unterbrechendem Kontakt.
Oder einen Astabilen mit Röhren.
von Falk B. (falk)


Angehängte Dateien:

Lesenswert?

Veit D. schrieb:
> Woher nimmt man das Taktsignal für
> eure Auswerteschaltungen?

Von einer Taktquelle deiner Wahl. Oder man bastelt aus dem 4. Gate einen 
Oszillator.
von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Veit D. schrieb:

> muss einmal nachfragen. Der TO wird sicherlich einen normalen Drehgeber
> haben der nur A und B Ausgang hat. Woher nimmt man das Taktsignal für
> eure Auswerteschaltungen?

Das können die Geber selbst liefern. Freundlicherweise ist nämlich ganz 
sicher, dass sich am Gesamtergebnis der Auswertung immer nur dann etwas 
ändern kann, wenn mindestens einer der Geber seinen Status wechselt. 
(Die Umkehrung dieser Aussage gilt allerdings wohlgemerkt nicht).

Wie auch immer: Franks Schaltung braucht braucht jedenfalls einen 
externen Takt. Mit etwas mehr Aufwand an Logik (3/4 4030) kann man diese 
Abhängigkeit aber aufheben.
von Soul E. (soul_eye)


Lesenswert?

Jörg P. schrieb:
> Ich möchte einen Dreh-Inkrementalgeber mit A- und B-Ausgang mit
> CMOS-Bausteinen der 4000er Serie so auswerten, das mir ein Ausgang
> Impulse bei rechts- und ein weiterer bei linksdrehung liefert. Jeweils
> ein Impuls bei Schaltvorgang.

Beitrag "Drehgeber auf UP/DOWN Zähler"

So in der Mitte des Threads sind einige Schaltbeispiele mit 4000er 
Logik.
von Rainer W. (rawi)


Lesenswert?

Veit D. schrieb:
> Der TO wird sicherlich einen normalen Drehgeber haben der nur A und B
> Ausgang hat. Woher nimmt man das Taktsignal für eure
> Auswerteschaltungen?

Bei Encodern mit A und B Signal stellt der eine Kanal den Takt dar.

Nur berücksichtigt die obige Schaltung das nicht und braucht wohl einen 
zusätzlichen.
von Günter L. (Firma: Privat) (guenter_l)


Lesenswert?

von Rainer W. schrieb:
>Bei Encodern mit A und B Signal stellt der eine Kanal den Takt dar.

Sehe ich nicht so, beide Kanäle sind gleichrangig.
Es sind einfach nur zwei Bit. Die Logik ist so:
Man muß sich die zwei Bit merken. Wenn sich ein Bit ändert,
egal welches, müssen beide Bits gelesen werden, und diese
mit den gemerkten zwei Bit verglichen werden. Nur so ist
herausfindbar ob es ein Vorwärts- oder Rückwärtsschritt
ist. Im Prinzip kommt der Takt immer von dem Bit was sich
gerade geändert hat.
von Falk B. (falk)


Lesenswert?

Rainer W. schrieb:
>> Der TO wird sicherlich einen normalen Drehgeber haben der nur A und B
>> Ausgang hat. Woher nimmt man das Taktsignal für eure
>> Auswerteschaltungen?
>
> Bei Encodern mit A und B Signal stellt der eine Kanal den Takt dar.

Nö. Das haben wir schon 1001 mal durchgekaut. Siehe Drehgeber.
von Rainer W. (rawi)


Lesenswert?

Günter L. schrieb:
> Sehe ich nicht so, beide Kanäle sind gleichrangig.

Falk B. schrieb:
> Nö. Das haben wir schon 1001 mal durchgekaut. Siehe Drehgeber.

Da hat doch keiner etwas gegen und es kommt auf den Geber an.

Nur bei einem nicht rastenden Geber kann es sinnvoll sein, die volle 
Auflösung zu nutzen, d.h. die Auswertung jedes Wechsels von einem der 
beiden Signale.

Meine Aussage mit dem einen Signal als Takt für die Auswertung bezog 
sich auf Drehimpulsgeber mit Rastung. Dort findest du bspw. die Angabe 
12 Pulse/ 12 Rastungen oder 24 Pulse/24 Rastungen (z.B. Alps EC12). 
Wegen der Rastungen ist es bei denen nicht sinnvoll, auf 90° Phase 
aufzulösen.

Bei denen, wo sich das Signal eines Kanals auf oder dicht beim Rastpunkt 
ändert, sind die Signale nicht gleichwertig und man verwendet 
sinnvollerweise das Signal, das sich nicht auf der Rastung ändert, als 
Takt fürs Auslesen des anderen.
: Bearbeitet durch User
von Günter L. (Firma: Privat) (guenter_l)


Lesenswert?

von Rainer W. schrieb
> das sich nicht
>auf der Rastung ändert

Auf der Rastung ändert sich garnichts, da ist Stillstand,
es ändert sich nur was bei Bewegung. Was sich beim
Weiterdrehen von der Rastung aus ändert A oder B,
hängt von der Drehrichtung ab. Auch was sich vor
der Rastung geändert hat, hängt von der Drehrichtung ab.
von Rainer W. (rawi)


Angehängte Dateien:

Lesenswert?

Günter L. schrieb:
> Auf der Rastung ändert sich garnichts, da ist Stillstand,
> es ändert sich nur was bei Bewegung.

Da reicht schon der Flügelschlag eines Schmetterlings oder eine leichte 
Temperaturerhöhung damit das Signal vom Kanal B kippt, kurz das Signal 
vom B-Kanal ist an der Rastposition undefiniert ("Detent position cannot 
be specified for B Signal").
https://tech.alpsalpine.com/e/products/detail/EC12E2440301/
: Bearbeitet durch User
von Michael B. (laberkopp)


Lesenswert?

Wastl schrieb:
> Dann lieber doch Bleistift- oder Kugelschreiber-Zeichnung ...

DANN MAL SIE DÖCH, Rotzlöffel.
von Michael B. (laberkopp)


Lesenswert?

Rainer W. schrieb:
> Bei Encodern mit A und B Signal stellt der eine Kanal den Takt dar.

Natürlich nicht, denn die Kanäle prellen, alle beide.

> Nur berücksichtigt die obige Schaltung das nicht und braucht wohl einen
> zusätzlichen.

Natürlich nutzt sie einen sauberen stabilen Takt definierter Pulsbreite 
um auch ebenso saubere definierte Impulse zu liefern.

Hinz hat aber gleich den Link geliefert, unter dem sich auch eine 
Schaltung findet, die UP und DOWN Impulse pur generiert aus A B Signalen 
findet.
von Rainer W. (rawi)


Lesenswert?

Michael B. schrieb:
> Natürlich nicht, denn die Kanäle prellen, alle beide.

Lass sie doch prellen. Der andere Kanal ist an der Stelle, wo der eine 
am rumprellen ist, stabil. Das ist DIE Grundeigenschaft vom Gray-Code.
: Bearbeitet durch User
von Günter L. (Firma: Privat) (guenter_l)


Lesenswert?

von Rainer W. schrieb:
> kurz das Signal
>vom B-Kanal ist an der Rastposition undefiniert

Entweder der Hersteller achtet garnicht drauf wo der
Rastpunkt ist und es ist Zufall wenn er sich genau
auf eine Flanke befindet. Ich glaube nicht, daß
es absicht ist. Als Hersteller würde ich versuchen
den Rastpunkt auf 1/4 oder 3/4 zu legen.
Wenn der Rastpunkt zufällig doch auf der Flanke
liegt und es wackelt, bedeutet daß immer,
Schritt vor, Schritt zurück, Schritt vor, Schritt zurück.
von Falk B. (falk)


Lesenswert?

Günter L. schrieb:
> Entweder der Hersteller achtet garnicht drauf wo der
> Rastpunkt ist und es ist Zufall wenn er sich genau
> auf eine Flanke befindet. Ich glaube nicht, daß
> es absicht ist. Als Hersteller würde ich versuchen
> den Rastpunkt auf 1/4 oder 3/4 zu legen.
> Wenn der Rastpunkt zufällig doch auf der Flanke
> liegt und es wackelt, bedeutet daß immer,
> Schritt vor, Schritt zurück, Schritt vor, Schritt zurück.

c'est la vie

https://www.mikrocontroller.net/articles/Drehgeber#Dekoder_f%C3%BCr_Drehgeber_mit_wackeligen_Rastpunkten
von Carsten-Peter C. (carsten-p)


Angehängte Dateien:

Lesenswert?

Moin,
schaut man sich das Datenblatt von Alps-Drehgebern an, findet man einige 
bei denen der Rastpunkt von beiden Ausgängen weit genug vom Schaltpunkt 
entfernt ist und einige, bei denen ein Ausgang sehr nahe am Rastpunkt 
ist. Bei meinem „Billigteil“ schalteten die Kontakte bei sehr langsamem 
Drehen wie im Datenblatt beschrieben. Beim normalen drehen oder 
schnellem Drehen sahen die Signale  eher „gruselig“ aus. Bei der einen 
fallenden Flanke sieht man auf dem anderen Ausgang die Richtung.
Gruß
 Carsten
von Rainer W. (rawi)


Lesenswert?

Günter L. schrieb:
> Entweder der Hersteller achtet garnicht drauf wo der
> Rastpunkt ist und es ist Zufall wenn er sich genau
> auf eine Flanke befindet. Ich glaube nicht, daß
> es absicht ist.

Meinst du, bei dem gezeigten Beispiel von dem EC12 schreibt Alps das aus 
Jux und Dollerei ins Datenblatt?

Was würde bei deinem 1/4 und 3/4 besser, außer dass auch für den B-Kanal 
am Rastpunkt der Pegel sicher definiert wäre? Wem würde das nützen? Bei 
einem rasten Geber macht es i.A. sowieso keinen Sinn, in der 
Signalauswertung höher als den Rastpunktabstand aufzulösen.
: Bearbeitet durch User
von Norbert (der_norbert)


Lesenswert?

Carsten-Peter C. schrieb:
> Beim normalen drehen oder
> schnellem Drehen sahen die Signale  eher „gruselig“ aus.

Wie kann es sein, dass sich bei einem mechanischen Drehgeber das 
Puls/Pause Verhältnis ändert?
von Rainer W. (rawi)


Lesenswert?

Carsten-Peter C. schrieb:
> Image1.png
> Image2.png

Zwei Bilder bei gleicher Geschwindigkeit - was soll das?
Warum zeigst du nicht ein Bild von "sehr langsamem Drehen", eins von 
"normalen drehen" und eins von "schnellem Drehen"?
Mit welcher Abtastrate hast du gemessen?
von Jörg P. (analog-oldie)


Lesenswert?

Hallo allwissendes Forum,

ich werde die letzte Schaltung von falk aufbauen und dann sehen, ob sie 
für mein Projekt zufriedenstellend funktioniert.
Ich danke allen, die Beitäge geleistet haben, für ihre Bemühungen und 
werde diesen Thread hiermit beenden und schließen.

Danke nochmals
analog-oldie
von Carsten-Peter C. (carsten-p)


Lesenswert?

Rainer W. schrieb:
> Zwei Bilder bei gleicher Geschwindigkeit - was soll das?

Moin,
das sind ältere Bilder, die das tatsächliche Verhalten meines Drehgebers 
zeigen sollen. In Bild Image1 ist zu sehen, wie bei gleicher 
Drehrichtung die blaue 2. Flanke vor der roten Flanke fällt. Die 50ms 
werden oben im Bild angezeigt. Vielleicht hilft es ja jemanden bei der 
Fehlersuche.
Gruß
 Carsten
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.