Wie richtet man eine PID-Regelung ein, wenn die Zeitkonstanten des geregelten Systems variabel sind?


8

Die übliche Beschreibung für einen kontinuierlichen PID-Regler lautet wie folgt:

y(t)=Kpe(t)+Ki0te(τ)dτ+Kdde(t)dt
Das Beste Der Wert der Konstanten Kp , Ki und Kd für ein gegebenes gesteuertes System hängt von seiner Zeitkonstante (n) ab, sei es ein PT1 System oder ein PT2 System usw. ...

Was tun Sie, wenn die Zeitkonstante eines solchen Systems variabel ist? Nehmen wir an, es variiert zwischen Ta und Tb ( Ta<Tb ). Wie gestalten Sie die PID-Konstanten?

Antworten:


7

Eine Möglichkeit wäre, eine Form der adaptiven Steuerung zu implementieren. Wenn Ihr Bereich von Zeitkonstanten klein und bekannt ist, können Sie eine sogenannte "Verstärkungsplanung" verwenden, bei der Sie alle Zeitkonstanten, mit denen Sie sich befassen (hoffentlich ist sie endlich), vorab bestimmen und die if / then-Logik verwenden, um PI zu definieren und D. Es kann schwierig sein, sicherzustellen, dass Sie genügend Variabilität abgedeckt haben, um Stabilität und Leistung im gesamten Bereich sicherzustellen. Eine gute Erfolgsgeschichte für die Gewinnplanung ist der Chinook-Hubschrauber. Es kann getan werden.

Wenn Sie keine realisierbare Vorhersage für die Zeitkonstanten haben, können Sie die Verwendung von Model Reference Adaptive Control (MRAC) prüfen. In diesem Regelungsschema haben Sie ein Referenzmodell (Ihr ideales System) mit dem von Ihnen gewählten PID-Regler. Der MRAC minimiert den Fehler zwischen dem, was die Anlage tatsächlich tut, und dem, was Ihr Referenzmodell tut. Auf diese Weise zwingen Sie Ihre Umkleidekabine dazu, sich wie Ihr LTI-Modell zu verhalten.

Sie können auch versuchen, den Model Identification Adaptive Controller (MIAC) zu verwenden. Hier führt das Steuerungsschema die Systemidentifikation in Echtzeit durch und verwendet ein Aktualisierungsgesetz für Ihren Controller. Dieser erfordert die fortgeschrittenste Fähigkeit der drei Ideen.

Da Ihr System die Zeitkonstanten im Laufe der Zeit ändert, ist es kein LTI mehr. Dies bedeutet, dass Sie entweder eine Gain-Planung durchführen müssen (ziemlich einfach, wenn Sie den Bereich der Zeitkonstanten kennen) oder eine Systemidentifikation mit dem Aktualisierungsgesetz für Ihre PID durchführen müssen.


Warum nicht die Zeitschritte dynamisch ausgleichen, indem Sie für den größeren Zeitschritt entwerfen und die Software quasi in Echtzeit machen, indem Sie während jeder Iteration warten, bevor Sie Aktuatorbefehle senden?
Gürkan Çetin

@ GürkanÇetin worauf wartet die Software? Können Sie mir helfen zu verstehen, was passiert, wenn die Software ein Steuerungsupdate absichtlich verzögert?
Willenskraft2727

Wenn ich das richtig verstehe, gibt es bei jeder Schleife der Berechnungsiterationen eine unbekannte Zeitverzögerung (dh aufgrund von E / A-Kommunikation oder anderen CPU-Aufgaben). Dies ist ein allgemeines Problem bei einem Nicht-Echtzeit-Ziel (OS). Wenn Sie also den Controller auf ein vorbestimmtes (langes) Delta_t (z. B. 100 ms) einstellen und dann bei jeder Iteration versuchen, die Gesamtschleifenzeit auf dieses Delta_t einzustellen (nehmen Sie an, dass die Steueralgorithmen bis zur 80. ms beendet sind, warten Sie weitere 20 ms ) die Steuerbefehle zu übermitteln; könnte funktionieren, wenn bekannt ist, dass alle anderen Aufgaben weniger als 100 ms dauern (abzüglich der Berechnungszeit des Kontrollgesetzes).
Gürkan Çetin

@ GürkanÇetin Wenn ich die ursprüngliche Frage richtig verstehe, geht es darum, zu steuern, wann sich die physikalischen Aspekte einer Anlage im Laufe der Zeit ändern (dh die Rakete verliert mit der Zeit an Masse), und nicht, wie mit Ausführungszeiten von nicht-Echtzeit-Betriebsschleifen umgegangen wird. Ich denke, Ihr Vorschlag könnte in Bezug auf Nicht-Echtzeit-Betriebssysteme, auf denen ein Controller ausgeführt wird, gültig sein.
Willenskraft2727

Oh ja. Ich habe die Frage falsch verstanden. In diesem Fall, wenn sich die Anlage innerhalb der Zeit ändert (abrupt oder allmählich), würde ich sagen, dass eine Neukonfiguration eine weitere Möglichkeit ist. Funktioniert natürlich nur, wenn Sie die Änderung der Modelldynamik kennen. Wie Masse verlieren, Kraftstoff verbrauchen, Fahrwerke aus- / einfahren usw.
Gürkan Çetin
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.