Hallo, Ich habe eine Regelstrecke von einem anderen Programm in Matlab transferiert und habe einen einfachen Regelkreis mit Simulink aufgebaut,bestehend aus einem PID Regler und der bekannten Strecke. Wenn man einen Einheitssprung auf die Strecke legt, ist die Sprungantwort sinusförmig und klingt nur langsam ab gegen null... Nun soll der PID Regler diesen Abklingvorgang beschleunigen und die Amplitude verringern. Wie stelle ich den Regeler optimal ein? Gibt es rechnerische Einstellmöglichkeiten? Vielen Dank im Voraus!
Hallo, wir sind keine Rechnerischen Methoden bekannt ( hatte bis jetzt nur Regelungstechnik 1 :) ). Es gibt aber Schätzverfahren bzw. Anfangswerte ala Ziegler/Nichols usw. siehe -> http://de.wikipedia.org/wiki/Faustformelverfahren_(Automatisierungstechnik) lg
Natürlich gibt es rechnerische Verfahren zur Wahl der Reglerparameter. Es stellt sich für die Einhaltung von Gütekriterien allerdings zuerst die Frage was für eine Regelstrecke vorliegt. Ist es zum Beispiel eine einfache lineare Eingrößenregelstrecke oder vielleicht eine zeitvariante dynamisch-nichtlineare Regelstrecke. Erste wird einfach zu regeln sein. Die zweite könnte durchaus sehr sehr kompliziert werden.
Hey, Ziegler Nichols und andere Verfahren funktionieren hier nicht immer, weil man keine Standardsprungantwort erhält... Die Verfahren sind mir klar, aber diese kann man hier nicht anwenden. Die Regelstrecke ist zeitinvariant und nichtlinear, wenn man einen Sprung draufgibt (siehe erster Beitrag)! Hat jemand Lösungsvorschläge?
Es wäre vielleicht hilfreich wenn du mal die Sprungantwort als Bild postest. Es ist schwer einen Lösungsvorschlag zu geben wenn man praktisch nichts weiß. Hilfreich wäre auch die Struktur der Regelstrecke.
Wieso sollte sie nichtlinear sein, nur weil sie sinusförmig abklingt oder hab ich was überlesen?
Das ist genau die Frage, deswegen sollte man auf ein Bild warten oder die Struktur der Strecke bekannt wird. Sollte es wirklich nichtlinear sein, sind sowieso genauere Infos nötig bevor eine Verfahren oder eine Herangehensweise angegeben werden kann.
So sieht die Sprungantwort der Regelstrecke aus (siehe Anhang). Die Transferfunktion sieht ziemlich komplex aus ((s^48+...)/(s^49*+...))
Also auf dem bild sieht es aus wie ein PT2* System. --> Schwinglreis. Wenn du sagst, dass da s^49 steht, würde das bedeuten, du hast 49 unabhängige Energiespeicher. Sicher, dass ihr die Identifizierung richtig gemacht habt? könntest du vllt das verwendete Sprungsignal noch mit in das scope aufnehmen? Wenn es sich wie oben beschrieben um einen Einheitssprung handelt, müsste da zumindest ein offset dasein. Alex
sieh dir mal die poles und zeros im root-locus an und nimm nur die dominanten poles und zeros. Da wird dann wohl nur noch eine 2te order TF übrig bleiben.
Hallo, du kannst mit Matlab die die Regelparameter vorgeben, simulieren und die Antwort automatisch auswerten. Auf diese weise kannst du die Parameter optimieren oder auch komplett abrastern. Dazu kannst du z.B. jeweils das Maximum der Regelabweichung bestimmen und dies minimieren. Wenn die Simulation allerdings sehr komplex ist kann das schon einige Zeit dauern. Wenn du das ganze anders berechnen willst musst du tief in die Regeltheorie einsteigen und am besten auch mathematisch recht fit sein. In der Praxis wird allerdings meiner Erfahrung nach mit den Standardverfahren die Regelparameter abgeschätzt und anschließend durch geschicktes Versuchen weiter optimiert. Gruß Kai
Als Sprung habe ich den Einheitssprung verwendet. Leider bin ich immer noch nicht zu einer Lösung gekommen. Habe das Schwingungsverfahren nach Ziegler und Nicholes angewendet. Das führte zu keinem sinnvollen Ergebnis. Außerdem habe ich versucht, den Regler nach "Gefühl" einzustellen. Also alle Parameter nacheinander einzustellen. Das hat leider auch nicht funktioniert. Das Problem ist, die Strecke ist so träge, dass Änderungen der Parameter Kp, Tn und Tv zu keinen nennenswerten Verbesserungen führen. Hat jemand noch einen Rat?
Ihr habt das System als Blackbox vor euch oder habt ihr nur die Daten? Kannst du mal bitte ein matlabfile von den rohdaten mit anhängen? Das Scope, das du oben gepostet hast, ist das die antwort des Systems auf den Sprung? Wenn du wirklich einen Einheitssprung auf das system gegeben hast, dann müsste man das aber als Offset im Signal sehen. In dem Scope oben ist das aber nicht vorhanden. Sicher, das es kein Impuls ist? Alex
Bernd schrieb: > Hat jemand noch einen Rat? bist du sicher dass du die Sprungantwort auch richtig machst? Das bild sieht nämlich sehr komisch aus, weil es sich bei 0 einpendelt, d.h. ein steady-state gain von 0. Wenn du in die Transfer funktion s=0 einsetzt, was ergibt das ? 0 ?
Es handelt sich hierbei um einen ganz normalen Einheitssprung. Die Regelstrecke liegt nur als Blackbox vor, da sie aus einem anderen Programm konvertiert wurde. Bei dem Model bzw. Regelstrecke handelt es sich um ein Düngespritzfahrzeug mit einem Gestänge. Starkes Anfahren, Bremsvorgänge und Unebenheiten im Boden führen zum Schwingen des Gestänges. In den Anhang habe ich die Simulink Datei gepackt. Bin mir nicht sicher, ob ihr die verwenden könnt... Trotzdem danke
kannst du vllt die TF noch mit posten? So wie der Regelkreis jetzt ist läuft es bei mir nicht, da mir scheinbar die sachen für das Adams zeug fehlen. habt ihr da noch was an dem rechner dranhängen, eine ADU Karte oder so?
es ist schon ungewöhnlich, dass die alle negativ sind, außerdem die werte. x,xx* 10^96 das was ihr da habt, hört sich nach einem Feder-Masse System an. ich bezweifle, dass die Daten, die ihr da bei der Identifikation bekommen habt richtig sind.
Bernd schrieb: > Hier die TF ich hab die mal in Matlab eingegeben (die multiplikatorzeichen * fehlen usw. nicht gerade benutzerfreundlich) Ich hab da eine instabile sprungantwort. auch im root locus sind instabile poles und zeros. Wenn du die TF als z.b. Gs=... und dann step(Gs), schon mal probiert? (vielleicht hab ich beim multiplikatorzeichen einsetzen ja irgend etwas gelöscht oder so)
Das bei der Sprungantwort keine Faustformelverfahren funktionieren ist schon verständlich. Wenn ich davon ausgehe, dass der Eingangssprung einen positiven Wert hatte dann ist hier klar nichtminimalphasiges Verhalten sichtbar. Sowas ist immer unangenehm zu regeln. Anhand des Bildes habe ich eine einfache Übertragungsfunktion gebaut welche deine Übergangsfunktion nachbildet. Für die Regelung habe ich die Ausgangsgröße einfach zurück geführt. Also keinen Regler verwendet. Das Ergebnis ist im Bild, im Vergleich zu deiner Kurve, zu sehen. Das kritische an der Stelle ist, dass die Rückführung positiv gewählt wurde um der Nichtminimalphasigkeit entgegenzuwirken. Das sollte bei deinem Modell ausgiebig getest werden, bevor an die praktische Umsetzung zu denken. Ich hoffe natürlich das diese sehr einfach Variante funktioniert :) Sollte es funktionieren kann ich dir ja noch mein einfaches Modell nennen. Gruß Thomas
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.