Drehgeber auf UP/DOWN Zähler

Gast #6997448
Lesenswert?

Hallo,

ich möchte mit einem rotierenden Magneten und 2 REED-Kontakten einen 
UP/DOWN-China-Zähler ansteuern.

Zu meiner schon lange her liegenden TTL-Zeit würde mir da sicher eine 
einfache Lösung einfallen.

Aber ich habe keine Ahnung, was es heute alles für Bausteine gibt, die 
vielleicht schon fertige Lösungen bieten. Natürlich könnte ich das mit 
Arduino und Co lösen. Das möchte ich aber vermeiden.

Ich denke daran, einen Logikbausteil direkt hinten auf den Zähler zu 
kleben. Schönheit muss nicht sein

Ich habe so was von FF-Schaltung und entsprechende "Vergatterung" noch 
im Hinterkopf.

Gegeben: 2 Phasen über Reedkontakte. Gemeinsamer Kontakt. Schaltung nach 
Masse oder auch nach Plus. Je nach Drehrichtung wird ein Kontakt vor 
oder nach dem anderen betätigt.

Der Zählerbaustein (LED-Display) besitzt einen UP und einen 
DOWN-Eingang. Also kein Takt und Richtungseingang!

Es handelt sich um keine besondere Anforderung an Fehlerfreiheit. Also 
wenn mal ein Puls fehlt oder doppelt kommt, wäre das nicht so tragisch.
Gast #6997533
Lesenswert?

Es geht mit 2 Reedkontakten. So arbeiten praktisch alle Drehgeber. Und 
dann ein Flipflop + ?? irgend eine Verknüpfung - das ist der Knackpunkt.

Es ist über 20 Jahre her, dass ich mal mit solchen Schaltungen gebastelt 
habe. Und mir fehlt die Erleuchtung.
Gast #6997534
Lesenswert?

>Wie soll man das auswerten, wenn einfach 2 Impulse hintereinander kommen

Die Schalter müssen sich so nah beieinander befinden, dass sich die 
Impulse (optimalerweise so ungefähr halb) überlappen.
Persönliche Seite #6997544
Lesenswert?

Wolfgang G. schrieb:
> Gegeben: 2 Phasen über Reedkontakte. Gemeinsamer Kontakt. Schaltung nach
> Masse oder auch nach Plus. Je nach Drehrichtung wird ein Kontakt vor
> oder nach dem anderen betätigt.
>
> Der Zählerbaustein (LED-Display) besitzt einen UP und einen
> DOWN-Eingang. Also kein Takt und Richtungseingang!

LS7083 oder LS7183 in 8-Pin-Gehäusen von LSI/CSI.

In den Datenblättern stehen Anregungen zum Selbermachen.
Gast #6997572
Lesenswert?

LostInMusic schrieb:
>>Wie soll man das auswerten, wenn einfach 2 Impulse hintereinander kommen

So wie man das immer macht wenn man Drehbewegungen mit 
Richtungserkennung erfassen will!

> Die Schalter müssen sich so nah beieinander befinden, dass sich die
> Impulse (optimalerweise so ungefähr halb) überlappen.

Genau - ich weiß schon wie so ein Drehgeber funktioniert.

Aber so wie es aussieht, ist das Problem gelöst
Gast #6997577
Lesenswert?

Eberhard H. schrieb:
> Wolfgang G. schrieb:
>> Gegeben: 2 Phasen über Reedkontakte. Gemeinsamer Kontakt. Schaltung nach
>> Masse oder auch nach Plus. Je nach Drehrichtung wird ein Kontakt vor
>> oder nach dem anderen betätigt.
>>
>> Der Zählerbaustein (LED-Display) besitzt einen UP und einen
>> DOWN-Eingang. Also kein Takt und Richtungseingang!
>
> LS7083 oder LS7183 in 8-Pin-Gehäusen von LSI/CSI.
>
> In den Datenblättern stehen Anregungen zum Selbermachen.

Super - eine von 2 wohl guten Lösungen. Sowas habe ich mir vorgestellt. 
Danke
Gast #6997584
Lesenswert?

Karadur schrieb:
> z.B. so

