This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
-\-(I>^
cos (j)).
(8.50)
Statt der auf Lageebene basierenden Bindungen in (8.49)4,5 sind die auf Beschleunigungsebene basierenden (8.50) zu verwenden. Eine semi-explizite Form erhalt man, wenn auf der linken Seite der obigen drei Differenzialgleichungen nur die zweiten zeitlichen Ableitungen stehen, d. h.
8.4 Axialkolbenverdichter einer Pkw-Klimaanlage
347
wir miissen durch TUH bzw. lyy dividieren. 8.4.4
Das M-File, erste Ergebnisse
Zu 2): Da wir die Parameter aus Tabelle 8.2 einerseits im M-File fiir die Simulation unter MATLAB und andererseits fiir die unter Simulink benotigen, ist es zweckmaBig, das separate M-File H e b e l _ D a t e n . m in [59], das alle gemeinsamen Parameter enthalt, anzulegen. Auf der Basis des unten abgedruckten Programmausschnittes aus R e b e l .m folgen einige Bemerkungen: Mit dem Aufruf von H e b e l _ D a t e n werden die Parameter in den Workspace geschrieben und sind somit in R e b e l . m verfiigbar. Zum Transfer in die Function der Differenzialgleichung (8.49) aus [59] sind sie teilweise als globale Variable zu vereinbaren. Die konsistenten Anfangswerte p(0), p(0) konnen wir ausgehend von <^o. <^o berechnen. Da wir eine DAE mit singularer aber konstanter Massenmatrix M bearbeiten, muss diese Option aufgenommen werden und M gleichzeitig im Hauptprogramm formuliert werden. Als Integrator bieten sich ode23t und odelSs an. Die restlichen Programmzeilen - vgl. auch R e b e l .m - sind selbsterklarend. Dies gilt auch fiir die Function f h e b e l . m, in der (8.49) mit den Bindungsgleichungen (8.50) zu programmieren sind. Ausschnitt aus R e b e l . m, [59]: global m_H Ixx lyy Izz ell_H b_H Om g k_H s_H d_H IF % Parameter: Hebel_Daten % Parameter einlesen % Massenmatrix M = diag([l 1 1 1 1 1 00]); % Massenmatrix % Anfangszustande phi=phi_0; % Hebelwinkel, phi_0 oben gegeben phi_p=0; % Hebelwinkelgeschw. xs=b_H+s_H*sin(phi); % Schwerpunktskoordinaten zs=a_H+s_H*cos(phi) ; xsp=s_H*phi_p*cos(phi); % Translat.-Geschwindigkeiten zsp=-s_H*phi_p*sin(phi) ; % Anfangswerte yO=[xs; zs; phi ; xsp; zsp; phi_p; 0; 0]; % Anfangswerte o, o
tspan=[0 1]; % Integrationsintervall options = odeset('Mass',M,'MassSingular','yes','RelTol',1.Oe-5); [t,y] = ode23t(Qfhebel,tspan,yO,options); % Int.-Aufruf
In Bild 8.26 ist ein Einschwingvorgang aufgezeichnet. Danach schwingt der Hebel infolge der Dampfung in seine stationare Lage zuQ. = 250 rad/s. Weil der Gewichtseinfluss des Hebels sehr gering ist, unterscheidet sich die stationare Lage nur unwesentlich von der Gleichgewichtslage im schwerelosen Zustand (g = 0). Die GroBen Ai, A2 sind nach (8.48) bzw. (8.49) Bindungskrafte, die hier in SH angreifen und in die positiven Koordinaten-Richtungen von z^s^ zZs des mitdrehenden Z-Systems weisen, die dritte Komponente (8.48)3 entspricht einem Moment um die zy^-Achse, so dass die Bindung im Gelenk 0// eingehalten wird. Eine Reduktion der Krafte von SH in das Gelenk 0// zeigt, dass Ai, A2 gleichzeitig die Gelenkkrafte sind. Wir vergleichen die Krafte spater mit einem Ergebnis aus dem modellbasierten Entwurf.
348
8 Projekte
^ 23 E ^ 26 to
X 24 E
l/W\/\/V\AAAAAA/vN^^v
16
• 0.5 "0.4
0.4
0.6 Zeit t [ s ]
Bild 8.26: Simulationsergebnis zum Hebelmechanismus
8.4.5
Modellbasierter Entwurf
Zu 3): Erganzend zum Hebelmechanismus von Bild 8.25 sei jetzt die Gleithulse massebehaftet und bewegt sich, wie in Bild 8.24, gegen ein Feder-Dampfer-Element (k, d). Die zugehorigen Parameter sind direkt im Block-Modell Hebe I s m . mdl aus [59] eingetragen. Wir machen einige Erklarungen zum Block-Modell Hebe I s m . mdl nach Bild 8.27: Der Koordinatenursprung 0 des Inertialsystems (/, World) fallt mit dem des drehenden Z-Systems in Bild 8.25 zusammen. Die Ursprlinge der korperfesten Koordinatensysteme u. a. in 0//, am Hebelende und auf der Gleithulse lassen sich unmittelbar mit Hilfe der Abmessungen im drehenden System fiir ^ = 0 angeben, vgl. Bild 8.28. Bei der Modellierung gehen wir von einem Dreikorpersystem aus Rotor, Hebel, Gleithulse aus, jedem Korper ist ein Body Block zuzuordnen. Die Zwangsdrehung des Rotors - Winkel, Winkelgeschwindigkeit, -beschleunigung - erzeugen wir mit dem Embedded MATLAB Function Block^ Die Anbindung zur SimMechanics-Umgebung erfolgt mit dem Joint Actuator Block. Die Rotorlagerung ist das Drehgelenk (Revolute) mit einer Verbindung zur Umgebung (Ground Block) und einer zum Body Block des rotierenden Rotors. Die Ports CSS, CS4 entsprechen den Ursprlingen der Koordinatensysteme von Gelenkpunkt 0// und Gleithulse. Demzufolge schlieBen sich hieran die Basen (B) des Drehgelenks (Revolutel) und des Schubgelenks (Prismatic) an. An (F) folgen dann der Hebel (Bodyl) und die Gleithulse (Body2). SchlieBlich sind noch die Feder-Dampfer-Elemente einerseits zwischen zwei Body Blocken, andererseits zwischen Gleithulse und Ground - Dreh- und Inertial-Achse fallen zusammen - einzubringen. Die restlichen Komponenten konnen als bekannt vorausgesetzt werden. Das Datenfile H e b e l _ D a t e n . m muss vor dem Start ausgefiihrt werden, hierzu tragen wir den Filenamen 1 Simulink 6; bei Vorgangerversionen ist eine andere Modellierung zu wahlen
8.4 Axialkolbenverdichter einer Pkw-Klimaanlage
349
unterModel Properties/Callbacks ein. Rotor, drehende Basis vergleiche auch Analysis mode: Trimming
Environment
r
Rotorlager
Ground
Clockl
b
V
—•
Joint Actuator I r EEmbedded Constant2 MATLAB Function
CS3H—I
Dreligelenk 0_H
- H | C S ^
tt
Body
icH
—• Scope
•a CS1^CS2[B-
Joint Initial Condition
Zwangs-Drehung der Basis Scope2 MATLAB in der Ingenieurpraxis Simulation mit SimMechanics RIe: Hebelsm.mdl Parameter-File: HebeLDaten.m Letzte Anderung 09-Sep-2006 13:42:37
I
k_H, d_H
rOi
T:
I Body Spring & Damper GleithiJIse Bocly2
CS2^CS1
I L Reaktionskraftri ^^
^ Joint Spring & Damper Daten zum Kraftevergleich siehe Hebel.m
Fur Trimming-Mode !<>= 10 N/m!
Bild 8.27: SimMechanics-Modell zum Hebelmechanismus
Fe
0
Gleithiilse
Bild 8.28: Automatische Modellgeneriemng im Visualisiemngsfenster
8.4.6
Vergleich der Ergebnisse bezuglich der Gelenkkrafte
Zu 4): Die Ergebnisdiskussion fiihren wir anhand der Gelenkkrafte in 0//. Sie werden in der Dialogbox zum Joint Sensor 1 durch Auswahl von R e a c t i o n f o r c e an den Port gelegt und mit dem Scope2 zur Anzeige gebracht sowie zusatzlich in den Workspace geschrieben. Die Kraftkomponenten einschlieBlich deren Vorzeichen beziehen sich auf das World-System, welches die Drehung Q nicht mitmacht. Demgegeniiber beziehen sich die Krdfte X\, A2 aus der vorangegangenen Simulation auf das Z-System. Wahlen wir zum Vergleich das World-System, dann miissen die X]^ transformiert werden. Beschranken wir uns auf die Krafte in der x, y-Ebene, dann bedeutet dies iFx = Ai cos Q.t^
iFy = Ai sin Q.t.
8 Projekte
350
Die programmseitige Darstellung, der grafische Vergleich und Verfahrenshinweise sind in R e b e l . m angegeben. Bild 8.29 zeigt ein Ergebnis. Danach erhalten wir - wie zu erwarten - iibereinstimmende Verlaufe. Die Parameter und Anfangswerte der GleithUlse miissen allerdings so abgestimmt sein, dass dadurch das Schwingungsverhalten nur unwesentlich beeinflusst wird, d. h.
5000 -MATLAB •
'••
-5000
0
^
^^ ;
••
. :
r.
r
; •
;^ ••
^ '
:\
.•
••'
='.
'•''
' "
0.1
;".
; 1
1
0.2 0.3 Zeit t [s]
y
SimMech |
'^
••• '^ V V
0.4
0.5
Bild 8.29: Vergleich der Gelenkkraft jFy aus beiden Modellierungen
8.4.7
Stationare Lage, die Trimming-Methode
Zu 5): Die Analyse-Methode Trimming (vgl. Machine Environment Block) bestimmt in Abhangigkeit von anfanglichen Storungen eine mogliche stationare Losung oder eine Gleichgewichtslage. Da sich in unseren Fall die GleithUlse ungehindert auf der Rotorlangsachse bewegen kann, existieren zwei stationare Lagen, d. h. die Hiilse kann sich einerseits auf der positiven, andererseits auf der negativen zZ-Achse befinden, dementsprechend folgt der Hebel. Welche Lage sich einstellt, hangt u. a. von den vorgegeben Anfangswerten ab. Einen tJberblick bezuglich moglicher Lagen erhalten wir am einfachsten fiir den schwerelosen Zustand (g = 0) mit (8.49). Zu der jetzt existierende Gleichgewichtslage (Index 0) verschwinden die zeitlichen Ableitungen in (8.49). Wir lesen direkt ab: ho = 0,
zZso =aH-SH cos 0o .
Die restlichen drei GroBen in po =
{Z^SQ^ (I>O,
^lo)^ folgen aus der nichtlinearen Vektorfunktion
ruH Q^ zXsQ - kH {zXsQ + {iH - SH) siu (po - IF) + Aio ^f22(/,_,-/,,)sin20o/(Po) = kn {zXsQ + {iH - SH) sin (po-lf) {^H - SH) COS (po - XIQSH L zXsQ -bn-SH sin 0o
(8.51)
COS <^O
Ausgehend von Schatzwerten zur Gleichgewichtslage konnen wir (8.51) mit Hilfe des NEWTONVerfahrens naherungsweise losen. Hierzu bilden wir die TAYLOR-Entwicklung bis zum linearen Glied
/(po + Ap)=/(po) + Ap = 0, Po
(8.52)
8.4 Axialkolbenverdichter einer Pkw-Klimaanlage
351
woraus sich die Verbesserung Po
(8.53)
fipo)
errechnet. Hiermit schreiben wir die Iterationsfolge
Apt' PI
•J-\pt)m PV-
k-l\
)^ /regular
(8.54)
-Apr
an, wobei / = df /dpo und /(po) mit den Werten aus dem k—\ Schritt zu bilden sind. /(po) und J{PQ) berechnen wir z. B. symbolisch (oder analytisch). Die zugehorigen Schritte sind in dem Programm G l e i c h _ L a g e . m [59] nachzulesen. Wir erhalten die Ergebnisse 00
0,525 rad?:^ 30° , , 2.616 rad ^ 150
zxs, = 0,026 m,
Aio = 2845,6 N,
sie entsprechen in etwa den Mittelwerten der stationaren Losungen nach der Trimming-Methode. Damit sich stets eine definierte stationare Lage einstellt, ist es sinnvoU, die Bewegung der Gleithiilse zu begrenzen.
8.4.8
Der Verdichter als SimMechanics-Modell
In K l i m a _ V e r d . m d l aus [59] ist der vollstandige Verdichter mit sieben Kolben und Arbeitsprozessen aus /^V-Diagrammen modelliert. Bild 8.30 zeigt eine Momentaufnahme der Simulation im Visualisierungsfenster.
Schragscheibe
Hebel
Rotor
Bild 8.30: SimMechanics-Modell des Verdichters, stehende Anordnung
352
8.5
8 Projekte
Dreifachpendel
Schlagworte: Lagrange'sche Gleichung 2. Art, Newton-Euler-Formalismus, symbolische Auswertungy Ubergang zur Numerik, Animationsmodell, Linearisierung, M-File, physikalisches Modell unter SimMechanics, Vorwdrtsdynamik, Inverse Dynamik Programme: Drei_Rm, Drei_PNE.m, fDrei_Rm, om_tilde.m, Drei_Psm.mdl, Drei_Psm_Lmdl Die nichtlinearen Schwingungen des skizzierten symmetrischen Dreifachpendels sind ausgehend von unterschiedlichen Anfangswerten zu untersuchen. Fiir die Simulation unter MATLAB sind insbesondere die Herleitung der Bewegungsgleichungen nach Kapitel 2 mit der Computeralgebra nacli Abschn. 1.7 und die Animation der Schwingungen auf der Basis von Abschn. 1.5.3 vorzunehmen. Diese Ergebnisse sind denen aus einer physikalischen Modelliemng unter Simulink mit Hilfe der SimMechanics Toolbox nach Kapitel 7 gegeniiberzustellen.
Bild 8.31: Dreifach-Pendel: Demo-Modell, Skizze mit Bezeichnungen Tabelle 8.3: Parameter zum Dreifachpendel Hauptpendel Masse Drehtragheit bezuglich Si Schwerpunktsabstand Lagerabstand Oi ,02, Oi ,03
0.613 1.6410-2 0.1065 0.18
kg kgm^ m m
Nebenpendel Masse Drehtragheit bezuglich ^2, ^3 Schwerpunktsabstand
m2 = mi,
C2=C3 S2=S3
Erdbeschleunigung
Im Einzelnen sind folgende Punkte zu bearbeiten:
8
0.210 kg 6.53 10-4 kgm^ 0.1145 m 9.81
m/s^
8.5 Dreifachpendel
353
1. Leiten Sie die Bewegungsgleichungen symbolisch mit Hilfe a. der LAGRANGEschen Gleichung 2. Art nach Abschn. 2.4 b. des NEWTON-EULER Formalismus nach Abschn. 2.3.1
her, erstellen Sie fiir jede ModeUierung ein M-File und vergleichen Sie die Ergebnisse. 2. Schaffen Sie einen tJbergang zur Numerik nach Abschn. 1.7.9. Binden Sie die numerische Integration der Bewegungsgleichungen ins Programm ein und erstellen Sie die Function der Differenzialgleichungen. 3. Erstellen Sie ein Animationsmodell des Pendels auf der Basis der Einzelteile nach Bild 8.32, vgl. Abschn. 1.5.3. 4. Fiihren Sie fiir unterschiedliche Anfangswerte, z. B. (jpi = 0, (pi = (P3 = 7i; (pk = 0, einige Simulationen durch und beurteilen Sie die Schwingungen. 5. Modellieren Sie das Dreifachpendel unter Simulink mit der SimMechanics Toolbox und fiihren Sie eine Vorwartsdynamik durch, vgl. Kapitel 7. 6. Beurteilen Sie die Gelenkmomente, wenn die Nebenpendel eine gleichformige Drehung mit (Pj = {—ly {j — I) Q t, J = 2, 3 vollfiihren und das Hauptpendel um (pi = 7t/^ verdreh ist - inverse Dynamik -.
380
3^2,3
3^1
^=180 mm
, \
.10^
\ V Kr•020x20
^
•^2,3
130
Iri J50 1
1
L
253
V
n20x20
50
U—
75
-75J Bild 8.32: Pendel-Abmessungen, MaBe in mm Das System hat 3 Freiheitsgrade (/ = 3). Als generalisierte Koordinaten (Minimalkoordinaten) wahlen wir die in Bild 8.31 eingezeichneten Winkel (pt jeweils gegen die Vertikale der Gleichgewichtslage gemessen, womit der Koordinatenvektor q = ((pj^ (jf>2, (ps) ,
Minimalkoordinaten
(8.55)
fest liegt. Die Bezugspunkte der korperfesten Koordinatensysteme sollen mit den Massenmittelpunkten (Schwerpunkten) der Korper zusammenfallen.
354
8 Projekte
8.5.1
Lagrange'sche Gleichung 2. Art
Zu la): Der Vorgehensweise liegen die Gmndlagen aus Abschn. 2.4 zu Gmnde. Die Ortsvektoren r^. vom Koordinatenursprung Oi zu den einzelnen Schwerpunkten Sj lauten: Korper 1-3: r^j,= (-^1 sincpi, - ^ i cos(pi, O)'^ rs2= {—icoscpi — S2sin(p2j ^sincpi — S2COS(p2j 0)
(8.56)
Ts^ = {£ COS (pi — S3 sin (pi,, —£ sin cpi — si, cos (P3, 0)
.
Die Absolutgeschwindigkeiten r^. ermitteln wir symbolisch drs^ . r,, = ^ ^ 1 drsj dvs.
. . drs^ . Oder r,, = — ^ , drs.
MATLAB: (Version 1 mit dem diff Befehl oder Version 2 mit Hilfe der JACOBI-Matrix jacobian) v_Sl=diff(r_Sl,ql)^qlp; v_S2=diff(r_S2,ql)^qlp+diff(r_S2,q2)^q2p; v_S3=diff(r_S3,ql)^qlp+diff(r_S3,q3)^q3p; Wegen der ebenen Bewegungen lauten die Winkelgeschwindigkeitsvektoren nach Bild 8.31 (Oi = (0, 0, -(Pif,
/ = 1,2, 3 .
(8.58)
Die Tragheitstensoren // bezuglich der korperfesten Hauptachsen in St haben Diagonalgestalt /,• = diag(A,-, Bi, Q),
/ = 1, 2, 3,
(8.59)
wobei in die Bewegungsgleichung nur Q eingeht. Damit konnen wir die kinetische Energie T = T1+T2 + T3 T = - {mir\ Vs, + m2r]^ r.2 + m^^r]^ r^, +
(DJIICOI
+ £o|/2fi)2 + coj/s^s)
(8.6
und die potentielle Energie V = Vi-\-V2-\-V3 infolge der Erdbeschleunigung g V = - m i (0, - g , 0) r,j - m2 (0, - g , 0) r,, - m^ (0, - g , 0) Vs,
(8.61)
angeben. Da keine weiteren eingepragten Krafte/Momente auftreten und dariiber hinaus T nicht explizit von der Zeit t abhangt, lautet die LAGRANGEsche Gleichung nach (2.112) fiir eine symbolische Auswertung
d^Kd^j ^ + a , U J ^ n ^ ^ '
='
''-''^
8.5 Dreifachpendel
355
Oder kurz M{q)q + f{qA)
=0.
(8.63)
Zur Ermittlung der Massenmatrix M sowie der Vektorfunktion / in (8.63) dient der Programmausschnitt von D r e i _ P . m aus [59], die Gleicliheit der Nebenpendel wird durch Substitution der GroBen des 2. Nebenpendels (ms, ^s-s, C3) erreicht. % kinetische Energie vgl. Drei_P.m T=l/2*(ml*v_Sl.'*v_Sl+m2*v_S2.'•v_S2+m3*v_S3.'*v_S3+... oml.'*I_l^oml+om2.'*I_2*om2+om3.'^I_3*om3); % potentielle Energie V=-[0, -g, 0]•(ml*r_Sl+m2*r_S2+m3*r_S3); % gleiche Nebenpendel, s3=s2 usw. T=subs (T, {s3,m3,C3}, {s2,m2,C2}); % Substitution V=subs(V,{s3,m3},{s2,m2});
%
Ausdriicke vereinfachen
T=simple(simple(T)); V=simple(simple(V)); % Ableitungen fiir LAGRANGEsche Gleichung 2. Art dTdv=simple(jacobian(T,q_p).'); dTdq=simple(jacobian(T, q) . ' ) ; dVdq=simple(jacobian(V,q).'); % Elemente der Bewegungsgleichung M*q_pp + f = 0, f = K^q_p + h M=simple(jacobian(dTdv,q_p)); % Massenmatrix K=simple(jacobian(dTdv,q)); % Geschw.-Term h=simple(simple(dVdq-dTdq)); % Vektorfunktion h f=K*q_p+h; % f(q,q_p)
8.5.2
Newton-Euler-Formalismus
Zu lb: Die Grundlagen stehen in Abschn. 2.3.1. Das Pendel besteht aus N = 3 starren Korpern, der Koordinatenvektor ^ nacli (8.56) gilt weiterhin. Die NEWTON-EULER Gleichung nach (2.97) lautet:
E [ 4 (Pi - fei) + Jl {i^i - "^e,)] = 0.
(8.64)
(=1
Fiir die JACOBI-Matrizen der Translation Jy;. und der Rotation JR. gilt
Da ein ebenes Problem vorliegt und wir die Massenmittelpunkte Sj als Bezugspunkte gewahlt haben, vereinfachen sich die zeitlichen Ableitungen - vgl. (2.98) - fiir den Impuls p und Drall L Pi = rriiK,
Li = Ii6)i.
(8.66)
8 Projekte
356
Die eingepragten Krafte/Momente werden durch die Gewichtskrafte verursacht / , . = (0, -niig,
0)^;
(8.67)
m,. = 0.
Wegen der ebenen Bewegung konnen wir von der reduzierten Gleicliung (2.99) - der mittlere Term verschwindet - ausgehen:
'1
Ml 0
0 M2
fe Me
Zl
0
(8.68)
mit den an (2.100)-(2.107) angepassten Matrizen fmN / = (^rp JT2^ JT3^ JRI^ JR2^ JRS)
= {^T^ JR)
M l = diag(miE3, m2^3, m s ^ s ) ;
M i G M^'^,
M2 = d i a g ( / i , / 2 , / 3 ) ;
M2GM^'^
Zl = (rj^, rj^, r J J
zi G M^
Z2 = (ft)}, fi>2 7 ^ 3 ) /
T*
T*
T* \ A
fe = (/gp /^2' -^^3/ m.
; '
'^
/ G M ' ,
E3 G M^'^
(8.70)
(8.72)
(CO; jeweils in der korperfesten Basis), (8.73)
Q
(8.74)
fe^^^
;
(8.69)
(8.71) (inertiale Basis)
Z2 G R^,
'
/ T T T\^ [m^^, m^^, m ^ J
= 3 und / = 3:
(8.75)
m^ G
ausgelien. In den Ortsvektoren (8.56) sowie den Geschwindigkeitsvektoren (8.57) tritt die Zeit t nicht explizit auf - holonome, skleronome Bindungen - , d. h. Zl = Zi{q),
Zl = Zi{q,q),
Z2 = ZiiqA)
•
Die zeitlichen Ableitungen lassen sich mit (8.65), (8.69) in der Form Zl = Jrq
und
zi =JT q -\- Jrq^
Z2 = JRq
und
Z2 =JRq + JRq
(8.76)
schreiben. Setzen wir (8.76) noch in (8.68) ein, dann folgt J^W^Jq
+ J^WJq
- J^fe me
0
(8.77)
mit der Blockdiagonalmatrix M^ = diag(Mi, M2) aus (8.68). Die Elemente M, / aus (8.63) sind mit (8.77) direkt zuzuordnen. Der folgende Programmausschnitt von D r e i _ P N E . m aus [59] zeigt die symbolische Ermittlung der Elemente der Bewegungsgleichung (8.77) in der Form von (8.63). % JACOBI-Matrizen der Translation Drei_PNE.m J_T1=jacobian(v_Sl,q_p); % oder J_T1=jacobian(r_Sl,q);
8.5 Dreifachpendel
357
J_T2 = jacobian (v_S2, q_p) ; J_T3 = jacobian (v_S3, q_p) ; % JACOBI-Matrizen der Rotation J_Rl=jacobian(oml,q_p); J_R2=jacobian(om2,q_p); J_R3=jacobian(om3,q_p); % Elemente der Bewegungsgleichung Gesamt-JACOBI-M. J=[J_T1;J_T2;J_T3;J_R1;J_R2;J_R3]; % Massenmatrix Massen-M., Transl. Ml=blkdiag(ml^eye(3), m 2 * e y e ( 3 ) , m3*eye(3) Massen-M., Rotat. M2=blkdiag(I_l, I_2, I _ 3 ) ; Gesamt-Massen-M.^^ M_star=blkdiag(Ml,M2); Massenmatrix M=J.'•M_star*J; vereinfacht M=simple(simple(M) ) ; gleiche Nebenp. M=subs(M,{s3,m3,C3},{s2,m2,C2}); % zeitl. Ableitung der JACOBI-M. J J_p=diff(J,ql)*qlp+ diff(J,q2)^q2p+ dif f(J,q3)^q3p; % zeitl. Abl. gf=simple(simple(J.'*M_star*J_p*q_p)); % Vektorfunkt. gf % eingepragte Krafte und Momente F1=[0; -ml*g; 0 ] ; F2=[0; -m2*g; 0 ] ; F3=[0; m3*g; 0 ] ; f_e=[f_el;f_e2;f_e3]; % Kraftvektor m_e=zeros(3*frg, 1) ; % Momentenvektor kf=J.'•[f_e;m_e]; % Projektionen f=simple(simple(gf-kf)) ; % f(qfq_p) f=subs(f,{s3,m3,C3},{s2,m2,C2}); % Subs titution (gleiche Nebenp.)
Damit erhalten wir die Elemente in der Form von (8.63) (Ausgabe: l a t e x (M) usw.): misp' -\-2m2f' -\- Cj M
—m2 ls2 sin(^7 — ^2)
—m2 ls2 sin(^7 ~ ^2) m2 ls2 sin(^i — Q.3)
^2 ls2 sin(^7 — qs)
C2-\-ni2 s^^
0
0
C2-\-ni2 S2^
S2 m2 cos {qj — q2) q^l — S2 m2 43I cos {qj — ^5) + gmj sj sin (qj)
f
-821712 {qjl COS {qj-q2)-g S2m2 {qjl cos {qi-q3)-\-g
Mit dem Zustandsvektor x {q^, q^y, Zustandsgleicliung
sin {q2)) sin (qj))
X e R^^ ist aus (8.63) bzw. (8.77) die nichtlineare
M{q)-'f{q,q) abzuleiten, sie muss numerisch ausgewertet werden.
(8.78)
358
8 Projekte
8.5.3
Ubergang zur Numerik und Integration
Zu 2.: Bevor wir (8.78) in der Function der Differenzialgleichung ( f D r e i _ P .m) auswerten, substituieren wir bereits im Hauptprogramm die Symbole der Systemparameter durch die numerischen Werte und bilden gleichzeitig f^ = M~^f, das Ergebnis ist vom Typ sym: % %
P a r a m e t e r fiir S i m u l a t i o n Hauptpendel ml=0.613; sl=0.1065; 1=0.18; Cl=l.6408e-02; % Nebenpendel m2=0.210; s2=0.1145; C2=6.53e-04; g=9.81; % Parameter substituiert M=subs(M); f=subs(f); f_star=inv(M)*f;
% Masse % Schwerpunktsabstand % Lagerabstand, Quertraverse % Massentragh. bez. Schwerpunkt % % % %
Masse Schwerpunktsabstand Massentragheitsmoment Erdbeschleunigung
% Massenmatrix % Vektorfunktion % Vektorfunktion M^(-l)*f
Die Vektorfunktion f _ s t a r ist immer noch exakt dargestellt, dadurch werden die Zalilenwerte z. T. aus IntegergroBen - vgl. mit s u b s ( s u b s (M) ) -, oft mit hoher Stellenzahl, gebildet; beim tJbergang zur Numerik wird gerundet. Bei groBeren Systemen kann es iibersichtlicher sein, die Zalilenwerte teilweise auszuwerten und in Gleitkommazahlen ( c l a s s sym) darzustellen. Hierzu dient die Variable precision arithmetic (vpa), z. B. mit dem Aufruf fiir 16 Stellen digits (16) ; M=vpa (M)
oder kurz
M=vpa (M, 1 6 ) .
Das Ergebnis ist weiterliin vom Typ sym - vgl. auch Abschn. 1.7.9 -. Damit bei der Animation der Schwingungen eine zeitgetreue Bewegung entsteht, walilen wir gleiche Zeitinkremente fiir die Berechnung des Zustandsvektors, z. B. ta=0; te=60; % Startzeit/Endzeit tspan=linspace(ta,te, (te-ta)/O.015); % Zeitv., gleiche Zeitdifferenzen
Mit dem Integratoraufruf organisieren wir auch die tJbergabe von f _ s t a r entsprechend (8.78) [t,
y]=ode45(@fDrei_P,tspan,yO,options,f_star);
wobei zuvor die Anfangswerte und Optionen festgesclirieben werden miissen. Die Function der Differenzialgleichung hat damit Standardform, wobei wir den symbolischen GroBen qt, qi, 1 = 1, 2, 3 in f _ s t a r die Elemente des Zustandsvektors (hier x) zuweisen miissen - zweckmaBiger ware eine Umbenennung im Hauptprogramm, vgl. m a t h p _ l . m, DAE_KKL . m -. Der tJbergang zur Numerik erfolgt dann durch eval- oder subs-Auswertungen. function xp = fDrei_P(t,x,f_star) % zu substituierende GroBen ql=x(l); q2=x(2); q3=x(3); qlp=x(4); q2p=x(5); q3p=x(6); xp=[x(4:6); -eval(f_star)];
% Differenzialgleichung
8.5 Dreifachpendel 8.5.4
359
Animationsmodell
Zu 3.: Die Einzelpendel beschreiben wir, wie in Absclin. 1.5.3, durcli geschlossene Polygonzuge. Hierzu fiihren wir die in Bild 8.33 angegebenen Knoten ein. Die Positionen der Knoten (x/, yt) 2/2,3
Xi
t /7
10 ^2,3
2"
2/1
11
1,^
12
8
K 1,6
3'
13
2
4
3
Bild 8.33: Knoten der Pendelelemente zur Erstellung des Animationsmodells in dem xi, j i — und X2, J2—Achssystem sind Elemente der zur grafischen Darstellung benotigten Vektoren: Hauptpendel: xi = ( - 1 0 , - 3 7 . 5 , - 3 7 . 5 , 3 7 . 5 , 3 7 . 5 , - 1 0 , - 1 0 , 1 9 0 , 1 9 0 , - 1 9 0 , - 1 9 0 , 1 0 , 1 0 ) ^ yi = ( - 2 6 3 , - 2 6 3 , - 3 3 8 , - 3 3 8 , - 2 6 3 , - 2 6 3 , - 1 0 , - 1 0 , 1 0 , 1 0 , - 1 0 , - 1 0 , - 2 6 3 )^ Nebenpendel: X2 = ( - 1 0 , - 2 5 , - 2 5 , 2 5 , 2 5 , 1 0 , 1 0 , - 1 0 , - 1 0 , 1 0 ^ y2 = ( - 1 3 0 , - 1 3 0 , - 1 8 0 , - 1 8 0 , - 1 3 0 , - 1 3 0 , 1 0 , 1 0 , - 1 3 0 , - 1 3 0 ) ' ^ Pendel-Lager XL=
(50,-50,-10,10,50)'^
yL=
(50,50,-8,-8,50)^.
Zur Darstellung des Pendels im xi,yi-Achssystem sind zusatzlich die Verschiebungen in die Anlenkpunkte 02,3 der Nebenpendel, Bild 8.31, additiv hinzuzufugen und gegebenenfalls die Lagerorte z. B. durch Kreise zu kennzeichnen. Die Animation baut auf den Losungen (Pkiu), ^ = 1,2,3 zu den Zeitpunkten tf auf. Um die Bewegung der Pendelelemente zu alien tt darzustellen, fiihren wir die Drehmatrix Tk{ti)
cos (pk{ti) - sin (pk{ti)
sin (pk{ti) cos (pk{ti)
k= 1,2,3,
i=
1,2,3,.,,
360
8 Projekte
ein. Die zeitabhangigen Pendelkoordinatenxy^, y^ geniigen dann: Hauptpendel:
L yjiti)
Tiiti) Null-Lage
Nebenpendel:
[ m)
Tk{ti)
4' Null-Lage
^Ti{ti)
0
k = 23.
Lage von 62,3
Die MATLAB-Umsetzung geben wir hier fiir das Nebenpendel 2 an. Der vollstandige Code ist in D r e i _ P . m bzw. Drei_PNE . m [59] zu finden. % A n i m a t i o n d e r Bewegung v g l . D r e i _ P . m , Drei_PNE.m % D r e i f a c h - P e n d e l , G e o m e t r i e , MaBe i n mm lq=1000.0*l; % Q u e r t r a v e r s e i n mm % N e b e n p e n d e l 2, 3 ( l i n k s , r e c h t s ) N u l l - L a g e x 2 = [ - 1 0 , - 2 5 , - 2 5 , 2 5 , 2 5 , 10, 1 0 , - 1 0 , - 1 0 , 1 0 ] ; y 2 = [ - 1 3 0 , - 1 3 0 , - 1 8 0 , - 1 8 0 , - 1 3 0 , - 1 3 0 , 10, 1 0 , - 1 3 0 , - 1 3 0 ] ; figure (1), elf % StandardgroBe set(gcf,'NumberTitle','off,'Name','Animation','MenuBar','none') % Nebenpendel 2 (links) h2=fill(x2-lq,y2,[0.9 0.9 0.9]); % Null-Lage + Farbe hL2=plot(-Iq,0,'o','markerfacecolor','w') % Lagerbolzen axis(2.0*[-Iq Iq -Iq Iq] ) ; axis equal, L=axis; axis off set (gca,'Visible' , 'off )
Achsskalierung Achsen ausblenden
% Losungsvektor y=(phi_l, phi_2, phi_3, phi_lp,...) set(gca,'Drawmode','Fast'); % Zeichenmodus numframes=length(y); % Anzahl Zeitschritte for count=l:numframes % Animationsschleife % Hauptpendel phi_l=y(count,1); % Winkelsignal phi_l Tl=[cos(phi_l) sin(phi_l); -sin(phi_l) cos(phi_l)]; % Drehmatrix % Nebenpendel 2 phi_2=y(count,2); % Winkelsignal phi_2 Xq=Tl*[Iq;0]*ones(1,length(x2)); % Lage von 0_1, 0_2 T2=[cos(phi_2) sin(phi_2); -sin(phi_2) cos(phi_2)]; % Drehmatrix XY2=T2*[x2;y2]-Xq; % gedrehte Koord. set (h2, 'xdata' , XY2 (1, : ) , 'ydata' , XY2 (2, : ) ) ; % Dateniibergabe
8.5 Dreifachpendel
361
set(hL2, 'xdata',-Xq(l,1),'ydata',-Xq(2,1));% Lagerbolzen axis(L) % gleiche Achsskalierung pause(0.015) % Zeitverzogerung + Bilderneuerung end;
8.5.5
Schwingungsverhalten
Zu 4.: Zur Interpretation der Schwingungen betrachten wir vorab kleine Schwingungen A(p/ um die Gleicligewiclitslage (p/ = 0, cp/ = 0, / = 1,2,3. Hierzu linearisieren wir die Bewegungsgleichung (8.63) - vgl. Abschn. 2.5 P(^, q^ q) '= M{q)q + f{q, q) = 0 um die Gleichgewichtslageq =0. Die TAYLOR-Reihenentwicklung bis zumlinearen Termergibt p{q, q, q) ^ p(0, 0, 0) + | | | o A ^ + | | | , A 4 + | ^ | , A ^ ^ 0 bzw. wegenp(0, 0, 0) = 0 M ( 0 ) A ^ + | | | o A 4 + | ^ | o A ^ = 0, so dass die lineare Variationsgleichung AfoA^ + PA^r + QA^ = 0 vorliegt. Die Koeffizienten-Matrizen MQ, P , G sind konstant; wir ermitteln sie symbolisch: f_qp=jacobian(f,q_p); % JACOBI-Matrizen f_q=jacobian(f, q) ; % Gleichgewichtslage ql=0; q2=0; q3=0; qlp=0; q2p=0;q3p=0; qlpp=0; q2pp=0;q3pp=0; M_0=subs(M); % Gleichgew.-Lage Q=subs(f_q); % eingesetzt -> P=subs(f_qp); % M_0*ypp+P*yp+Q*y=0 % E i g e n w e r t e fiir P=0 i f a n y ( P ( : ) ) == 0, e = s q r t ( e i g ( Q , M _ 0 ) ) , end % y = v * c o s ( o m e g a ^ t )
Es ergibt sich: M_0 =
Q =
3.6969e-002 0 0 6.4044e-001 0 0
0 0 3.4062e-003 0 0 3.4062e-003,
0 2.3588e-001 0
0 0 2.3588e-001
P = 0 0 0
0 0 0
0 0 0
362
8 Projekte
Danach waren alle Einzelpendel voneinander entkoppelt. Mit iSq = m nach Kapitel 3 V cos folgen unmittelbar die Eigenwerte coi = 4.1622 rad/s, (O2 = 8.3218 rad/s, CO3 = 8.3218 rad/s . Das linearisierte System ist also bezuglich der Gleichgewichtslage grenzstabil (schwach stabil). Aufgrund der Entkopplung miissten wir z. B. ein Nebenpendel anfanglich auslenken konnen, so dass es mit seiner Eigenkreisfrequenz schwingt, ohne die anderen dadurch anzuregen. Wir woUen klaren, ob dies auch fiir das nichtlineare System gilt und geben die speziellen (kleinen) Anfangswerte 0, (p2 = l / 1 8 . ; r , (?i = 0 (jPl = (jP3 vor. Die sich einstellenden Schwingungen sind in Bild 8.34 dargestellt. Demnach verhalt sich das nichtlineare System nur iiber ein kurzes Zeitintervall 0
0
10
20
30
liiiiilPi mTMii/iniifiTmiimimyiTiiM
0
10
20
0
10
20
40
50
40
50
40
50
60
MTirm
30
30 Zeit t [sec]
Bild 8.34: Nichtlineare Schwingungen nach kleinen Anfangsauslenkungen, (pi{t) in rad Die LjAPUNOVschen Stabilitatssatze, vgl. [15], losen das Problem. Wir geben eine allgemeine Formuliemng an: • Ist das z\xM{q)'q = /(^,q) linearisierte System asymptotisch stabil bzw. instabil, so ist auch das nichtlineare System asymptotisch stabil bzw. instabil. • Ist das linearisierte System grenzstabil, wie hier, so erhalten wir keine Aussage iiber die Stabilitat des nichtlinearen Systems. Die Terme hoherer Ordnung in der TAYLOR-Reihe entscheiden das Stabilitatsverhalten. Damit ist das obige Ergebnis erklarbar. Es lasst sich aber auch anschaulich verdeutlichen: Da die Frequenz des anfanglich ausgelenkten Nebenpendels mit der Eigenfrequenz des anderen Nebenpendels und mit der zweifachen Eigenfrequenz des Hauptpendels schwingt, werden letztere im richtigen Takt angeregt, so dass es zu den aufschaukelnden Schwingungen, zunachst beziiglich des Hauptpendels (pi, wie
8.5 Dreifachpendel
363
in Bild 8.34, kommen muss. Es findet ein permanenter Energieaustausch statt, wie dies auch in Bild 8.35 fiir die grofien Anfangswerte (pi(0) = 0, (jp2(0) = (jP3(0) = K, (pi{0) = 0 , indifferente Gleichgewichtslage zu beobacliten ist. Die Nebenpendel (pz,
PT
'---^^^^^'vMH^fl^^lpm
0 0
10
20
30
40
50
60
10
20
30
40
50
60
10
20
30 40 Zeit t [sec]
50
60
200 0 -200
Bild 8.35: Nichtlineare Schwingungen nach groBen Anfangsauslenkungen, (pi{t) in rad Anschaulicher wird der Vorgang in einer Animation. Bild 8.36 zeigt eine Momentaufnahme eines solchen Vorgangs. Die simulierten Bewegungen stimmen quantitativ mit experimentellen Ergebnissen am Demo-Modell nach Bild 8.31 iiberein. 8.5.6
Vorwartsdynamik mit SimMechanics
Zu 5.: Aufbauend auf den Gmndlagen aus Kapitel 7 soil anhand des Block-Diagramms nach Bild 8.38 mit den zu Grunde gelegten Koordinaten nach Bild 8.37 die physikalische Modellierung des Dreifachpendels - offenes Schleifensystem - mit den wesentlichen Elementen und Funktionen erlautert werden. Das Pendel setzt sich aus drei Starrkorpem zusammen, die durch Drehgelenke miteinander verbunden sind. Jedem Korper ist ein Body Block, vgl. Bild 8.38, zuzuordnen. Massen m/ und Tragheitsmomente Q sind aus Tab. 8.3 in die Block-Dialog-Box zu iibertragen, wobei die nicht aufgefiihrten Tragheitsmomente Aj, Bj, j = 1, 2, 3 unwesentlich sind, da sie die Bewegung nicht beeinflussen, sie sind aber auch nicht bekannt. Insofern ist die Darstellung in Form des Tragheitsellipsoids im Visualisierungsfenster, vgl. Bild 8.37, nicht aussagekraftig. Darliber hinaus miissen mindestens die Schwerpunkte und die Gelenkpunkte in ausgewahlten Koordinatensystemen angegeben werden. Zusatzliche Punkte dienen nur zur Vervollstandigung des Modells im Visualisierungsfenster, siehe Kapitel 7. Beziiglich der gewahlten korperfesten Koordinatensysteme gehen wir von der Darstellung des Pendels im Visualisierungsfenster nach Bild 8.37 mit eingeblendeten Koordinatensystemen aus. Das Inertial- oder World-System liegt in Oi, mit ihm
364
8 Projekte
Bild 8.36: Momentaufnahme der Animation
0.1 [
jCS2C^CS1)
,
•orlenUHfunj
-0.1 h fO(f^)
•0 2
/S2(^S1)
-02
^J.1
n.1
0.2
Bild 8.37: Koordinatensysteme zum Dreifachpendel im Visualisierungsfenster von SimMechanics fallt der Urspmng des korperfesten iCSl(World)-Systems zusammen. Gegeniiber diesem System sind Schwerpunkt iCG und Gelenkpunkte O2, O3 des Hauptpendels, wie in Bild 8.37 gezeigt, festzulegen. Z. B. bezeichnet iCS2(iCSl) das Koordinatensystem iCS2 mit dem Urspmng in O2 festgeschrieben in 1CS1. Dementsprechend konnen wir die zugehorigen Ortsvektoren iCS2(iCSl): ir(-s2 = ("A 0. ^f iCS3(iCSl): i r c s 3 = (^, 0, 0)^ iCG(iCSl) : ircG = (0, - ^ 1 , 0)^ angeben, sie sind in der Dialog-Box einzutragen. Zur Festlegung der korperfesten Koordinatensysteme der Nebenpendel ubernehmen wir zunachst die angrenzenden (adjoining) iCS2- und iCS3-Systeme, vgl. Eintrag in der Dialog-Box. Wir erhalten die korperfesten Systeme 2CSI und 3CSI der beiden Nebenpendel. In diesen Systemen sind die Schwerpunktslagen 2CG, 3CG mit
festzuschreiben.
8.5 Dreifachpendel
Dreifach-Pendel Vorwarts-Dynamik
MATLAB in der Ingenieurpraxis Simulation mit SimMeciianics File: Drei_Psm.mcll Letzte Anderung 06-Sep-2006 13:12:33
Machine Environment
Anfangswerte unter: Model Properties / Callbacks
365
Joint Initial Condition
IC phi_1(0)
D
phi 1
From1 [S2]
J1 ~7
phi Scope
Joint Initial Conditionl
B1 To Workspace
Nebenpendel
Nebenpendel
Bild 8.38: Physikalische Modelliemng des Dreifachpendels mit SimMechanics; Drei_Psm.mdl Jedem Drehgelenk ist nach Bild 8.38 ein Revolute Block zuzuordnen. Die Drehrichtungen aus Bild 8.31 sind in der Dialog-Box zu verwirklichen, d. h. wir miissen eine Drehung um die negative z-Achse erreichen: (0, 0, -1). Dariiber hinaus besteht in Oi eine Anbindung zur Umgebung, was wir durch den Ground Block modellieren miissen. Ab SimMechanics 2 ist stets einem Ground Block der Maschine ein Machine Environment Block zuzuordnen. Die Dialogbox enthalt Eintrage u. a. beziiglich des Gravitationsvektors und der Analyse-Methode, wie z. B. Forward dynamics oder Inverse dynamics, vgl. Kapitel 7. Da die oben eingebrachte Ausgangslage eine Gleichgewichtslage ist, miissen wir fiir die aktuellen Anfangswerte der Korper Joint Initial Condition Blocke verwenden. Messungen der Gelenkwinkel (hier: Relativwinkel) werden mit den Joint Sensor Blocken vorgenommen, sie stellen die Schnittstelle zur Simulink-Umgebung her. Um die Simulation im Visualiesierungsfenster zu verfolgen, ist u. a. im Fenster: C o n f i g u r a t i o n P a r a m e t e r s unter S e l e c t : S i m M e c h a n i c s das Visualisierungsfenster zu aktivieren, vgl. Kapitel 7. Die Simulationsergebnisse aller behandelten Methoden stimmen bei nicht iiberschlagenden Pendeln sehr gut iiberein. tJberschlagen sich die Pendel, dann konnen nur innerhalb eines kleinen Zeitfensters 0 < r < 20 s bei hoher Genauigkeit, z. B. R e l T o l 1^10"^, gute tJbereinstimmungen erreicht werden. Auch bei leicht abweichenden Anfangswerten in den einzelnen Methoden unterscheiden sich die Schwingungen immer starker mit fortschreitender Zeit. Diese Abwei-
366
8 Projekte Dreifach-Pendel inverse Dynamik
MATLAB in der Ingenieurpraxis Simulation mit SimMeciianics File: Drei_Psm_l.mdl Letzte Anderung 0 6 - S e p - 2 0 0 6 13:05:09
Joint Sense)r1
Nebenpendel
Connection Port
^P^
frnl
Scopel
Scope2
— • ^ [S2] 1
Joint Sens Dr2
• • /
Nebenpendel
Drehung der Nebenpendel
[S3]
Connection Port1 I
Bild 8.39: Modell zur inversen Dynamik; Drei_Psm_I.mdl chungen sind systembedingt: kleinste Integrationsfehler (Stomngen) fiihren zu voUig anderem Schwingungsverlauf. Dies ist einerseits auf die fehlende Dampfung, andererseits aber auf das chaotische Verhalten zuriickzufiihren. D. h. geringfugig veranderte Anfangswerte fiihren zu vollig anderen Bewegungsablaufen. Dariiber liinaus beeintrachtigt die Stabilisiemngsmethode, siehe Abschn. 5.4.4.1, die Dynamik des SimMechanics-Modell. 8.5.7
Inverse Dynamik
Zu 5.: Anhand des Dreifachpendels wollen wir den Begriff der inversen Dynamik klaren. Ausgehend von festgeschriebenen Bewegungen des Haupt- und der Nebenpendel sind die daraus resultierenden Gelenkmomente zu ermitteln. Dies konnen wir einerseits recht einfach mit Hilfe der beiden analytisch gewonnenen Bewegungsgleichungen, andererseits mit einem modellbasierten Entwurf unter SimMechanics erreichen. Wir wahlen die zweite Vorgehensweise. Hierzu gehen wir von einer statischen Hauptpendel-Schragstellung um (pio = 7r/8 und einer gleichformigen Rotationsbewegung (pjo = {—\y {j —\)Qt, j = 2, 3 der Nebenpendel aus. Die dadurch verursachten Gelenkmomente sind zu bestimmen. Hierzu ist es zweckmaBig, das bisherige Block-Modell nach Bild 8.38 geringfugig zu modefizieren. An die Stelle der IC Blocke treten Simulink-Elemente zur Realisierung der Zwangsbewegungen - Winkel, Winkelgeschwindigkeit, -beschleunigung - . Die Anbindung an die Drehgelenke erfolgt schlieBlich mit Joint Actuator Blocken. Der konstante An-
8.6 Hubschwingungen eines Viertelfahrzeugs mit nichtlinearem StoBdampfer
1
1
1
1
1
367
1
CO
^;;
-
0.5 02 - - - 0 3
-0.5
1
2
4
6
8 Zeit t [S]
10
12
14
16
Bild 8.40: Momentenverlaufe mittels inverser Dynamik unter SimMechanics; Drei_Psm_Lmdl
teil bezUglich des Hauptpendels ergibt sich nach Bild 8.39 unmittelbar. Die gleicliformigen Dreliungen der Nebenpendel fassen wir im Subsystem D r e h b e w e g u n g zusammen, (—1)^(j — l ) i 2 , J = 2, 3 wird iiber die zugehorige Parameter-Dialog-Box eingegeben. Im Machine Environment Block ist letztendlich die Analyse-Methode Inverse dynamics auszuwahlen. In Bild 8.40 sind die Gelenkmomente moj in den Drehpunkten 0^ dargestellt. Entsprechend der vorgegebenen gleichformigen Drehung mit den Kreisfrequenzen Qi = l rad/s und ^ 2 = 2 rad/s erzeugen die Nebenpendel ITT- bzw. ;r-periodische Momentenverlaufe. Diese Anteile sind im Wesentlichen dem konstanten Moment infolge des Hauptpendelgewichts, verursacht durch die Schraglage (jpio = 7t/S, iiberlagert.
8.6
Hubschwingungen eines Viertelfahrzeugs mit nichtlinearem StoBdampfer
Schlagworte: Dijferenzial-algebraische Gleichungen, eventgesteuertes Modell, System, Schaltfunktion, Stofimodelle, Programmier-Tipps, M-File Programme: fahrz. m, ffuhrz. m, efahrz. m
^DF XA
VA
A
I—I—I v^ StoBdampfer
X =
XA
—
XD
db
Vlim
Fahrbahn
d(vD)vD
VD = XD — XR
Sattigung
Bild 8.41: Viertelfahrzeugmodell mit nichtlinearem StoBdampfer
strukturvariables
368
8 Projekte
Das skizzierte Viertelfahrzeugmodell (Aufbau m^, Rad rriR) bewegt sich iiber eine unebene Fahrbahn u{t). Die Reifencharakteristik wird durch ein lineares Feder-Dampfer-Element (kR, CIR) berlicksichtigt. Der StoBdampfer aus [18] hat nach Bild 8.41 nichtlineares und unstetiges Verhalten, die Fahrzeugfeder (^A) sei linear. Die in Bild 8.41 verwendeten Fahrzeugkoordinaten von Aufbau (A) und Rad (R) sind: XA , XR Auslenkung aus entspannter Feder jA, yR Inertialkoordinaten /o, IRQ Langen der entspannten Fedem. Der hydraulische StoBdampfer mit den Parametem aus Tabelle 8.4 wird nach [18] auBerhalb des Sattigungsbereiches VD < vum mittels eines geschwindigkeitsabhangigen Dampfungskoeffizienten d{vD) =
,
^
=
+ C2,
fiir VD < v//^,
VD=XD-XR
(8.79)
approximiert, wobei a tJbergangsparameter, a > 0 stetiger Verlauf von d{vD), vgl. Bild 8.41 c\ = {de-dc)/2, C2 = {de-\-dc)/2, Damit gilt fiir die viskose Dampferkraft ^ ^^
^ f d{vD)vD \ d{viifn)viim-\-dt{vD-Viim)
fiir VD < v//^ fur VD>Viim
Dies ist eine stiickweise stetige Kennlinie. Der Umschaltpunkt VD = v//^ ist zustandsabhangig. Die StoBdampferelastizitat wird durch eine progressive Federcharakteristik FDF
=kD^X-\-kD2X^
beschrieben. Alle weiteren Feder- und Dampferelemente seien linear. Die Fahrbahn wird punktuell nachgefahren, so dass wir anschaulich von einem stehenden Fahrzeug mit Radanregung u{t) ausgehen woUen. Die Reifenverformung wird durch ein KELVIN-VoiGT-Modell berlicksichtigt; dies ist nur bedingt geeignet, wie spater gezeigt. Es soil das Schwingungsverhalten insbesondere mit Abhebephasen des Rades in einer Simulation unter MATLAB untersucht werden. Hierzu sind die folgenden Punkte zu bearbeiten: 1. Bewegungsgleichungen fiir die Zustande mit und ohne Bodenkontakt des Rades sowie die zugehorigen Schaltfunktionen beziiglich der Unstetigkeit in der Dampferkennlinie und des Abhebe- und Auftreffpunktes des Rades. 2. Erstellen eines M-Files fiir das eventgesteuerte differenzial-algebraische Modell. 3. Diskussion der Simulationsergebnisse. Beurteilung des StoBkraftverlaufs beim Abheben und Aufsetzen.
8.6 Hubschwingungen eines Viertelfahrzeugs mit nichtlinearem StoBdampfer 369 8.6.1
Bewegungsgleichungen und Voraussetzungen
Zul.; Standiger Fahrbahnkontakt Fur die in Bild 8.41 eingefuhrten Koordinaten sowie mit den Schnittkraften aus Bild 8.42 finden wir nach NEWTON zunaclist die Bewegungsgleichungen bei standigem Fahrbahnkontakt niAjA + kA {XA -XR)^
ko^ {XA -XD)-\-
niRyR + dRXR + kRXR - kA {XA -XR)0 = ko^ {XA -XD)-\^^
kD2 {xA-xof
FDJ^ (VD) = -rriRg
kD2 {XA -xof
V
= -niAg (8.81)
-Fojy (VD) , '
mit den Zwangsbedingungen yR{t) = u{t)-\-£RQ-\-XR{t),
yA{t)=yR{t)-\-io-\-XA{t),
VD=XD-XR
und der viskosen StoBdampferkraft FDD{VD) nach (8.80) mit VD{t)
=XD{t)—XR{t).
rriA
\XA
=
(8.82)
kA{xA-Xii)
I 1
\
FD^=kD,{'
mr) —>• 0
A^
XD
rriAQ < ^ FA
\XR
^DF
I •niR
1
1 1 I\
Fn, dRXR
kRXR
ruRg
Bild 8.42: Schnittbild Da die y- und x-Koordinaten nach (8.82) voneinander abhangen, miissen fiir die Bewegungsgleichung in Minimalkoordinaten wahlweise zwei Variable eliminiert werden. Welche Form man wahlt, hangt vielfach von der Fragestellung der Untersuchung ab. Gehen wir von Bewegungen mit standigem Fahrbahnkontakt aus, dann erscheint es zweckmaBig die Bewegungsgleichungen fiir XA, XR^ XD anzuschreiben. Sind dagegen Hubschwingungen, d. h. Schwingungen mit zeitweiligem Abheben des Rades, zu untersuchen, dann bieten die Koordinaten XA, yR, XD Vorteile. Moglichen Bewegungsphasen Wir lassen zu, dass das Rad von der Fahrbahn abhebt. Die Bedingungen, bei denen der Fahrbahnkontakt verloren geht, spielen dabei eine zentrale RoUe. Moglich sind:
370
8 Projekte
1. Reifenverformung verschwindet ,XR = 0 (F^ ^ 0, wegen der Dampfung) fiir Abheben und Aufsetzen. 2. Reifennormalkraft verschwindet, F^^ = 0 (XR ^ 0) fiir Ablieben und Aufsetzen. 3. Reifennormalkraft verschwindet im Abhebepunkt F^ = 0, in der anschlieBenden Abhebephase wird die Restverformung XR abgebaut. Das Aufsetzen erfolgt aus geometrischen Bedingungen.
Aufgrund des Reifen-Dampfungselements dR lassen sich mit dem gewahlten Reifenmodell keine schliissigen tJbergange zwischen den Bewegungsphasen finden. Wird die Reifenverformung XR als Schaltfunktion (XR = 0) gewahlt, dann tritt im Abhebe- und Aufsetzpunkt eine Normalkraft FN y^ 0 auf. Sie kann auch eine Zugkraft sein. Wird stattdessen die Reifennormalkraft F]^ = —CIRXR — kRXR als Schaltfunktion fiir das Abheben verwendet, dann treten hleibende Reifen verformungen XR^^ beim Abheben auf. Dieser Effekt wird unter 3. beriicksichtigt, was wir hier, insbesondere um die numerische Vorgehensweise bei strukturvariablen Systemen zu verdeutlichen, ansetzen woUen. Bewegungen mit Normalkraftsteuerung Wir miissen zwischen den Bewegungen mit und ohne Fahrbahnkontakt unterscheiden, dabei entscheiden wir uns im Abhebepunkt fiir die Event-Steuerung iiber die Normalkraft zwischen Reifen und Fahrbahn. Die Kontaktphase kennzeichnen wir in den Bewegungsgleichungen nicht, die Abhebephase mit"—". Da fiir beide Phasen unterschiedliche Bewegungsgleichungen gelten, spricht man von einem strukturvariablen System. Ausgehend von einer Bewegung mit Fahrbahnkontakt geht dieser nach Voraussetzung verloren, wenn die Normalkraft auf den Reifen FN = -dRXR - kRXR
(8.83)
verschwindet. Aufgrund des Dampferelementes wird dies nicht fiir XR = 0 erfiillt sein, so dass der Kontakt verloren geht, wenn XR ^ 0, d. h. der Reifen ist verformt. Die zugehorigen Bewegungsgleichungen entsprechen denen aus (8.81) fiir die Zustande y = (-^A, y/?, XD, XA, JR^xof,
(8.84)
wenn wir JA aus (8.82) einsetzen. Somit folgen die impliziten - wir konnen nicht explizit nach XD auflosen - nichtlinearen Bewegungsgleichungen 5. Ordnung in der Kontaktphase: mA{xA^
yR)+kA{xA-yR)^FDp{xA,XD)
=
mRjR + dRJR + kRjR - kA {xA -yR)-FDjy + dRU + {kA + kR) (4o + w) 0 = Fop {XA ,XD)- FDI) {VD)
-mAg-kA{(^RQ+u)
= -rriRg
mit der Zwangsbedingung in diesem Bereich XR=yR-u-lRQ
.
(8.86)
Wir nutzen (8.86) auch als Schaltfunktion fiir das Aufsetzen des Rades. Die Abhebephase beginnt
8.6 Hubschwingungen eines Viertelfahrzeugs mit nichtlinearem StoBdampfer
371
mit FN = 0 und XR ^ 0, d. h. mit bleibender Reifenverformung. Um den Abbau dieser Verformung zu berlicksichtigen, fiihren wir die zusatzliche Variable x^ ein. Die Dynamik der Entspannung soil der rechten Seite der Normalkraft (8.83) geniigen 0 = —dRX^ — URX^ . Entsprechend folgt f den abgehobenen Zustand aus (8.85) das implizite Differenzialgleichungssystem 6. Ordnung ^A{x'l + yR)^kA{x'l-x'^)+FDp{x'l,x'^) mRyR - kAix^ -^R)-FD^{^D) _
^=
_
_
_
= -mAg
= -^R8
_
(o.o/)
FDA^A^^D)-FDO(^D)
dRX^ = —kRX^,
Reifenentspannung
fiir die Zustande ohne Fahrbahnkontakt
Das strukturvariable System zeichnet sich durch Anderung der Bewegungsgleichungen und deren Ordnung aus. Die Gleichungen (8.85), (8.87) sind wegen der StoBdampferkomponenten nichtlineare gewohnliche Differenzialgleichungen mit stiickweise stetiger Kennlinie nach Bild 8.41. Will man sie als ODE numerisch losen, muss die Kraftebilanz am StoBdampfer 0 = FDP{XA,XD)-FDJ){VD),
VD=XD-XR
(8.89)
explizit nach XD aufgelost werden. Dies gelingt in der Regel nur bei linearer Abhangigkeit von XD, SO dass hier andere Vorgehensweisen erarbeitet werden miissen. Denkbar waren: 1. Einfiihrung einer kleinen Dampfermasse mo, wie in Bild 8.41, so dass M regular (System 6. Ordnung) 2. Problem als eventgesteuertes differenzial-algebraisches Gleichungssystem (DAE) losen, obwohl es sich im strengen Sinne nicht darum handelt, da wir mit Minimalkoordinaten arbeiten. 3. Problem als eventgesteuertes implizites Differenzialgleichungssystem mit odelSi losen. Die zweite Vorgehensweise woUen wir verfolgen. Die durch den StoBdampfer und durch das Abheben bzw. Aufsetzen des Rades zu berlicksichtigenden Unstetigkeiten sind Zustandsereignisse, d. h. der Zeitpunkt des Events ist nicht bekannt. Beziiglich der unstetigen Dampferkennlinie ware eine Integration iiber die Unstetigkeit mit einer if-else Formulierung vertretbar. Wir aber arbeiten beide Events mit Hilfe von Schaltfunktionen, vgl. Abschn. 5.6, in das Problem ein. Mit (8.85), (8.87) liegen differenzial-algebraische Gleichungssysteme mit konstanter Massenmatrix vor. Da d{FDp — FD^,)/dXD 7^ 0, liegt nach Abschn. 5.4 ein Index-1-Problem vor und ist somit unmittelbar mit MATLAB losbar. Fiir die numerische Bearbeitung gehen wir auf eine vektorielle Schreibweise iiber, dies bedeutet fiir (8.85), also der Kontaktphase: y\ = {XA, yR, XD)^,
yi = {XA, n, XD)^
Bewegungsgleichungen (sechs) mit Kontakt:
(8.90)
372
8 Projekte
My2 = Myi = -Dy2 -Kyi - / / r ( y i ) -foiyi)
^fuU^fuU^fgg^fo
(8.91)
Schaltfunktionsvektor: q =
XD—XR
Kennlinienumschaltung Normalkraft, —F^
— Viitn
dRXR-\-kRXR
(8.92)
Im abgehobenen Zustand folgt mit (8.87) und (8.88) fiir die sieben Bewegungsgleichungen ohne Kontakt 3^1 = i^A ^ yR' jr =y2 My- = -K'ydRX^ =
^D)^
(8.93)
-/D(y2 ) + A A ^ ^ + / ^
(8.94)
yi = i^A' yR ^
^DY^
-fxiy^)
-kRX^.
Schaltfunktionsvektor: ^D
q
yR
^R
-^R
^lim -U-^RQ
Kennlinienumschaltung Geometric, Kontaktpunkt
(8.95)
mit der singularen Massenmatrix M
MA 0 0
rtiA 0 mi? 0 0 0
(8.96)
der Dampfungs- und Steifigkeitsmatrix D
0 0 0
0 Ji? 0
0 0 0
K
kA + koi —kA —koi —kA kA-\-kR 0 -koi 0 ^Di
(8.97)
der Kraft des nichtlinearen Federanteils und der viskosen Dampfung fK{yi)^fD{y2) sowie
1 " 0 {xA-XDf-\= kD2 1
0 -1 1
FDD{VD)
(8.98)
8.6 Hubschwingungen eines Viertelfahrzeugs mit nichtlinearem StoBdampfer 373
-ruA J gu —
kA + ko^ 0 -ko^ -kA 0 0 -ko^ 0 ko^
K^ =
-MR
0 J u •
-kA kA-\-kR 0
5
0 dR
JU •
5
JkA
0
(8.99)
kA -kA
7
0
Zusatzlich zu den Schaltfunktionen q = (qi^ qiY. q wir den Vektor der Schaltkoeffizienten
/ o = fu^Ro '
= (^i ? ^2 )^ ^^^^ (8.92), (8.95) fiihre (8.100)
("^1, ^^2)
ein. Damit sollen die Kennlinienumschaltung sowie der tJbergang mit/ohne Kontakt gesteuert werden. Der Anfangszustand folgt mit den Anfangswerten zu ^1 = sign(^i) ^^2^
{-I
mit Kontakt ohne Kontakt
fur F^ > 0, d. h. ^2 < 0 fiir ^2 > 0
(8.101)
Der einfachheitshalber legen wir eine Umschaltung nach einer Detektion eines Ereignisses durch Vorzeichenwechsel der jeweiligen Komponente von s fest. 8.6.2
Programmierhinweise
Zu 2.: Die Simulationsparameter sind in Tabelle 8.4 zusammengefasst. Zum Hauptprogramm Tabelle 8.4: Systemparameter StoBdampfer
Fahrzeugkomponenten Chassis-Masse Rad-Masse Federsteifigkeit Reifensteifigkeit Reifendampfung Fahrwegprofil Wegamplitude Wegfrequenz
m^ = 1112 kg MR = 105 kg kA = 125 kN/m kR = 487 kN/m dR = 20 kN s/m u{t) = UQ COS (271 fut) UQ = 0,05 m Ao=2Hz
Erdbeschleunigung
g = 9Mm/s^
dc = 1,1 kN s/m 4 = 21 kN s/m dh = 6,5 kN s/m ^lim= 0,175 m/s a = 0,07 m/s ko^ = 2 kN/mm y^/)2=0,16kN/mm3
f a h r z .m, zur Function f f a h r z .m und e f a h r z .m aus [59] geben wir einige Erklarungen. Zunachst fassen wir die Parameter einschlieBlich der System-Matrizen und -Vektorfunktionen (8.96)-(8.99) in einem einfachen Structure p zusammen, dies schlieBt den Handle der Anonymous Function fiir die Fahrbahnfunktion u = uo cos Qt mit ihren zeitlichen Ableitungen ein. Wir zeigen einen Ausschnitt aus f a h r z . m in [59]:
374
8 Projekte p.File='fahrz.m'; p.mA = 1112.0; p.mR = 105.0; p.kA = 125.0e+03;
Datensatzkennung Masse des Aufbaus [kg] Masse des Rades [kg] Feder [N/m]
p.fu0=2.0; p.Om=2.O^pi^p.fuO; p.u=@(t) p.uO^cos(p.Om*t);
Erreger-Frequenz Abheben: fu0=1.5... 2 Falirbalinprof 11, Anon. F.
Damit wird das Daten-Handling iibersichtlich, zusatzliche Information - z. B. Datum, Integrationsverfahren usw. - lassen sich aufnehmen, demgegeniiber steht ein hoherer Schreibaufwand. Aus diesem Grund haben wir auch von einer Spezifiziemng der Komponenten, z. B. p.daempfer..., abgesehen. Sie ist in umfangreicheren Projekten durchaus sinnvoll. Die Fahrbahnfunktion und deren 1. und 2. Ableitung wurden jeweils als Function Handle einer Anonymous Function vereinbart. Diese gehen an unterschiedlichsten Stellen der Programme in die Rechnung ein, wo sie mit den aktuellen Daten ausgewertet werden. Alternativ ware eine Stringauswertung der Funktionen mit dem eval Befelil oder in einer inline Function, siehe Abschn. 1.3.4.3, moglich; z.B. p . u=inline (p . u O ^ c o s ( p . O m ^ t ) ' , ' p ' , ' t ' ) } Oder . . . , ' p . u O ' , ' p . O m ' , ' t ' ) , mit dem Aufruf u=p.u(p,t oder u=p.u(p.uO,p.Om,t) Vorteil: bei Anderung der Funktion u{t) ist dies nur an einer Stelle im Programm vorzunehmen, Fehler infolge IVlehrfacheintragungen werden vermieden. Ausgehend von Anfangswerten yO zum Zeitpunkt to, die hier einen Kontaktpunkt mit dem Fahrbahnprofil erfullen, ist die Initialisierung vorzunehmen. Es muss festgestellt werden, auf welchem Zweig -VD < vum bzw. v^ > vum - der Dampferkennlinie nach (8.79), (8.80) wir uns befinden. Entsprechend ist die erste Komponente von q nach (8.92) auszuwerten und aus (8.100) das Schaltkoeffizientelement s (1) mit +1 oder -1 zu belegen. v_DO=yO(6)-yO(5)+p.u_p (tO); s(1)=-sign(v_DO-p.vlim);
Ereignls: Dampfer Schaltkoeffizient
Desgleichen muss dies fiir die Kontakt- oder Abhebephase des Rades durchgefuhrt werden. Hierzu sind die zweiten Komponenten der Schaltfunktionen q und q~ nach (8.92), (8.95) auszuwerten und das korrespondiere Element s (2) zu besetzen: if yO(2) < p.uO+p.lRO s(2) = 1; Mz=[eye(3) zeros(3) zeros (3) M ] ; yout=[yO;yO(2)-p.uO-p.IRO].'; else s(2) =-1; yO=[yO; 0.0]; yout=yO; Mz=[eye(3) zeros(3,4) zeros(3) M zeros(3,l) zeros (1,6) 1]; end
% d.\,li. FN > 0 % Massenmatrix bei Kontakt % Erganzung des Ausg.-Vektors % Anfangswertvektor % Massenmatrix oline Kontakt
8.6 Hubschwingungen eines Viertelfahrzeugs mit nichtlinearem StoBdampfer375 Zusatzlich ist zu bedenken, dass ein strukturvariables Modell bearbeitet wird, d. h. es ist gleichzeitig die zugehorige Massenmatrix anzugeben und der Anfangswertvektor yO an die Systemordnung anzupassen. Letztendlicli sind die Ausgabevektoren zu initialisieren. Sie werden nach jedem eintretenden Ereignis um die bis dahin aufgelaufenen Integrationsdaten erganzt. Die Integration iiber das vorgegebene Zeitintervall arbeiten wir innerhalb einer while Schleife ab. % %
while te > to % Zeitschleife Initialisierung der options innerhalb der while-Schleife, da Dimension von Mz variabel options=odeset('Mass',Mz,'MassSingular','yes', . . . % NDF-Verfahren 'Events', gefahrz,'AbsTol',epsq^lO); [t,y,tE,yE,iE]=odel5s(@ffahrz,[tO te],yO,options,p);% Int.-Aufruf
Die Integration wird im Ereignispunkt unterbrochen. Ausgegeben werden der Zeit- und Zustandsvektor sowie die Vektoren zu dem aufgetretenen Ereignis: Zeit tE, Zustand yE und Komponente iE der Schaltfunktion zu dem das Ereignis geliort. Zunaclist werden die Daten umgespeichert, gegebenenfalls der Zustandsvektor zu beiden Bewegungsphasen (mit/ohne Kontakt) einheitlich gestaltet. Die neuen Anfangswerte fiir das sich anschlieBende Integrationsintervall miissen besetzt werden: nt=length(t); tout=[tout;t]; if s(2) == 1 u=p.u(t); yout=[yout; y y ( :,2)-u-p.IRO]; else yout=[yout; y ] ; end yO=y(nt, : ) ; tO=t(nt)
Dateniibernahme nach Nullstelle Kontaktphase Fahrweg mit Anonymous F. um x_R erganzt Elugphase Startwerte fiir nachstes Intervall
Es fehlt eine ahnliche Initialisierung wie vor dem Start, wobei wir den Schaltfunktionsvektor q bzw. q~ zum Ereigniszeitpunkt nur zu KontroUzwecken nutzen. Welches Ereignis auftrat, entnehmen wir iE. Dabei muss beriicksichtigt werden, dass iE auch als Vektor auftritt, wobei dann das vorangegangene Ereignis enthalten ist. Aus diesem Grund ordnen wir das aktuelle Ereignis iiber den letzten Zeitwert von t also tO=t(end) zu. Die eigentliche Umschaltung iiber die Schaltkoeffizienten gestalten wir recht einfach durch Vorzeichenwechsel, dies lasst sich verfeinern. SchlieBlich sind, wie in der Anfangsinitialisierung, der voUstandige Anfangswertvektor yO und die Massenmatrix Mz zuzuordnen. Aufgrund dieses Strukturwechsels muss die obige Options-Initialisierung innerhalb der while Schleife stehen. u=p.u (tO); u_p=p.u_p (tO) ;
% Anonymous F.; Fahrweg mit % zeitl. Ableitung
if s(2) ==1 % Schaltvektoren q=[y(nt,6)-y(nt,5)+u_p-p.vlim;... % bei Kontakt p.kR* (y (nt, 2) -u-p.lRO) +p. dR* (y (nt, 5) -u_p) ] ;
376
8 Projekte
else q= [y (nt, 6) -y (nt, 5) +u_p-p . vlim; . . . y(nt,2)-u-p.lRO-y(nt,7)]; end
in der Flugphase
if isempty(iE) ~= 1 % Nullstelle I=find(tO == t E ) ; % isolieren iE=iE(I); % Ereignis zu tO tE=tE(I); % Ereigniszeit if abs(q(iE)) > epsq % Schaltfunkt.-Kontrolle disp(['Nullstellentoleranz verletzt : q C ,num2str (iE) ,' )= ' . ,num2str(q(iE),'%8.6e')]) pause end s(iE)=-s(iE) % einfachste Umschaltung if iE == 2 && s(2) == : y0(7) = []; Mz=[eye(3) zeros(3) zeros (3) M ] ; elseif iE == 2 && s(2) xR=y(nt,2)-u-p.IRO ; yO=[yO x R ] ; Mz=[eye(3) zeros(3,4) zeros (3) M zeros (3,1) zeros (1,6) 1 ] ; end end teout=[teout;tE]; ieout=[ieout;IE]; end
% Kontaktphase % Anfangswerte % Massenmatrix % Abhebephase % Anfangswerte % Massenmatrix
% Ereigniszeitpunkte % Ereignisvektor % Ende Zeitschleife
In der Function f f a h r z .m aus [59] der Differenzialgleichung sind lediglich die recliten Seiten von (8.91) und (8.94) mit deren Umschaltung realisiert. Wir gehen nicht weiter darauf ein. Die Berechnung der Schaltfunktionen q und q~ nach (8.92), (8.95) zur Detektion der Ereignisse erfolgt in der Function e f a h r z . m. function [q,isterminal,direction] global s u=p.u(t) ; u_p=p.u_p (t) ;
efahrz(t,y,p) % Parameteriibergabe % Anonymous F.; Fahrweg mit % zeitl. Ableitung
if s(2) == 1 q=[y(6)-y(5)+u_p-p.vlim;... % Kennlinienumschaltung + p.kR*(y(2)-u-p.lRO)+p.dR^(y(5)-u_p)]; % Normalkraft else q=[y(6)-y(5)+u_p-p.vlim;... % Kennlinienumschaltung + y(2)-u-p.lRO-y(7)]; % Kontakt end isterminal=[1; 1 ] ; % Stop bei Nullstelle direction =s'; % Triggervorgabe
8.6 Hubschwingungen eines Viertelfahrzeugs mit nichtlinearem StoBdampfer377 Wesentlich ist darin die Triggervorgabe unter d i r e c t i o n , wir geben explizit an, wann - bei steigender oder fallender Funktion qj - nach einer NuUstelle zu suchen ist. Dies ist fiir die Umsclialtung der Dampferkennlinie zwingend erforderlich. Es hangt, neben der Umschaltstrategie Sj -Sj im Hauptprogramm, mit der unter MATLAB festgelegten Nullstellen-Lage vor oder nacli dem Ereignis - zusammen. In Absclin. 5.6.4 wird dies ausfiihrlicher dargelegt. Fiir die zweite Komponente von q ist dies ohne Bedeutung, da liier an der NuUstelle die Schaltfunktion gewechselt wird und somit eng beieinander liegende Nullstellen einer Funktion nicht auftreten, demzufolge batten wir auch d i r e c t i o n = [ s (1) , 0 ] wahlen konnen. 8.6.3
Simulationsergebnisse
Zu 3.: Einige Ergebnisse, denen die Standardparameter aus Tabelle 8.4 zu Grunde lagen, woUen wir bezuglich der Schwingungen und der Kraftverhaltnisse im Aufsetzpunkt diskutieren. Dazu 0.1
E
y ^
0
yr^yU
/ ^
/^
\y
^
=3
^
-0.1
X
x< -0 2 11
^^\
- \y
i'^A
-0.3
Bild 8.43: Auslenkungen und Reifennormalkraft, WQ = 0,05 m, /WQ = 2,0 Hz
betrachten wir zunachst die Zeitverlaufe in Bild 8.43. Die Abhebebereiche sind durch senkrechte Linien eingegrenzt. In diesen Bereichen ist die Normalkraft null, die Reifenverformung erst nach einer sehr kurzen Entspannungsphase, wie wir es in (8.87) angesetzt haben. Das Rad hebt infolge der vorgegebenen Anfangszustande in den beiden Bereichen 0,025 < t < 0,07 s und 0,61 < ^ < 0,83 s kurzzeitig ab. Nach diesem Einschwingvorgang besteht standiger Bodenkontakt. Erhohen wir allerdings die Amplitude des Fahrbahnprofils u^ um ca. 25 %, dann kommt es auch durch die Unebenheit zu Abhebevorgangen. Im Normalkraftverlauf von Bild 8.433 und deutlicher in
378
8 Projekte
x10
Bild 8.44: Reifennormalkraft in Abhangigkeit von der Reifenverformung Bild 8.44, wo F^^ iiber der Reifenverformung XR aufgetragen ist, ist im Aufsetzpunkt ein Kraftsprung zu beobachten. Ursache liegt im Reifenmodell, spezieller am Dampfungsanteil, der infolge der Aufsetzgeschwindigkeit diese StoBkraft erzeugt. Es ist spezifisch fur das KELVIN-VoiGTModell, welches somit weniger fiir derartige Modellierungen geeignet ist. Man wahlt zweckmaBigerweise kraftstoBfreie StoBmodelle. Hierzu zahlen die linearen Drei-Parameter-Modelle: - Modell a): Reihenschaltung eines KELVIN-VoiGT-Modells mit einer Feder, - Modell b): Parallelschaltung von einem Modell nach MAXWELL und einer Feder, siehe Bild 8.45:
Fahrbahn
^ Fahrbahn
Bild 8.45: StoBmodelle ohne bleibende Kraftunstetigkeiten und bleibende Verformungen tjbungsvorschlag: Erstellen Sie auf der Basis von f a h r z .m, f f a h r z .m, e f a h r z .m ein Programmsystem, bei dem iiber die Unstetigkeit der Dampferkennlinie hinwegintegriert wird. Vergleichen sie die Ergebnisse beider Vorgehensweisen.
Literaturverzeichnis [1 Control System Toolbox, For Use with MATLAB®, Vers. 6.2.1. The MathWorks, Inc., 2005. [2 SimDriveline, For Use with Simulink®, Vers. 1.2. The MathWorks, Inc., 2006. [3: SimHydraulics, For Use with Simulink®, Vers. 1.1. The MathWorks, Inc, 2006.
[4 SimMechanics, For Use with MATLAB®, Vers. 2.5. The MathWorks, Inc., 2006. [5 SimPowerSystems, For Use with Simulink®, Vers. 4.0. The MathWorks, Inc., 2006. [6 Simulink®, Simulation and Model-Based Design, Vers. 6.4. The MathWorks, Inc., 2006. [T Stateflow®, For Use with Simulink®, Vers. 6.4. The MathWorks, Inc, 2006. [8: Angermann, A.; Beuschel, M.; Ran M.: MATLAB-Simulink-Stateflow. Oldenbourg, Munchen, 4. Auflage, 2005, ISBN 3486577190. [9 Arnold, M.: Zur Theorie und zur numerischen Losung von Anfangswertproblemen fur differentiellalgebraische Systeme von hoherem Index. VDI-Verlag, Fortschr. Ber., VDI, Reihe 20, Nr. 264, Dusseldorf, 1998. [10 Babitsky, V. I.; Krupenin, V. L.: Vibration of Strongly Nonlinear Discontinuous Systems. Springer Verlag, Berlin, 2001, ISBN 3-540-41447-9. [11 Baumgarte, J.: Stabilization of Contraints and Integrals of Motion in Dynamik Systems. Comp. Math, in Appl. Mech. and Eng. 1 pp. 1-16, 1972. [12 Bestel, D.: Analyse und Optimierung von Mehrkorpersystemen. Springer Verlag, Berlin, 1994, ISBN 3-540-57735-1. [13 Beucher, O.: MATLAB und Simulink. Pearson Studium, Munchen, 2. Auflage, 2006, ISBN 3827372062. [14 Biran, A.; Breiner, M.: MATLAB 5 fUr Ingenieure. Addison-Wesley, Bonn, 3. Auflage, 1999, ISBN3-8273-1416-X. [15 Bremer, H.: Dynamik und Regelung mechanischer Systeme. B. G. Teubner, Stuttgart, 1988, ISBN 3-519-02369-5. [16 Brenan, K. E.; Campbell, S. L.; Petzold L. R.: Numerical Solution of Initial-Value Problems in Differential Algebraic Equations. Vol. 14 of Classics in Applied Mathematics, SIAM, Philadelphia, PA, 1996. [17 Brommundt, E.: Ein Reibschwinger mit Selbsterregung ohnefallende Reibkennlinie. ZAMM, 75, 11,S. 811-820, 1995. [18 Cebon, D.: Handbook of Vehicle-Road Interaction. Swets & Zeitlinger B.V, 1999.
380
Literaturverzeichnis
[19] Cellier, F. E.: Continuous System Modeling. Springer-Verlag, Berlin, 1991, ISBN 0-387-97502-0. [20] Dormand, J. und Prince, D.: Practical Runge-Kutta processes. SIAM J. Sci. Compt. 10(5), p 977-989, 1989. [21] Eich-Soellner, E.; Flihrer, C : Numerical Methods in Multibody Dynamics. B. G. Teubner, Stuttgart, 1998, ISBN 3-519-02601-5. [22] Faupel, D.; Groba, M.: Levitron geklont. h t t p : / / u s e r s . a o l . c o m / g y k o p h y s / l e v i t r o n / levitron.htm. [23] Fischer, U.; Stephan, W.: Mechanische Schwingungen. Fachbuchverlag Leipzig GmbH, Leipzig, 1993, ISBN 3-343-00841-9. [24] Gasch, R,; Knothe K.: Strukturdynamik Bd 1/2. Springer, Berlin, 1987, ISBN 0-387-16849-4. [25] Gasch, R; Lang, M.: Levitron - ein BeispielfUr die rein permanentmagnetische Lagerung eines Rotors. ZAMM 80, 2, S. 137-144, 2000. [26] Gekeler, E. W.: Mathematische Methoden zur Mechanik. Springer-Verlag, Berlin, 2006, ISBN 3540302670. [27] Genta, G.: Vibration of Structures and Machines. Springer, Berlin, 1999, ISBN 0-387-98506-9. [28] Geradin, M.; Rixen, D.: Mechanical Vibrations, Theory and Application to Structural Dynamics. Wiley, 1994, ISBN 0-471-93927-7. [29] Glocker, C.: Dynamik von Starrkorpersystemen mit Reibung und Stofien. Dissertation, Lehrstuhl B fur Mechanik, TU Munchen, 1995. [30] Gramlich, G. M.: Eine EinfUhrung in MATLAB (Version 7). Institut flir Antriebstechnik und Mechatronik, FH Ulm, Fachbereich Grundlagen, 2006. h t t p : / /www . r z . f h - u l m . d e / -gramlich/EinfMATLAB.pdf. [31] Grupp, F.; Grupp, K: MATLAB 7fUrlngenieure. Oldenbourg Verlag, Munchen, 4. Auflage, 2006, ISBN 3-486-57925-8. [32] Gulley, N.: Picking up the Pace with the MATLAB Profiler. MathWorks, MATLAB News & Notes (Mai 2003), The MathWorks, Inc, 2003. h t t p : / /www. mathworks . com/company/ newsletters/news_notes/may03/profiler.html. [33] Gulley, N.: Working with Cell Mode in MATLAB 7. MathWorks, MATLAB News & Notes (Dec. 2004), The MathWorks, Inc, 2003. h t t p : //www .mathworks . d e / c o m p a n y / newsletters/news_notes/dec04/cellmode.html. [34] Hairer, E.; Wanner, G.: Solving Ordinary Differential Equations U. Springer, Berlin, 1991. [35] Hatch, M. R.: Vibration Simulation Using MATLAB andANSYS. Chapman & Hall, London, 2001. [36] Heimann, B.; Gerth, W.; Popp K.: Mechatronik. Carl Hanser Verlag, Leipzig, 2. Auflage, 2001, ISBN 3-446-18719-7. [37] Hoffmann, J.: MATLAB und Simulink: Beispielorientierte EinfUhrung in die Simulation dynamischer Systeme. Addison-Wesley, Bonn, 1998, ISBN 3-8273-1077-6.
Literaturverzeichnis
381
[38] Hoffmann, J.; Bmnner, U.: MATLAB und Tools. Addison-Wesley, Bonn, 2002, ISBN 3-8273-1895-5. [39] Hones, W. G.: How the Levitron Works, h t t p : / /wvfvf. f a s c i n a t i o n s . com/ LevitronScience.htm. [40] Kauderer, H.: Nichtlineare Mechanik. Springer-Verlag, Berlin, 1958. [41] Kautsky, J.; Nichols, N. K.: Robust Pole Assignment in Linear State Feedback. Int. J. Control 41 pp 1129-1155,1985. [42] Kessel, S.; Frohling, D.: Technische Mechanik. B. G. Teubner, Stuttgart, 1998. [43] Kopka, H.: LaTex, Bd. 1: EinfUhrung. Addison-Wesley, Bonn, Munchen, 2005, ISBN 3827370388. [44] Levitron. Levitron Homepage, h t t p : //www. l e v i t r o n . d e / . [45] Lunze, J.: Regelungstechnik 1. Springer Verlag, Berlin, 1996, ISBN 3-540-61404-4. [46] Lunze, J.: Regelungstechnik 2. Springer Verlag, Berlin, 1997, ISBN 3-540-61898-8. [47] Magnus, K.; Popp, K.: Schwingungen. B. G. Teubner Verlag, Stuttgart, 7. Auflage, 2005, ISBN 3519523019. [48] Moler, C.: Numerical Computing with MATLAB. SIAM, Philadelphia, 2004, ISBN 0-89871-560-1. www.mathworks.com/moler/. [49] Mliller, P. C ; Llickel, J.: Zur Theorie der Storgroflenaufschaltung in linearen Mehrgrofienregelsystemen. Regelungstechnik, 25, S. 54-59, 1977. [50] Muller, P. C : Stabilitdt undMatrizen. Springer-Verlag, Berlin, 1977, ISBN 3-540-07981-5. [51] Muller, P. C ; Schiehlen, W: Lineare Schwingungen. Akademische Verlagsgesellschaft, Wiesbaden, 1976. [52] Otter, M.; Elmqvist, H.; Mattson S.E.: Objektorientierte Modellierung Physikalischer Systeme, Teil 8. at-Automatisierungstechnik 48, R. Oldenbourg Verlag, 2000. [53] Otter, M.: Modeling Friction in Modelica with the Lund-Grenoble Friction Model. 2. International Modelica Conference, Proceedings, pp 285-294, 2002. h t t p : / / w w w . M o d e l i c a . o r g / e v e n t s / c o n f e r e n c e 2 0 02. [54] Pelz, G.: Modellierung und Simulation mechatronischer Systeme. Hlithig, Heidelberg, 2001, ISBN 3-7785-2848-3. [55] Pfeiffer, R; Glocker, C : Multibody Dynamics with Unilateral Contacts. Springer-Verlag, Berlin, 2000, ISBN 3-211-83330-7. [56] Pfeiffer, R: EinfUhrung in die Dynamik. B. G. Teubner, Stuttgart, 2. Auflage, 1992, ISBN 3-519-12367-3. [57] Pietruszka, W. .D.: Digitale Regelung und Storgrofienkompensation magnetisch gelagerter Rotoren. VDLBerichte Nr. 550, 1985. [58] Pietruszka, W. D.: MATLAB in der Ingenieurpraxis. Teubner-Verlag, Stuttgart, 1. Auflage, 2005, ISBN 3-519-00519-0.
382
Literaturverzeichnis
[59] Pietmszka, W. D.: Programmsammlung aufder Homepage zum Buck: MATLAB und Simulink in der Ingenieurpraxis. B. G. Teubner, Stuttgart, 2006. www. t e u b n e r . de. [60] Pietmszka, W. D., Wagner N.: Aktive Beeinflussung des Schwingungsverhaltens eines magnetisch gelagerten Rotors. VDI-Berichte Nr. 456, 1982. [61] Prabhu, S. M.; Mosterman, P. J.: Model-Based Design of a Power Window System: Modeling, Simulation, and Validation. Math Works, Technical Report. [62] Pratap, R.: Getting Started with MATLAB 5. Oxford University Press, New York, Oxford, 1999, ISBN 0-19-512947-4. [63] Pratap, R.: Getting Started with MATLAB: Version 7. Oxford University Press, New York, Oxford, 2005. [64] Roddeck, W: EinfUhrung in die Mechatronik. B. G. Teubner, Stuttgart, 2. Auflage, 2003, ISBN 3-519-16357-8. [65] Roddeck, W: EinfUhrung in die Mechatronik. B. G. Teubner, Stuttgart, 3. Auflage, 2006, ISBN 3-8351-0071-8. [66] Schiehlen, W; Eberhard, P.: Technische Dynamik. B. G. Teubner Verlag, Stuttgart, 2. Auflage, 2004, ISBN 3-519-12365-7. [67] Schweizer, W: MATLAB kompakt. Oldenbourg Verlag, Munchen, 2005, ISBN 0195179374. [68] Shampine, L. R: Numerical Solution of Ordinary Differential Equations. Chapman & Hall, 1994. [69] Shampine, L. K; Reichelt, M. W: The MATLAB ODE Suite. SIAM J. Sci. Comput. 18, 1-22, 1997. [70] Shampine, L. K; Reichelt, M. W.; Kierzenka J. A.: Solving Index-1 DAEs in MATLAB and Simulink. SIAM Review, 41, pp. 538-552, 1999. [71] Tiller, M.: Introduction to Physical Modeling with Modelica. Dordrecht, Kluver, 2001. [72] Ulbrich, H.: Maschinendynamik. B. G. Teubner Verlag, Stuttgart, 1996. [73] Ulbrich, H.: Technische Mechanik VI, Vorlesungsskript. TU-Munchen, 2003. www. amm. mw. turn. de. [74] Voss, H.: Numerische Grundlagen der digitalen Simulation dynamischer Systeme. TU Hamburg-Harburg, Report 19, 1998. www. t u - h a r b u r g . d e / m a t / . [75] Wittenburg, J.: Schwingungslehre. Springer Verlag, Berlin, 1996, ISBN 3-540-61004-9. [76] Woernle, C.: Simulationstechnik in der Mechatronik, Vorlesungsskript WS 2005/6. Institut flir Antriebstechnik und Mechatronik, Universitat Rostock, h t t p : / / 1 3 9 . 3 0 . 1 0 2 . 1 0 0 / l e h r e / skr/vorlesungen/simulationstechnik/simulation.htm. [77] Woernle, C: Dynamik von Mehrkorpersystemen, Vorlesungsskript. Institut flir Antriebstechnik und Mechatronik, Universitat Rostock, 2004. h t t p : / / 1 3 9 . 3 0 . 1 0 2 . 1 0 0 / l e h r e / s k r / vorlesungen/mehrkoerperdynamik/mehrkoerper.htm. [78] Wood, G. D.; Kennedy, D. C.: Simulating Mechanical Systems in Simulink with SimMechanics. Mathworks, The Math Works, Inc., 2003. h t t p : / /www. mathworks . com.
Stichwortverzeichnis Symbole < , < = kleiner, kleiner gleich, 21 \ / Links-, Rechts-Division, 15 ~ Negation, 21 ' ' String, 28 ff, 31,41,43 ' Transposition, konj.-kompL, 15 + — * / \ " Rechenoperatoren, 5 , ; Abschluss mit/ohne Ausgabe, 5 .' Transposition, 15 .* .\ ./ ." elementweise Op., 15 ... Zeilenumbruch, 25 . Separator im Structure, 20 ff : Doppelpunkt-Operator, lOff ==, r^= gleich, ungleich, 21 = Zuweisung, 5 [] Matrix-Klammer, lOff %% Cell Divider, 25 %{...%} Kommentarblock, 25 % Kommentarzeile, 25 I, II Oder; Matrix-, Skalar-VergL, 21 > , >= groBer, groBer gleich, 21 &, & & Und; Matrix-, Skalar-VergL, 21 \n Zeilenumbruch im String, 28 ff, 163 { } Cell Array Element, 21 algebraisches Gleichungssystem, 18, 72, 131, 137, 329 - inhomogen, 135, 136, 141 - linear, 334 - nichtlinear, 109, 300 Amplitudenfrequenzgang, 42, 333 Analogiebeziehung, 81 analytische Losung, 326 Anfangswert, 135, 146 - Anpassung, 329 - konsistent, 227, 230, 243, 347 Anfangswertproblem, 201, 216, 229 Animation, 55 - 3D-Modell, 60 - Drehbewegung, 63 - Dreifachpendel, 359 - EraseMode, 56 ff - background, 56 - none, 56 - normal, 56 - xor, 56 - Fachwerk, 58
- getframe, 56, 63 - Linienmodell, 57 - komplexe, 59 - Modellerstellung, 55 - Movie, 56, 58 - Rotorelement, 60 - Schraubenfeder, 58 Anonymous Function, siehe Function Anstiickelmethode, 327 Arbeitspunkt, siehe Schwingung, 293 Ausgangsmatrix, 131, 178 B Basisvektor, 84 Beobachtbarkeitsmatrix, 316 Beobachterentwurf, 323 Beschleunigung, 86, 88 Bewegungsgleichung - analytische Methode, 81 - autonom, 83 -D'Alembert, 102,219 - implizite Vektor-Form, 83 - Klassifizierung, 119 - Lagrange, siehe Lagrange -linear, 118 - Newton, 369 - Newton-Euler, siehe Newton-Euler - nichtautonom, 83 -nichtlinear, 111,209,370 - Normalform, 83 - synthetische Methode, 81 Bewegungsraum, 50 Bifurkationen, 225 Bindungen, 228, 237, 294 - Beschleunigungsebene, 230 -explizit, 81 - Geschwindigkeitsebene, 230 - holonom rheonom, 228 - holonom skleronom, 228 -implizit, 81 - Lageebene, 230 - Mannigfaltigkeiten, 225 - Schleifen-SchheBbedingung, 237 - Zwangsbedingungen, 228 Bodenkontakt, 368 Butcher-Tabelle, 150 Butterworth-Tiefpass, 173, 339
384
Stichwortverzeichnis
C Code S-Function, siehe Simulink Code-Beschleunigung, 64 Computeralgebra, siehe auch Symbolic Math Toolbox - Maple, 67 - symbolische Auswertung, 356 - symbolische Variable, 92 Control System Toolbox, 325 -acker, 317,325 - bode, 142-144 -dlqr,317 - freqresp, 142, 144 - impulse, 146, 207 - initial, 207 -lqr,317 -Iqry, 317 - Isim, 207 -place, 317, 325 - Riccati-Regler, 317 - ss Zustandsmodell, 206 - step, 146, 207 Coriohskraft, 307 Coulomb-Reibung, 258, 260, 273, 280, 301 D DampfungsmaB -Lehrsches, 133 - logarithmisches Dekrement, 133 Datentyp, 7 - class, siehe MATLAB-Befehl - double, single, int8,..., 7 - sym, siehe Symbolic Math Toolbox Defekt, 76 Desktop - Command History, 1 - Command Window, 1 - Current Directory, 1 - Workspace, siehe Workspace differenzial-algebraische GL, 202, 224, 307, 371 - DAE, 224 - Deskriptorform, 229 - Index, 224 ff, 308 - semi-exphzit, 229, 232 Differenzialgleichung - autonom, 201 - expHzit, 201 - gewohnlich, 224 - - Index 0, 236 - implizit, 201, 202, 242, 371 - kinematische, 229 - kinetische, 229 - linear, 117, 204 - nichtlinear, 209, 219 - semi-explizit, 227 - Steifigkeit, 155 Doppelpendel, 91, 97, 103, 107, 110, 237
Drall, 95, 96, 102, 129, 355 - Stabilisiemng, 129 Drallsatz, 81,94-99, 111, 113 Drehgelenk, 297, 301, 348, 363, 365 Drehtransformation, 86 Dreifachpendel, 352 Dreipunkt-Schaltlogik, 258, 263, 280 Drift, 234, 235, 240, 307, 308 E Editor, 26 - Cell divider, 29 Eigenschwingung, 117ff, 120, 123 Eigenschwingungsform, 124ff, 130 - Schwingerkette, 127 Eigenwertproblem, 76,120, 122-124, 128, 130, 329, 330, 334 - gewohnliche, 121 - spezielle, 121 - Zustandsgleichung, 129 Einschrittverfahren, 150 elektrisches Netzwerk, 205 Elementardrehung, 85, 86 Elementarwinkelgeschwindigkeit, 87 erzwungene Schwingungen, siehe Schwingung Euler-Approximation, 33 Euler-Winkel, 86 Event, siehe Unstetigkeit eventgesteuertes System, 371
frequenzmodulierte Schwingung, 333 Function - Anonymous Function, 37, 217, 374 - clear, 25 - Function Functions, 32 - Function Handle, 32 - inline, 25 - Kopfzeile, 25 - Nested Function, 34 - Parent Function Workspace, 34 - Schliisselwort, 31 Fundamentalmatrix, 131, 144
Gelenkkrafte, 347 Geschwindigkeit, 86 Gleichgewichtslage, 109, 117, 135, 146, 184, 293, 296, 298, 350, 353 - Linearisierung, 110, 115, 361 Grafik, 2D, siehe Grafik-Befehl Grafik, 3D, siehe Grafik-Befehl Grafik-Befehl, 37, 40, 42, 49 - Animation, siehe Animation - axis, 30, 42, 42, 43, 50, 63, 126, 360 - box, 49, 50, 52
Stichwortverzeichnis - elf, 39, 40, 43, 46 - close, 39 - close all, 39, 74 - comet, 40 - comet3, 49 - contour, 49 - contour3, 49, 52 - cplxroot, 163 - DefaultLineLineWidth, 38 - delete, 39 - drawnow, 39, 57, 182 - ezplot, 74 - Face Alpha, 58 - figure, 39, 43, 44, 46, 50, 360 - fill, 55, 58, 360 -fill3, 51,62 - fplot, 40 - gca, 38, 42, 43, 45, 125, 182, 360 - gcf, 38, 39, 39, 46, 125, 166, 360 -get,38ff - gplot, 60 - grid, 42, 43, 52, 182 - hold on, off, 32, 40, 42, 43, 50, 62, 217 - interpreter - - T ^ - , I^T^-Mode, 42 - legend, 42, 43 -line, 40, 45f - Linien-Eigenschaften, 45 - loglog, 40 - Marker-Eigenschaften, 45 - mesh, 49, 52 - meshgrid, 49, 52, 217 - patch, 49, 50 ff - plot, 40, 42-46, 360 - plot3, 49, 49, 50, 163 - plotstil, 41 ff --Color, 41 f - - Line Style, 41 - - Marker, 41 - plottools on/off, 46 - semilogx, 40 - semilogy, 40 -set,38ff - shg, 39 - spy, 14, 40 - stairs, 40 - stem, 40 - subplot, 39, 40, 43, 52, 125 -surf, 49, 51, 52, 61,62 - surf2patch, 52 - surfc, 49, 52 -surfl, 55 - text, 42, 43, 45, 46 - title, 30, 42, 43, 166 - view, 49, 50, 52 - waterfall, 49, 52
385
- xlabel, ylabel, 42, 43, 45, 50, 74, 166, 182 - xlim, ylim, zlim, 42, 126 - zlabel, 49, 50 Grafikfenster, 39 - figure, siehe Grafik-Befehl - subplot, siehe Grafik-Befehl Gravitationsvektor, 295 gyroskopischer Einfluss, 127 - Eigenwerte, 128 - Kreiseleinfluss, 129 H Haupttragheitsmoment, 306 Hebelmechanismus, 344 help, siehe MATLAB-Befehl Help Browser, 3 Hilfs-Schaltfunktion, 261, 281 HTML Dokument, 30 Hubschwingungen, 367
I-Anteil, 312 Impuls, 102, 355 Impulssatz, 81, 94, 97, 99, 111 Index, 229 instationare Schwingungen, 333 Integralanteil, 318 Integrationsaufruf, 213 - Optionen, 213 Integrationskonstante, 126, 329 Integrationsverfahren - Dormand-Prince, 152 - Einschrittverfahren, 150, 151 -Euler, 154 - riickwarts, 151 - vorwarts, 151 -explizit, 151, 153 -implizit, 151, 153 - Mehrschrittverfahren, 150, 151, 154 - - Adams-Bashforth, 151, 154 - - Adams-Moulton, 151, 154 - - B D F , 150,151 - - NDF, 150 - Pradiktor-Korrektor, 151, 154 - Runge-Kutta, 150 - Trapez-Regel, 153 Integratorwahl, 156 - Diskontinuitat, 188 inverse Dynamik, 308
Jacobi-Matrix, 94, 101-107 - Zwangsbedingungen, Bindungen, 228 JIT-Accelerator, 4, 64 Jordan-Matrix, siehe Symbohc Math Toolbox
386
Stichwortverzeichnis
K Kardan-Winkel, 85, 87 - Kardangelenk, 91 Kaskadenregler, 314 Kelvin-Voigt-Modell, 202 Kennlinienumschaltung, 253, 372 Kinematik, 83 - Lage, 83 - Mehrkorpersystem, 89 - Orientierung, Drehung, 83 Knotenlinie, 85 konservative System, 127, 187 - Eigenwerte, 123 konservatives System, 122 Koordinaten -abhangige, 81 - generalisierte, 89 - redundante, 228, 237 - unabhangige, 81 - verallgemeinerte, 102 Koordinatensystem, 84 -CS,294ff - Inertialsystem (/), 84 - korperfest (K), 84 - raumfest, 84 - World (W), 296 Kreuzprodukt, 97 Kurbeltrieb, 237 Kurzschluss-Operator, 23
I^TEX Dokument, 30
Lageregler, 314 Lagrange, 81, 104, 107 - Formalismus, 81 - Gleichung 1. Art, 228, 344 - Gleichung 2. Art, 82, 94,104, 107, 111, 354 - Multiplikator, 229, 307, 344 Levitron-Kreisel, 204, 311 lineare Schwingungsmodelle, 117ff Linearisiemng, 108, 115, 361 Lissajous-Figuren, 196 M M-Code-Erzeugung, 48 - Show M-Code, 48 M-Lint, Code Check, 30 magnetisch gelagerter Rotor, 311 - aktive Stabilisiemng, 312 Maple, 67 MATLAB Function, 3Iff MATLAB Script, 29 ff MATLAB-Befehl - abs, 8, 22, 23, 25, 34, 65, 124, 140, 144 f, 193, 256 f, 266, 375 -addpath,27f
angle, 8 f asin, 239 atan,atan2,8,43f,50f, 137 f blkdiag, 103 break, 23 cd,27 cell, 21 - cellplot, 21 char, 20 class, 5, 6, 68 clear, 5, 25 conj, 8 f continue, 23 ctranspose oder ',15 decic, 232, 236 det, 15, 76 diag, 10, 11 ff, 76, 99, 100, 103, 126, 130, 131, 233, 298, 330, 347, 356 diary, 5 dir, 27 disp,28, 108, 163,375 doc, 2 Doppelpunkt-Operator, lOff double, 6f, 7, 14, 18, 21, 69 ff, 78 ff eig, 15, 76,121, 124, 330, 361 eigs, 121, 130 end Op., 10, 43, 50, 252, 256, 330 eps, 5 error, 25, 193 eval, 25, 36, 43, 78, 79, 358 exist, 21 exp, 8, 70, 72 f, 74, 79, 131, 140, 144 f, 330 expm, 131, 146 eye, 10, 11 ff, 76, 94, 103, 130, 144, 178, 330, 356, 374, 375 feval, 25, 32 find, 15, 375 fopen, 28f for Schleife, 23, 24 ff, 33, 43 ff, 57, 63 ff, 65 format, 5 fprintf, 28, 163,281 global, 25, 31, 193, 221, 239, 253, 347, 376 help, 2, 5, 25 helpwin, 2 if Abfrage, 23, 32, 43, 65, 76, 193, 266, 281, 361, 375 imag, 8, 130, 131 inline, siehe Function input, 28, 164, 256 int2str, 28 inv, 15,76, 140, 144, 239 f, 358 isempty, 25, 28, 182,375 length, 15, 43, 76, 103, 130, 137, 138, 360 linsolve, 15, 18, 131 linspace, 10, 30, 32, 43, 49, 50, 57 f, 61, 126, 131, 137f, 138, 146,217,330,358
Stichwortverzeichnis - load, 5, 7 - log, log 10, 8 - logspace, 10 - lookfor, 3, 27 - min, max, 15, 50, 124, 266 - nargchk, 25 - nargin, nargout, 25, 32 - num2str, 28, 30, 375 - odeplot, 217 -odeset,213ff,227,233,253 -odexx, 214ff - - o d e l l 3 , 154, 188 --odel5i,242,371 --odel5s, 156, 188,226ff,233,347 - - ode23, 252 --ode23s, 188 --ode23t,226ff,347 - - ode45, 188, 202, 221, 233, 238 - ones, 10-12, 19, 22, 50, 52, 61-63, 217, 243, 360 - path, 27 - pause, 28, 58, 360 -persistent, 25, 31 -pi, 5 -prod, 15 - Profiler - - profile on, 65 - - profile viewer, 65 - Punktoperation, 118 - - elementweise Verkniipfung, 14 - pwd, 27 - quiver, 217 - rand, 10, 13, 70 -rank, 15,76, 316 -real, 8, 131, 140, 144f, 330 - realmax, realmin, 5 - return, 25, 28, 32 - rmpath, 27 f - save, 5, 7 - sign, 8, 193, 256 f - sin, cos, 8, 16, 30, 36, 50, 57, 62, 63, 72 f, 78, 93, 94, 137f, 138,239ff,347,360 - single, 6f, 7, 11, 14, 18,21,78 - size, 15, 50, 61-63, 193 -sort, 15,76, 124,130 - sparse, 10, 14 - sprintf, 28, 43 - sqrt, 8, 43, 50, 69, 70, 124, 136, 137 f, 149, 253, 334 f, 361 - struct, 20 - sum, 15 - switch, 23 - tan, 8 - tic, toe, 24, 28 - transpose oder .',15 - vectorize, 79 - what, 27
-
387
which, 27 while Schleife, 23, 34, 256 ff who, whos, 5, 7 xor, 21 zeros, 10, 11, 19, 24, 103, 130, 137, 138, 140, 144, 178, 243, 330, 356, 374, 375 MATLAB-Element - 3D-Matrix, 19, 138 - Anonymous Function, siehe Function - Array Editor, 2, 7 - Ausgabeformat, 6 - Blockdiagonalmatrix, blkdiag, 103 - Built-in Variable, 5, 7 -Cell Array, 20, 21 - Command Window, Fenster, siehe Desktop - Desktop, 1 - Diagonalmatrix, 12 - Haupt-, Neben-Diagonalelemente, 12 - Doppelpunkt-Operator, 13 - Einheitsmatrix, 11 - Einsmatrix, 11 - Elementansprechung, 13 - Elementfolgen, 11 - Function Handle, siehe Function - global Variable, siehe MATLAB-Befehl - Inline Function, siehe Function - komplexe Variable, 7 - M-Lint, Code Check, 30 - mathematische Funktionen, 8, 14 - Matrix-Operationen, 14 - mehrdimensionale Felder, 19 - Not a Number, NaN, 5 - Nullmatrix, 11 - Online-Hilfe, 2, 5 - Operationszeichen, 5 - persistente Variable, siehe MATLAB-Befehl - Profiler, 30, siehe Profiler -Punktoperation, 118, 133 - Structure, 20, 255, 373 - - struct, siehe MATLAB-Befehl - Unendlich inf, 5 - Variablenverwaltung, 5 - Vektor- und Matrix-Formulierung, 10 - Vektor-Operationen, 14 - Vergleichsoperatoren, 21 - While-Schleife, 24 - Workspace Browser, 7 - Zeichenketten, 19 Matrixformulierung, 82 MATRIXx, 1 Mehrkorpersystem, 81, 291 - Baumstruktur, 242, 307 - geschlossene Schleifen, 307 - mechanisch, 229 - Mehrkorpermodell, 307 - M K S , 81
388
Stichwortverzeichnis
- offenen Schleife, 231 - Schleifensystem, 242 Mehrschrittverfahren, 154 Minimalgeschwindigkeiten, 210 Minimalkoordinaten, 81, 89, 224, 241 modellbasierter Entwurf, 348 Modellbildung, 81 - Programm-Code, 92, 94, 99-101, 103, 107, 108, 110 Multiplikator - Elimination, 236 - Lagrange, siehe Lagrange N Nebenbedingung, 224 Nested Function, siehe Function Newton-Euler - Formalismus, 355 - Gleichung, 102 - Methode, 81, 97, 102, 106, 107, 112 Newton-Raphson-Verfahren, 109 - Newton, 25, 34, 300, 350 nichtkonservatives System, 133 nichtlineare Schwingungen, 352 Normalkraft, 114, 239, 370 O O-Matrix, 1 objektorientiert, 292 Octave, 1 Orthogonalmatrix, 85 OutputFcn, 218
Parameterempfindlichkeit, 331 Partikularlosung, 329 PDRegler, 315 Pendel,231 Permanentmagnet, 311 Phasenebene, 50, 75, 211, 271 Phasenfrequenzgang, 42 physikalische Modelle, 291 PIDRegler, 315 Pkw-Klimaanlage, 309, 342 Plot-Befehle, siehe Grafik-Befehl Plot-Umgebung, 47 - Figure Palette, 47 - Plot Browser, 47 - plottools on/off, 46 - Property Editor, 47 Power Point Dokument, 30 praallokieren, 24, 66 Profiler, 30 - Report, 65 Programm - Cell divider, siehe Editor
- M-Lint, Code Check, 30 - Zellen (Cells), 29 Projektionsmethode, 308 Punktoperation, 134 Q quiver, 217 R Rangabfall, 76 Rangfolgeregel, 18 Referenzlage, 108 Reglerstrukturen, 314 Reglerumschaltung, 312 Reibmodelle, 258 Reibung, 258, 301 - Zweimassenschwinger, 309 Relativkoordinaten, 293, 308 Resonanz, 222, 333, 334 Richtungsfeld, 217 Ruhelage, 108 Runge-Kutta-Methode, siehe Integrationsverfahren
Schaltfunktion, 247, 254, 281 Schaltkoeffizient, 247, 281 Schaltpunkte, 248 SchlieBbedingung, 308 Schubgelenk, 296 Schwingerkette, 135 Schwingung - Arbeitspunkt, 117 - chaotisch, 363 - Eigenschwingung, 117 - erzwungen, 134, 329 - fastperiodisch, 134 - freie, 120, 125, 329 - komplexe Formulierung, 130 -harmonisch, 136 - Impulsantwort, 145 - instationar, 118 --Zustand, 219 - komplexe Anregung, 139 -periodisch, 310 - quasiperiodisch, 134 -selbsterregt, 210, 271 - Sprungantwort, 146 Schwingungstilger, 332 Signalfluss - bidirektional, 292 - unidirektional, 276, 292 Signalflussgrafen, 147 SimDriveline, 291 SimHydraulics, 291 SimMechanics, 241, 291, 349 - Body Actuator Block, 296
Stichwortverzeichnis - Body Block, 293 - Body Spring & Damper Block, 297 - Convex hulls, 306 - Equivalent ellipsoids, 306 - Forward Stiction Limit, 302 - Ground Block, 293 - Inverse Dynamik, 293, 366 - Joint Sensor Block, 293, 299 - Joint Spring & Damper Block, 297 - Joint Stiction Actuator, 301 - Kinematics, 293 - Kinetic Friction, 302 - Library, 292 - Machine Environment Block, 293 - Massenmittelpunkt CG, 295 ff - Prismatic Block, 294 - Reverse Stiction Limit, 302 - Revolute Block, 299 - Stabihsierung, 307, 308 - Trimming, 293, 350 - Gleichgewichtslage, 350 - Visualisierung, 305, 351, 365 - Vorwartsdynamik, 293, 298, 363 SimPowerSystems, 291 - Library, LFberblick, 291 Simulationsprogramm, 213 Simulink - Algebraic Constraint Block, 227, 233 - algebraische Schleife, 149, 168, 228, 283 - Band-Limited White Noise, 174 -Breakpoint, 168 - Coulomb and Viscous Friction Block, 178 - Dead Zone Block, 337 - Debugger, 167 - Embedded MATLAB Function Block, 176 - Floating Scope, 285 - - Signal Selector, 285 - From Workspace Block, 173 - Function Block - - MATLAB Fen Block, 176, 283 - get_parm, 196 - Hit Crossing Block, 284 - imread, 163 - Inport (In) Block, 159 - JPG-Format, 163 - Library, 157 - Manual Switch Block, 336 -Maskierung, 162ff - Modell Explorer, 167 - Option --simset, 161,290 - Outport Block, 159 - Parameterbox, 162 ff - Relational Operator Block, 337 -S-Function, 189 --Builder, 197
389
--Builder Block, 197 - - C Code, 273 --Level-IM-File, 189, 190 - - Level-2 M-File, 189, 193, 196 - Scope, 160, 166 - set_param, 195 - Sign Block, 337 - simplot, 166 - Simulationsaufruf - sim, 160 - Sine Wave Block, 196 - Startroutine, 182 - State Port, 283 - State Space Block, 160, 171, 325 - Subsystem, 161, 175, 282, 283, 319, 321, 335 - Switch Block, 177,319 - TO Workspace Block, 160 Sollbewegung, 108, 109 Sparse Matrix, 14, 121 Spulenmodell, 314 Storbewegungen, 108 StorgroBenbeobachter, 321 StorgroBenkompensation, 320 Stabihsierung, 234, 240 - Baumgarte, 240 - Projektion, 241 Stabilitat, 117 - asymptotisch, 110, 120, 132, 133, 362 - grenzstabil, 120, 124, 129, 132 - instabil, 110, 116, 120, 124, 132, 134, 226, 362 - stabil, 226 - Stabilitatsaussagen, 123 starrer Korper, 83 Stateflow, 273 - Chart, 273, 274 - Connective Junction, 275, 278 - Data Dictionary, 274 - Debugger, 273 - Default Transition, 275, 278 - History Junction, 275 - Label, 275 - - Bind Action, 276 - During Action, 276 - Entry Action, 276 - - Exit Action, 276 - on-Event Action, 276 - Transition Action, 277 - Transtition Condition, 277 - Transtition Condition Action, 277 - MATLAB Embedded Function, 275 - Modell Explorer, 274, 279, 288 - - Datentyp, 279 - Initialisierung, 279 - - Scope, 279 - Parser, 273 - State, 275
390
Stichwortverzeichnis
- State Machine, 273, 288 - Variable Precision Arithmetic vpa, 70 - vectorize, siehe MATLAB-Befehl - Stateflow Block, siehe Chart - Transition, 275, 276 - Update method, 279 - Continuous, 279 Taylor-Reihe, 361 Tensor, 84 - - Discrete, 279 - schiefsymmetrisch, 86 - - Inherited, 285 Tensortransformationsgesetz, 88 - Weckvorgang, 288 Textinterpreter - Zustand, siehe State - T ^ , I^TEX, 42 - Zustands-Aktion, siehe Label Tildeoperator, 87, 88, 98 - - bind, 276 Tilgungsfrequenz, 333 - during, 276 Tragheitsellipsoid, 306 - - entry, 276 Tragheitsradien, 306 - - exit, 276 Tragheitstensor, 95, 295 - on event, 276 Transformation, 84, 86 Steiner, 96, 105 - Drehmatrix, 84 Steuerbarkeitsmatrix, 316 - Elementartransformation, 86 Stick-Slip-Schwingungen, 269 - inverse, 87 StoB, 250, 253, 257 Triggersignal, 286 StoBdampfer, 368 StoBkraft, 332, 337 U StoBmodell Ubergangsbedingung, 329 - Kelvin-Voigt, 378 Unstetigkeiten, 244 - kraftstoBfrei, 378 - Beispiele, 245 - Maxwell, 378 Stromregler, 314 strukturvariables System, 282, 370 Vektorisierung, 67,117, 327 Sweep-Generator, 335 - vektorisierte Form, 126 Sweep-Kreisfrequenz, 335 Viertelfahrzeugmodell, 170, 269, 273, 367 Symbolic Math Toolbox, 67 Vorwartsdynamik, 308 - D Ableitungsoperator, 74 - diff, 71, 74, 93, 103, 354, 356 W - digits, 70 Winkelbeschleunigung, 89, 90, 93, 94, 112 - double, single, siehe MATLAB-Befehle Winkelgeschwindigkeit, 87, 112 - dsolve, 74 f Workspace, 1, 5-7, 29, 31, 160 - Eigenwerte, 76 - Workspace Browser, 2 - Extended Symbolic Math Toolbox, 67 -findsym, 69, 71,76 - int, 71 - jacobian, 71, 94, 99, 100 ff, 103, 108, 110, 355, 356,Zeitereignis, 245 Zentrifugalkraft, 307 361 Zustandsereignis, 245 -Jordan, 76 Zustandsmodell, 142, 327 -limit, 71 Zustandsregler, 316, 317 - Numerik, 78 Zweipunkt-Schaltlogik, 250 - Objekte, 68 Zylinderelement, 60 -Online-Hilfe,68ff - help sym/, 68 - positive, 69 - pretty, 72, 74 - rank, siehe MATLAB-Befehl - real, siehe MATLAB-Befehl -solve, 72 f - subs, 71, 74, 76, 78, 79, 99, 110, 355, 356, 361 - sym, syms, 69, 70, 72, 74, 92, 94, 99 ff - taylor, 71 - unreal, 69