Zadanie Modelowanie systemów empirycznych - analiza modelu amortyzacji samochodu o dwóch stopniach swobody Na rysunku przedstawiono model amortyzacji samochodu z dwoma stopniami swobody. m y c k m y k y0 Rys. Model amortyzacji samochodu - dwa stopienie swobody Równania różniczkowe opisujące przedstawiony model wyglądają następująco: d y m d y m k c y y c k y y 0 dy dy dy k y dy y m g m g () Przekształcić układ równań () do postaci umożliwiającej implementacje go do pakietu MATLAB. Zaimplementować otrzymaną postać do programu. Zastosować następujące modele wymuszenia drogi: najazd na krawężnik o wysokości 0,05 m, przebieg sinusoidalny opisany równaniem y Asin( ), (A - amplituda, w= π/okres;) W modelu uwzględnić: początkowe ugięcie sprężyny, możliwość oderwania sie koła od podłoża zmienność tłumienia amortyzatora 0 t Zbadać zachowanie sie układu amortyzacji samochodu przy przyjętych wymuszeniach drogi. Dobrać współczynniki sztywności (opony k i resoru sprężynowego k ) oraz współczynnik tłumienia amortyzatora c w taki sposób by układ ustabilizował w stosunkowo krótkim czasie. Wyniki (wykres przemieszczeń koła i nadwozia w czasie, prędkość nadwozia w funkcji
przemieszczenia, prędkość koła w funkcji przemieszczenia oraz przemieszczenia koła i nadwozia w funkcji czasu ) przedstawić w postaci graficznej. Rozwiązanie:. Równania () zapisano w pliku funkcyjnym dwa_stopnie.m function [ dy ] = dwa_stopnie( t,y,m_,m_,k_,k_,wys_kr,t_kr,p_,p_) g=9.8; if t < t_kr y_0 = t*wys_kr/t_kr; y_0 = wys_kr; delta = y_0-y(); if delta < 0 %Uwzględniona możliwość oderwania sie koła od podłoża delta = 0; if y(3)-y(4) >= 0 %Uwzględniona zmienność tłumienia c_ = p_; c_ = p_; dy = [y(3); y(4); k_/m_*(delta)-k_/m_*(y()-y())-c_/m_*(y(3)-y(4))-g; c_/m_*(y(3)-y(4))+k_/m_*(y()-y())-g];. Przyspieszenia koła oraz nadwozia wyznaczane sa w pliku przyspieszenia.m g=9.8; n = size(t); n = n(); % okreslenie rozmiaru wektora t p = []; for i = ::n if t < t_kr y_0 = t*wys_kr/t_kr; y_0 = wys_kr;
delta = y_0-y(i,); if delta < 0 delta = 0; if y(i,3)-y(i,4) >= 0 c_ = p_; c_ = p_; a = [-c_/m_*(y(i,3)-y(i,4))+k_/m_*(delta)-k_/m_*(y(i,)- y(i,))-g c_/m_*(y(i,3)-y(i,4))+k_/m_*(y(i,)-y(i,))-g]; p = [p;a]; 3. Główny plik skryptowy którego zadaniem jest zadanie wielkości wejściowych, wywołani plików funkcyjnych (dwa_stopnie.m oraz przyspieszenia.m) oraz przedstawienie wyników symulacji w formie graficznej wygląda następująco: clear clc clf g=9.8; % przyspieszenie ziemskie [m/s^] m_ = 8; % masa kola [kg] m_ = 80; % masa cwiartki samochodu[kg] k_ = 0000; % sztywnosc opony [N/m] k_ = 4000; % sztywnosc sprezyny w amortyzatorze [N/m] p_ = 0; % współczynnik tłumienia dla amortyzatora ściskanego [Ns/m] p_ = 4000; % współczynnik tłumienia dla amortyzatora rozciąganego[ns/m] wys_kr = 0.05; % wysokosc kraweznika [m] t_k = 3; % czas symulacji [s] t_kr = 0.0; % czas najazdu na przeszkodę [s] y 0 = 0.05 % przemieszczenie początkowe koła [m] y 0 = 0.4 % przemieszczenie początkowe nadwozia [m] % symulacja options = odeset('reltol',e-6,'abstol',[e-4 e-4 e-5 e- 5]); [t,y] = ode45(@(t,y)dwa_stopnie(t,y,m_,m_,k_,k_,wys_kr,t_kr,p_,p_ ),[0 t_k],[-y 0;-y 0;0;0],options); % wykresy subplot(,,) t_ = [0 t_kr t_k];
y_ = [0 wys_kr wys_kr]; plot(t_,y_,'-r') % krawęznik hold on plot(t,y(:,)+y 0,'-',t,y(:,)+y 0,'--') % przemieszczenia - przesuniecie wykresow do poczatku ukladu XY title('przemieszczenia mas zredukwanych'); xlabel('czas [s]'); ylabel('przemieszczenia [m]'); leg('kraweznik','kolo','nadwozie'); subplot(,,) plot(y(:,)+y 0,y(:,3)) % wykres fazowy y, y3 - przesuniecie wykresow do poczatku ukladu XY title('kolo'); xlabel('przemieszczenie kola [m]'); ylabel('predkosc kola [m/s]'); subplot(,,3) plot(y(:,)+y 0,y(:,4)) % wykres fazowy y, y4 - przesuniecie wykresow do poczatku ukladu XY title('nadwozie'); xlabel('przemieszczenie nadwozia [m]'); ylabel('predkosc nadwozia [m/s]'); przyspieszenia subplot(,,4) plot(t,p(:,),'-',t,p(:,),'--'); title('amortyzator'); xlabel('czas [s]'); ylabel('przyspieszenia [m/s^]'); leg('kolo','nadwozie'); Dla danych zawartych w pliku wywołanie otrzymano następujące wyniki:
Instrukcja opracowana na podstawie: M. Błasik, L. Cedro, B. Chrząszcz, Rozwiązywanie wybranych zadań z mechaniki analitycznej z użyciem metod numerycznych, Wydawnictwo Politechniki Świętokrzyskiej, Kielce 006 Celmerowki, Modelowanie i symulacja układów fizycznych Matlab, Wydawnictwo Politechniki Białostockiej, Białystok 008 Materiały do przedmiotu Modelowanie systemów empirycznych opracowane przez prof. dr hab. inż. Marka Markowskiego