Impulsausgabe mit Dreh-Inkrementalgeber

#8067804
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

Gast #8067810
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
Moderator #8067853
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 ;-)

#8067872
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.

Angehängte Dateien:
: Bearbeitet durch User
(Firma: 1984now) #8067951
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.

(Firma: Privat) #8067989
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.

#8068011
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
(Firma: Privat) #8068030
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.

#8068041
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/

Angehängte Dateien:
: Bearbeitet durch User
#8068046
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.

(Firma: Privat) #8068066
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.

#8068079
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

#8068093
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

Angehängte Dateien:
#8068160
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
#8068208
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

#8068249
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren