goMatlab - Mein MATLAB Forum

Mein MATLAB Forum

 
Login  | Registrieren
Bücher:

Digitale Signalverarbeitung Analyse diskrete Signale/Systeme

Fachkräfte:
Testingenieur (w/m) Testframework für Simulink-basierte Echtzeitanwendungen
Pflege des MATLAB/Simulink-Testframeworks, Spezifizieren von Testkriterien, Testfällen und Testszenarien
dSPACE GmbH - Paderborn

Softwareentwickler MATLAB/Simulink (w/m)
Erarbeitung von Lösungen im Bereich der Schnittstelle zum Simulink-Modell und der Benutzeroberfläche von TargetLink
dSPACE GmbH - Paderborn

Testingenieur (w/m) Konfigurationswerkzeuge für Echtzeitsysteme
Einbinden von Simulink®-Simulationsmodellen, Verteilung der Simulationsmodelle auf Multicore- und Multiprozessorsysteme
dSPACE GmbH - Paderborn

E-Drive Funktionsentwickler mit Programmierkenntnissen (m/w)
Entwicklung von Optimierungs- und Betriebsstrategien
MBtech Group GmbH & Co. KGaA - Sindelfingen bei Stuttgart, Mannheim

Support-Ingenieur (w/m) für die dSPACE-Echtzeitsysteme
Diagnose von Anwenderproblemen, Erarbeitung von Lösungen, Konzeption geeigneter Testaufbauten und Simulationsmodelle
dSPACE GmbH - Paderborn

weitere Angebote

Partner:




Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Zustandsregler entwerfen

 

Coja
Forum-Century
Forum-Century

Beiträge: 141
Anmeldedatum: 20.06.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.06.2011, 22:04     Titel: Zustandsregler entwerfen
  Antworten mit Zitat      
Hallo, ich würde gerne einen Zustandsregler für folgendes Modell (im Anhang) entwerfen:

*
6 Zustandsgrößen:
x1 x2 x3 x4 x5 x6
davon sind x1 und x2 meine Ausgänge (nur diese sind messbar).
*
4 Eingangsgrößen
u1 u2 u3 u4
davon sind u3 und u4 messbar

Ich möchte nun einen Zustandsregler entwerfen.
Der Rang der Beobachtbarkeitsnormalform ist 4, der der Steuerbarkeitsnormalform 6.

In einem 1. Schritt habe ich ein Modell, bei dem alle Größen Messbar sind.
Hieran soll der Zustandsregler entworfen werden (am besten in Simulink).
Wie gehe ich da am besten vor (wie Polvorgabe,...)?
Mit den Matlabbefehlen habe ich mich schon auseinandergesetzt, aber mir fehlt des regelungstechnische Knowhow...

vg
Coja

Code:
a =
            x1       x2       x3       x4       x5       x6
   x1   -357.1    314.2    178.6        0    -1786        0
   x2   -314.2   -357.1        0    178.6        0    -1786
   x3      100        0     -110    314.2     1000        0
   x4        0      100   -314.2     -110        0     1000
   x5   5e+004        0  -5e+004        0        0    314.2
   x6        0   5e+004        0  -5e+004   -314.2        0
 
b =
          u1     u2     u3     u4
   x1   1786      0      0      0
   x2      0   1786      0      0
   x3      0      0  -1786      0
   x4      0      0      0  -1786
   x5      0      0      0      0
   x6      0      0      0      0
 
c =
       x1  x2  x3  x4  x5  x6
   y1   1   1   0   0   0   0
 
d =
       u1  u2  u3  u4
   y1   0   0   0   0
Private Nachricht senden Benutzer-Profile anzeigen


SeeSharp
Forum-Anfänger
Forum-Anfänger

Beiträge: 31
Anmeldedatum: 18.06.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.06.2011, 15:40     Titel:
  Antworten mit Zitat      
wenn du weißt wo du deine eigenwerte hinlegen willst dann würde ich dir den befehl acker empfehlen, sonst kannst du mit dem Befehl lqr in matlab schön deine werte mit entsprechenden gewichtungsfaktoren bestimmen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Coja
Themenstarter

Forum-Century
Forum-Century

Beiträge: 141
Anmeldedatum: 20.06.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.07.2011, 22:31     Titel:
  Antworten mit Zitat      
Hallo,
acker und place sind mir bekannt. Gibt es eine Empfehlung wo ich die Eigenwerte am besten hinlege?
Gruß Coja
Private Nachricht senden Benutzer-Profile anzeigen
 