Das ist die Lösung! So was hatte ich im Kopf. Aber schon ewig her. 
Passende Chips habe ich sogar hier rumliegen. Den klebe ich einfach 
hinten auf den Zähler mit wilder Verdrahtung. Müsste sogar noch in den 
Zähler reinpassen.

Danke allerseits. Der Tag ist gerettet :-)
Moderator (Firma: Titel) Persönliche Seite #6997598
Lesenswert?

Eberhard H. schrieb:
> Du hast aber nicht Takt und Richtung, sondern Quadratur-Signale.
Man kann eines davon zum "Taktsignal" deklarieren und das andere als 
"Richtungssignal". Man verschenkt durch diese simple Auswertung dann 
halt die 4-fache Auflösung. Und natürlich ist das so definierte 
"Taktsignal" nur ein schlechtes "Taktsignal", weil es von einem 
mechanischen Schalter kommt.
Gast #6997612
Lesenswert?

Lothar M. schrieb:
> Und natürlich ist das so definierte
> "Taktsignal" nur ein schlechtes "Taktsignal", weil es von einem
> mechanischen Schalter kommt.

So ist das eben, wenn man mit TTL-Logik auswertet: da kein Entprellen 
vorgesehen ist, können auch mal 10 statt 1 Taktimpuls erzeugt werden. 
Mit einem Mikrokontroller und der üblichen Auswertung passiert das 
nicht. Ein 8Beiner reicht. Aber der TO will das ja nicht hören, also 
muss er mit dem Prellen leben.

Georg
Gast #6997625
Lesenswert?

Lothar M. schrieb:
> Eberhard H. schrieb:
>> Du hast aber nicht Takt und Richtung, sondern Quadratur-Signale.
> Man kann eines davon zum "Taktsignal" deklarieren und das andere als
> "Richtungssignal".

und das reicht hier. Das ist dem Zähler ziemlich egal, wie die Impulse 
generiert werden. Der will nur getrennte Pulse für up und down

> Man verschenkt durch diese simple Auswertung dann
> halt die 4-fache Auflösung.

brauche ich nicht. Das ist keine CNC-Maschine sondern eine einfache 
Abwickeleinheit.

> Und natürlich ist das so definierte
> "Taktsignal" nur ein schlechtes "Taktsignal", weil es von einem
> mechanischen Schalter kommt.

Das Taktsignal interessiert mich recht wenig. Oder welcher von beiden 
Eingängen den Takt liefert und aus welchem dann die Richtung gewonnen 
wird.

Der Zähler wird normalerweise auch mit Reedkontakten betrieben. Ist 
entsprechend entprellt.
Gast #6997770
Lesenswert?

>unzählige Möglichkeiten

Versuchs damit:

Schalter A --> D-Eingang vom Flipflop,
Schalter B --> CLK-Eingang vom FF und CLK-Eingang vom Multiplexer,
FF-Ausgang --> Eingang "Richtung" vom Multiplexer.

Was anderes macht auch kaum Sinn, oder?
Gast #6997801
Lesenswert?

Christoph db1uq K. schrieb:
>>Takt und Richtung / Quadratur-Signale
> Es gibt zwei Arten von TTL-Zählern, die einen haben getrennte Up und
> Down-Takteingänge (z.B. 74xx193) , die anderen eine Takt- und einen
> Direction-Eingang (z.B. 74xx191).
>
> der
>>UP/DOWN-China-Zähler
> entspricht also dem 193

Warum schreibst du mir das? Es ist hier absolut nicht relevant, was es 
alles gibt. Es interessiert mich nur das, was ich habe und wie ich das 
Problem lösen kann.

Ich habe nun mal 2 Reedkontakte und einen Zähler mit getrennten UP/DOWN 
Eingängen.
#6997810
Lesenswert?

Wolfgang G. schrieb:
> Ich habe nun mal 2 Reedkontakte und einen Zähler mit getrennten UP/DOWN
> Eingängen.

