Hallo,
ich besitze ein Netzteil, dessen Bedienung mit einem Drehgeber erfolgt.
Nach einigen Jahren nun zeigt der Drehgeber Ausfallerscheinungen und ich
wollte einen vorhandenen (qualitativ wesentlich besseren) Geber
einbauen. Blöderweise hat der Originale 16 Pulse/Umdrehung und der neue
120. In einem Anfall zu schnellen denkens :-D habe ich kurzerhand je
Ausgang einen 4-Bit Zähler nachgeschaltet und war der Meinung, daß ich
nun einen Geber mit 120/16 Pulsen habe. Weit gefehlt: das Netzteil
erkennt nur noch Pulse zur erhöhung. Nochmal drüber nachgedacht bin ich
zu dem Schluss gekommen, daß das so nicht funktionieren kann.
Irgendwelche Ideen oder Vorschläge?
Gruss
Harry
Ehe du dich ja mit einem 2ten Zähler am anderen Encoderpin verzettelst
(was evtl. sogar klappen könnte), würde ich doch einen Encoder benutzen,
der nicht so viel Impulse erzeugt.
Nette Idee, aber den Geber habe ich da. Zudem ist das einer, der einen
Spannungsanschluss hat und schöne aufbereitete Impulse liefert. Im
inneren arbeiten da 2 Lichtschranken, die eine super dünne geschlitzte
Metallfolie abtasten. Ich dachte mir, wenn ich den einbaue, hält der ein
Leben lang.
Harry schrieb:> Irgendwelche Ideen oder Vorschläge?
Im Prinzip ist es ganz einfach: per µC (ATtinxyy z.B.) die Impulse
zählen lassen und ausgangsseitig neue Impulse erzeugen.
Aber da Du fragst, wirst Du es wohl selber nicht programmieren können.
Welchen Drehgeber hattest Du zunächst und welchen jetzt aktuell? Ist der
aktuelle ein optischer Drehgeber mit prellfreien Ausgangssignalen?
@ Harry (Gast)
>einbauen. Blöderweise hat der Originale 16 Pulse/Umdrehung und der neue>120.
Es gibt genügend Encoder mit 16 Pulsen/U. Such dir einen aus, bau ihn
ein und sei glücklich.
>Irgendwelche Ideen oder Vorschläge?
Man braucht eine Logik, heute meist in Form eines uCs. Klar reicht dafür
ein 8-Pinnner ala ATtiny und eine Handvoll Zeilen C-Code, aber ist es
den Aufwand wert?
Doch ich kann das programmieren, wollte aber nicht mit Kanonen auf
Spatzen schiessen. Deswegen hat mir die Idee mit dem 2fach 4-Bit Zähler
so gefallen (MOS 4520) und der war in der Schublade. Mein kleinster uC
der vorrätig ist wäre ein Mega8 .... total übertrieben.
Der neue Geber ist uralter von HP und liefert saubere prellfreie
Signale. Der alte war ein mechanischer und augenscheinlich billigster
Drehgeber (Hersteller nicht erkennbar).
Die Knopfgröße ist durch das Design des NT vorgegeben und 120 Impulse
bei 40V maximal wäre heftig (1/3 Umdrehung von 0 auf 40V). Ok in der
Feineinstellung 0.01V/Impuls wärs ok, aber dafür ist offensichtlich der
im NT verbaute Controller zu langsam.
ABER ich habs :-) Wenn ich nur das Taktsignal durch 16 teile, jedoch
nicht das Richtungssignal, funktionierts.
Harry schrieb:> ABER ich habs :-) Wenn ich nur das Taktsignal durch 16 teile, jedoch> nicht das Richtungssignal, funktionierts.
Und Du bist sicher, dass der alte Encoder Takt und Richtungssignal
liefert?
Die Billigklasse liefert normalerweise zwei versetzte Taktsignale aus
denen dann die Richtung abgeleitet wird.
lkxcvösdhbbl
@Harry (Gast)
>ABER ich habs :-) Wenn ich nur das Taktsignal durch 16 teile, jedoch>nicht das Richtungssignal, funktionierts.
Diese Encoder liefern kein Takt- und Richtungssignal sondern 2 Bit
Gray-Code. Allerdings lassen sich diverse "Spardekoder" in der Software
mit der Methode austricksen. Siehe Drehgeber.
Harry schrieb:> ABER ich habs :-) Wenn ich nur das Taktsignal durch 16 teile, jedoch> nicht das Richtungssignal, funktionierts.
Der Encoder selbst hat doch kein Takt- und Richtungssignal, sondern 2 um
90° verschobene Rechteckausgänge (A/B)...?!
Oder hast du noch einen Decoderbaustein dahinter, der aus A/B Takt und
Richtung macht?
@lkxcvösdhbbl: Ich bin sicher, da ich den alten Encoder geöffnet habe,
um die Achse (abgeflachte 6.3mm Achse) zu recyclen. Ich mußte den neuen
Geber aus platzgründen weiter hinter die Front verbannen und mit einer
längeren Achse mit dem Originalknopf verbinden. Ich stelle noch Bilder
ein, wenn ich ganz fertig bin.
@Falk: Ich vermute mal, daß die Software des NT die Phasenverschiebung
nur am Anfang der Auswertung benutzt um die Drehrichtung festzustellen.
Solange aber kein neues Signal vom (ich nenne es mal Takt) anderen
Ausgang kommt, ist es egal. Wenn ich nun nur das Taktsignal teile, gibt
es auch ungeteilt ein vor- bzw. nacheilendes, phasenverschobenes
Richtungssignal.
@Joe: Was das NT selber macht/hat weiß ich nicht. Mein Geber liefert
definitiv nur 2 phasenverschobene Ausgangssignale.
@lkxcvösdhbbl: jetzt habe ich natürlich deine Frage nicht richtig
beantwortet - sorry. Der Geber liefert natürlich 2 phasenverschobene
Signale, aber ich habe mir erlaubt das 1. als Takt und das 2. (relativ
zum 1. phasenverschobene) als Richtung zu bezeichnen. Wenn man das
diskret mit einem Up/Down-Zähler aufbauen würde, könnte man ja das 2.
Signal an den Up/Down-Eingang des Zählers anschliessen und das 1. an den
Clock. Somit würde der Zähler je nach Drehrichtung hoch oder runter
zählen.
Harry schrieb:> Wenn man das> diskret mit einem Up/Down-Zähler aufbauen würde, könnte man ja das 2.> Signal an den Up/Down-Eingang des Zählers anschliessen und das 1. an den> Clock
Hm, durchaus interessante Lösung.
Jetzt brauchst du eigentlich nur noch ein XOR, um zwei Zähler-Ausgänge
wieder in ein Quadrature-Signal zurück zu wandeln (ich nenne es mal
A'/B'):
z.B.:
A' = Q3
B' = Q3 XOR Q2
Je nachdem welche (benachbarten) Zählerausgänge man nimmt, kann man noch
den Teiler ändern.
B' kann etwas 'glitchy' sein, daher besser noch einen kleinen TP
dahinterhängen.