bronsco
Forum-Anfänger
Forum-Anfänger

Beiträge: 35
Anmeldedatum: 06.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.07.2011, 20:53     Titel:
  Antworten mit Zitat      
Am besten links der imaginären Achse... Da du ja im realen System Stellgrößenbeschränkungen haben wirst, musst du ausprobieren (oder evtl. in einer Optimierung) ermitteln, wie weit links du diese legen kannst. Beim LQR ist das etwas "transparenter", da du hier mit den Gewichtungen von Zuständen und Eingängen das ganze kontrollieren kannst (z.B. allg. hohe Gewichtung eines Eingangs im Vergleich zu den anderen Gewichtungen führt zu geringerer Stellgröße).

Da dein System aber nicht vollständig beobachtbar ist (und falls du wirklich keine anderen Zustände messen kannst), ist eine vollständige Zustandsrückführung in der Praxis wahrscheinlich nicht zielführend.
Private Nachricht senden Benutzer-Profile anzeigen
 
Coja
Themenstarter

Forum-Century
Forum-Century

Beiträge: 141
Anmeldedatum: 20.06.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.07.2011, 21:37     Titel:
  Antworten mit Zitat      
Hallo,

danke für die Hinweise. Wäre es möglich da mal eine Beispielabfolge zu bekommen. Also ich tu mich da noch schwer mit der Ermittlung der Rückführparameter usw. Bisher hab ich wirklich nur das Modell und komme nicht voran...

Ich schöage einfach mal mein Vorgehen vor:
1. Modellbildung, Matrizten a,b,c,d und Eingang x der Strecke
2. Vorgabe der Reglerpole mit place (was mache ich mit den Ausgabeparametern von place?)
3. Modellaufbau in Simulink mit Rückführungsfaktor k,ggf. Vorfilter entwerfen
4. Zustandsbeobachter ermitteln und in Simulink einbinden

Zu den einzelnen Punkten hätte ich gerne ein paar Tipps bzw. Matlabbefehle.

Viele Grüße
Coja
Private Nachricht senden Benutzer-Profile anzeigen
 
Georg J
Forum-Century
Forum-Century


Beiträge: 109
Anmeldedatum: 22.06.11
Wohnort: ---
Version: R2008a
     Beitrag Verfasst am: 26.07.2011, 11:39     Titel:
  Antworten mit Zitat      
Hallo Coja,

Hier gibt es mehrere Beispiele zum Thema Regelungstechnik mit Matlab. Einfach die verschiedenen Buttons in der Matrix klicken.

http://www.engin.umich.edu/group/ctm/

Gruss, Georg
Private Nachricht senden Benutzer-Profile anzeigen
 
bronsco
Forum-Anfänger
Forum-Anfänger

Beiträge: 35
Anmeldedatum: 06.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.07.2011, 12:23     Titel:
  Antworten mit Zitat      
der Befehl lautet ja:

K = place(A,B,p)

mit A,B als Systemmatrizen und p als Vektor deiner gewünschten Pole (bzw. Eigenwerte). Als Ausgabe bekommst du deine Rückführmatrix. Wenn du kein Vorfilter einsetzt, lautet dein Regelgesetz u = -K*x, ansonsten eben u = -K*x + F*w (mit F = Vorfilter, w = Führungsgrößen). Das Vorfilter brauchst du aber nur, wenn du deine Ausgangsgrößen nicht in den Nullpunkt überführen willst. Da du keinen Durchgriff hast (d=0), gilt für F = inv( C * inv(B*K-A) * B ).

Wenn dein System nicht vollständig beobachtbar (Rang der Beobachtbarkeitsmatrix kleiner als die Systemordnung) ist, dann wirst du auch keinen Beobachter entwerfen können.

Buchtipp: http://www.amazon.de/Regelungstechn.....qid=1312107709&sr=1-1

Schau dir mal die entsprechenden Kapitel in dem Buch an, da ist alles wirklich sehr gut beschrieben.
Private Nachricht senden Benutzer-Profile anzeigen
 
Coja
Themenstarter

Forum-Century
Forum-Century

Beiträge: 141
Anmeldedatum: 20.06.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.08.2011, 23:32     Titel:
  Antworten mit Zitat      
Hey,
viele Dank. Das hat mir schon einmal sehr weitergeholfen.
Werde jetzt mal ein wenig probieren..und melde mich dann ggf. nochmal.
Viele Grüße
Coja
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2012 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.