|
|
Simulation Inverses Pendel |
|
Calle |
Forum-Century
|
|
Beiträge: 145
|
|
|
|
Anmeldedatum: 08.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.06.2013, 09:45
Titel: Simulation Inverses Pendel
|
|
|
|
|
Hallo,
ich habe ein Problem bei der Simulation eines Inversen Pendels. Leider benutze ich dazu nicht Simulink, sondern BORIS von WinFACT.
Ich habe die gleichungen
Wagen:
und
Pendel:
wobei:
M=Masse vom Wagen plus Masse vom Pendel =5,936kg
=Reibung vom Wagen =14N/m/s
= Haftreibung vom Wagen =14,5N
=Masse vom Pendel =0,336kg
d=Länge vom Drehpunkt bis zum Schwerepunkt des Pendels =0,47m
g=Erdbeschleunigung =9,81 m/s^2
J=Massenträgheitsmoment (inklusive Steiner Anteil) Pendel = 0,0075kgm^2
=Reibung vom Pendel =0.0022689Nm/grad/s
=Haftreibung vom Pendel =0,0044Nm
Dies habe ich als Blockschaltbild aufgebaut. Da es dabei zu einer algebraischen schleife kam, habe ich nach der Kraft, welche vom Pendel auf den Wagen geht, ein Einheitsverzögerungsblock/Unitdelay gemacht.
Nun lasse ich das ganze simulieren
Startbedingungen
phi=180° (Pendel hängt nach unten durch)
Als Kraftanregung gebe ich für 0,5 Sekunden eine Kraft von 46,4 N (Siehe Bild 2)
Gebe ich nun als Anfangsbedungung noch für phi den Winkel 0° ein, steht das Pendel senkrecht auf den Wagen. Wenn nun eine Kraftanregung kommt, beginnt der Wagen loszufahren und das Pedel fällt herunter und schwingt sich auf 180° wieder ein.
Wieso macht die Simulation so etwas komisches (Siehe Bild 1)
Eine andere Frage wäre noch über die Differentialgleichungen.
Meiner meinung nach sind diese richtig, da diese auch mit mehreren Internetquellen übereinstimmen.
Wenn ich jetzt aber auf den Wagen keinen Impuls, sondern einen Sprung geben würde (von 0N auf 4N) und das dann für unendlich lange zeit laufen lasse, wird der Weg vom Wagen ja unendlich. Allerdings (das was ich nciht verstehe) Pendelt sich das Pendel auf 180° ein, da die Auslenkung nur von der Beschleunigung des Wagens abhängig ist. Dies macht aber nicht so richtig sinn oder? Also meiner Meinung nach, sollte es schwingen, aber dann auf einen Winkel, welcher abhängig von der Geschwindikeit des Wagens ist, stehen bleiben.
Hoffe, dass mir einer Hinweise dazu geben kann.
Gruß
Calle
Im Anhang habe ich die Bilder der Simulation, sowie die Simulationsdatein für BORIS von WinFACT
Beschreibung: |
WinFACT - BORIS Simulationsdatei |
|
Download |
Dateiname: |
regelstrecke.rar |
Dateigröße: |
1.45 KB |
Heruntergeladen: |
566 mal |
Beschreibung: |
Weg des Wagens und Pendelschwingung für phi(t=0)=0grad (obere lage) |
|
Download |
Dateiname: |
phi(t=0)=0grad.jpg |
Dateigröße: |
262.89 KB |
Heruntergeladen: |
1409 mal |
Beschreibung: |
Weg des Wagens und Pendelschwingung für phi(t=0)=180grad (untere lage) |
|
Download |
Dateiname: |
phi(t=0)=180grad.jpg |
Dateigröße: |
160.15 KB |
Heruntergeladen: |
1297 mal |
|
|
|
|
|
RiFLoK |
Forum-Anfänger
|
|
Beiträge: 36
|
|
|
|
Anmeldedatum: 26.06.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.06.2013, 00:04
Titel:
|
|
Hi
Zu deiner 2. Frage, ob es sinn macht, dass sich das Pendel auf 180 grad einpendelt, wenn sich der wagen bewegt:
Das macht Sinn. Der Winkel hängt nur von der Beschleunigung ab. Da du eine konstante Kraft aufbringst wird der wagen beschleunigt solange, bis die Reibung gleich der Antriebskraft ist. Ab diesem Zeitpunkt ist die Beschleunigung 0. D.h. das Pendel pendelt sich auf 180 grad ein.
Lg, Rif
|
|
|
Calle |
Themenstarter
Forum-Century
|
|
Beiträge: 145
|
|
|
|
Anmeldedatum: 08.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.06.2013, 08:50
Titel:
|
|
erst einmal danke für deine Antwort.
Es ist zwar meiner meinung nach komisch, aber ich werde es mal wohl so hinnehmen müssen. (Laut der DGL kommt ja auch so etwas heraus, aber meines erachtens müsste die Auslenkung auch von der Geschwindigkeit abhängig sein (Es ist für mich schwer vorstellbar, dass das Pendel bei langer Fahrt des Wagens nach unten durchhängt))
Mein größeres Problem ist aber, ob die DGL so richtig sind? Trenne ich den Term (mit der Beschleunigung des Wagens) von der Antreibenden Kraft des Pendels und gebe den Pendel einen Anfangswinkel von 20grad (0grad ist obere lage), dann fällt es herunter und schwingt sich auf 180 grad ein. Der weg des Wagens macht auch eine Bewegung (allerdings sehr große), sodass ich vermute, dass dort etwas nciht stimmt oder mit dem Time-Delay-Block.
wäre weiterhin über jeden hinweis dankbar.
Gruß
|
|
|
RiFLoK |
Forum-Anfänger
|
|
Beiträge: 36
|
|
|
|
Anmeldedatum: 26.06.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.06.2013, 13:14
Titel:
|
|
Das Pendel würde nur eine Geschwindigkeitsabhängigkeit haben bei konstanter Geschwindigkeit, wenn du einen luftwiderstand berücksichtigen würdest.
Dass der Wagen eine Bewegung beim Einpendeln macht, ist auch klar.
Was meinst du mit sehr großer Bewegung??
Lg, Rif
|
|
|
Calle |
Themenstarter
Forum-Century
|
|
Beiträge: 145
|
|
|
|
Anmeldedatum: 08.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.06.2013, 16:05
Titel:
|
|
|
|
|
Ja, den Luftwiderstand habe ich völlig vernachlässigt. Das wäre dann auch der Term mit der Wagengeschwindigkeit. Diese lasse ich jetzt aber zunächst erstmal weg.
Den Fehler aus meinem ersten Beitrag habe ich behoben. Es war einfach nur verwechslung von den Winkel in rad und in grad.
Habe das Modell auch einmal in Simulink aufgebatu (eigentlich genau so wie in BORIS), allerdings kann ich es in Simulink nur fehlerhaft simulieren.
Wenn ihc es für 25s simuliere, kommt beim wagen ein signal, jedoch erst ab 17sekunden (davor gar ncihts). Beim Pendel ebenfalls erst ab 17 Sekunden und geht einfach hoch ins unendliche.
Hier denke ich, dass es an der Signumfunktion liegt. Da gab es zunächst Fehler und daraufhin habe ich in den Signumfunktionen 'Enable zero-crossing detection' deaktiviert.
vielleicht weiss da ja jemand woran es liegt?
Beschreibung: |
Parameter für das Simulink Modell |
|
Download |
Dateiname: |
Parameter.m |
Dateigröße: |
499 Bytes |
Heruntergeladen: |
662 mal |
Beschreibung: |
Simulink Modell - Inverses Pendel |
|
Download |
Dateiname: |
Regelstrecke.mdl |
Dateigröße: |
42.37 KB |
Heruntergeladen: |
739 mal |
|
|
|
RiFLoK |
Forum-Anfänger
|
|
Beiträge: 36
|
|
|
|
Anmeldedatum: 26.06.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.06.2013, 20:22
Titel:
|
|
Um nicht nur die letzten 5000 berechneten Werte zu sehen musst du im Scope fenster -> Parameters -> History -> dann das häkchen bei limit data points weg machen.
Lg, Tobi
|
|
|
Calle |
Themenstarter
Forum-Century
|
|
Beiträge: 145
|
|
|
|
Anmeldedatum: 08.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.06.2013, 08:35
Titel:
|
|
|
|
|
ah ja, jetzt zeigt er alles an. Warum hat der das denn so eingestellt? Ich habe eigentlich nichts geändert.
Wenn ich es jetzt simuliere, bleibt er hängen und gibt die ganze zeit folgende meldung heraus:
Warning: Unable to reduce the step size without violating minimum step size of 6.2839540424718341E-15 for 1 consecutive times at time 1.7687758177556365. Continuing simulation with the step size restricted to 6.2839540424718341E-15 and using an effective relative error tolerance of 0.0024134524220747, which is greater than the specified relative error tolerance of 0.001. This usually may be caused by the high stiffness of the system. Please check the model 'modular_sim_tester' or increase the Max consecutive min step size violation parameter in the solver configuration panel.
Lasse ich das ganze allerdings mit ode15s solver simulieren, benötigt er zwar ein bisschen zeit, bekommt es aber ohne fehlermeldung hin.
Darf ich das machen? Da ich nciht genau weiss, was die verschiedenen solvers machen (ich denke mal einfach nur andrer rechenweg). oder mache ich dabei etwas, was ich nicht machen dürfte?
Wenn ich allerdings einen startwinkel von 0.35 rad vorgebe, benötigt er Jahre. Wenn ich einen Startwinkel von 3.1415 vorgebe (was bedeutet, dass sich das Pendel in der unteren lage befindet) bekomme ich die Fehlermeldung
Nonlinear iteration is not converging with step size reduce to hmin at time ..... Try reducing the minimum step size and/or relax the relative error torelance
Jetzt habe ich die schrittweite auf Fixed-step (auf 0,001) gestellt und den solver auf ode3.
ist das auch noch richtig?
Gruß
Ps.: Also da muss ich sagen, ist winfact wesentlich freundlicher, da hatte ich noch nie solche Probleme
|
|
|
Calle |
Themenstarter
Forum-Century
|
|
Beiträge: 145
|
|
|
|
Anmeldedatum: 08.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.06.2013, 10:56
Titel:
|
|
|
|
|
Ich habe da doch noch einmal eine Frage.
Die Simulation habe ich fertig gestellt. Die Regelung möchte ich mit FUZZY machen. Mein Problem ist nun eine Störgröße einzubringen.
Die Störgröße kommt natürlich erst, wenn das Pendel senkrecht steht. Die STörgröße soll eine kleine (manuelle) Auslenkung des Pendels sein, indem ich am obersten punkt einmal dran titsche.
Nun ist meine überlegung, wie ich das einbringe.
Ich habe eine Auslenkung und dividiere diese durch die länge des Stabes, so dass ich den Winkel in rad bekomme. diesen Addiere ich den momentanen Winkel hinzu und das Pendel fällt herunter und schingt sich aus. Wo ich mir nun unsicher bin, ist bei der länge der störung. Muss ich da einen Sprung nehmen (also die ganze zeit die Auslenkung?) Oder nur einen Impuls (Wenn impuls, wie lange?)
Eigentlich drücke ich ja nur ganz kurz und lasse dann wieder los (also impuls) aber bei der simulation geht der impuls ja wieder auf null, als ob ich das pendel wieder auf null zurück ziehen würde (was aber in der simulation nicht passiert)
Ich kann mir das auch bildlich nicht wirklcih vorstellen, was ich da nehmen müsste, da sowohl beim sprung, als auch beim impuls das pendel herunterfällt.
Wie sollte man also am besten die Störung einbringen?
|
|
|
Calle |
Themenstarter
Forum-Century
|
|
Beiträge: 145
|
|
|
|
Anmeldedatum: 08.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.06.2013, 13:30
Titel:
|
|
Hat sich erledigt, habe es anders gelöst.
Habe als störgröße keinen weg angenommen, sondern eine Kraft, mit der ich das Pendel anstosse. Ist zwar schwieriger für mich vorzustellen, wie feste jetzt z.B. 1 N sind, aber es ist sinnvoller. Das andere wäre auch fehlerhaft, da scih der weg ja sowieso nicht sprunghaft ändern kann.
|
|
|
|
|
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.
|
|