WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Reglerauslegung nach dem Betragsoptimum

 

Eddy2k
Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 15.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.09.2013, 14:08     Titel: Reglerauslegung nach dem Betragsoptimum
  Antworten mit Zitat      
Hallo zusammen!

Ich arbeite z.Z. an einer Anlage, die mit einer Kaskadenregelung arbeitet. Die bestehende Regelung soll optimiert werden.

Dazu habe ich mir das Verfahren nach dem Betragsoptimum ausgesucht. Das Verhalten des inneren und äußeren Regelkreises wurde bereits jeweils als PT1-Strecke identifiziert.

Den inneren Regelkreis möchte ich nun mit einem P-Regler regeln. Ich finde aber einfach nicht heraus, wie genau der Wert für Kp ermittelt wird. Im Internet finde ich nur Berechnungswege für P-Regler mit Regelstrecken höherer Ordnung oder für PI-Regler mit PT1-Strecken...

Die PT1-Regelstrecke hat folgende Übertragungsfunktion:

G_S=3,2803/(1+102,64*s)

P-Regler:

G_R=Kp

Bisher habe ich nur die Übertragungsfunktion des geschlossenen Regelkreises gebildet:

G_O(s)=G_R*G_S=Z_GO/N_GO

G_W(s)=Z_GO/(Z_GO+N_GO)=(Kp*3,2803)/(Kp*3,2803+1+102,64s)

Wie geht es an dieser Stelle weiter? Ich wäre dankbar für etwas Hilfe!

MfG
Private Nachricht senden Benutzer-Profile anzeigen


Sp0b1e
Forum-Anfänger

Forum-Anfänger



Beiträge: 26
Anmeldedatum: 26.09.13
Wohnort: ---
Version: 2011a und 2013a
     Beitrag Verfasst am: 28.09.2013, 10:09     Titel:
  Antworten mit Zitat      
Hallo Eddy2k,

der Grundgedanke der Reglerauslegung nach dem Betragsoptimums ist es ja, dass die Regelgröße schnell den Sollwert erreicht. Diese kurze Anstiegszeit entspricht im Frequenzbereich einer großen Bandbreite des Frequenzganges. Ideales verhalten liegt dann vor, wenn gilt: |F(jw)|=1.
Dies ist in der Praxis aufgrund von Verzögerungsverhalten nicht realisierbar und ist somit nur näherungsweise erfüllbar. Dieses Verhalten erlangt man, wenn an der Stelle w=0 möglichst viele Ableitungen von |F(jw)| gleich Null werden bzw. wenn Zähler und Nennerpolynom von |F(jw)| möglichst viele gleiche Koeffizienten aufweisen.

Im Falle deines Beispieles zu einer PT1-Strecke mit P-Regler, erhäll man für P-> unendlich einen nach dem Betragsoptimum optimalen Regler. Dies kann man sich auch ganz einfach im Bodediagramm erklären. Wenn du deine Führungsübertragungsfunktion in Normalform für ein PT1-Glied bringst, erhälst du für die Zeitkonstante T1/(Ks*Kr). Wählts du nun Kr unendlich hoch, so läuft deine Zeitkonstante gegen Null und somit die Knickfrequenz im Bodediagramm gegen Unendlich.

Meiner Meinung nach wäre hier ein PI-Regler angebrachter. Zum einen kannst du den besser nach dem Betragsoptimum auslegen oder die Streckenzeitkonstante kompensieren und zum andern hast du keine bleibende Regelabweichung mehr.

Zur optimierung von Regelkreisen kannst du auch mal nach Integralkriterien im Zeitbereich schauen. Die liefern meist auch ein relativ gutes Ergebnis.

Ich hoffe ich konnte dir etwas weiterhelfen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Eddy2k
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 15.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.09.2013, 10:21     Titel:
  Antworten mit Zitat      
Hallo sp0b1e,

danke für deine Antwort! Für den inneren Regelkreis habe ich ein P-Regler gewählt, da es bei der Kaskadenregelung wichtig ist, dass der innere Regelkreis schneller ist als der äußere Regelkreis. Soweit ich weiß, ist der P-Regler der schnellste Regler. Zur Beseitigung der Regelabweichung würde ich dann einen PI-Regler für den äußeren Regelkreis verwenden.

Wie finde ich denn jetzt trotzdem einen guten Richtwert für meine Reglerverstärkung? Nach welchem Kriterium erfolgt die Wahl, wenn Kpr rein theoretisch unendlich hoch gewählt werden kann. Könntest du evtl deinen Rechenweg darstellen?

Ich weiß nicht, wie man |F(jw)|=1 in diesem Fall ermittelt bzw. wie du auf dieses Ergebnis kommst.

MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Sp0b1e
Forum-Anfänger

Forum-Anfänger



Beiträge: 26
Anmeldedatum: 26.09.13
Wohnort: ---
Version: 2011a und 2013a
     Beitrag Verfasst am: 30.09.2013, 12:01     Titel:
  Antworten mit Zitat      
Vielleicht solltest du erst einmal kurz darstellen wie der aktuelle Stand der verwendeten Regelung ist (was für ein Regler wird momentan verwendet und wie sind dessen Parameter), handelt es sich dabei um einen realen Prozess oder ist das lediglich eine Simulation und was genau sollst du optimieren? Denn optimieren kann man in einem Regelkreis ne ganze Menge unterschiedlicher Eigenschaften, die sich oftmals auch gegenseitig beeinflussen.

Außerdem bin ich mir nicht ganz sicher ob die Optimierung nach dem Betragsoptimum für den inneren Regelkreis einer Kaskadenregelung gut geeignet ist, da hiebei nicht immer ein sehr schnelles Einregelverhalten erzielt wird.

Die Aussage das ein betragsoptimales Verhalten zustande kommt, wenn |F(jw)|=1 ist, stammt hierbei nicht von mir, sondern ist eine Definition die man auch in allen Lehrbüchern zu disesm Thema findet.

Berechnen lässt sich dies wie folgt:und
  | F(jw) | =sqrt((Re(F(jW)))^{2}+(Im(F(jw)))^{2}) =1

Da hierbei zumeist Wurzeln im Nenner stehen kann man diese Formel nochmals quadrieren und erhält:
  | F(jw) |^{2} =(Re(F(jW)))^{2}+(Im(F(jw)))^{2} =1

Soviel zur Berechnung.
Private Nachricht senden Benutzer-Profile anzeigen
 
Eddy2k
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 15.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.09.2013, 12:57     Titel:
  Antworten mit Zitat      
Es handelt sich um einen realen Prozess mit einer bestehenden Regelung. Es ist ein thermisches System und daher sehr träge. Schwingt die Regelgröße über, so dauert es lange, bis die Regelgröße der Führungsgröße entspricht. Ziel der Optimierung ist es daher, ein möglichst geringes Überschwingen zu erzielen. Das Verfahren nach dem Betragsoptimum liefert ein geringes Überschwingverhalten.

Der innere Regelkreis wird bisher durch einen P-Regler geregelt, der äußere Regelkreis durch einen PID-Regler. Nun habe ich einen Sollwertsprung auf 200 °C vorgegeben (mit Absicht kein Sprung im offenen Regelkreis, mithilfe der System Identification Toolbox kann man auch so das System identifizieren und spart viel Zeit) und mithilfe von Matlab die einzelnen Regelstrecken identifiziert.

Jetzt möchte ich einen P-Regler innen auslegen, dann nehme ich für den äußeren Regelkreis einen PI anstelle eines PID-Reglers, da das System so träge ist, dass ein D-Anteil überflüssig ist.

Meine Rechnung sieht wie folgt aus:

|Fw(jw)|=1

(Kpr*Kps)/(sqrt(Kpr^2*Kps^2+2Kpr*Kps+1-T1^2*w^2))=1

Quadrieren und Nenner auf die rechte Seite: w = omega

Kpr^2*Kps^2=Kpr^2*Kps^2+2Kpr*Kps+1-T1^2*w^2

Kpr^2*Kps^2 hebt sich auf, also:

0=2*Kps*Kpr+1-T1^2*w^2

Jetzt frage ich mich einfach, wie du dann auf den Ausdruck T1/(Kpr*Kps) kommst.

Gruß Eddy2k
Private Nachricht senden Benutzer-Profile anzeigen
 
Sp0b1e
Forum-Anfänger

Forum-Anfänger



