|
|
Modellierung Kreiselgleichungen |
|
2fast4u |
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 23.08.13
|
|
|
|
Wohnort: Darmstadt
|
|
|
|
Version: 2009b
|
|
|
|
|
|
Verfasst am: 30.09.2013, 10:54
Titel: Modellierung Kreiselgleichungen
|
|
|
|
|
Hallo,
ich soll eine Art Kreisel modellieren, der im Bild gezeigt ist. Die linke Scheibe soll mit einer Winkelgeschwindigkeit von omega3 rotieren und der Rote Pfeil soll ein Moment darstellen, der diesen Kreisel stört. Am Ende will die ich die Winkelgeschwindigkeiten und -beschleunigungen aller 3 Koordinaten haben.
Wenn ich die Eulerschen Kreiselgleichungen aufstelle, sind alle erst mal 0=0, da omega1 und omega2 null sind. Wie kann ich aber angeben, dass omega3 von anfang an konstant ist? Mit der Störung müssten dann auch omega1 und omega2 ungleich 0 sein.
Die 3-Achse geht übrigens aus der Ebene heraus.
Ich hoffe, ihr versteht was ich meine und könnt mir ein paar Tipps geben
Oder wäre das einfacher in Matlab zu modellieren und dann über ode45 lösen zu lassen?
Gruß
Beschreibung: |
|
Download |
Dateiname: |
Modell1.jpg |
Dateigröße: |
24.68 KB |
Heruntergeladen: |
848 mal |
Beschreibung: |
|
Download |
Dateiname: |
Modell1simulink.jpg |
Dateigröße: |
40 KB |
Heruntergeladen: |
834 mal |
|
|
|
|
|
Bibonaut |
Forum-Fortgeschrittener
|
|
Beiträge: 60
|
|
|
|
Anmeldedatum: 06.06.13
|
|
|
|
Wohnort: Berlin
|
|
|
|
Version: 2013a
|
|
|
|
|
|
Verfasst am: 30.09.2013, 22:12
Titel:
|
|
|
|
|
Hi 2fast4u
ich würde es an deiner Stelle lieber in Matlab machen. Du siehst ja, wie groß dein System in Simulink schon für diese eine Gleichung ist. Da geht dann auch schnell der Überblick verloren, wann du was berechnest etc.
Ich glaube, dein Problem ist das Einbringen der Störkraft und die Vorstellung von den Winkelgeschwindigkeiten. Denn die Winkelgeschwindigkeiten in deinem Modell sind nicht die Winkelgeschwindigkeiten um die drei Achsen, wie sie gezeigt werden, sondern die im körperfesten Koordinatensystem und das rotiert...
Ich würde es so machen:
Ich drehe vom Inertialsystem in der Reihenfolge
1. Drehung um die x-Achse,
2. Drehung um die y-Achse,
3. Drehung um die z-Achse
x zeigt bei mir nach rechts, y nach oben und z aus der Ebene heraus.
Die Drehmatrizen um die x=x',y=y',z=z' Achsen sind A_01 A_12 A_23 = A_2K
Ich will den Drallsatz (Eulersche Gleichungen) im körperfesten Koordinatensystem auswerten. Der ist:
(Eine Auswertung im KS mit Index 2 wäre auch möglich, da es eine Scheibe ist und sich das Massenträgheitsmoment sich bei der Drehung um die z-Achse nicht ändert)
Das Drehmoment gebe ich aber auf die y=y' Achse, die aber nicht die y-Achse des körperfesten Koordinatensystems ist, deswegen muss ich das Moment auf das Körperfeste KS umrechnen:
Wenn ich den Drallsatz mit dem Solver berechne, berechnet mit die Funktion nur die Winkelbeschleunigung, die zur Winkegeschwindigkeit integriert wird. Ich erhalte dann die Winkelgeschwindigkeit im körperfesten Koordinatensystem. Um aber meine Winkel an den drei Achsen zu erhalten, muss ich die Winkelgeschwindigkeit auch noch integrieren bzw. vor dem Integrieren mir meine Winkelgeschwindigkeiten an meinen Drehachsen berechnen:
Das ist die kinematische Differentialgleichung.
Du integrierst jetzt die Winkelbeschleunigung im körperfesten KS und die drei berechneten Winkelgeschwindigkeiten. Dann erhälst du deine Winkel für die Koordinatentransformation des Moments und die Winkelgeschwindigkeit, die du wieder für den Drallsatz brauchst.
Ich hoffe ich konnte dir helfen. Könnten sich Fehler eingeschlichen haben.
Das hier ist ein schönes Buch mit vielen Matlab Beispielen:
"Grundlagen und Methodik der Mehrkörpersimulation: mit Anwendungsbeispielen, von Georg Rill (Autor), Thomas Schaeffer (Mitarbeiter)"
Beste Grüße
Alex
|
|
|
2fast4u |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 23.08.13
|
|
|
|
Wohnort: Darmstadt
|
|
|
|
Version: 2009b
|
|
|
|
|
|
Verfasst am: 11.10.2013, 09:16
Titel:
|
|
|
|
|
Ok, dass das die Kreiselgleichungen nur für das körperfeste System gelten, hatte ich nicht bedacht.
So wie das aber verstehe will ich zum Teil die Winkelgeschwindigkeiten um die körperfesten Achsen. Und zwar um die Hochachse, an die das Moment konstant angreift (sich also mit bewegt) und um die Achse, die anfangs aus der Ebene heraus zeigt (bei dir z-Achse). Wobei sich omega3 ja nicht ändert.
Wenn ich in Simulink die Kreiselgleichungen, wie oben zu sehen, simuliere, bekomme Schwingungen von omega um die um 1 und 2 Achse und ein konstantes omega3. Was ja alles Sinn macht. Wenn ich das aber über Matlab versuche bekomme ich sinnlose Ergebnisse. Das steigt omega3 nur exponentiell an und omega1 und omega2 bleiben null.
Ich mache das in Matlab wie folgt:
Und dann lass ich es lösen über:
[t,w] = ode45(@Modell3,[0,5],[0;0;10]);
Mir gehts jetzt erst mal darum, warum ich bei Matlab ein komplett anderes Ergebnis erhalte als mit Simulink. Was mache ich falsch?
Ich hoffe, dass ist alles verständlich, was ich meine.
|
|
|
Bibonaut |
Forum-Fortgeschrittener
|
|
Beiträge: 60
|
|
|
|
Anmeldedatum: 06.06.13
|
|
|
|
Wohnort: Berlin
|
|
|
|
Version: 2013a
|
|
|
|
|
|
Verfasst am: 11.10.2013, 13:29
Titel:
|
|
Hi,
ich glaube deine Function gibt die falschen Werte zurück.
Du musst alle Variablen in einen Vektor x schreiben.
D.h. willst du ddw und dw zu dw und w integrieren, musst du zum Beispiel dx = [dw;ddw] schreiben, x0 ist dann x0 = [w;dw]
Deine Funktion deklarierst du dann so:
function dx = odefun(t,x)
Viele Grüße!
|
|
|
|
|
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.
|
|