Digitaler Regler < Regelungstechnik < Ingenieurwiss. < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 19:25 Fr 26.10.2007 | Autor: | freshman |
Hallo!
Ich muss in Matlab einen digitalen Regler mit Polvorgabe erstellen.
Ein Zustandsraummodell (5.ter Ordnung) habe ich bereits erstellt. Steuer- und Beobachtbarkeitsmatrix sind linear voneinander unabhängig, haben also Rang = 5. Das alles habe ich noch so einigermaßen verstanden.
Mein Problem ist nun, wie lege ich die Pole fest?
Ich habe mal 5 gleiche Polstellen angenommen und damit den Rückführungsvektor und danach die Eigenwerte berechnet. Anhand der Eigenwerte sehe ich doch, ob meine gewählten Polstellen auch passen, oder? Die Eigenwerte weichen jedoch stark von meinen gewählten Polvorgaben ab. Ich verstehe nun nicht, wie ich meine Polstellen platzieren muss, sodass diese auch passen?
Vielen Dank schon mal für Eure Hilfe!
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 19:48 Fr 26.10.2007 | Autor: | Infinit |
Hallo freshman,
ich gehe mal davon aus, dass Dein Regler ein reelles Ausgangssignal besitzen soll. Bei einem reellen Eingangssignal ist das gewährleistet, wenn die Pole der Übertragungsfunktion des Reglers in der negativen s-Halbebene liegen. Dort leigen sie entweder auf der negativ reellen Achse oder sie sind konjugiert komplex zueinander.
Viele Grüße,
Infinit
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 09:57 Sa 27.10.2007 | Autor: | freshman |
Hallo Infinit,
danke für die rasche Antwort. Diese Bedingungen, welche du nennst werden benötigt, um ein stabiles System zu erreichen. Das ist mir klar. Da es sich bei mir um einen digitalen Regler handelt, müssen dann laut deinen genannten Kriterien die Polstellen eben in der z-Halbebene im Einheitskreis liegen.
Bei meinem System handelt es sich um einen fremderregten Gleichstrommotor. Eingangsgröße ist die Ankerspannung, Ausgangsgröße die Drehzahl.
Mein Problem liegt eher darin, dass ich ja die Pole vorgeben muss. Sobald ich die Pole vorgegeben habe, lasse ich mir den Rückführungsvektor (mit Ackermann) berechnen. Um zu überprüfen, ob meine Vorgegebenen Pole dann auch dort liegen, berechne ich die Eigenwerte (eig(A - b*k)) . Wenn alles passt, dann zeigen die Eigenwerte die zuvor festgelegten Pole. Bei mir ist das leider nicht der Fall.
Anbei noch kurz die Pole, welche ich versuchsweise vorgegeben habe:
Vorgegebene Pole:
0.5, 0.5, 0.5, 0.5, 0.5
berechnete Eigenwerte:
-2.2818e+000
8.6610e-001 +4.3112e-001i
8.6610e-001 -4.3112e-001i
9.5270e-001 +2.5902e-001i
9.5270e-001 -2.5902e-001i
Normalerweile sollte da jetzt überall 0.5 stehen. Und der erste Wert liegt bereits ausserhalb des EInheitskreises.
Gibt es irgendeine "allgemeine Grundregel", wie man die Polstellen bei der Polvorgabe wählen kann?
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:43 Sa 27.10.2007 | Autor: | Infinit |
Hallo freshman,
mit Deinen Ausführungen zur Stabilität des Gesamtsystems hast Du recht. Mir ist jedoch nicht klar, welche Größe hier durch was geregelt wird. Insofern habe ich auch Schwierigkeiten mit Deinen Begriffen, da ich sie nicht einer bestimmten Stelle im Regelkreis zuordnen kann. Matlab gab es zu meiner Zeit noch nicht, die Regelungstechnikvorlesung ist bei mir gut 26 Jahre her. Wenn Du Lust und Zeit hast, beschreibe doch mal Dein Modell. Ich lerne auch gerne dazu und Begriffe ändern sich im Laufe der Zeit.
Viele Grüße,
Infinit
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 19:54 Sa 27.10.2007 | Autor: | freshman |
Hallo,
da hast du recht, manchmal drück ich mich etwas kompliziert aus.
Meine Aufgabenstellung:
Erstelle einen digitalen Regler mit Beobachter und Vorfilter für einen fremderregten Gleichstrommotor mit Torsionsfedern am Abtrieb. Eingangsgröße ist die Ankerspannung, Ausgangsgröße die Winkelgeschwindigkeit .
Das diskrete Zustandsraummodell habe ich bereits erstellt. Die Sprungantwort des System hab ich auch schon untersucht.
Die Steuerbarkeitsmatrix und Beobachtbarkeitsmatrix sagen, dass das System vollständig steuer- und beobachtbar ist.
Nun bin ich dabei, einen digitalen Regler mit der Methode der Polvorgabe zu erstellen. Mein Problem ist, dass ich nicht weiß, welche Pole sinnvoll sind. Mir ist klar, dass ich die Pole innerhalb des Einheitskreises annehmen muss. Nur welche Werte hier sinnvoll sind, weiß ich leider nicht. Von einem Kollegen bekam ich den Tip: Einfach mal Pole annehmen und sehen, wie das System (Zustandsraummodell) in der Matlab/Simulink-Simulation reagiert. Wäre eine Möglichkeit (welche ich auch probiere), aber ich denke, da gibt es sicher irgendwelche "Richtwerte", woran man sich anfangs halten kann. So sollte man schneller zu einer Lösung kommen, als durch Versuche, denk ich mal.
Anbei ein Bild aus Simulink, so sieht mein Sytem im Moment aus. Die Führungsgröße kommt noch, da ich das Vorfilter erst berechne, wenn ich einen sinnvollen Regler habe. Und den Regler bekomme ich nur, wenn ich die geeigneten Pole finde
Simulink
Dateianhänge: Anhang Nr. 1 (Typ: JPG) [nicht öffentlich]
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 12:39 So 28.10.2007 | Autor: | Infinit |
Hallo freshman,
danke für Deine Beschreibung, die mir das Problem etwas besser erläutert hat. Ich weiss jedoch nicht, wie Du aus dem Teufelskreis rauskommen willst, einen Regler zu bestimmen, dessen Typ Du augenscheinlich nicht weisst und dessen Pole natürlich die Stabilität des Gesamtsystems beeinflussen. In der klassischen Filtertheorie gibt es gazu eigentlich immer ein Gütekriterium, das eine Bewertung des Regelsignals in irgendeiner Form vornimmt. Ich vermute mal, dass Deine Stellgröße eine Konstante ist, die Du möglichst schnell erreichen sollst. Für diesen Fall bietet sich ein PI-Regler an, dessen Ausgangssignal proportional ist zur aktuellen Abweichung und der die Eigenschaft hat, keinen statischen Restfehler zu produzieren.
Generell muss natürlich das System stabil bleiben und dies ist bei Deinen Versuchen ja nicht der Fall. Die Frage, die sich mir dann stellte, war, ob es bei der Vorgabe der Eigenwerte des Systems eine Möglichkeit gibt, die Reglercharakteristik zu bestimmen. Hierzu habe ich mal etwas gegoogelt und bin in einem Skript fündig geworden. Schaue doch mal die Seiten ab Seite 93 hier an, das könnte weiterhelfen.
Viele Grüße,
Infinit
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 16:08 So 28.10.2007 | Autor: | freshman |
hallo infinit!
vielen dank, ich werd mir das skrip mal genauer ansehen. das kenne ich noch nicht. hab zwar schon etliche aus dem netz geladen, aber das kannte ich bisher noch nicht.
gruß, freshman
|
|
|
|