Beiträge: 26
Anmeldedatum: 26.09.13
Wohnort: ---
Version: 2011a und 2013a
     Beitrag Verfasst am: 30.09.2013, 15:15     Titel:
  Antworten mit Zitat      
Die Berechnung der Streckenzeitkonstante oben hat nichts mit der Optimierung nach dem Betragsoptimum zu tun. Ich habe oben auch einen Feher gemacht, das müsste heißen:

 T_{geschlossener Kreis}= \frac{T_{1}}{K_{R}K_{S}+1}

Dies erhält man durch:
 F_{W}=\frac{K_{R}K_{S}}{K_{R}K_{S}+1+jwT_{1}}

Umstellen auf Standartgleichung für PT-1-Glied:
 F_{W}=\frac{\frac{K_{R}K_{S}}{K_{R}K_{S}+1}}{1+jw\frac{T_{1}}{K_{R}K_{S}+1}}

hier ist nun auch die bleibende Regelabweichung zu erkennen!

Die Zeitkonstante die ich oben angegeben habe ist die Steckenzeitkonstante des geschlossenen Kreises bei Verwendung eines PI-Reglers mit kompensation der Steckenzeitkonstante durch die Nachstellzeit.

Eine konkrete Empfehlung hinsichtlich Verstärkungsfaktor kann man hier eigentlich kaum geben, da in deiner Strecke ja auch noch Nichtlinearitäten wie z.B. die Stellgrößenbegrenzung auftreten, die wiederum zu Überschwingen führen können.

Ich würde einfach mal schaun wo sich die Pole des zur Zeit geregelten Systems befinden. Ich kann mir gut vorstellen, dass die Pole des äußeren Regelkreises konjugiert komplex sind und daher ein Überschwingen zustande kommt.

Mein erster Ansätz wäre dennoch der Versurch die Streckenzeitkonstanten mit den Nachstellzeiten eines PI-Reglers zu kompensieren.
Private Nachricht senden Benutzer-Profile anzeigen
 
Eddy2k
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 15.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.09.2013, 15:45     Titel:
  Antworten mit Zitat      
Gut alles klar, ich denke ich habe das soweit verstanden. Eine kurze Frage hätte ich noch:

Du hast gesagt, dass man bei einem P-Regler mit PT1-Strecke den Verstärkungsfaktor theoretisch unendlich hoch setzen kann, es bleibt immer stabil. Wie kann man dies mathematisch zeigen?

Ich entscheide mich dann auch für einen PI-Regler mit Kompensation der Zeitkonstante, möchte die Wahl nur vernünftig begründen Smile

Vielen Dank schonmal für deine bisherige Hilfe!

MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Sp0b1e
Forum-Anfänger

Forum-Anfänger



Beiträge: 26
Anmeldedatum: 26.09.13
Wohnort: ---
Version: 2011a und 2013a
     Beitrag Verfasst am: 30.09.2013, 17:00     Titel:
  Antworten mit Zitat      
Du kannst zeigen das diese Konstellation stabil ist, indem du dir die Pole des geschlossenen Kreises anschaust, die du mit:
  0=1+s\frac{T_{1}}{K_{R}K_{S}+1}
zu
  s=-\frac{K_{R}K_{S}+1}{T_{1}}
bestimmen kannst.

Dieser liegt für alle K_{R}>0 in der negativen s-Ebene. Somit ist der Regelkreis stets stabil, denn negative Verstärkungen machen keinen Sinn. Ebenso ist der Regelkreis mir Kompensation der Streckenzeitkonstante mit der Reglernachstellzeit für alle K_{R}>0 stabil.

Das ist aber lediglich die Theorie, in der keine Nichtlinearitäten wie Stellgrößenbegrenzungen mit einbewogen sind. Außerdem hast du auch noch eine gewisse Modellunsicherheit, bzw. kann dein Modell auch hoherer Ordnung sein. Aus diesem Grund kann es dennoch dazu kommen, dass dein Regelkreis instabil wird für zu große K_R
Private Nachricht senden Benutzer-Profile anzeigen
 
Eddy2k
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 15.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.09.2013, 17:19     Titel:
  Antworten mit Zitat      
Gut, deine Erklärung leuchtet ein. Dennoch stehe ich noch immer vor dem Problem, dass ich keine geeignete Vorgehensweise zur Dimensionierung der Reglerverstärkung Kp habe.

