Verfasst am: 30.09.2013, 06:19
Titel: Hilfe oder Tipps beim Erstellen eines Modells
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
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.
Vielleicht hab ich mich auch missverständlich ausgedrückt
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
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:
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;
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;
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
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?
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 Kenn ich mich nicht so gut mit aus.
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?
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
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.