Hallo, ich wollte präzise rauscharme Drehgeschwindigkeit des Motors alle 10ms bilden. Der Motorencoder liefert mir pro Umdrehung 2000 Ticks. Bei schneller Drehung bekomme ich ordentliche Drehgeschwindigkeit. Bei langsamer Drehung habe ich das Problem weniger als fehlerbehaftete 10 Ticks mit 10ms zu teilen bzw. 100 mal zu verstärken. Damit habe ich richtig verrauschte fehlerbehaftete Drehgeschwindigkeitswerte. Ich habe diese mit Tiefpass Filter geglättet. Die Werte nach den PT1 scheinen ok. Aber die Verzögerung ist viel zu groß. Ich würde gern wissen, ob es einen Trick existiert bei hohen Takt Zahlen zu differenzieren. Und zwar Verzögerungsarm Vielen Dank! PS: Ich schreibe deutsch als Fremdsprache. Verzeihung für die mögliche Rechtschreibfehler
Nein, da gibt es keinen Trick. dV=dx/dt, wenn du dt klein machst und dx konstant bleibt wird dV entsprechend größer. Da helfen nur Tiefpassfilter mit den von dir beobachteten Nachteilen oder Geber mit höherer Auflösung. Man kann auch zusätzlich einen Beschleunigungssensor verwenden und die Geschwindigkeit mittels Beobachter aus beiden Sensoren ableiten. Aber da ist ein Encoder mit höherer Auflösung meistens billiger und einfacher in der Handhabung. Mit freundlichen Grüßen Thorsten Ostermann
Stm Mc schrieb: > weniger als fehlerbehaftete 10 > Ticks mit 10ms zu teilen Da würde ich erst mal die eigentliche Fehlerursache beseitigen - Encoder arbeiten, richtig angeschlossen, praktisch fehlerfrei über Stunden und Tage. Damit werden Werkzeugmaschinen positioniert, wenn die so verrauscht wären, hättest du plötzlich einen Siebenzylinder im Auto. Georg
Danke, also dann bleibt nur einen Kalman Filter zu implementieren. Mit einem einzigen beobachtbaren Größe ist das Ganze hoffentlich beobachtbar.
Thorsten Ostermann schrieb: > Nein, da gibt es keinen Trick. dV=dx/dt, wenn du dt klein machst und dx > konstant bleibt wird dV entsprechend größer. Da helfen nur > Tiefpassfilter mit den von dir beobachteten Nachteilen oder Geber mit > höherer Auflösung. > > Man kann auch zusätzlich einen Beschleunigungssensor verwenden und die > Geschwindigkeit mittels Beobachter aus beiden Sensoren ableiten. Aber da > ist ein Encoder mit höherer Auflösung meistens billiger und einfacher in > der Handhabung. > > Mit freundlichen Grüßen > Thorsten Ostermann Danke, also dann bleibt nur einen Kalman Filter zu implementieren. Mit einem einzigen beobachtbaren Größe ist das Ganze hoffentlich beobachtbar.
Georg schrieb: > Stm Mc schrieb: >> weniger als fehlerbehaftete 10 >> Ticks mit 10ms zu teilen > > Da würde ich erst mal die eigentliche Fehlerursache beseitigen - Encoder > arbeiten, richtig angeschlossen, praktisch fehlerfrei über Stunden und > Tage. Damit werden Werkzeugmaschinen positioniert, wenn die so > verrauscht wären, hättest du plötzlich einen Siebenzylinder im Auto. > > Georg Fehlerursache hat nichts mit Kalibrierung oder Eichung zu tun. Es ist die Messunsicherheit da der Encoder keine unendliche Auflösung bietet lediglich pro Umdrehung 2000 Ticks.
Hallo Georg, > Stm Mc schrieb: >> weniger als fehlerbehaftete 10 >> Ticks mit 10ms zu teilen > > Da würde ich erst mal die eigentliche Fehlerursache beseitigen - Encoder > arbeiten, richtig angeschlossen, praktisch fehlerfrei über Stunden und > Tage. Damit werden Werkzeugmaschinen positioniert, wenn die so > verrauscht wären, hättest du plötzlich einen Siebenzylinder im Auto. Du hast das Problem nicht verstanden. Es geht um "Quantisierungsfehler", welche durch Differenzierung zur Geschwindigkeitsbestimmung verstärkt werden. Mit freundlichen Grüßen Thorsten Ostermann [1] de.wikipedia.org/wiki/Quantisierungsfehler
Stm Mc schrieb: > Es ist > die Messunsicherheit da der Encoder keine unendliche Auflösung bietet > lediglich pro Umdrehung 2000 Ticks. Dann wendet man halt den üblichen "Trick" an (wie bei Frequenzmessung): unterhalb einer bestimmten Drehzahl zählt man nicht, wieviel Pulse in eine Zeiteinheit fallen, sondern misst mit der notwendigen Auflösung, welche Zeit für n Impulse benötigt werden. Notfalls bis herunter auf einen einzigen Decoderschritt, so kann man noch die Geschwindigkeit einer Schnecke mit der gewünschten Genauigkeit messen. Oder verstehe ich immer noch falsch? Georg
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.