Ich möchte nicht durch Experimente so lange herum probieren, bis ich einen vernünftigen Wert habe. Diesen Schritt möchte ich vermeiden. Ich möchte durch die Nutzung analystischer Mittel in Kombination mit Simulationen eine gute Prognose erstellen, die ich dann an der realen Anlage teste. Soll ich evtl die Kaskade unter Simulink nachbilden und die Regelgröße y für verschiedene Werte von Kp betrachten?

Alternativ könnte ich die innere Regelstrecke durch ein PT2-Glied annähern, dann erhält man auch eine Berechnungsvorschrift. Mit der Toolbox erhalte ich eine Übereinstimmung von 95 % für ein PT2 Glied. Allerdings beträgt eine Zeitkonstante T1=102 s, die andere lediglich 1,5 s. Daher würde ich eher vermuten, dass die Regelstrecke tatsächlich PT1-Verhalten hat, wie es bei thermischen Systemen oft der Fall ist. Was meinst du ?

Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
Sp0b1e
Forum-Anfänger

Forum-Anfänger



Beiträge: 26
Anmeldedatum: 26.09.13
Wohnort: ---
Version: 2011a und 2013a
     Beitrag Verfasst am: 30.09.2013, 18:55     Titel:
  Antworten mit Zitat      
Ich würde mir mehrere Übertragungsfunktionen mit unterschiedlicher Anzahl von Polen und Nullstellen identifizieren lassen. Für das Simulationmodell würde ich dann das System mit der höchsten Übereinstimmung nehmen.

Zur Reglerauslegung würde ich dann aber entweder das PT-1 oder das PT-2 Modell nehmen. Dann ist das nicht ganz so aufwendig und etwaige Ungenauigkeiten muss halt eben die Robustheit des Reglers ausgleichen.

Bei der Simulation ist auch wichtig die Stellgrößenbegrenzung mit einzubauen. Außerdem muss du dir Gedanken über AntiWindup-Mehtoden für den I-Anteil des Reglers machen bzw die richtige Methode implementieren, wenn du einen Standart-Industrieregler verwendest. Darüber steht dann bestimmt was im Handbuch.

Weiterhin noch viel Erfolg!
Private Nachricht senden Benutzer-Profile anzeigen
 
Eddy2k
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 15.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.09.2013, 21:48     Titel:
  Antworten mit Zitat      
Ok vielen Dank für deine Hilfe, ich werd das morgen mal testen. Sobald Ergebnisse vorliegen, schreibe ich hier nochmal rein.

MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Eddy2k
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 15.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.10.2013, 18:24     Titel:
  Antworten mit Zitat      
Hallo Leute!

Mein Post beziet sich wieder auf das oben beschriebene thermische System, das mit einer Kaskadenregelung arbeitet. Daher eröffne ich kein neues Thema. Zum besseren Verständnis hänge ich das Blockschaltbild des Simulink-Modells als Bilddatei an.

Ich habe mich dafür entschieden, für beide Regelkreise einen PI-Regler auszuwählen. Nun habe ich beide Regler nach dem Betragsoptimum ausgelegt und erhalte jeweils Werte für die Nachstellzeiten und den Verstärkungsfaktoren der beiden Regler. Wenn ich diese Werte in die Regler der realen Anlage übertrage, kommt ein sehr schlechtes Regelverhalten raus (starke Schwingungen).

Daher wollte ich meinen Rechenweg kurz zeigen und hoffe, dass jemand einen Fehler entdeckt...

Innerer Regelkreis:

Reglerübertragungsfunktion

G_R_1=\frac{K_P_I}{T_N_I\cdot s}\cdot (1+T_N_I\cdot s)

Regelstrecke:

G_S_1=\frac{K_P_S_I}{1+T_1_I\cdot s}

Äußerer Regelkreis::

Reglerübertragungsfunktion

G_R_2=\frac{K_P_A}{T_N_A\cdot s}\cdot (1+T_N_A\cdot s)

Regelstrecke:

G_S_2=\frac{K_P_S_A}{(1+T_1_A\cdot s)\cdot(1+T_2_A)\cdot s}

Nach dem Betragsoptimum kompensiere ich durch die Nachstellzeit des inneren PI-Reglers die Zeitkonstante der inneren Strecke, sodass gilt:

T_N_I=T_1_I

