Hallo, im Rahmen meiner Abschlussarbeit muss ich u. a. einen Regler auslegen, der, siehe Anhang, aus der grünen Kurve die blaue Kurve ausregeln soll. Ich habe mir überlegt, dass ich in das Modell, das ich in Simulink entwickelt und aufgebaut habe, einen PID-Regler einfüge und so versuche das gewünschte Verhalten zu realisieren. Aber so richtig, klappt es nicht... Habt Ihr eine Idee, wie ich die gewünschte blaue Kurve durch einen Reglereinsatz in Simulink erzielen kann??? Ich bin für jede Hilfe dankbar. Das Modell habe ich auch angefügt. In Matlab und Simulink bin ich totaler Anfänger. Ich bitte wirklich um Eure Hilfe......
Mach mal lieber ein PNG vom Modell. Nicht jeder fähige Regelungstechniker hat MATLAB zu Hause.
so wie ich das sehe ist das eine füllstandsregelung. schreib doch erst einmal die differenialgleichung auf und liniarisiere diese (am besten taylor ansatz nehmen). dann kann ich dir auch weiterhelfen. hab sowas schon paar mal gemacht im anhang hast mal ein beispiel zum dreitank, den ich mal berechnet hatte
Mach mal lieber ein PNG vom Modell. Nicht jeder fähige Regelungstechniker hat M$ zu Hause. Was an PNG ist unklar?
Hallo, richtig, es ist ein Prinzip der Abflussregelung. Ich habe auch bereits eine Differentialgleichung zu Grunde gelegt, siehe Anhang. Es ist bei mir eine 1-Tank-System, also ein Tank mit einem Zu- (q1) und Abfluss. Nach Deinem Tipp habe ich versucht meine Gleichung zu linearisieren. Linearisieren nach Tayloransatz heißt doch, es wird nach allen zeitabhängigen Größen einmal abgeleitet, hier q1 und hmax. Die lineariserte Gleichung, Anhang, ist dabei heraus gekommen. Wie soll ich nun weiter machen?
am besten schaust dir mal meinen dreitank genauer an, da hab ich ja auch zu jedem tank die differenzialgleichung aufgestellt und linearisiert + in den laplace bereich gebracht unterschied ist nur, dass z.b der ausgang von tank 1 gleichzeitig der eingang zu tank 2 ist kannst da also mal deine ergebnisse vergleichen, wenn du soweit bist, dann poste mal deine übertragungsfunktion (also im laplace bereich), dann sehen wir weiter die übertragungsfunktion dürfte im prinzip ja genau die selbe sein wie ei mir. zumindest vom typ. zeitkonstanten werden eben nur anders sein.
Hallo, ich kann Dir morgen Vormittag die Übertragungsfunktion der Strecke posten. Schaue bitte am späten Vormittag nochmal ins Forum, dann müsste ich soweit sein.
Nach deiner dgl und der Linearisierung, handelt es sich um eine PT1 Strecke, da wäre ein PID-Regler zu viel des Guten. Ich würde einen PI-Regler nehmen, bei dem ich die Zeitkonstante auf die Zeitkonstante deiner Strecke legen würde. Die Verstärkung könntest du jetzt theoretisch unendlich aufdrehen. Kannst natürlich aber nicht, da du ja auch Stellbeschränkungen hast. Taste dich da am Besten langsam ran und pass auf dass die Regelung nicht instabil wird. Wäre es kriitisch wenn die Regelung instabil wird?? Sonst könntest du auch einfach ein heuristisches Verfahren wie Ziegler-Nichols anwenden. Da nimmt man erst einmal einen P-Regler und dreht die Verstärkung so lange auf, bis eine stabile Grenzschwingung auftritt. Das ist dann deine kritische Verstärkung Kkrit und die dazugehörige Periodendauer der Schwingung ist Tkrit. Der PI-Regler berechnet sich dann einfach zu: Gr(s)=0.45*Kkrit(1+1/(0.85*Tkrit)) Das ist für Nichtregelungstechniker meist einfacher und kann auch gute Ergebnisse liefern. Eine Berechnung nach der DGL ist natürlich eleganter und bedeutend schneller beim Ausregeln.
nachtrag, falls noch jemand anderes mitliest: "Wäre es kriitisch wenn die Regelung instabil wird??" Ich weiss natürlich, dass eine PT1 Strecke gar nicht instabil werden kann, aber mann weiss ja nicht was da noch alles dranhängt.
> kannst da also mal deine ergebnisse vergleichen, wenn du soweit bist, > dann poste mal deine übertragungsfunktion (also im laplace bereich), > dann sehen wir weiter So, ich habe nun meine Übertragungsfunktion aufgestellt. Es ist im Laplace-Bereich und hat den Grad 1, da ich ein 1-Tanksystem habe. Ich habe mein Modell auch in die linearisierte Form mit den Koeffizienten gebracht, so habe ich nur noch lineare Elemente im Modell. Der Plot soll auf ungefähr 45bar ausgeregelt werden. und...nun...
deine ÜF lautet: Gs=0,002865/(s+0,142)=0,002865/(0,142*(s/0,142+1))=0,02/(7,042*s+1) in der Annahme deine ÜF ist richtig, würde ich einen PI Regler mit der Zeitkonstante Tn=7,042 wählen. "Die Verstärkung könntest du jetzt theoretisch unendlich aufdrehen. Kannst natürlich aber nicht, da du ja auch Stellbeschränkungen hast. Taste dich da am Besten langsam ran."
Danke. Vielen Dank. Meist Du den PID-Regler-Baustein in Simulink ohne D-Anteil, D-Anteil=0. Oder wie soll ich den PI-Regler aufbauen? Bitte um Deine Hilfe...
nimm einfach eine "transfer function" und schreib als numerator [7.042 1] und als denumerator [7.042 0] als Verstärkung kannst einen "Gain" Block davor hängen und dann mal ein wenig mit der Verstärkung spielen
Danke... Ich finde die "transfer function" in der Simulink Library nicht. Wo finde ich die denn???
Normalerweise in der Simulink-Library unter "Continuous".. der Block heisst "Transfer Fcn"
Ok, ich habe den Block in das Modell eingebaut und mit der Verstärkung herum gespielt. Wenn ich eine kleine Verstärkung eintrage, bekomme ich ungefähr das Eingangssignal heraus. Stelle ich eine große Verstärkung ein, sehe ich vor lauter Signal gar nichts... In meine Strecke musste ich meine Kq-Konstante wieder einbauen, da die Berechnung in der m-File nicht mit einem Regler oder Transfer Funktion funktioniert hat, wegen Array, was nicht auf den Reglereingang passt... Weißt Du nun einen Rat, wie es nun auf einen geregelten Ausgang kommt...??????
Ich sehe schon mal dasss dein Regler falsch ist. Du hast einen I-Regler. Ich sagte aber du sollst einen PI-Regler nehmen. Schreib im Numerator [7.042 1] rein, dann passt das auch wieder.
Ich hab eben mal allen unnötogen Schnulli rausgeschmissen und simuliert. Bei einer Verstärkung von 50 kopmm ich bei einer Führungsgröße von 45 auf eine Anregelzeit von ca. 1s. Das sollte bei so langsamen Prozessen wie Füllständen sicher schonn reichen.
Sry schon mal an den Moderator für das "Mass-Posting". Mit deinem I-Regler hast du zu der PT1-Strecke einen zusätzlichen Pol eingebracht. Das bedeutet, das in der Wurzelortskurve nun 2 Pole vorhanden sind. Dieser werden bei größer werdender Verstärkung aufeiander zulaufen und irgendwann abheben. Damit hast du dann ein konjungiert komplexes Polpaar, was wiederum bedeutet, dass dein Sytsem anfängt zu schwingen. ALso genau das was du beobachtet hast. Mit einem PI-Regler hast du schon einmal die eine Polstellen mit einer Nullstelle kompensiert. Heist also es ist nur noch eine Polstelle bei s=0 übrig. Diese wwird bei größer werdender Verstärkung gegen -unendlich laufen. Heist es kommt nicht zum Aufchwingen und du kannst theoretisch die Verstärkung unendlich aufdrehen.
Hallo, Danke. Nur ich habe nicht unbewusst über 10.000 sec simulieren lassen. Da ich in meiner Arbeit einen Zeitraum von einer Woche batrachte und dies sind umgerechnet 10.000 sec. Das Simulink-Modell sieht vom Ergebnis am Ausgang super aus, nur der Zeitraum passt nicht und ich muss mit einem variablen Eingangssignal, das ich mir in der m-File programmiert habe, auf den Eingang gehen. Wenn daraus der Verlauf Deines Ergebnis kommt ist es super perfekt... Ich versuch gerade mein variables Signal per From Workspace auf Dein Modell zu legen, aber hierbei kommt am Ausgang nur eine Gerade raus... Kannst Du bitte nochmal helfen...
Was ist denn bei dir der Ausgang? Schaust du dir das Scope an? Wenn ja, dann schau mal auf den Zeitbereich des Scopes. Ein normales Scope speichert nur 5000 Werte und zeigt auch nur diese an. Öffne einfach mal das Scope, geh auf Parameters (neben dem Drucker Symbol), dann zum Reiter 'Data Hystory' und nimm dort den HAcken für das Limit von 5000 Points raus. Ein variabler Eingang kann bei der realen Regelung zum Problem werden. Deine Linearisierung geht ja von einem festen Areibtspunkt aus. Wenn du den extrem verlassen solltest, stimmt die Linearisierung nicht mehr und somit auch nicht die Zeitkonstante des Reglers. In den meisten Fällen ist dies unproblematisch. Mach einfach mal an paar Führungssprünge mit unterschiedlicher Höhe. Du wirst sehen, dass die Regelung bei dem Arbeitspunkt den du für die Linearisierung genommen hast, am Besten funktioniert. In allen anderen Arbeitspunkten wirst du ein (hoffentlich) geringes Überschwingen feststellen.
Danke, Danke. Ich werde dann mal Deine Tipps umsetzen und mein Modell so weiter entwickeln. Wenn ich Fortschritte gemacht habe, sage ich Dir Bescheid. Besten Dank...
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.