Ich brauche für die magnetische Levitation einen Regler, alles schwärmt vom 'universellen PID-Regler', also soll so einer aufgebaut werden. Jetzt könnte ich vorhandenen code verwenden, aber ich möchte es doch gerne verstehen, warum der code so ausschaut, wie kommt man zu den Parametern.
Im Netz gefunden
rn-wissen.de/wiki/index.php/Regelungstechnik ist schon mal ganz gut, aber für mich nicht komplett. Ich fang mal an:
Der pseudocode (im link zu finden)
Der nachfolgende Code wird im Rhythmus der Abtastzeit Ta immer wieder aufgerufen.
e = w - x; //Vergleich Soll-Ist
esum = esum + e; //Integration I-Anteil
y = Kp*e + Ki*Ta*esum + Kd/Ta*(e – ealt); //Reglergleichung
ealt = e;
e=Abweichung vom Sollwert
esum=die Summe aller Abweichungen
ealt ist die Abweichung vor der letzten Regelung
y= der neue Wert für den Aktor, der dann einen neuen Ist-Wert generiert.
Das ist soweit klar.
Jetzt geht's los: Ta, die Abtastzeit, der PID-Regler soll schnell sein, gut, was bedeutet das? Soll man jetzt möglichst schnell arbeiten oder schätzt man irgendwie da was ab? Wenn ich bei meinem Beispiel mit dem Schwebemagneten bleibe, ist der träge und man lässt die Regelschleife nur 50/s durchlaufen oder langsamer/schneller?
Und jetzt Kp, Ki*Ta und Kd mit welchen Werten fängt man da an? Richtet sich das nach dem Werteumfang des Ausgangs (PWM von 0 bis 255)? Hängt das auch an dem Werteumfang der Abweichung?
Wenn jetzt mein Ist-Wert zB. 0..511 geht und y als PWM-Wert vom 0..255 dann ergäbe sich daraus die maximale Regelstrecke:
Eine Abweichung um 511 Punkte soll eine Ausgangsänderung von 255 Punkten ergeben. Kann man damit was aussagen für die Größenordnungen der K-Werte?
Im Netz gefunden
rn-wissen.de/wiki/index.php/Regelungstechnik ist schon mal ganz gut, aber für mich nicht komplett. Ich fang mal an:
Der pseudocode (im link zu finden)
Der nachfolgende Code wird im Rhythmus der Abtastzeit Ta immer wieder aufgerufen.
e = w - x; //Vergleich Soll-Ist
esum = esum + e; //Integration I-Anteil
y = Kp*e + Ki*Ta*esum + Kd/Ta*(e – ealt); //Reglergleichung
ealt = e;
e=Abweichung vom Sollwert
esum=die Summe aller Abweichungen
ealt ist die Abweichung vor der letzten Regelung
y= der neue Wert für den Aktor, der dann einen neuen Ist-Wert generiert.
Das ist soweit klar.
Jetzt geht's los: Ta, die Abtastzeit, der PID-Regler soll schnell sein, gut, was bedeutet das? Soll man jetzt möglichst schnell arbeiten oder schätzt man irgendwie da was ab? Wenn ich bei meinem Beispiel mit dem Schwebemagneten bleibe, ist der träge und man lässt die Regelschleife nur 50/s durchlaufen oder langsamer/schneller?
Und jetzt Kp, Ki*Ta und Kd mit welchen Werten fängt man da an? Richtet sich das nach dem Werteumfang des Ausgangs (PWM von 0 bis 255)? Hängt das auch an dem Werteumfang der Abweichung?
Wenn jetzt mein Ist-Wert zB. 0..511 geht und y als PWM-Wert vom 0..255 dann ergäbe sich daraus die maximale Regelstrecke:
Eine Abweichung um 511 Punkte soll eine Ausgangsänderung von 255 Punkten ergeben. Kann man damit was aussagen für die Größenordnungen der K-Werte?
Raum für Notizen
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------