Ist OK. Das haben jetzt alle verstanden und akzeptiert.
Wenn es den LS7083 oder LS7183 irgendwo zu kaufen gibt, ist dein Problem 
gelöst. Wenn nicht, könnte man einen ATtiny13 oder was ähnliches 
programmieren, um die Funktion nachzubilden. Wenn du das nicht selber 
machen kannst oder willst, findet sich vielleicht ein netter 
Forumsteilnehmer, der das machen kann und will.
Gast #6997836
Lesenswert?

Angehängte Dateien:
Gast #6997876
Lesenswert?

Frank schrieb:
> Wolfgang G. schrieb:
>> Aber ich habe keine Ahnung, was es heute alles für Bausteine gibt, die
>> vielleicht schon fertige Lösungen bieten.
>
> Wolfgang G. schrieb:
>> Es ist hier absolut nicht relevant, was es
>> alles gibt.
>
> Nanu?!

Was heisst hier "nanu"? Warum reißt du einen Text vollkommen aus dem 
Zusammenhang und konstruierst damit eine überflüssige Frage?
#6997883
Lesenswert?

Die üblichen Drehgeber liefern eben ein Takt und Richtungssignal, wenn 
man sie mit einem D-Flipflop auswertet, und das passt erst mal nicht zu 
einem getrennten Up und Down-Zähler. Man muss es erst umcodieren. 
Eventuelles Kontaktprellen macht es noch schlimmer.

Wir haben immer noch nicht erfahren , ob die beiden Reedkontakte wie ein 
Drehgeber überlappende Signals abgeben, oder ob die immer getrennt 
auftreten. Dann wäre nämlich wie schon geschrieben wurde keine 
Richtungserkennung möglich.
Gast #6997887
Lesenswert?

Falk B. schrieb:
> Wolfgang G. schrieb:
>> Ich habe nun mal 2 Reedkontakte und einen Zähler mit getrennten UP/DOWN
>> Eingängen.
>
> Ist OK. Das haben jetzt alle verstanden und akzeptiert.
> Wenn es den LS7083 oder LS7183 irgendwo zu kaufen gibt, ist dein Problem
> gelöst. Wenn nicht, könnte man einen ATtiny13 oder was ähnliches
> programmieren, um die Funktion nachzubilden. Wenn du das nicht selber
> machen kannst oder willst, findet sich vielleicht ein netter
> Forumsteilnehmer, der das machen kann und will.

So wie es aussieht, ergibt sich keine für mich nachvollziehbare Lösung. 
Nur lauter so Einzelbrocken. Ich hatte eigentlich damit gerechnet, dass 
hier von den Experten auf Anhieb das passende Schaltbild kommt. Aber da 
habe ich die Schwierigkeit meines Vorhabens wohl unterschätzt. Schade.

Die genannten ICs gibt es wohl auch nicht mehr. Oder wenn, dann 
unbezahlbar in Industriemenge.

Egal - ich steige aus und bedanke mich allerseits für die Mühen. Dann 
werde ich das wohl auf einem Arduino lösen. Ist für mich einfach Kanonen 
auf Spatzen, wenn man statt 2 bis 4 Gattern einen Arduino verbrät.
Persönliche Seite #6997904
Lesenswert?

Wenn die Reed-Kontakte überlappende (und entprellte) Quadratur-Signale 
liefern, sollte die angehängte Schaltung für den X1-Mode mit nur einem 
IC funktionieren. Ich habe sie aber noch nicht getestet.

Bei Richtungswechsel kann ggf. ein Zählimpuls verloren gehen, aber das 
scheint ja egal zu sein.

Edit: Das Datum muss natürlich 8.3.2022 heißen.

PS: Die von mir genannten Teile gibt es schon lange und immer noch, aber 
wohl nur über Distributoren. Sonst bleibt immer noch eine 
Online-Musteranfrage beim Hersteller.
Angehängte Dateien:
#6997949
Lesenswert?

Wolfgang G. schrieb:
> So wie es aussieht, ergibt sich keine für mich nachvollziehbare Lösung.
> Nur lauter so Einzelbrocken. Ich hatte eigentlich damit gerechnet, dass
> hier von den Experten auf Anhieb das passende Schaltbild kommt. Aber da
> habe ich die Schwierigkeit meines Vorhabens wohl unterschätzt. Schade.

