Inkrementalgeber Drehrichtung erkennen

Gast #961235
Lesenswert?

Hi Leute,
ich hab nen Intekementalgeber welchen ich Nutzen möchte um eine Welle 
abzufragen. Es kommen zwei Rechtecksignale raus, welche um 90 Grad 
verstetzt sind. Damit kann man mit einer entsprechenden Logik
( ich rede von TTL oder so, nicht µC) die Drehrichtung erkennen.
Ich habe in einem älteren Forum die Info gefunden, das das mit einem
" LS7184 " gut gehen muss, Sieht lt. Datasheet auch so aus. Nur leider
habe ich den IC nirgendwo gefunden. Von Reichelt bis Farnell, überall 
Fehlanzeige. Kann mir einer nen Tipp geben wo ich das ding her bekomme?
Mit einen 7474 D-Flipflop soll das wohl auch gehen, nur da habe ich 
nicht kapiert wie das gehen soll :-(

Grüße Micha
#961245
Lesenswert?

Hi,

ich hab ein ähnliches Problem, schließe mich deinem Beitrag gleich an.

Ich hab so ein Ding aus einer alten Maus ausgebaut (Mausrad)

Jetzt weiß ich nicht, wie ich die Drehrichtung erkennen kann.

3 Anschlüsse:

1 Masse
2 Wechseln zw. Hochohming und 0 Ohm, haben aber beide den selben 
Zustand. Kann das sein? So kann man ja die Drehrichtung nicht erkennen?!

mfg
J.K
Gast #961432
Lesenswert?

@Micha:

> Mit einen 7474 D-Flipflop soll das wohl auch gehen, nur da habe ich
> nicht kapiert wie das gehen soll :-(

Willst du wirklich nur die Drehrichtung bestimmen und nicht auch den
Drehwinkel messen?

Wenn ja: Theoretisch genügt es, eines der beiden Signale an den Takt-
und das andere an den D-Eingang des Flipflops anzuschließen. Am Ausgang
erscheint dann die Drehrichtung.

Das funktioniert aber nur, wenn die Eingangssignale sauber sind und an
den Flanken nicht hin- und herzappeln.

Bei einem optischen Geber genügt es wahrscheinlich, die beiden Signale
jeweils durch einen Schmitt-Trigger zu schicken. Wenn mit starken
Störungen auf den Leitungen zu rechnen ist, kann man noch einen dezenten
Tiefpass davor schalten.

Geber mit Schaltkontakten müssen entprellt werden, bspw. mittels
RC-Tiefpass und Schmitt-Trigger. Die Zeitkonstante des Tiefpasses sollte
einerseits möglichst groß gewählt werden, um das Prellen wirkungsvoll zu
unterdrücken, andererseits aber klein genug, dass bei der höchsten
vorkommenden Signalfrequenz die Ausgangsamplitude noch ausreicht, um den
Schmitt-Trigger in beide Richtungen umzuschalten.

@J. K.:

> 2 Wechseln zw. Hochohming und 0 Ohm, haben aber beide den selben
> Zustand. Kann das sein?

Normalerweise nicht. Entweder du hast falsch gemessen, die Einzelteile
nach dem Zerlegen schief zusammengesetzt, oder das Ding ist defekt.
Richtig wären zwei um 90° phasenversetzte Signale. Dann klappt's auch
mit der Drehrichtungserkennung ;-)

@Falk:

Deine Schaltung sieht interessant aus! Ich habe allerdings noch nicht
ganz verstanden, welcher Typ von Zähler wie an die beiden Ausgänge wie
angeschlossen werden muss, zumal alle Flanken von FWD mit Flanken von CE
zusammenfallen. Man weiß also nie genau, welches der beiden Ausgangs-
signale zuerst umschaltet. Oder nutzt du die Verzögerungszeiten der
Xor-Gatter und gehst davon aus, dass CE immer eine Gatterlaufzeit nach
FWD umschaltet?
Gast #961455
Lesenswert?

Hi Yalu,
ich will die Drehrichtung ermitteln und dann auf einen Zähler geben.
Mir ist aber wichtig, das da kein Impuls unter den Tisch fällt und das 
das Ding möglichst genau up/down zählt.
Der Drehgeber hat 360 Striche. Die will ich dann noch über eine 
Zahnriemenübersetzung vervielfachen.
Frage: Wenn das mit einem Flipflop so geschmeidig zu machen gehen soll, 
wozu nageln dann ( oder haben früher mal genagelt ) so viele TTLs auf 
das Kuchenblech ? Ich glaube, wenn nicht µC, dann LS7084  ?
Oder denke ich da falsch ??
Grüße Micha
Gast #961508
Lesenswert?

> Frage: Wenn das mit einem Flipflop so geschmeidig zu machen gehen
> soll, wozu nageln dann ( oder haben früher mal genagelt ) so viele
> TTLs auf das Kuchenblech ?

Die D-Flipflop-Schaltung alleine macht nur die Drehrichtungserkennung,
sonst nichts. Deswegen habe ich im letzten Post nachgefragt.

Willst du die Impulse zählen, braucht es mindestens noch einen Zähler
und ein paar Gatter, um auch wirklich die richtigen Signale zeitlich
aufeinander abgestimmt an die Zählereingänge zu liefern. Dann bist du
aber schon bei drei ICs wie bei Falks Vorschlag.

Falks Schaltung hat zudem den Vorteil, dass nicht direkt auf die Flanken
der Eingangssignale reagiert wird, sondern die Signale im festen
Zeitraster abgetastet werden. Bei Flankentriggerung kann es passieren,
dass bei ultrakurzen Zeitabständen zwischen zwei aufeinanderfolgenden
Flanken eine von beiden auf Grund der endlichen Geschwindigkeit der
Schaltung verschluckt wird, was dazu führt, dass ein Inkrement zuviel
oder zu wenig gezählt wird. Mit der periodischen Abtastung (die
natürlich schnell genug sein muss, Abtastrate >= 4*maximale
Signalfrequenz) wird ein Flankenpaar (steigende und fallende Flanke)
entweder komplett erfasst oder komplett verschluckt. Den Fall, dass nur
die steigende Flanke erkannt wird, nicht aber die fallende, gibt es
nicht. So kann es zwar passieren, dass auf Grund einer Störung der
Zählerstand um 1 vom richtigen Wert abweicht, dieser Fehler wird jedoch
bei der nächsten Abtastung wieder korrigiert. Auf Grund dieser
Robustheit gegenüber Störungen kann in den meisten Fällen auch auf
eingangsseitige Filter verzichtet werden.

Kurzum: Das Abtastverfahren ist das einzige, das wirklich zuverlässig
funktioniert, deswegen wird von Leuten, die sich auskennen, nichts
anderes gemacht, egal ob die Auswertung in Software oder in Hardware
(bspw. dem LS7[01]8[34]) stattfindet. Als angenehmen Nebeneffekt bekommt
man die maximal mögliche Auflösung geliefert, da von beiden Signalen
sowohl die steigenden als auch die fallenden Flanken ausgewertet werden.
360 Striche ergeben damit 360*4=1440 Inkremente je Umdrehung. Leider
braucht das Abtastverfahren noch ein Taktsignal, was ein weiteres
Bauteil verschlingt, falls man nicht an anderer Stelle in der Schaltung
eines abzweigen kann.
Gast #961682
Lesenswert?

Etliche µC (z.B. DSP56F-Serie) haben eine DrehEncoder-Schnittstelle 
schon eingebaut.
Du schließt die beiden Signale an und kannst den Zähler direkt als 
Register auslesen.
Wenn Du absolut sicher gehen willst, dass kein Impuls verloren gehen 
kann, empfiehlt sich ein weiteres Signal, nämlich Index, das nur einmal 
pro Umdrehung kommt.
Oder eine Scheibe mit Gray-Code.
#961714
Lesenswert?

@Micha (Gast)

>die Schaltung ist ja nicht schlecht. Aber ein IC wäre mir schon lieber.

Dann brenn die Logik in einen GAL oder AVR.

@ yalu (Gast)

>Deine Schaltung sieht interessant aus! Ich habe allerdings noch nicht
>ganz verstanden, welcher Typ von Zähler wie an die beiden Ausgänge wie
>angeschlossen werden muss,

Ein normaler synchroner Zähler mit UP/Down und Clock Enable Eingang. 
Z.B. ein 4029.

> zumal alle Flanken von FWD mit Flanken von CE
>zusammenfallen. Man weiß also nie genau, welches der beiden Ausgangs-
>signale zuerst umschaltet.

Das spielt keine Rolle, sind synchrone Steuereingänge.

> Oder nutzt du die Verzögerungszeiten der
>Xor-Gatter und gehst davon aus, dass CE immer eine Gatterlaufzeit nach
>FWD umschaltet?

Nöö, beide Signale sind synchron zum Takt.

MFG
Falk
#961717
Lesenswert?

@Micha (Gast)

>Kann ich da irgend einen 0815 Takt nehmen ?

Ja, ein RC-Oszillator reicht.

>7400+RC unf fertig oder muss ich da was beachten ?

Nimm einen AVR, tiny13 oder so. Kleiner und kompakter gehts nicht. Und 
die Abtastrate ist kein Problem, der macht 10 kHz problemlos. Wenn du 
einen tiny2313 nimmst, hast du sogar schon einen Zählerausgang!

MFG
Falk
Gast #961803
Lesenswert?

Bei solchen Anwendungen lohnt sich bereits der Einstieg in die Welt der 
Mikrocontroller, denn in Zukunft wird die Anzahl erhältlicher 
Logikbausteine nicht grösser werden. Über kurz oder lang wirst Du an 
Mikcrocontrollern also nicht vorbei kommen.
Ich weiss, aller Anfang ist schwer, aber Du wirst begeistert sein, was 
Du mit so einem Ding dann alles realisieren kannst und wie einfach eine 
Schaltung - auch für komplexere Aufgaben - schlussendlich aussieht. 
Betrachte es als eine Investition in die Zukunft.
Gast #1251108
Lesenswert?

da hat wol jemand eine Schaltung von Heidenhain (r) kopiert, sehr 
interessant. Das mit den Schieberegistern und den Gattern funktioniert 
so: A und B-Signale werden durch Schieberegister geschoben (darum Takt, 
höher als max. Impulsfrequenz). Zwischen Eingang und Ausgang des SR, 
misst ein EX-OR, ungleich. immer wenn sich was bewegt, kommen dann 
Impulse mit Taktfrequenz am Ausgang und zwar 4-fach-Flankenauswertung. 
Am Richtungsausgang sind ebenfalls Impulse. Bei z.B. vorwärts zum 
Zeitpunkt des Zählimpulses Hi-Pegel. Und nur nebenbei, die Signalpegel 
von Spur A und Spur B sind, 00/10/11/01 und das bei jedem Impuls.

Aber das ganze nur oberflächlig erwänt.

Dien Problem liegt warscheinlich darin, daß ein Winkelzähler 358..359..0 
und 0..359 zählt. Denn nullen musst du den Zählerstand irgendwann. 
Richtig gekaufte Anzeigegeräte für TTL-Rechteck-Geber haben als erstes 
folgendes:
Über die Sensorleitungen wird die Spannung am Geber auf 5 Volt 
eingestellt. Die Signalspuren Ua1/Ua1-/Ua2...... werden mit einem 
Leitungsempfänger Baustein differenziell zu TTL, gewandelt. Ebenfalls 
das Verschmutzungssignal Uas- (soweit der Geber solches hat). Eine 
Auswertung für Leitungsbruch, erfolgt mit ungleich der Spuren zu 
Spuren-. Dann hat man die Information, ob Signal überhaupt gültig ist. 
So, jetzt wird gezählt. Wenn der Winkelbereich nicht endlos ist, geht's 
ja software mäßig leicht.

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