Jetzt bin ich ziemlich verwirrt.... Ich dachte eigentlich ich hätte das nötige verstanden.
Ich schreibe jetzt hier mal meinen Wissensstand auf. Bitte korrigiert mich:
(Zitate aus dem RN-Wiki Regelungstechnik)
P-Glied: Der proportionalwirkende Regler multipliziert die Regelabweichung mit seinem Verstärkungsfaktor Kp und gibt das Ergebnis unverzögert weiter.
Sollwert: Winkelgeschw. = 0
Istwert: Direktes Gyrosignal
Regelabweichung= Direktes Gyrosignal - 0
I-Glied: Der integralwirkende Regler summiert die Regelabweichung über der Zeit auf und multipliziert die Summe (d.h. das Integral) mit dem Faktor Ki
Sollwert: Winkel = 0
Istwert: Summe aller bisherigen Gyrosignale
Regelabweichung= Summe aller bisherigen Gyrosignale - 0
D-Glied: Der D-Anteil bewertet die Änderung einer Regelabweichung (er differenziert) und berechnet so deren Änderungsgeschwindigkeit.
Sollwert: Winkelbeschleunigung = 0
Istwert: Gyrosignal(t=n) - Gyrosignal(t=n-1)
Regelabweichung = Istwert - 0
Wer liegt nun falsch...?
edit: Ich habe nochmal weiter recherchiert, auch das engl. Wikipedia versteht das so wie ich (oder ich verstehe beides falsch :-D ):
Code:
previous_error = 0
integral = 0
start:
error = setpoint - actual_position
integral = integral + error*dt
derivative = (error - previous_error)/dt
output = Kp*error + Ki*integral + Kd*derivative
previous_error = error
wait(dt)
goto start
Lesezeichen