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

Parameter aus Sprungantwort ermitteln

 

Calle
Forum-Century

Forum-Century


Beiträge: 145
Anmeldedatum: 08.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.01.2013, 10:04     Titel: Parameter aus Sprungantwort ermitteln
  Antworten mit Zitat      
Hallo,
ich habe eine Sprungantwort (siehe Anhang) aufgenommen und möchte jetzt gerne die Parameter ermitteln. vom aussehen her, würde ich sagen, dass es ein DT2 verhalten aufweist. Mein Problem ist jetzt aber, dass ich nicht weiss, wie ich an die Modellparameter rankomme. habe schon sehr viel gesucht, bin aber niergends für so ein system fündig geworden. einmal habe ich was gefunden, wo stand, dass für ein solches system die Parameter nicht bestimmt werden könne. ist das so? wenn ja, wie kann ihc es dann nachbauen?

wäre über jeden hinweis dankbar
gruss
Calle

sprungantwort.jpg
 Beschreibung:
Gemessene Sprungantwort

Download
 Dateiname:  sprungantwort.jpg
 Dateigröße:  130.46 KB
 Heruntergeladen:  1694 mal
Private Nachricht senden Benutzer-Profile anzeigen


controlnix
Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 10.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.01.2013, 20:16     Titel:
  Antworten mit Zitat      
1) Wenn man weiss, um welches reale System es sich handelt, kann man i.d.R. schon sagen, ob es sich um ein System handelt, das nach einer sprungförmigen Anregung auf 0 zurückgeht (D-T2 oder höhere Ordnungen in Zähler und Nenner der zugehörigen Übertragungsfunktion) oder nicht.
2) Die Parameterermittlung ist durchaus möglich. Wo steht denn das Gegenteil?

Vielleicht willst Du ja auch Deine aufgenommene Sprungantwort mal als Messdaten-Datei posten.
Private Nachricht senden Benutzer-Profile anzeigen
 
Calle
Themenstarter

Forum-Century

Forum-Century


Beiträge: 145
Anmeldedatum: 08.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.01.2013, 09:47     Titel:
  Antworten mit Zitat      
Also das System ist ein Tanksystem. Da die Pumpe von unten in den Tank pumpt und der Füllstand im Tank immer steigt, wird der gegendruck auf die Pumpe immer größer und der Durchfluss nimmt ab. Bis der Gegendruck so hoch wäre, dass die Pumpe nicht mehr dagegen ankommt und der Durchfluss zu null wird. Daher meine Vermutung auf D-Verhalten.
Bei konstanten gegendruck, besitzt die Pumpe ein P-Verhalten, da der gegendruck immer Konstant bleibt und somit der Durchfluss (bei gleichbleibendem Vordruck) konstant ist.

Die Messungen wurden mit WinFACT - Boris gemacht. Das ganze wurde bei einer Motorspannung von 5V und einer höhe(vor der Pumpe) bei ca. 25 cm gemacht. Im Tank2 (wohin reingepumpt wird) ist eine Anfangshöhe von 7cm eingefüllt (da der einfluss erst bei 5 cm ist). Desweiteren befindet sich der Tank 32.5 cm über der Pumpe, was eine gesamthöhe von 39,5 cm macht. Der Füllstand im Tank1 wurde während der Messung konstant gehalten.

Messung.zip
 Beschreibung:

Download
 Dateiname:  Messung.zip
 Dateigröße:  73.36 KB
 Heruntergeladen:  790 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
controlnix
Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 10.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.01.2013, 09:11     Titel:
  Antworten mit Zitat      
Mit Deinen Messungen ist es problemlos möglich, die Modellparameter zu bestimmen. Doch bevor ich das Ergebnis poste, noch 2 Fragen:
1) Du sprichst von einer Sprungantwort und dass Du bei einer Motorspannung von 5V arbeitest. Also gehe ich davon aus, dass die Motorspannung von einem Anfangswert auf einen Endwert sprungförmig erhöht wurde. Wie sind Anfangs- und Endwert?
2) Interessant wäre auch das zeitliche Zusammenspiel zwischen Eingangssignal (Motorspannung) und dem Durchflusssignal. Es könnte sein, dass hier eine Totzeit auftritt, die nicht zu vernachlässigen ist.
Private Nachricht senden Benutzer-Profile anzeigen
 
Calle
Themenstarter

Forum-Century

Forum-Century


Beiträge: 145
Anmeldedatum: 08.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.01.2013, 10:49     Titel:
  Antworten mit Zitat      
