Forum: Mikrocontroller und Digitale Elektronik Drehencoder diskret


von martin (Gast)


Lesenswert?

hallo,

ich suche eine diskrete schaltung um die signale eines mechanischen 
drehencoders für einen counter mit einem up/down eingang und einem clock 
eingang nutzbar zu machen... counter z.b 74 191

m.

von martin (Gast)


Lesenswert?

also ohen controller...

m.

von martin (Gast)


Lesenswert?

also ohne controller, evtl mit gattern aus der 74 oder 40xx serie..

m.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?


von Jürgen B. (hicom)


Lesenswert?

D-Flip flop 4013.
Kanal A auf D, und Kanal B auf Clock. Am Ausgang hast du dann
eine 1 oder 0 je nach Drehrichtung. Damit kannst du deinen
Counter umschalten.

Jürgen

von martin (Gast)


Lesenswert?

...das problem der meisten schaltungen ist ja der 
drehrichtungswechsel...

oftmals wird dann noch ein schritt in die falsche richtung gezählt....

ich habe damals einen extremen gatterverhau benötigt um das problem zu 
lösen, die gepostete seite ist schon nicht schlecht, die komplexere 
schaltung weiter unten geht schon in die richtung, in der es damals bei 
mir auch ausgeartet war, die frage ist nur ob sie funktioniert...

ich habe damals 4 flankengesteuerte j/k ff mit asynchronen r/s eingängen 
genutzt und sie alle in bezug auf ihre r/s eingänge in einem ring 
zusammengeschlatet....

ich habe dann insgesamt auf 4 flanken, und zustände reagiert um das 
up/down signal im richtigen moment zu beeinflussen... drum herum habe 
ich fast ausschließlich 4093 verwendet... das problem war eben, das 4 
unterschiedliche flanken, unterschiedliche signalzustände des jeweils 
anderen pins des drehencoders annehmen mussten, und alle hatten einfluss 
auf einen pin, den u/d pin des counters...

ich dachte, das es evtl auch einen besseren, einfacheren weg gibt...

m.

von Falk (Gast)


Lesenswert?

@  martin (Gast)

>...das problem der meisten schaltungen ist ja der
>drehrichtungswechsel...

Eben. Die Schaltungen auf der verlinten Seite sind allesamt Hobbymurks. 
Geht so, aber nciht wasserdicht. Besser so.

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

MFG
Falk

von Benedikt Lippert (Gast)


Lesenswert?

Hallo,
hat diese Schaltung schon jemand ausprobiert:
http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.29

Wenn ja, wie kommt sie mit prellenden Kontakten zurecht und was ist das 
Clock enable Signal?

Ist es möglich diese Schaltung mit TTl(74HCT...) IC´s funktionsfähig 
auzubauen oder wäre es besser einen Gal oder µC zu bemühen.

mfg Benedikt

von Falk B. (falk)


Lesenswert?

@ Benedikt Lippert (Gast)

>Wenn ja, wie kommt sie mit prellenden Kontakten zurecht

Problemlos.

> und was ist das Clock enable Signal?

Da gibt einen nachfolgenden Zähler frei.

>Ist es möglich diese Schaltung mit TTl(74HCT...) IC´s funktionsfähig
>auzubauen

Ja.

> oder wäre es besser einen Gal oder µC zu bemühen.

Bei niedrigen Drehzahlen ist ein uC besser.

Siehe Drehgeber

Mfg
Falk

von Michael H* (Gast)


Lesenswert?

http://www.usdigital.com/assets/general/111_lfls7084-s_datasheet_1.pdf

LFLS7084-S Encoder to Counter Interface Chip
These devices allow incremental shaft encoders to drive standard up/down
counters.

von Gast (Gast)


Lesenswert?

Ein ATtiny13 o.ä. dürfte billiger und besser beschaffbar sein ;-)

von Erik D. (dareal)


Lesenswert?

So habe ich's auch vor ...

