Modell freie Geschwindigkeitsschätzung
Dieser Beitrag widmet sich dem Vergleich von unterschiedlichen Methoden zur Schätzung der Geschwindigkeit von Encodersignalen.
In der Literatur sind grundsätzlich drei Methoden für die diskrete Ableitung der Encoderposition bekannt:
- Fix-Zeit Methode (FZM)
Differenzposition in einem fixen Zeitfenster (Frequenzbasiert).
Fix-Position Methode (FPM)
Dauer zwischen einzelnen Encoderimpulsen (Periodenbasiert).
Adaptive Zeitfenster Methode (AZM)
Kombination aus FZM und FPM.
Alle drei Methoden werden nachfolgend einzeln vorgestellt und zum Schluss miteinander verglichen.
Fix-Zeit Methode
Die Fix-Zeit Methode (FZM) ist die klassische Art, die Geschwindigkeit aus dem diskreten Positionssignal vom Encoder zu schätzen und wird oft auch als frequenzbasierte Geschwindigkeitsschätzung bezeichnet.
Für die Geschwindigkeitsschätzung wird der Differenzwinkel \( \Delta \theta \) durch ein fixes Zeitfenster \(T_{Fix} \) dividiert,
$$
\omega_{Fix} = \frac{\Delta \theta}{T_{Fix}} = \frac{2\pi N}{N_{2\pi}T_{Fix}} [rad/s].
$$
Der Differenzwinkel \(\Delta \theta\) wird berechnet mit der Anzahl Enocderimpulsen \(N\) während eines fixen Zeitfensters und der totalen Anzahl Encoderimpulse \(N_{2\pi}\) pro Umdrehung.
In der oben stehenden Grafik ist die Messung der Encoderimpulse während eines Zeitfensters illustriert.
Dabei ist zu sehen, dass das Zeitfenster nicht exakt durch die Anzahl Encoderimpulse teilbar ist, was zu einem Quantisierungsfehler führt.
Die Geschwindigkeitsauflösung \(R\) lässt sich somit wie folgt berechnen:
$$ \begin{align*}
R &= \omega_{Fix,N+1} - \omega_{Fix,N} \\
&= \Big( \frac{2 \pi (N+1)}{N_{2\pi}T_{Fix}} \Big)- \Big( \frac{2 \pi N}{N_{2\pi }T_{Fix}} \Big)\\
&= \frac{2 \pi}{N_{2\pi}T_{Fix}}
[rad/s].
\end{align*} $$
Es wird ersichtlich, dass die Geschwindigkeitsauflösung bei jeder Geschwindigkeit konstant ist.
Allerdings kann mit der Wahl eines hochauflösenden Encoders oder einer entsprechend langen Abtastzeit die Geschwindigkeitsauflösung positiv beeinflusst werden.
Der relative Geschwindigkeitsfehler \(e_\%\) zwischen der geschätzten und der tatsächlichen Geschwindigkeit \( (\omega_{Fix} ,\omega) \) ist im Gegensatz zur Geschwindigkeitsauflösung abhängig von der tatsächlichen Geschwindigkeit,
$$
e_{\%} = \frac{R}{\omega} = \frac{2 \pi}{N_{2\pi} T_{Fix} \omega}.
$$
Grafisch dargestellt ergibt sich der relative Fehler gemäss der nachfolgenden Abbildung.
Fix-Position Methode
Bei der Fix-Position Methode (FPM) ist im Gegensatz zur FZM nicht das Zeitfenster fix, sondern die Distanz, respektive die Anzahl Encoderimpulse.
Bei jedem Encoderimpuls wird auf dem Mikrocontroller ein Interrupt ausgelöst und die Zeit zwischen dem aktuellen und dem letzten Interrupt gemessen.
Diese Zeit wird anschliessend durch den fixen Drehwinkel geteilt, um die Geschwindigkeit zu schätzen.
In der oben stehenden Abbildung ist mit \(T_{CL}\) die Periodendauer der Clock des Mikrocontrollers dargestellt. Die Zeit zwischen zwei Encoderimpulse ist mit \(T_{1N}\) abgekürzt.
Da der Mikrocontroller diskret arbeitet, wird \(T_{1N}\) approximiert mit der Anzahl Zeitschritten \(n\) multipliziert mit \(T_{CL}\).
Die Geschwindigkeitsschätzung \(\omega_t\) ist somit gegeben durch,
$$
\omega_t = \frac{\Delta \theta}{\Delta t} = \frac{\Delta \theta}{n T_{CL}} = \frac{1\cdot 2\pi}{N_{2\pi} \cdot n T_{CL}} [rad/s].
$$
Die Dauer des exakten Zeitfensters \(T_{1N}(\omega)\) zwischen zwei Encoderimpulsen ist abhängig von der Winkelgeschwindigkeit,
$$
T_{1N}(\omega) = \frac{\Delta \theta}{\omega} = \frac{2\pi}{N_{2\pi} \omega} [s].
$$
Das Zeitfenster \(T_{1N}\) ist für langsame Winkelgeschwindigkeiten lange und dementsprechend kurz für schnelle Winkelgeschwindigkeiten. Der relative Fehler des Zeitfensters \(e_{\%}\),
$$
e_{\%} = \frac{ T_{CL} }{ T_{1N}(\omega) - T_{CL} } \approx \frac{ T_{CL} }{ T_{1N}(\omega) } = \frac{\omega N_{2\pi} T_{CL}}{2\pi},
$$
ist annähernd proportional zur Geschwindigkeit.
Adaptive Zeitfenster Methode
Bei der adaptiven Zeitfenster Methode (AZM) wird das Zeitfenster für das Ableiten des Encodersignals adaptiv angepasst. Das adaptive Zeitfenster,
$$
T_{Flex} = T_{h} + \Sigma T_{Fix} - T_{h+1} [s]
$$
setzt sich gemäss der unten stehenden Abbildung zusammen.
Wird während dem Zeitfenster \(T_{Fix}\) kein Encoderimpuls gemessen, so wird die Summe \(\Sigma T_{Fix}\) um ein \(T_{Fix}\) erhöht.
Die Geschwindigkeit \(\omega_{AZM}\) ergibt sich durch die Differenz der Encoderimpulse geteilt durch das adaptive Zeitfenster,
$$
\omega_{AZM} = \frac{\Delta N 2\pi}{N_{2\pi} T_{Flex}} [rad/s].
$$
Der relative Fehler \(e_\%\) setzt sich durch die Quantisierung der Zeit von \(T_h\) und \(T_{h+1}\) zusammen und beträgt maximal \(2T_{CL}\),
$$\begin{align}
e_{\%} &= \frac{ \frac{\Delta N 2\pi}{N_{2\pi} T_{Flex}} - \frac{\Delta N 2\pi}{N_{2\pi} T_{Flex} + 2T_{CL}} }{ \frac{\Delta N 2\pi}{N_{2\pi} T_{Flex}} }\\
&= \frac{2T_{CL}}{T_{Flex} + 2 T_{CL}}.
\end{align}$$
Die Zeit \(T_{Flex}\) strebt für hohe Geschwindigkeiten gegen \(T_{Fix}\) und für tiefe Geschwindigkeiten wird \(T_{Flex}\) dominant im Teiler.
Die Geschwindigkeitsauflösung ist frequenzabhängig und berechnet sich nach,
$$
R = e_{\%} \cdot \omega \quad [rad/s].
$$
Grafisch dargestellt folgt die unten stehende Abbildung für den relativen Fehler.
Modellvergleich
Zum Vergleich der drei vorgestellten Methoden für die Schätzung der Winkelgeschwindigkeit \(\omega\) wird nachfolgend mit einer Simulation gearbeitet.
Simuliert wurde eine sinusförmige Änderung der Winkelgeschwindigkeit von \(\pm\) 200 rad/s mit einer Frequenz von 1 Hz.
Der Encoder gibt 1024 Impulse pro Umdrehung und die Zeitauflösung der Clock beträgt 5 MHz. Das Zeitfenster \(T_{Fix}\) wurde mit 8 kHz auf 125 \(\mu\)s eingestellt.
Die gestrichelte schwarze Linie entspricht der tatsächlichen Winkelgeschwindigkeit.
Für den interessierten Leser wird die nachfolgende Literatur empfohlen:
-
R. Petrella, M. Tursini, L. Peretti, und M. Zigliotto, _Speed measurement algorithms for low-resolution incremental encoder equipped drives: a comparative analysis_.
2007, S. 787. doi: https://doi.org/10.1109/ACEMP.2007.4510607.
-
A. Arslan, „Comparative analysis of speed decoding algorithms for rotary incremental encoders“.
-
Y. Vazquez-Gutierrez, D. L. O'Sullivan, und R. C. Kavanagh, „Evaluation of three optical-encoder-based speed estimation methods for motion control.“,
The Journal of Engineering_, Bd. 2019, Nr. 17, S. 4069-4073, 2019, doi: https://doi.org/10.1049/joe.2018.8058.