Hey, also erstmal zu deinen Fragen
Die Anfangsspannung war 0 Volt und ist nach 5 Sekunden Sprunghaft auf 5 Volt angestiegen. Über einer Totzeit habe ich noch nicht nachgedacht, aber ich denke die ist so gering, dass sie vernachlässigt werden kann.
Ich möchte nicht nur das Ergebnis haben (wenn ich es habe ist es aber auch nicht schlecht) sondern vielmehr wie man darauf kommt. Für ein DT1 System gibt es z.B. eine Graphik, wie man die Verstärkung und die Verzögerung aus einer Sprungantwort ablesen kann. (wie für viele andere Sprungantworten auch). Aber für ein DT2 System habe ich so etwas nicht gefunden.
Private Nachricht senden Benutzer-Profile anzeigen
 
controlnix
Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 10.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.01.2013, 12:33     Titel:
  Antworten mit Zitat      
Papier und Bleistift als Identifikationsverfahren (Tangentenkonstruktionen, u.ä.) birgt Risiken, dauert lange und ist i.d.R. nicht präzise (genug).

Da Du ja offenbar mit WinFACT arbeitest: Hat es mit dem IDA Modul von WinFACT nicht geklappt?

Ich habe hier aus den verschiedenen, mir zur Verfügung stehenden Tools ecICP zur Identifikation genutzt. ecICP deshalb, weil am effizientesten, auch bei schwierigeren Aufagaben anwendbar und die Ergebnisse sind schnell in MATLAB einlesbar.

Hier das Ergebnis: F(s) = 0.3506s / (s^2 + 1.0567s + 0.0013294), unter der Annahme, dass die 5V Motorspannung voll zur Entfaltung kommt und Hafteffekte (Ansprechschwelle) nicht auftreten.
Private Nachricht senden Benutzer-Profile anzeigen
 
Calle
Themenstarter

Forum-Century

Forum-Century


Beiträge: 145
Anmeldedatum: 08.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.01.2013, 14:36     Titel:
  Antworten mit Zitat      
Erst einmal danke für deine Antwort. Mit IDA habe ich es auch versucht und letztendlich auch so hinbekommen. Allerdings wäre auch schön, wenn es auch manuell möglich wär. Das ist aber egal.
Es ist ein ganz anderes Problem gekommen. Die simulation passt auch, allerdings ist diese nur von der Motorspannung abhängig. Wenn der Gegendruck steigt, sinkt auch die Förderleistung. Dies ist jetzt nicht berücksichtigt. Das habe ich aber auch nicht explizit gesagt. Also hängt der Eingang nicht nur von der Motorspannung, sondern auch von dem Höhenunterschied (höhe vor und hinter pumpe) ab. Da habe ich aber noch gar keine Ahnung davon, wie ich das aufschreiben soll.
trotzdem schon mal danke
Private Nachricht senden Benutzer-Profile anzeigen
 
controlnix
Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 10.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.01.2013, 15:55     Titel:
  Antworten mit Zitat      
In diesem Fall ist es kein SISO-System, sondern ein MISO-System (2 Eingänge / 1 Ausgang). Die beiden Eingänge sind: Motorspannung und Höhe, Ausgang ist der Durchfluss. Alle Messungen hast Du bereits geliefert. Daher war es auch hier möglich, ein Mehrgrößenmodell unmittelbar zu identifizieren. Wenn Du das Modell brauchst, ...
Private Nachricht senden Benutzer-Profile anzeigen
 
Calle
Themenstarter

Forum-Century

Forum-Century


Beiträge: 145
Anmeldedatum: 08.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.01.2013, 16:38     Titel:
  Antworten mit Zitat      
Ist das denn auch mit Winfact möglich? weil da habe bis jetzt nur einen Eingang bekommen. der zweite Eingang wäre nicht die höhe, sondern die höhendifferenz (vor und hinter der pumpe).
Ich habe mehrere Messungen gemacht, daher ist es überhaupt aufgefallen, dass die höhe ebenfalls einfluss auf die pumpe hat und da diese variieren kann, muss sie ebenfalls als eingang genommen werden.
Kannst du dazu eine gute lektüre empfehlen, die vielleicht so eine vorgehensweise beschreibt?
Oder habe ich dich falsch verstanden und es ist nicht möglich?

Habe es bis jetzt so gemacht, dass ich den Durchfluss in abhängigkeit der Motorspannung und der Druckdifferenz berechnet habe
q=\frac{dh-b*u^{2} }{a*u}
q=durchfluss
dh=höhendifferenz
u=motorspannung
a;b=konstante
und dahinter ein dt2 für die dynamik gesetzt habe. dies passt aber nicht so wirklich.
Private Nachricht senden Benutzer-Profile anzeigen
 
Melissa
Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 19.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.01.2013, 19:26     Titel:
  Antworten mit Zitat      
Hallo Calle,

es kam bereits der Hinweis, dass es sich um ein 2x1 Mehrgrößensystem handeln kann. Unter dieser Annahme ist es doch möglich ein physikalisches Modell zu entwickeln, oder?

