Geschwindigkeitsschätzung mit Absolutwertgeber


1

Ich habe einen Absolutwertgeber mit 14-Bit-Auflösung und möchte einen Drehzahlregler implementieren. Bei hohen Geschwindigkeiten ist der Versatz zwischen dem alten und dem neuen Positionswert groß und daher ist die Genauigkeit der Schätzung für die Geschwindigkeit hoch. Wenn ich auf eine niedrige Geschwindigkeit ziele, verringert sich die Genauigkeit meiner Schätzung, da ich nur einen kleinen Unterschied zwischen zwei Schritten des Encoders habe.

Ich sehe zwei Lösungen, um die Auflösung zu erhöhen. Erstens kann die Zeit zwischen zwei Messungen verlängert werden, aber dann fällt der Drehzahlregler bei sehr hohen Drehzahlen aus.

Trajektorien für den Positionsregler könnten berechnet werden, um einen Geschwindigkeitsregler zu erhalten.

Was ist Ihrer Meinung nach die beste Lösung für die Geschwindigkeitsregelung, um eine große Geschwindigkeitsdynamik zu erzielen, und wie wird dies normalerweise für industrielle Anwendungen durchgeführt?

Antworten:


3

Sie sind über das grundlegende Problem gestolpert, einen Encoder zur Geschwindigkeitsmessung zu verwenden: Sie eignen sich nicht für die Messung niedriger Geschwindigkeiten.

Warum ist die Verwendung eines Encoders zur Geschwindigkeitsmessung ein Problem?

Der Encoder hat eine bestimmte Winkelauflösung $ \ theta_r $ im Bogenmaß und die Anzahl der von Ihrem Digitalzähler $ N $ erfassten Zählungen wird nach einer bestimmten Abtastzeit $ \ Delta t $ gemeldet. Ihre Winkelgeschwindigkeit wird dann für jede Abtastzeit bestimmt durch:

$ \ omega = \ frac {N \ times \ theta_r} {\ Delta t} $

Die kleinste Anzahl von Zählungen, die aufgezeichnet werden können (außer natürlich Nullzählungen), ist 1 Zählwert über die Abtastzeit. Dies bedeutet, dass Ihre Winkelgeschwindigkeitsauflösung $ \ omega_r $ wie folgt bestimmt wird:

$ \ omega_r = \ frac {\ theta_r} {\ Delta t} $

Nehmen wir also an, Sie versuchen, eine Geschwindigkeit zu messen, die 1/4 Ihrer Auflösung beträgt. Ihr Messgerät zeigt $ \ omega = 0 $ für $ 3 \ times \ Delta t $ und dann Ihre Mindestgeschwindigkeit $ \ omega = \ omega_r $ für $ 1 \ times \ Delta t $ an und wiederholt alle zehn Abtastzeitschritte. Bei einer Geschwindigkeit von 1/10 Ihrer Auflösung wird 0 für 9 mal Delta t und dann 1 mal Delta t und so weiter gemessen. In der folgenden Abbildung sehen Sie ein Beispiel für eine Geschwindigkeit von 1/10 Ihrer Geschwindigkeitsauflösung:

Encoder position and velocity in normalized time

Wie können Sie das Problem beheben?

Meine Empfehlung

Kaufen Sie einen anderen Sensor. Wenn Sie einen Encoder in der Nähe seines Grenzwerts für die Geschwindigkeitsauflösung betreiben, erhalten Sie einfach kein sehr brauchbares Steuersignal. Suchen Sie stattdessen nach einem Geschwindigkeitsmesser . Ein Drehzahlmesser ist ein Sensor, der speziell zum Messen von Geschwindigkeiten entwickelt wurde. Es gibt viele verschiedene Varianten dieses Sensortyps, so dass es schwierig ist, einen bestimmten Typ zu empfehlen, ohne mehr über Ihre Anwendung zu wissen. Wenn Sie jedoch einen elektrischen Ausgang für eine Art Controller benötigen, dann ist wahrscheinlich die beste Wahl eine Sensor mit variabler Reluktanz Drehzahlmesser oder a Hall-Effekt-Sensor Geschwindigkeitsmesser.

Andernfalls

Wenn der Kauf eines guten Sensors keine Option ist, können Sie, wie in Ihrer Frage angegeben, die Abtastzeit verlängern (die Abtastrate verringern), um die Geschwindigkeitsauflösung zu verbessern. Das Hauptproblem bei dieser Lösung besteht darin, dass Sie Ihre Abtastzeit so lange verlängern können, bis Ihr System nicht mehr oder praktisch nicht mehr steuerbar ist. Ohne mehr über Ihre Anwendung zu wissen, ist es wiederum schwierig zu sagen, wie viel Zeit für die Probenahme angemessen wäre. Ich würde nicht vorschlagen, eine bessere Encoderauflösung zu erzielen, da 14-Bit bereits eine sehr feine Winkelauflösung ist.

Quellen: Beckwith, Marangoni und Lienhard. Mechanische Messungen, 6. Aufl.


0

Hängt von der kritischen Anwendung ab. Ihr System verfügt möglicherweise über eine Geschwindigkeitsbegrenzung, die durch die Auflösung des Encoders definiert wird. Diese Spezifikation muss Ihren Betriebs-, Sicherheits- und Zuverlässigkeitsanforderungen entsprechen.

Nachdem Sie dies definiert haben, können Sie die Zeit zwischen zwei Gebersignalen zählen, um die Geschwindigkeit zu bestimmen.

Wenn Sie die Steuerung eines Motors haben, können Sie die Drehzahl des Motors über PWM bestimmen oder in vielen Fällen die Leistung und die Betriebszeit bestimmen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.