Mehrere Regelkreise mit überlappenden Effekten

9

Ich bin mit der Verwendung von PID zur Durchführung einer Regelung vertraut, wenn ein einzelner Ausgang und ein einziges Fehlersignal vorhanden sind, um festzustellen, wie gut der Ausgang den gewünschten Sollwert erreicht.

Angenommen, es gibt mehrere Regelkreise mit jeweils einem Ausgang und einem Fehlersignal, aber die Regelkreise sind nicht vollständig unabhängig. Insbesondere wenn eine Schleife ihr Aktorsignal erhöht, ändert dies die Auswirkung der Ausgabe von anderen Schleifen im System.

Stellen Sie sich als konkretes Beispiel eine Spannungsquelle in Reihe mit einem Widerstand vor, bei der eine Spannung über ein System von sechs einstellbaren Widerständen parallel angelegt wird. Wir können den Strom durch jeden Widerstand messen und wollen den Strom jedes Widerstands unabhängig steuern, indem wir den Widerstand einstellen. Der Trick dabei ist natürlich, dass beim Einstellen des Widerstands eines Widerstands der Gesamtwiderstand des parallelen Satzes geändert wird, was bedeutet, dass der Spannungsabfall aufgrund des Teilers mit dem Widerstand der Spannungsquelle geändert wird und somit der Strom durch die anderen Widerstände geändert wird .

Jetzt haben wir eindeutig ein ideales Modell für dieses System, sodass wir vorhersagen können, welchen Widerstand wir für alle Widerstände gleichzeitig verwenden sollten, indem wir einen Satz linearer Gleichungen lösen. Der springende Punkt bei der Regelung ist jedoch, dass wir verschiedene unbekannte Fehler / Verzerrungen im System korrigieren möchten, die von unserem idealen Modell abweichen. Die Frage ist dann: Was ist ein guter Weg, um eine Regelung zu implementieren, wenn Sie ein Modell mit dieser Art von Kreuzkopplung haben?

Dan Bryant
quelle

Antworten:

9

Typischerweise mit einem m ultiple i nput, m ultiple o utput (MIMO) -System verwendet ein Regelungstechniker einen Zustandsregler . Diese Art der Steuerung nutzt ein Zustandsraummodell des Systems und hat im Allgemeinen die Form:

x˙=Ax+Buy=Cx+Du

Dabei ist ein Vektor von Zuständen, ein Vektor von Eingaben, ein Vektor von Ausgaben und die zeitliche Ableitung der Zustände zeigt, wie sich die Zustände über die Zeit entwickeln, wie durch Kombinationen von Zuständen bestimmt und Eingaben . Ausgaben werden auch durch eine Interaktion zwischen Zuständen und Eingaben bestimmt, aber die Ausgaben können eine beliebige Kombination sein, so dass der Ausgangszustand und die Eingabematrizen unterschiedlich sind - und .u y ˙ x A B C D.xuyx˙ABCD

Ich werde nicht sehr detailliert auf Status-Feedback-Steuerelemente eingehen, sondern im Allgemeinen die Matrizen "zuordnen" oder einen bestimmten Status oder eine Eingabe einem anderen Status oder einer anderen Eingabe zuordnen. Wenn Sie beispielsweise ein System nicht verwandter Differentialgleichungen modellieren möchten, erhalten Sie Folgendes:AD

˙ x 1=k1x1

x˙=[x˙1x˙2x˙3]=[k1000k2000k3][x1x2x3]
das darstellt:
x˙1=k1x1x˙2=k2x2x˙3=k3x3

Wenn Sie die Eingabe zur Gleichung für und die Eingabe zu hinzufügen , können Sie einen Begriff hinzufügen :˙ x 1 u 2 ˙ x 3 B uu1x˙1u2x˙3Bu

x˙=[x˙1x˙2x˙3]=[k1000k2000k3][x1x2x3]+[100001][u1u2]

Wenn Sie dies beibehalten möchten, aber der Meinung sind, dass der Status beiträgt, wie sich ändert, können Sie diese Interaktion hinzufügen:x 2x1x2

x˙=[x˙1x˙2x˙3]=[k100kx1x2k2000k3][x1x2x3]+[100001][u1u2]

