Forum: Mikrocontroller und Digitale Elektronik Impulse von Drehgeber teilen


von Harry (Gast)


Lesenswert?

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

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

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.

von Harry (Gast)


Lesenswert?

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.

von m.n. (Gast)


Lesenswert?

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?

von Falk B. (falk)


Lesenswert?

@ 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?

von Harry (Gast)


Lesenswert?

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).

von A. S. (Gast)


Lesenswert?

120 sind doch OK. Ggf größeren Knopf drann

von Harry (Gast)


Lesenswert?

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.

von lkxcvösdhbbl (Gast)


Lesenswert?

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

von Falk B. (falk)


Lesenswert?

@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.

von Joe F. (easylife)


Lesenswert?

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?

von Harry (Gast)


Lesenswert?

@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.

von Harry (Gast)


Lesenswert?

@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.

von Joe F. (easylife)


Lesenswert?

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.

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.