|
|
Variable Dämpfung während der Simulation |
|
Silke_Mueller |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.07.2011, 20:05
Titel: Variable Dämpfung während der Simulation
|
|
Hallo,
ich habe ein mechanisches Drehgelenk, dessen Bewegung auf Hydraulikzylinder übertragen wird mit SimMechanics bzw. SimHydraulics programmiert.
Die Dämpfung soll während der Simulationszeit durch eine Regelung entsprechend der Position des Gelenkes verändert werden.
Dabei wäre sowohl eine variable Dämpfung der Hydraulik als auch eine mechanische Dämpfung vorstellbar. Wichtig ist nur, dass sie während der Simulationszeit anpassbar ist.
Kennt jemand dafür eine Lösung, bzw. weiß jemand wie ich das umsetzten kann? Ich wäre für jeden Hinweis dankbar!
|
|
|
|
|
liuz |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.07.2011, 22:03
Titel: Matlab Embedded
|
|
Servus Silke....mit der Embedded Matlab Fcn müsste sowas funktionieren. Du kannst da ein ganz normales m-file schreiben. Kommt drauf an, was genau die Anforderungen sind....
greez
|
|
|
Georg J |
Forum-Century
|
|
Beiträge: 113
|
|
|
|
Anmeldedatum: 22.06.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2008a
|
|
|
|
|
|
Verfasst am: 21.07.2011, 12:15
Titel:
|
|
Hi Silke,
Ich kenne mich mit SimMechanics und SimHydraulics nicht aus, aber ich vermute mal, dass die Dämpfung in dem Simulink Block für das Drehgelenk sowie in dem Block für den Zylinder als Parameter vor der Simulation eingegeben werden.
Ich gehe mal davon aus, dass es keinen Blockeingang gibt, an dem du den Dämpfungsparameter setzen kannst.
In dem Fall musst du den Block während der Simulation updaten.
Dies geht mit der Funktion "set_param". Allerdings wird die Simulation dadurch ziemlich langsam, da du wahrscheinlich erst die Simulation anhalten, den neuen Werte eintragen, ein update machen und dann wieder weiterlaufen lassen musst.
Du könntest eine Matlab Funktion schreiben mit der Gelenkposition als Eingang. Diese Funktion hält die Simulation an, ruft set_param auf und setzt den Dämpfungswert des entsprechenden Simulink Blocks, updated das Modell und setzt die Simulation wieder fort.
Gruss, Georg
|
|
|
Silke_Müller |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.07.2011, 14:16
Titel:
|
|
Hallo,
ich habe mit set_param inzwischen viel rumprobiert. Leider kann die Funktion die Parameter weder bei laufender Simulation, noch wenn diese nur unterbrochen wurde aktualisieren. Lediglich wenn die Simulation komplett angehalten wurde, klappt die Parameteränderung. Dann fängt die Simulation aber anschließend wieder bei t=0, also von vorne an.
Hat jemand einen Tipp, wie es sonst gehen könnte oder wie ich die Parameteraktualisierung während der Simulation erzwingen kann?
Danke! Silke
|
|
|
Georg J |
Forum-Century
|
|
Beiträge: 113
|
|
|
|
Anmeldedatum: 22.06.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2008a
|
|
|
|
|
|
Verfasst am: 26.07.2011, 14:40
Titel:
|
|
|
|
Phate |
Forum-Guru
|
|
Beiträge: 283
|
|
|
|
Anmeldedatum: 09.11.09
|
|
|
|
Wohnort: Stuttgart
|
|
|
|
Version: R2008b
|
|
|
|
|
|
Verfasst am: 27.07.2011, 07:45
Titel:
|
|
Hi Silke,
Du kannst ja den letzten Zeitschritt und die zu diesem passenden Werte mit ausgeben lassen und diese anschließen als Anfangsbedingung wieder an das Modell zurückgeben.
In welcher Abhängigkeit steht denn deine Dämpfung? Ist das vl. ein ventil mit variablem Querschnitt oder etwas in der Art? Kannst du dir dafür keinen Berechnungsblock bauen so dass du um diese Lösung herumkommst? Hab das selbst ab und an benutzt ist aber alles andere als komfortabel mMn.
Grüße
|
|
|
Silke_Müller |
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 26.07.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.07.2011, 09:08
Titel:
|
|
Die Dämpfung soll später mit einer Fuzzy-Regelung geregelt werden.
Georg, wenn ich das unter deinem Link richtig verstanden habe müsste ich dann auch eine S-Function nutzen, oder?
Eigentlich soll die Dämpfung tatsächlich durch regelbare Ventile umgesetzt werden. Da aber momentan die Hydraulik noch macht was sie will, versuche ich es gerade erstmal mit einer mechanischen Dämpfung. Da ist die gewünschte Reaktion zumindest zu sehen, ich kann eben nur die Dämpfungswerte noch nicht regeln.
Phate, wie mache ich das mit einem eigenen Berechnungsblock?
Danke,
viele Grüße, Silke
|
|
|
Phate |
Forum-Guru
|
|
Beiträge: 283
|
|
|
|
Anmeldedatum: 09.11.09
|
|
|
|
Wohnort: Stuttgart
|
|
|
|
Version: R2008b
|
|
|
|
|
|
Verfasst am: 27.07.2011, 10:18
Titel:
|
|
Hi,
Der eigene Berechnungsblock würde genau auf eine S-Funktion hinauslaufen. Wenn du diese allerdings regeln möchtest denke ich machst du dir da zu viel Arbeit die dich nicht weiter bringt.
Hilft dir nicht im ersten Schuss eine sinnvolle Kennlinie für eine variable Dämpfung die du in einem Loouptable hinterlegst.
Woran hängt denn dein Hydraulikmodell noch immer noch an der Tatsache dass der linke und rechte Zylinder nicht den halben weg des hinteren Zylinders machen oder bist dem auf die Spur ekommen?
Mich würden mal die Drücke und Volumenströme interessieren die an den drei Zylindern auftreten während deiner Simulation wenn du die zur verfügung stellen willst/darfst.
Grüße
|
|
|
Georg J |
Forum-Century
|
|
Beiträge: 113
|
|
|
|
Anmeldedatum: 22.06.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2008a
|
|
|
|
|
|
Verfasst am: 27.07.2011, 10:37
Titel:
|
|
Hi Silke,
Wenn du eine S-Funktion verwenden willst, um die Dämpfung zu ändern, musst du den gesamten Zylinder mit einer S-Funktion modellieren. Damit wärst du dann weit enfernt von SimMechanics und könntest du dein Hydraulik-System gleich sofort komplett selbst modellieren.
In meinem Beispiel war die Übertragungsfunktion schon bekannt, und es musste nur ein Parameter geändert werden. In deinem Fall müsstest du die Übertragungsfunktion erst noch herleiten. Deshalb würde ich es mit set_param versuchen. Das sollte auch gehen.
Wenn es aber möglich ist, wie Phate meint den Dämpfungswert herauszugeben, dann würde ich das machen. Das ist die sauberste und einfachste Lösung.
Mich würden die Volumenströme und die Drücke auch interessieren, wenn dein Problem mit dem unterschiedlichen Hub noch nicht gelöst sein sollte. Sind die Massen auf dem linken und dem rechten Zylinder identisch?
Gruss, Georg
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|