Mit Winfact, speziell IDA hatte ich noch nie etwas zu tun, bin aber aktuell auch auf der Suche nach ID Verfahren und Tools. Hat es Dir das gleiche Ergebnis wie das von Controlnix generiert? Bei MISO keine Möglichkeit zur Anwendung?

Grüße, Melissa
Private Nachricht senden Benutzer-Profile anzeigen
 
controlnix
Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 10.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.01.2013, 12:19     Titel:
  Antworten mit Zitat      
Hier der Modellierungsansatz, den ich wählen würde (geht übrigens genau in die von Melissa angedeutete Richtung):

Auf der Basis der vorhandenen Messungen läßt sich ein 2x1 Mehrgrößensystem identifizieren, also
q = F1(s) * u + F2(s) * dh
Der Zusammenhang zwischen dh und q kann mit dh = Integral(a*q dt) angesetzt werden, wobei a entweder konstant oder gar von dh abhängig sein kann (Geometrie des Tanks).

@Melissa: Mit ecICP kann man die Koeffizienten von F1 und F2 berechnen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Calle
Themenstarter

Forum-Century

Forum-Century


Beiträge: 145
Anmeldedatum: 08.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.01.2013, 14:08     Titel:
  Antworten mit Zitat      
Da habe ich aber noch mal eine Frage,
an F1(s) kann ich rankommen. (kann ja ausrechnen, wie viel der Durchfluss bei dh=0 ist) das wäre ein PT1 verhalten (wenn dh=0=const.)
aber wie komme ich an F2(s) ran?
habe es erst versucht einzusetzen
q=F1(s)\cdot u+F2(s)\cdot dh
mit
dh=\int_0^t \! a\cdot q \, dt
wird zu
q=q=F1(s)\cdot u+F2(s)\cdot \int_0^t \! a\cdot q \, dt
ableiten
q^{punkt} =F1(s)\cdot u^{punkt} +F2(s)\cdot a\cdot q
q^{punkt}-F2(s)\cdot a\cdot q =F1(s)\cdot u^{punkt}
das macht für mich ehrlich keinen sinn (ich glaube auch, ich bin damit aufm holzweg).

Dann habe ich gedacht, ich könnte an F2(s) wie F1(s) rankommen, indem ich die Motorspannung auf null mache und die Höhenunterschied als Eingang und den Durchfluss als Ausgang nehme. aber ohne Motorspannung ist natürlich auch gar kein Durchfluss. Also ist das auch der falsche weg.
Bei IDA habe ich immer noch nicht gefunden, ob sowas möglich ist und bei MATLAB verstehe ich es gar nicht wie es funktionieren soll.
Private Nachricht senden Benutzer-Profile anzeigen
 
controlnix
Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 10.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.01.2013, 15:27     Titel:
  Antworten mit Zitat      
Der Schlüssel zur Lösung: Berechnungen im Bildbereich (Laplace) und Zeitbereich dürfen nicht vermischt werden!
Also:
1.) q(s) = F1(s)*u(s) + F2(s)*dh(s)
2.) a) dh(t) = Integral(a*q(t) dt) ergibt bei konstantem a im Bildbereich:
b) dh(s) = (a/s)*q(s)

2b) in 1) eingesetzt und umgeformt liefert:
q(s) = ( F1(s) * s / (s - a*F2(s)) ) * u(s)

Wird F1 und F2 jeweils als PT1 angesetzt (obwohl das nicht zwingend so sein muss) und richtig parametriert (identifiziert), ensteht ein DT2-Verhalten zwischen Eingang u und Ausgang q.
Private Nachricht senden Benutzer-Profile anzeigen
 
controlnix
Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 10.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.01.2013, 15:54     Titel:
  Antworten mit Zitat      
Hallo Calle,

Parameter und Struktur von F1 und F2 habe ich bewusst (noch) nicht angegeben, schließlich wollte ich Dir das Filetstück der Aufgabe überlassen.

Viel Spaß und Erfolg dabei.

Wenn es gar nicht mehr weitergeht, ...

Grüße,
Controlnix
Private Nachricht senden Benutzer-Profile anzeigen
 
Calle
Themenstarter

Forum-Century

Forum-Century


Beiträge: 145
Anmeldedatum: 08.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.01.2013, 18:23     Titel:
  Antworten mit Zitat      
Ja, das mit dem vermischen, da habe ich in diesem moment gar nicht drüber nachgedacht, ist mir aber ansonsten bewusst (trotzdem danke für den Hinweis) die Fläche a ist natürlihc nicht konstant und ändert sich mit der Höhe.
Wie gesagt, an F1(s) komme ich dran (müsste eigentlich) mein Problem wird eher an dem F2(s) sein, da muss ich noch mal ein wenig überlegen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

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.