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.
Mit einem D-Flipflop die Richtung ( einen Reedkontakt auf Takt und den
anderen auf Data )erkennen und mit einem Multiplexer den Takt auf
Up/Down geben.
Wolfgang G. schrieb:> deine Lösung passt leider nicht zu meiner Frage.
Stimmt, habe Deine Speziallösung überlesen auf dem Handy. Wie soll man
das auswerten, wenn einfach 2 Impulse hintereinander kommen, nach dem
Spiel ist vor dem Spiel. Entweder 3 Reed-Kontakte, dann ist es wieder
eindeutig oder eine Lösung mit Timer, dann wirds aber sehr
fehleranfällig.
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.
>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.
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.
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
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
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 :-)
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.
Eberhard H. schrieb:> Du hast aber nicht Takt und Richtung, sondern Quadratur-Signale.
Verstehe ich nicht. Beide Lösungen liefern mir getrennte Up- und
Downimpulse. Also je nach Drehrichtung wird rauf oder runter gezählt.
Oder habe ich da was falsch verstanden?
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
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.
Hi, nach der Simulation geht der oben gezeigte Schaltungsvorschlag ja
gar nicht?
Ich erinnere mich schwach an eine frühere Lösung. Da war AFAIR ein
Flipflop mit im Spiel.
>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?
>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
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.
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.
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?!
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?
Frank schrieb:> Nanu?!
Nix Nanu, das ist hier üblich wenn einem eine Antwort nicht gefällt -
einfach dem Antworter in den Rachen stopfen. Immerhin hat er keine
Beleidigungen angehängt, das ist schon überdurchschnittlich.
Georg
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.
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.
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.
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?
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.
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.
Wolfgang G. schrieb:> Je nach Drehrichtung wird ein Kontakt vor> oder nach dem anderen betätigt.
Wie schon von verschiedentlich geschrieben: Wenn die 2 Kontakte wirklich
nacheinander und nicht überlappend schalten, wird die Auswertung
schwierig bis unmöglich.
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).
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
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.
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.
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.
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
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.
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.
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.
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.