Drehencoder + Attiny ... dann hat mans schön diskret und vor allem 
beschafftbar. Die meiste quadrature decoder sind imho für höhere 
Auflösungen gedacht und haben rehct unpraktische oder unnütz große 
packages. Zudem bekommt man eigentlich kaum einen brauchbaren Chip wo 
gekauft.

von Klaus L. (kllei)


Angehängte Dateien:

Lesenswert?

Hallo und sorry für das ausgraben dieses alten Threads...

Ich habe gerade die diskrete Schaltung aus dem Drehencoder Wikieintrag 
aufgebaut: 
http://www.mikrocontroller.net/articles/Drehgeber#Dekoder_mit_diskreten_Logik-ICs

Kann mal jemand bitte kurz beschreiben, wie die Signale ausgewertet 
werden müssen? Leider fehlt dieser Teil im Wiki ;-)

Ich bekomme pro Encoder Rastung 4 Flankenwechsel auf der DIR Leitung und 
4 oder manchmal mehr Pulse auf der Enable Leitung.

Was ich erkennen kann:
Bei High auf Enable ist DIR High bei rechtsdrehend, Low bei 
linksdrehend.
(Bilder 1 und 2)
Wenn der Encoder aber prellt (langsames drehen) gibt es einen 
Flankenwechsel auf DIR (Bild 3)
In diesem Bild ist nur das prellen dargestellt, also die beiden ersten 
Flanken, es kommen danach noch 2 weitere. So habe ich beim prellen also 
mehr als 4 Enable Pulse...

Wann soll denn wie ausgewertet werden? Bei Flankenwechsel?

Vielen Dank für Eure Tipps.

Grüße,
Klaus

von Falk B. (falk)


Lesenswert?

@  Klaus Leidinger (klausleidinger)

>Wann soll denn wie ausgewertet werden? Bei Flankenwechsel?

Dann braucht man ja keinen Decoder. Man hängt dort einen synchronen 
Vorwärts/Rückwärts Zähler mit DIR und Clock enable dran. Der Takt geht 
auf den Decoder und den Zähler.

MFG
Falk

von Klaus L. (kllei)


Lesenswert?

Hallo Falk,

aha, dann zählt der Zähler die Impulse während ENA aktiv ist, beim 
prellen also einen vor und wieder einen zurück? Pro Rastung kommen dann 
doch aber 4 Impulse zu stande, oder?

Oh sh*t das ist mit einen Controller ja blöd auszuwerten. Gibt es eine 
Schaltung die besser für Microcontroller geeignet ist, also die das 
prellen verschluckt und nur die Anzahl "gültiger" Pulse mit Richtung 
rausgibt?

Vielen Dank,
Klaus

von Falk B. (falk)


Lesenswert?

@  Klaus Leidinger (klausleidinger)

>aha, dann zählt der Zähler die Impulse während ENA aktiv ist, beim
>prellen also einen vor und wieder einen zurück? Pro Rastung kommen dann
>doch aber 4 Impulse zu stande, oder?

Ja.

>Oh sh*t das ist mit einen Controller ja blöd auszuwerten.

Dafür ist die Schaltung auch nicht gedacht.

> Gibt es eine
>Schaltung die besser für Microcontroller geeignet ist, also die das
>prellen verschluckt und nur die Anzahl "gültiger" Pulse mit Richtung
>rausgibt?

Die sind alle gültig. Und für einen manuellen Drehgeber braucht man sie 
nicht, das kann ein uC problemlos direkt auswerten.

MFG
Falk

von Klaus L. (kllei)


Angehängte Dateien:

Lesenswert?

Hallo Falk,

danke nochmal für die Infos, jetzt ist es klarer.

Falk Brunner schrieb:
> Die sind alle gültig. Und für einen manuellen Drehgeber braucht man sie
> nicht, das kann ein uC problemlos direkt auswerten.

Na ja, da würde ich mal sagen "kommt drauf an" wie schnell z.B. der 
Motor dreht und was noch so alles vom Controller gemacht werden soll. 
(und wie viele Timer noch übrig sind). Auch bei von Hand bedienten 
Encodern werden bei schneller Drehung nicht immer alle Impulse erfasst.