Siehe Anhang. Der macht exakt das, was du suchst, ohne Tricks, FlipFLops 
etc. Und alles in einem recht kleinen 8-Pin DIL Gehäuse. Was will man 
mehr?
Angehängte Dateien:
Gast #6998000
Lesenswert?

Christoph db1uq K. schrieb:
> Die üblichen Drehgeber liefern eben ein Takt und Richtungssignal, wenn
> man sie mit einem D-Flipflop auswertet, und das passt erst mal nicht zu
> einem getrennten Up und Down-Zähler. Man muss es erst umcodieren.
> Eventuelles Kontaktprellen macht es noch schlimmer.
>
> Wir haben immer noch nicht erfahren , ob die beiden Reedkontakte wie ein
> Drehgeber überlappende Signals abgeben, oder ob die immer getrennt
> auftreten. Dann wäre nämlich wie schon geschrieben wurde keine
> Richtungserkennung möglich.

Bereits in meinem ersten Beitrag steht:

Gegeben: 2 Phasen über Reedkontakte. Gemeinsamer Kontakt. Schaltung nach
Masse oder auch nach Plus. Je nach Drehrichtung wird ein Kontakt vor
oder nach dem anderen betätigt.

Ich dachte, das sei verständlich ausgedrückt. Sorry - das nächste Mal 
mache ich ein Foto.
Gast #6998010
Lesenswert?

Eberhard H. schrieb:
> Wenn die Reed-Kontakte überlappende (und entprellte) Quadratur-Signale
> liefern, sollte die angehängte Schaltung für den X1-Mode mit nur einem
> IC funktionieren. Ich habe sie aber noch nicht getestet.
>
> Bei Richtungswechsel kann ggf. ein Zählimpuls verloren gehen, aber das
> scheint ja egal zu sein.

Richtungswechsel sind selten. Und wenn ein Impuls verloren geht oder 
doppelt kommt spielt das keine Rolle.

> PS: Die von mir genannten Teile gibt es schon lange und immer noch, aber
> wohl nur über Distributoren. Sonst bleibt immer noch eine
> Online-Musteranfrage beim Hersteller.

Also ich habe alle meine gängigen Lieferanten abgeklappert. Aber egal - 
ich versuche das mit den 2 FFs. Ansonsten muss ich halt meine 
Arduino-IDE wieder ausgraben. Schon ewig nichts mehr damit gemacht.
Persönliche Seite #6998117
Lesenswert?

Wolfgang G. schrieb:
> Also ich habe alle meine gängigen Lieferanten abgeklappert.

Siehe Distributoren auf der Hersteller-Website.

> Aber egal - ich versuche das mit den 2 FFs.

Soeben auch praktisch überprüft: Mein spontan gemachter Vorschlag 
funktioniert wie angedacht, solange A und B  überlappende und entprellte 
Quadratur-Signale sind.

Wenn sich A und B nicht überlappen (genau genommen also keine 
Quadratur-Signale sind), wird abwechselnd UP / DOWN gezählt (dann sogar 
bei prellenden Signalen).
Beitrag #6999443 wurde von einem Moderator gelöscht.
Gast #6999590
Lesenswert?

In so einem DDR electronica Heftchen "optische Sender und Empfänger" ist 
eine Schaltung drin die genau das bewerkstelligt. Ich muß jetzt erst mal 
weg..und die Heftchen befinden sich noch in einem Umzugskarton.. evtl. 
gräbt das ja indessen Jemand aus..?

Gruß,
Pille
#6999819
Lesenswert?

Wolfgang G. schrieb:

> Gegeben: 2 Phasen über Reedkontakte. Gemeinsamer Kontakt. Schaltung nach
> Masse oder auch nach Plus. Je nach Drehrichtung wird ein Kontakt vor
> oder nach dem anderen betätigt.
>
> Ich dachte, das sei verständlich ausgedrückt.

Es beantwortet nicht, ob Deine Kontakte Überlappend schalten oder nicht.
Falls nicht, wird eine Lösung schwierig, das gilt auch für die Arduino
Lösung.

> Sorry - das nächste Mal mache ich ein Foto.