Wenn Sie diese jetzt aufschreiben, erhalten Sie:

x˙1=k1x1+u1x˙2=kx1x2x1+k2x2x˙3=k3x3+u2

Sie können die Komplexität weiter aufbauen, wie es Ihr System erfordert. Sobald Sie ein Modell für die Steuerung der Zustandsrückmeldung haben, müssen Sie sicherstellen, dass das System linear ist , dass das System keine Triggerfunktionen hat oder dass sich ein Zustand selbst oder ein anderer Zustand multipliziert, und dass es zeitinvariant ist. , dass sich die Matrizen nicht mit der Zeit ändern - keine Funktion von (t) in ihnen. Möglicherweise können Sie einige Vereinfachungen vornehmen, z. B. eine kleine Winkelnäherung , um Ihre -Matrix in das für den nächsten Schritt erforderliche LTI- Formular zu bringen.ADA

Jetzt können Sie das gesamte System in die beiden zuerst gezeigten aufgeräumten Gleichungen "maskieren" und dabei die gesamte -Matrix mit nur dem Buchstaben 'A' usw. ausblenden . Mit der Laplace-Transformation können Sie das Unkontrollierte (Handwelle) auswerten Open-Loop-Dynamik des Systems. Sie tun dies, indem Sie die Pole des Systems finden , die die Systemantwort anzeigen.A

Sie können das System auch bewerten, um festzustellen, ob es steuerbar ist. Dies bedeutet, dass Sie Ihre Eingaben verwenden können, um alle Zustände auf eindeutige Weise zu ändern, und um festzustellen, ob es beobachtbar ist. Dies bedeutet, dass Sie tatsächlich bestimmen können, welche Werte die haben Staaten sind.

Wenn das System steuerbar ist, können Sie Informationen über die Zustände und diese in das System einspeisen, indem Sie die Informationen über die Zustände verwenden, um sie auf einen gewünschten Wert zu bringen. Verwenden Sie zur Verdeutlichung nur die beiden Anfangsgleichungen, wenn Sie das Steuersignal zum Eingang hinzufügen, erhalten Sie:Gx

x˙=Ax+B(uGx)y=Cx+Du

was wird:

x˙=AxBGx+Buy=Cx+Du

die neu angeordnet werden kann als:

x˙=[ABG]x+Buy=Cx+Du

Wo zuvor Ihre Systemantwort von der -Matrix gesteuert wurde, wird sie jetzt von gesteuert . Sie können die Pole erneut über die Laplace-Transformation auswerten, aber jetzt haben Sie eine Verstärkungsmatrix Sie den Controller abstimmen können. Platzieren Sie die Pole, wo immer Sie möchten, und legen Sie die Zeitantwort so fest, wie Sie möchten.A-BG G.AA-BGG

Der Prozess wird fortgesetzt, wobei Beobachter eingerichtet werden , um die tatsächliche Systemleistung mit der vorhergesagten Ausgabe des Modells . Hier ist es wichtig zu beachten, dass die Ausgänge nicht die gleiche Kombination von Zuständen sein müssen, die Sie in der Zustandsdifferentialgleichung verwenden - wo Ihre Zustände ein Strom sein können, kann Ihr Ausgang eine Spannung sein ( ) Sie können einen Vergleich mit einem messbaren Signal auf Ihrem realen System durchführen.y R × Iyy^R×I

Wie ich bereits sagte, gibt es eine Menge Informationen zum Modellieren von Systemen und zum Entwerfen von Zustandsrückkopplungsreglern. Ich habe nur den allgemeinen Prozess skizziert, da ich glaube, dass dies der Bereich ist, nach dem Sie mit Ihrer Frage gesucht haben.

Chuck
quelle
1
Vielen Dank, dies ist eine hervorragende Grundlage für weitere Forschungen.
Dan Bryant
gute Antwort, tl; dr; Skalarwerte, die ein SISO-System beschreiben, werden zu Matrizen für ein MIMO-System. Die "Kreuzkopplung" ist in den nicht diagonalen Werten in den Matrizen zu sehen.
Biegeeinheit 22