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

Hilfe oder Tipps beim Erstellen eines Modells

 

linus87
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 30.09.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.09.2013, 06:19     Titel: Hilfe oder Tipps beim Erstellen eines Modells
  Antworten mit Zitat      
Hallo Leute,
ich bin neu hier im Forum und benoetige dringend eure Hilfe. Ich moechte ein kleines Modell simulieren und mir fehlt irgendwie die Fantasie oder das Verstaendnis.

Es geht um Folgendes

Das Modell welches im Anhang beigefuegt ist, soll sich mit einer konstanten Geschwindigkeit bewegen. Nach einer gewissen Zeit soll ein Bremsvorgang eingeleitet werden. Die Masse (starr, masselos ueber Feder und Daempfer am Schlitten drehbar gelagert) wird nach vorne gedrueckt. Im Konkreten moechte ich das Moment bestimmen, mit welchem die Masse beim Bremsen nach vorne gedrueckt wird.
c, d, m, l sind constant. Bremsmoment a, konstante Geschwindigkeit v0 und Zeit wann Bremsen gestartet wird moechte ich vorgeben.
Ausgeben soll das Modell das Moment M an der Masse m.

Ueber kleine Tipps, wie ich die Sache angehen kann waere ich euch unendlich dankbar Smile

aufgabe.jpg
 Beschreibung:

Download
 Dateiname:  aufgabe.jpg
 Dateigröße:  18.18 KB
 Heruntergeladen:  642 mal
Private Nachricht senden Benutzer-Profile anzeigen


Bibonaut
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 60
Anmeldedatum: 06.06.13
Wohnort: Berlin
Version: 2013a
     Beitrag Verfasst am: 30.09.2013, 13:09     Titel:
  Antworten mit Zitat      
Ein kleiner Tipp: Freischnitt :----------)

Ein zweiter Tipp: Da der Schlitten geführt wird, ist dein einziger Freiheitsgrad der Winkel zwischen Stab und Schlitten. Wenn du die DGL dafür aufgestellt hast, ist dein Moment unten am Stab einfach der Verdrehwinkel multipliziert mit der Federsteifigkeit plut Winkelgeschwindigkeit mal Dämpferkonstante.

Das Moment an der Masse ist immer Null, es sei denn, deine Masse hat eine Drehträgheit.

Viele Grüße
Alex
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 30.09.2013, 14:52     Titel:
  Antworten mit Zitat      
Zitat:
Das Moment an der Masse ist immer Null, es sei denn, deine Masse hat eine Drehträgheit.

ist die nicht m*a*cos(phi)?
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Bibonaut
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 60
Anmeldedatum: 06.06.13
Wohnort: Berlin
Version: 2013a
     Beitrag Verfasst am: 30.09.2013, 15:23     Titel:
  Antworten mit Zitat      
Mit Drehträgheit dachte ich an sowas hier:


<br />
J\ddot\varphi = \sum M
<br />

Vielleicht hab ich mich auch missverständlich ausgedrückt Smile

Bezüglich des Drehpunktes unten am Stab gibt es ein Moment verursacht durch die Masse, das aus der Gewichtskraft und dem Beschleunigen bzw. dem Verzögern resultiert

Ich kann nachher auch mal die Lösung der DGL hierhin schreiben. Hab nur gerade keine Zeit und will ja nicht alles vorwegnehmen Wink

Beste Grüße
Alex
Private Nachricht senden Benutzer-Profile anzeigen
 
Bibonaut
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 60
Anmeldedatum: 06.06.13
Wohnort: Berlin
Version: 2013a
     Beitrag Verfasst am: 30.09.2013, 19:47     Titel:
  Antworten mit Zitat      
Keine Garantie auf Richtigkeit, aber ich habs mal ausprobiert und war doch ein bisschen kniffliger als gedacht.

Ich versuch mich kurz zu halten. Benutzte Gleichungen:

<br />
ml^2 \ddot\varphi = -c_{\varphi}\varphi-d_{\varphi}\dot\varphi+sin\varphi m g\\
<br />
x = s(t)+sin\varphi l \rightarrow \varphi = arcsin (\frac{x-s}{l}) \\
<br />
\dot x = \dot s(t) +cos\varphi l \dot\varphi \rightarrow \dot\varphi = \frac{\dot x- \dot s}{cos\varphi l }\\
<br />
\ddot x = \ddot s(t) +cos\varphi l \ddot \varphi -sin\varphi l \dot\varphi^2
<br />
Mein Vorgehen im Skript:
Anfangsbedingungen vorgeben : phi0, dphi0
Aus Anfangsbedingungen x0 und dx0 ausrechnen
In der Funktion für den Solver:
Aus x und dx phi und dphi berechnen, ddphi berechnen und aus ddphi ddx berechnen.
dx und ddx als Funktionswerte zurückgeben.


