Encoder Geschwindichkeit bestimmen

OP #5591139
Lesenswert?

Hallo zusammen,

ich habe einen Drehregler der 3000 Impulse hoch und runterzählen muss. 
Es funktioniert auch soweit alles super. Aber man muss ziemlich viel 
drehen, um den Wert 3000 zu erreichen.


Somit würde ich es gerne so haben, dass wenn ich schnell drehe so soll 
auch der Wert schneller an die 3000 kommt und wenn ich wieder langsam 
drehe soll es möglich sein einen genauen Wert einzustellen.

Was ich bis jetzt versucht habe war einfacher Timer der jede 200mS 
vergleicht wie viele Schritte gemacht worden sind. Wenn z.b in 200mS 15 
Impulse gezählt worden sind (also schnelle Drehung) addiere ich + 100 
Impulse drauf usw.


Es funktioniert auch aber mich stören die Sprünge, ich würde gerne ein 
exponentielles Wachstum haben. Gibt es da bessere Lösungen?
Beitrag #5591259 wurde von einem Moderator gelöscht.
#5591276
Lesenswert?

Es geht speziell um eine automatische Umschaltung der 
Zählgeschwindigkeit, die hat der Schrittmotor auch nicht. Das muss schon 
die Software erledigen.

In einem alten Amateurfunkgerät (IC211 Icom) war am recht großen 
Drehknopf ein Schwungrad angebracht, und eine magnetisch betätigte 
Bremse. Beim Unterschreiten einer Geschwindigkeitsstufe wurde 
abgebremst.
Gast #5591332
Lesenswert?

Was Du da machen willst ist eine ballistische Beschleunigungskurve. Die 
wird auch bei Mäusen eingesetzt, mehr oder weniger gut…

Der Trick dabei ist nicht nur einen Sprung zu machen, den merkt man dann 
natürlich. Sauberer wird es, wenn es 8 oder mehr Stufen sind, die 
exponentiell hoch gehen. Und dann auch keinen fixen Wert aufaddieren, 
sondern die tatsächlichen Impulse mit einem langsam ansteigenden Wert 
multiplizieren.
Moderator (Firma: Titel) Persönliche Seite #5591347
Lesenswert?

The F. schrieb:
> Es funktioniert auch aber mich stören die Sprünge, ich würde gerne ein
> exponentielles Wachstum haben. Gibt es da bessere Lösungen?
Das hier funktioniert bei mir super:
http://www.lothar-miller.de/s9y/archives/71-Drehgeberauswertung-mit-Beschleunigung.html

The F. schrieb:
> Was ich bis jetzt versucht habe war einfacher Timer der jede 200mS
> vergleicht wie viele Schritte gemacht worden sind. Wenn z.b in 200mS 15
> Impulse gezählt worden sind (also schnelle Drehung) addiere ich + 100
> Impulse drauf usw.
>
> Es funktioniert auch aber mich stören die Sprünge
Dann mach die Stufen feiner und zähle nicht einfach die Schritte hoch, 
sondern zähle z.B. pro Schritt 5 auf einen internen Zähler. Und wenn 
schneller gedreht wird, dann zählst du pro Schritt einen höheren Wert 
(z.B. wie viele Takte pro 200ms aufgelaufen sind) auf deisen Zähler. Und 
vor der Verwendung teilst du den Zähler auf einen handlichen Wert und 
bist fertig.

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