Hallo, ich hoffe, dass sich hier im Forum auch Regelungsspezialisten
tummeln, die mir bei der Einstellung eines Reglers helfen können.
Mit der Einstellung (z.B. nach Ziegler/Nichols) habe ich Erfahrung,
jetzt will ich aber einen PID - Regler einstellen, bei dem, in
Abhängigkeit von der Differenz zwischen Soll- und Istwert, die
Regelparameter umgeschaltet werden. Damit soll der Regler schneller
arbeiten.
D.h. ich habe z.B. bei 100% Abweichung die Parameter KP1, KI1 und KD1.
Bei 50% habe ich dann KP2, KI2 und KD2. Und so weiter mit 20%, 10%, 5%
und 0%.
Kann mir jemand einen Tip geben, wie ich hier am besten vorgehe?
Bei 100% erst mal nur PD und dann immer mehr I - Anteil, oder wie?
Am einfachsten ist so etwas, wenn der Regler in Software realisiert ist.
Für ein lineares System ist der PID Regler schon relativ gut, und das
unabhängig davon wie groß die Regelabweichung. Wenn man den linearen
Bereich verlässt wäre so etwas wie Anti-Windup angebracht.
Ehe man da viel mit variablen Parametern experimentiert, wäre ein Ansatz
mit einem Zusätzlichen Glied in der Zeit/Frequenz vermutlich sinnvoll.
Also z.B. so etwas wie ein Glied mit der 2. Ableitung - die Optimierung
der Parameter wird damit aber zunehmend schwieriger und braucht genauere
Informationen über das zu regelnde System.
>Der Regler ist leider ein Fertigteil ...
Und wie geht dann die Umstellung der Parameter? Kann der das überhaupt?
By the way: Wenn Du Regelparameter umstellen mußt, um einen vernüftigen
Regler zu erhalten, dann sind die Parameter rechter Mist, oder der
Regler ist fürs Problem nicht geeignet.
@Jan
was du machen willst ist eine art "gain scheduling" wobei das
streckenmodell in deinem fall linear (LTI system) ist und sich die
parameter abhängig vom regelfehler ändern. das problem dabei ist, dass
die änderung nicht "sofort" erfolgen darf sondern die parameter langsam
auf den neuen parametersatz angepasst werden müssen, andernfalls führt
sowas zu MASSIVEN instabilitäten.
mit einem fertigen PID reglermodul ist sowas meistens nicht
realisierbar.
das ganze klingt aber eher danach als hättest du eine nicht-lti strecke
und willst das jetzt "irgendwie" hinbiegen..das wird nichts!
erzähl doch erstmal um was für eine strecke und um was für ein
reglermodul es sich handelt..
Es handelt sich um einen Linear-Aktuator mit Positionsrückmeldung.
Die Reglerparameter muss ich in dem zugehörigen Regelgerät einstellen
(an PC eingeben und per RS232 übertragen).
Hört sich nach linearem System an (wenn man die Reibung mal etwas außer
acht Läst).
Du weist ja nicht mal wie dein Regler reagiert wenn auf einmal neue
Parameter rein kommen. Wird der I Teil gelöscht? Angepasst? fortgeführt?
Anders gefragt: Was gefällt dir am aktuellen Regler nicht und muss
besser werden. Mit Einstellregeln bekommt man nur einen mittelmäßigen
Regler. Wenn das ganze gut sein soll benötigt man ein mathematisches
Modell der Strecke. Dann kann man mit den Parametern etwas rum
experimentieren. Beschleunigung ist beispielsweise durch den Maximalen
Strom begrenzt, ebenso die Drehzahl von der Maximalen Spannung. Für
einen richtig guten Regler muss man schon relativ viel Aufwand
betreiben.
Das oben angesprochene ist wichtig: Wenn nämlich der I-Anteil nicht
gelöscht wird, hast du unter Umständen beim (harten) Anschalten eine
sehr hohe Stellgröße, und dein System wird instabil.
Was ich mal gemacht habe ist (dies ist kein "echtes" gain scheduling),
den I Anteil ab erreichen eines bestimmten Fehlerschlauches (z.B.
innerhalb einer 5% Abweichung vom Sollwert) zu aktivieren, um den
stationären Regelfehler zu eliminieren. Aber es musste vorher unbedingt
die Summe (bzw Integral) des Regelfehlers resettet werden, sonst fliegt
einem das ganze Gerät um die Ohren (wortwörtlich, hier handelte es sich
um einen DC Motor, wenn das Netzteil mehr hergegeben hätte, wäre die
H-Brücke wohl in Rauch aufgegangen...).
Wichtig: In der Regel machen solche Sachen den Regler NICHT schneller!
Daher auch von mir mal die Frage: Was genau passt dir nicht?
edit: Wenn du Stellgrößenbeschränkungen betrachtest (maximaler
Strom/Spannung etc), wird dein Modell ruckzuck auch nichtlinear, da
bringen klassische Entwurfsverfahren (symmetrisches Optimum,
Betragsoptimum, etc) nicht mehr so viel..
Jan K. schrieb:> edit: Wenn du Stellgrößenbeschränkungen betrachtest (maximaler> Strom/Spannung etc), wird dein Modell ruckzuck auch nichtlinear, da> bringen klassische Entwurfsverfahren (symmetrisches Optimum,> Betragsoptimum, etc) nicht mehr so viel..
Einigen wir uns darauf das der Sprung von Ziegler/Nichols auf
modellbasierten Reglerentwurf fürs erste genug ist ;)
Die Modelle kann man mit Matlab/Simulink modellieren und testen. Freie
alternative müsst scicos sein, wobei ich damit bisher noch nicht
gearbeitet habe.
Je nach Anwendung kann das aber auch schon mit Kanonen getroffene
Spatzen bedeuten.