Statt Foto solltest Du ein impulsdiagramm zeichnen. Notfalls
mit Bleistift und Papier.
Gast #7000035
Lesenswert?

Harald W. schrieb:
> Es beantwortet nicht, ob Deine Kontakte Überlappend schalten oder nicht.

Ist der Fall. Das steht schon in der Frage drin. Wer lesen kann ...

Pille schrieb:
> ...habs irgendwo noch als Scan gefunden..

Ist aber nur eine Teilfunktion mit Schrittverlusten. Bei geringer 
Auflösung kann man A als Takt und B als Richtung verwenden. Dann muß 
aber jeder Flanke - fallend oder steigend - von A auch ein Impuls auf-ab 
zugeordnet werden. Sieh es dir noch mal an!
Alle andere als ein kleiner 8-pin Kontroller ist eine schlechte Lösung.
Gast #7004667
Lesenswert?

So, nun habe ich kurzerhand einen Arduino NANO verwendet. Der lag so 
nutzlos rum. Und passt ohne den USB-Stecker komplett mit in das Gehäuse 
des Zählers. Fliegend in einem Röhrchen Schrumpfschlauch verpackt. Somit 
bleibt als Zuleitung einmal 10 Volt vom Steckernetzteil und weiter zum 
Nano, 2 Adern für Zählerreset, 2 Adern für die Zählung von Nano zum 
Zähler und 3 Adern von den Reedkontakten zum Nano. Deckel drauf und 
fertig.
Gast #7041166
Lesenswert?

FOp schrieb:
> Mach es Dir doch einfach und nimm statt 2 Reedkontakten einen TLE4966
> Hall-IC. Da prellt nix und die Richtungsauswertung ist schon eingebaut.

Das mit diesem IC habe ich jetzt in einer anderen Anwendung versucht. 
Mit einem quaderförmigen NEO (20x10x5mm) bekomme ich brauchbare Signale, 
wenn ich den händisch vorbeiführe. Der Hall-Sensor geht also.

Mit verschiedenen kleinen Scheibenmagneten im Bereich von 3 bis 5 mm 
Durchmesser und ca. 2 mm Dicke klappt nichts. Beim "händischen" 
Vorbeiführen solcher kleinen Magnete am Sensor bekomme ich ab und zu 
Signale. Aber nie nachvollziehbar. Egal wie ich die Magnete halte.

Ich vermute, dass es an falscher bzw. ungeeigneter Magnetisierung liegt.

Hat da jemand entsprechende Erfahrung wie die Magnete bzw. der Sensor 
ausgerichtet sein müssen bzw. welche Magnete ich kaufen muss? Maximal 5 
mm Durchmesser kann ich bei dem rechten Rad auf dem Bild verwenden
Angehängte Dateien:
Gast #7041219
Lesenswert?

MaWin schrieb:
> Mario M. schrieb:
>> Ich weiß nicht, ob diese Lösung schon genannt wurde, aber das
>> allwissende Internet kommt auf dieses Ergebnis.
>>
> 
https://electronics.stackexchange.com/questions/231803/rotary-encoder-to-2-buttons
>
> Die Frage ist halt, ob auf einen prellenden Kontakt das UP Signal 10
> Impulse pro Übergang liefern darf.

Sorry - diese Antwort geht voll an meiner Frage vorbei.

Es geht nicht um die elektronische Auswertung, sondern um die 
mechanische Ausrichtung und/oder den Typ der Magnete, die für diesen 
Sensor benötigt werden.
#7041253
Lesenswert?

Wolfgang G. schrieb:
> Mit verschiedenen kleinen Scheibenmagneten im Bereich von 3 bis 5 mm
> Durchmesser und ca. 2 mm Dicke klappt nichts. Beim "händischen"
> Vorbeiführen solcher kleinen Magnete am Sensor bekomme ich ab und zu
> Signale. Aber nie nachvollziehbar. Egal wie ich die Magnete halte.
>
> Ich vermute, dass es an falscher bzw. ungeeigneter Magnetisierung liegt.