Meine INIT Datei zum Starten der Simulation:
Code:

% Pendel mit Schlitten
global m l c d s_fcn ds_fcn dds_fcn
% Daten
m = 1; %kg
l = 1; %m
c = 100; %Nm/rad;
d = 0.5; % Nm/(rad/s);


% Aus Anfangsauslenung x berechnen:
phi0 = 0/180*pi;
x0 = sin(phi0)*l;
dphi0 = 0/180*pi;
% Aus Winkelgeschwindigkeit dx berechnen:
dx0 = cos(phi0)*l*dphi0;

% Schlittenbewegung
s_fcn = @(t) sin(3*t)*0.5;
ds_fcn = @(t) 3*cos(3*t)*0.5;
dds_fcn = @(t) -9*sin(3*t)*0.5;

% Zeitraum:
tspan = [0 3];

% Anfangsbedingungen:
x = [x0;dx0];

% Simulation:
[t,x] = ode45(@invPendel_fcn,tspan,x);

plot(t,x(:,1)/pi*180,t,x(:,2)/pi*180,t,s_fcn(t)*20)
 


Meine Funktion für den Solver:
Code:

function x = invPendel_fcn(t,x)
%INVPENDEL_FCN Summary of this function goes here
global s_fcn ds_fcn dds_fcn m l c d
% Berechnen von PHI und dPHI aus x und dx
phi = asin((x(1)-s_fcn(t))/l);
dphi = (x(2)-ds_fcn(t))/cos(phi)/l;

% DGL 2. Ordnung
ddphi = 1/m/l^2*(-c*phi-d*dphi+sin(phi)*m*9.81);

% Aus ddphi ddx berechnen:
ddx = dds_fcn(t)+cos(phi)*l*ddphi-sin(phi)*l*dphi^2;

% Integration von [dx;dx]
x = [x(2);ddx];

end
 


Viele Grüße! Wenn jemand Fehler findet, her damit! Smile

pendel.jpg
 Beschreibung:

Download
 Dateiname:  pendel.jpg
 Dateigröße:  11.71 KB
 Heruntergeladen:  587 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
linus87
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 30.09.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.10.2013, 04:23     Titel:
  Antworten mit Zitat      
Super! Ihr habt mir sehr geholfen.
Habe inzwischen ein Modell gebastelt, bei dem ich eine neg. Bremsbeschleunigung als Eingang habe und den Winkel phi als Ausgang geplottet habe.

Jetzt kommt noch eine kleine Aufgabe, an der ich gerade scheitere Very Happy

Ich moechte ein Fahrzeugmodell modellieren (ohne Fahrwiderstaende), das mit einer Eingangsgeschwindigkeit v0 faehrt und nach einer gewissen Zeit, die ich vorgebe, auf Null abbremst.
Ich moechte also fuer mein Subsystem nur so lange ein a als Eingang draufgeben solange das Fahrzeug auch bremst.

Versteht ihr was ich meine?
Kann mir jemand helfen? Ich denke, das muesste total einfach zu realisieren sein, da ich ja gar keine Fahrwiderstaende beruecksichtige, sondern eben nur eine Bremskraft fuer das Modell habe.
Oder liege ich da falsch?
Private Nachricht senden Benutzer-Profile anzeigen
 
Bibonaut
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 60
Anmeldedatum: 06.06.13
Wohnort: Berlin
Version: 2013a
     Beitrag Verfasst am: 03.10.2013, 10:11     Titel:
  Antworten mit Zitat      
Hi!

Willst du die Zeit messen, die das Fahrzeug benötigt?

Dann lass ihn einfach bremsen bis er unter Null ist und schneide den Rest ab. Oder du kannst es glaube ich auch so machen, dass du dir für den Solver ein event definierst. Musst du dich mal schlau lesen Smile Kenn ich mich nicht so gut mit aus.

Viele Grüße!
Alex
Private Nachricht senden Benutzer-Profile anzeigen
 
linus87
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 30.09.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.10.2013, 03:52     Titel:
  Antworten mit Zitat      
Nein, die Zeit ist zweitranging.

Ich moechte in erster Linie die Auslenkung des Pendels beim Bremsen ermitteln.

1) Anfangsgeschwindigkeit v0 und Pendel bei genau 0 Grad
2) Bremsung einleiten, Pendel wird aufgrunddessen ausgelenkt (wie weit?)
3) Bremsung fertig, v=0, Pendel sollte nach gewisser Schwingungsdauer wieder auf 0 Grad stehen

Ich habe soweit auch ein Modell gebastelt, was der ermittelten DGL entspricht, aber die Antwort, also die Auslenkung des Pendels, ist nicht wie erwartet.

Was mache ich denn nur falsch?
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



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.