Soweit ich das richtig verstanden habe, gibt es keine Berechnungsvorschrift für den Verstärkungsfaktor, da die Regelstrecke ein PT1-Glied ist und daher unendlich hoch gewählt werden kann. Daher habe ich den Proportionalbereich der alten Regelung übernommen:

K_P_I=1,4

Für die Auslegung des äußeren Reglers bilde ich nun eine Reihenschaltung aus der Führungsübertragungsfunktion G_W_1des inneren Regelkreises in Reihe mit G_S_2:

G_O_1=G_R_1\cdot G_S_1=\frac{K_P_I}{T_N_I\cdot s}\cdot (1+T_N_I\cdot s)\cdot\frac{K_P_S_I}{(1+T_1_I\cdot s)}

Mit T_N_I=T_1I gilt:


G_O_1=\frac{(K_P_I\cdot K_P_S_I)}{(T_N_I\cdot s)}=\frac{Z_G_O_1}{N_G_O_1}

G_W_1=\frac{Z_G_O_1}{Z_G_O_1+N_G_O_1}=\frac{K_P_I \cdot K_P_S_I}{K_P_I \cdot K_P_SI+T_N_I \cdot s} = \frac{1}{1+\frac{T_N_I}{K_P_I\cdot K_P_S_I}\cdot s} =\frac{1}{1+T_E_r_s\cdot s}

Reihenschaltung:

G_A=G_W_1 \cdot G_S_2=\frac{1}{(1+T_E_r_s\cdot s)} \cdot \frac{K_P_S_A}{(1+T_1_A\cdot s)\cdot(1+T_2_A)\cdot s}

Offene Übertragungsfunktion des äußeren Regelkreises:

G_O_A=G_A \cdot G_R_2=\frac{1}{(1+T_E_r_s\cdot s)} \cdot \frac{K_P_S_A}{(1+T_1_A\cdot s)\cdot(1+T_2_A\cdot s)} \cdot \frac{K_P_A}{T_N_A\cdot s}\cdot (1+T_N_A\cdot s)

T2A ist die größte Zeitkonstante, diese soll durch die Nachstellzeit kompensiert werden:

T_2_A=T_N_A


\Rightarrow G_O_A=\frac{1}{(1+T_E_r_s\cdot s)} \cdot \frac{K_P_S_A}{(1+T_1_A\cdot s)} \cdot \frac{K_P_A}{T_N_A\cdot s}

Die beiden Zeitkonstanten T_1_A und T_E_r_s werden zu einer Summenzeitkonstante T_S zusammengefasst:

T_S=T_1_A+T_E_r_s

\Rightarrow G_O_A=\frac{1}{(1+T_S\cdot s)} \cdot \cdot \frac{K_P_A \cdot K_P_S_A}{T_N_A\cdot s}

Für Regelstrecken mit dieser Form liefert das Betragsoptimum die folgende Formel:

K_P_A=\frac{T_N}{2 \cdot K_P_S \cdot T_S}

Auf den vorliegenden Fall angewendet heisst das:

K_P_A=\frac{T_N_A}{2 \cdot K_P_S_A \cdot (T_1_A+T_E_r_s)} =\frac{T_N_A}{2 \cdot K_P_S_A \cdot (T_1_A+\frac{T_N_I}{K_P_I\cdot K_P_S_I})}

Die Formel für den Verstärkungsfaktor habe ich aus der beiliegenden Tabelle (Anhang, Falle e)) entnommen.

Die Berechnung ist etwas anstrengend, aber ich hoffe das man es gut verstehen kann.

Es wäre super, wenn jemand etwas zu dem Rechenweg sagen könnte. Wenn man in das Blockschaltbild schaut, dann sieht man dort den Faktor 3,75, das ist der sog. Kaskadenstellgrad. Diesen habe ich z.B. nicht berücksichtigt. Müsste ich das? Und wenn ja, wie?

Etwas Hilfe wäre sehr nett.

MfG

Betrag.png
 Beschreibung:

Download
 Dateiname:  Betrag.png
 Dateigröße:  93.43 KB
 Heruntergeladen:  1493 mal
Abb30.png
 Beschreibung:

Download
 Dateiname:  Abb30.png
 Dateigröße:  26.4 KB
 Heruntergeladen:  1414 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.