Sieht so aus. Oder deine Testschaltung paßt nicht. Hast du die beiden 
Pull-Up Widerstände an den Ausgängen? Ohne die geht es nicht, da die 
Open Drain sind.

Ansonsten ist der Sensor für eine Drehgeberkonstruktion eigentlich nicht 
so das Ding, denn auch wenn dort zwei Hall-Sensoren drin stecken, kriegt 
man die eher nicht sinnvoll mit einem Magneten ausgelöst, denn die 2. 
Schaltschwelle hat eine negative Flußdichte. Dazu müßte man Magneten 
mechanisch umdrehen. Du braucht einen Hall-Sensor der unipolar arbeitet, 
sprich, die Schaltschwellen zum Ein- und Ausschalten haben das gleiche 
Vorzeichen.
Gast #7041412
Lesenswert?

Falk B. schrieb:
> Wolfgang G. schrieb:
>> Mit verschiedenen kleinen Scheibenmagneten im Bereich von 3 bis 5 mm
>> Durchmesser und ca. 2 mm Dicke klappt nichts. Beim "händischen"
>> Vorbeiführen solcher kleinen Magnete am Sensor bekomme ich ab und zu
>> Signale. Aber nie nachvollziehbar. Egal wie ich die Magnete halte.
>>
>> Ich vermute, dass es an falscher bzw. ungeeigneter Magnetisierung liegt.
>
> Sieht so aus. Oder deine Testschaltung paßt nicht. Hast du die beiden
> Pull-Up Widerstände an den Ausgängen? Ohne die geht es nicht, da die
> Open Drain sind.

Der elektrische Teil ist ok. Sagte ich aber bereits im ersten Posting

> Ansonsten ist der Sensor für eine Drehgeberkonstruktion eigentlich nicht
> so das Ding,

Genau dafür wurde er mir von verschiedenen Experten empfohlen

> denn auch wenn dort zwei Hall-Sensoren drin stecken, kriegt
> man die eher nicht sinnvoll mit einem Magneten ausgelöst, denn die 2.
> Schaltschwelle hat eine negative Flußdichte. Dazu müßte man Magneten
> mechanisch umdrehen. Du braucht einen Hall-Sensor der unipolar arbeitet,
> sprich, die Schaltschwellen zum Ein- und Ausschalten haben das gleiche
> Vorzeichen.

Inzwischen habe ich meinen Fehler erkannt. Der Sensor braucht für jede 
Betätigung den magnetischen Gegenpol der vorigen Auslösung. Ist auch so 
in verschiedenen Dokus erklärt. Hatte ich bloß entweder übersehen oder 
nicht verstanden. Ich suchte schon ein paar Stunden.

Wenn ich so einen kleinen Scheibenmagnet nach jedem Vorbeiführen 
umdrehe, klappt alles. Ich mache jetzt in meine Scheibe eben 2 Magnete 
rein, die gegensätzlich polarisiert montiert werden. Ich drucke gerade 
eine Testscheibe mit Achse für die Bohrmaschine. Und dann kann ich im 
Langsamlauf bequem testen, ob es endgültig so klappt.

Ich danke dir trotzdem für den Tipp.
Gast #7046213
Lesenswert?

So - nun kann ich Vollzug melden.

Direkt am großen Extruderzahnrad habe ich 2 gegensätzlich gepolte kleine 
Scheibenmagnete angebracht.

Dazu den genannten Hallsensor mit einer speziell gedruckten Halterung.

Das ergibt 2 Flanken pro Umdrehung. 1 Impuls (Flanke) entspricht ca. 
12,x mm Vorschub.

Den Rest macht ein kleiner Arduino und ein 4-stelliger China-Zähler. Der 
behält beim Ausschalten den Zählerstand und wird nach Umrechnung der 
Pulse zu Wegstrecke durch den Arduino entsprechend rauf- oder 
runtergezählt.

Danke auch noch mal für den Tipp mit dem Hallsensor. Der löst ja alle 
Nebenprobleme automatisch. Z.B. Entprellung.

Damit schließe ich meine Frage. Bin aber gerne zu weiteren Diskussionen 
bereit, falls das jemand nachbauen will.
Angehängte Dateien:

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