Ich probiere gerade die Schaltung im Anhang, scheint zumindest für 
meinen Motor mit Hallgebern ordentlich zu funktionieren. Ich muß aber 
noch die Wiederholgenauigkeit überprüfen.

Grüße,
Klaus

von Falk B. (falk)


Lesenswert?

@Klaus Leidinger (klausleidinger)

>Na ja, da würde ich mal sagen "kommt drauf an" wie schnell z.B. der
>Motor dreht und was noch so alles vom Controller gemacht werden soll.

Was ist es denn für ein Drehgeber? Wieviel Pulse/Umdrehung? Drehzahl?

Siehe Netiquette.

>(und wie viele Timer noch übrig sind).

Da braucht man keinen extra, das kann man in einen vorhandenen meist 
problemlos einarbeiten.

> Auch bei von Hand bedienten
>Encodern werden bei schneller Drehung nicht immer alle Impulse erfasst.

Nö, man muss nur halbwegs schnell abtasten, 1 kHz geht meistens in 
Ordnung.

>Ich probiere gerade die Schaltung im Anhang, scheint zumindest für
>meinen Motor mit Hallgebern ordentlich zu funktionieren.

Nein, das tut sie nicht. Warum das so ist, steht im Artikel 
Drehgeber.

MfG
Falk

von Klaus L. (kllei)


Lesenswert?

Hallo Falk,

>>Na ja, da würde ich mal sagen "kommt drauf an" wie schnell z.B. der
>>Motor dreht und was noch so alles vom Controller gemacht werden soll.
>
> Was ist es denn für ein Drehgeber? Wieviel Pulse/Umdrehung? Drehzahl?

OK, das war eher generisch gemeint, aktuell hat der Motor der bei mir 
liegt 800 U/Min und einen Geber mit 18°, also 20 Stellungen auf der 
Motorwelle.

Wenn ich das richtig rechne sind das ~500Hz?

Brauche ich da nicht schon 2 KHz?

Es gibt den Motor aber auch mit 10° und 1500 U/min und sogar mit 1°, 
wobei das für die geplante Anwendung übertrieben ist.

Mit einer ordentlichen Hardwarelösung wäre das Thema halt erledigt 
gewesen. Bei den geplanten Stückzahlen wären ein paar Cent nicht ins 
Gewicht gefallen.

>>Ich probiere gerade die Schaltung im Anhang, scheint zumindest für
>>meinen Motor mit Hallgebern ordentlich zu funktionieren.
>
> Nein, das tut sie nicht. Warum das so ist, steht im Artikel
> Drehgeber.

Da hast Du natürlich Recht! Das ist ja die Sache mit dem schwingen. Das 
Risiko ist mir dann doch zu groß.

Wenn es also keine vernünftige diskrete Lösung gibt, dann lieber doch in 
Software...

Grüße,
Klaus

von Falk B. (falk)


Lesenswert?

@  Klaus Leidinger (klausleidinger)

>liegt 800 U/Min und einen Geber mit 18°, also 20 Stellungen auf der
>Motorwelle.

>Wenn ich das richtig rechne sind das ~500Hz?

ich komme auf 266 Pulse/s.

>Brauche ich da nicht schon 2 KHz?

Ja und? Ein 2 kHz Timer-Interrupt ist für einen heutigen uC ein 
Klacks.

>Es gibt den Motor aber auch mit 10° und 1500 U/min und sogar mit 1°,
>wobei das für die geplante Anwendung übertrieben ist.

Dann lass es bei 10°. Macht gerade mal 900 Pulse/s. Wenn man die mit 
sagen wir 5 kHz abtastet ist das kein Thema.

>Mit einer ordentlichen Hardwarelösung wäre das Thema halt erledigt
>gewesen. Bei den geplanten Stückzahlen wären ein paar Cent nicht ins
>Gewicht gefallen.

Dann nimm einen AVR und alles wird gut.

MfG
Falk

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.