Wprowadzenie do modelowania w Simulinku
Transkrypt
Wprowadzenie do modelowania w Simulinku
Modelowanie i Symulacja Komputerowa M A T L A B – S i mu l i n k Simulink Wprowadzenie: http://me-www.colorado.edu/matlab/simulink/simulink.htm – interaktywny pakiet przeznaczony do modelowania, symulacji, analizy dynamicznych układów ciągłych, dyskretnych, dyskretno-ciągłych w czasie – zintegrowany z MATLAB-em (nie jest możliwe korzystanie z Simulink-a bez zainstalowania MATLAB-a) – stosowany do projektowania i testowania urządzeń oraz systemów sterujących. Badanie układów metodami symulacyjnymi znacznie zmniejsza koszty i czas, niezbędny do przygotowania lub modernizacji prototypów urządzeń i systemów sterowania CEL ĆWICZEŃ LABORATORYJNYCH: zdefiniowanie modelu matematycznego rozważanego układu/procesu dynamicznego poprzez opis za pomocą równań różniczkowych zwyczajnych, zbudowanie graficznego modelu (schematu blokowego z wykorzystaniem bloków bibliotecznych Simulink-a), wykonanie eksperymentu symulacyjnego przy zadanych parametrach symulacji, tworzenie graficznego interfejsu użytkownika umożliwiającego poprawne i wygodne wprowadzanie danych oraz prezentację rezultatów obliczeń w postaci wykresów Przykład modelowania 1 1) Wahadło matematyczne - ciało wykonujące drgania pod wpływem siły grawitacji. Zmienność kąta wychylenia wahadła przy uwzględnieniu oporów ośrodka, siły grawitacji oraz działającej na nie siły wymuszającej opisuje równanie postaci θ 2 ml 2 d θ2 + γ dθ + mgl sin θ = A cos ωt dt dt gdzie θ ‒ kąt odchylenia wahadła od położenia w stanie równowagi l ‒ długość wahadła m ‒ masa wahadła g ‒ przyspieszenie ziemskie ( g = 9,80665 m / s 2 ) A ‒ amplituda siły wymuszającej ϖ ‒ częstotliwość siły wymuszającej, gdzie ω = 2π = T g ; T = 2π l l g l x = l cosθ m y = l sinθ (ϖ jest częstością kołową drgań; T – okresem) γ ‒ współczynnik oporu ośrodka Z powyższego równania różniczkowego opisującego ruch wahadła wyprowadzić można następującą zależność d 2θ = 1 A cos ωt − γ dθ − mgl sin θ dt dt 2 ml 2 Po podstawieniu za ω = g otrzymujemy l d 2θ = 1 A cos t g − γ dθ − mgl sin θ l dt dt 2 ml 2 Modelowanie i Symulacja Komputerowa M A T L A B – S i mu l i n k Schemat blokowy powyższego układu zbudowany w oparciu o równanie różniczkowe z wykorzystaniem bloków bibliotecznych Simulink-a ma następującą postać: d2theta To Workspace 3 dtheta theta To Workspace1 To Workspace 1 s 1 s Integrator 1 Integrator gamma Gain 1 1/(m*(l^2)) m*g*l*sin(u) Fcn Gain 2 A*cos(u*sqrt(g/l)) Fcn1 Sum t Clock To Workspace2 Co można uczynić bardziej przejrzystym edytując teksty oraz wprowadzając odpowiednią kolorystykę d2theta dtheta 1 s 1 s theta kąt wychylenia wahadła gamma 1/(m*(l^2)) m*g*l*sin(u) A*cos(u*sqrt(g/l)) t początkowe wychylenie wahadła : początkowa prędkość wahadła : Modelowanie i Symulacja Komputerowa M A T L A B – S i mu l i n k Przykład modelowania 2 Równoważnym oznaczeniem czasie Rozważmy obiekt opisany za pomocą równania różniczkowego drugiego rzędu d 2 y (t ) dy (t ) + 1,5 + 2 y (t ) = 2,5z (t ) dt dt 2 dy (t ) = yɺ (t ) dt (1) d 2 y (t ) dt 2 pochodnych po są y (t ) = ɺɺ W fizyce najczęstszą interpretacją sygnału y(t) jest położenie obserwowanego ciała, jego pierwsza pochodna reprezentuje prędkość, zaś druga pochodna – przyspieszenie. gdzie y(t) oznacza wyjście układu (odpowiedź) na sygnał wejściowy (zadany) z(t), przy warunkach początkowych określających stan układu w chwili początkowej (rozpoczęcia procesu sterowania, t = 0) y ' ( 0 ) = −2 y ( 0) = 1 oraz zadanym sygnale wejściowym postaci ( z (t ) = sin t ⋅ e −2.3t ) Z równania (1) należy wyznaczyć wzór na drugą pochodną d 2 y (t ) dy (t ) = 2,5z (t ) − 1,5 − 2 y (t ) 2 dt dt Na schemacie blokowym blok całkowania odpowiada uzyskaniu sygnałów będących pochodnymi niższego rzędu, co wynika z dy (t ) d 2 y (t ) dy (t ) odwrotności operacji całkowania względem różniczkowania, tj. ∫ dt = y (t ) ∫ dt 2 dt = dt dt dy (t ) dt y ' (t ) y (t ) ∫ d 2 y (t ) dt 2 y (t ) ∫ y '' (t ) dy (t ) dt y ' (t ) Schemat modelu układu w Simulinku Scope 2 sin(u*exp(-2.3*u)) Clock Fcn Scope 1 2.5 Gain 2 1 s 1 s Integrator 1 Integrator Sum 1.5 Gain 2 Gain 1 Scope Modelowanie i Symulacja Komputerowa Warunki początkowe y ' ( 0 ) = −2 M A T L A B – S i mu l i n k y ( 0) = 1 są ustawiane w integratorach w polu „initial condition” Przebiegi widoczne na oscyloskopach (po dwukrotnym kliknięciu na dany oscyloskop i wyborze ikony ozn. lornetką) Schemat można uczynić bardziej przejrzystym edytując teksty oraz wprowadzając odpowiednią kolorystykę (Menu podręczne: Format, Foreground Color, Bacground Color ) Scope 2 Scope 1 2.5z(t) sin(u*exp(-2.3*u)) Clock 2.5 d2y(t)/dt2 z(t) 1 s dy(t)/dt 1 s y(t) Scope Suma 1.5 1.5 dy (t)/dt 2 2 y(t) Modelowanie i Symulacja Komputerowa M A T L A B – S i mu l i n k Oscyloskopy mona zastąpić blokami To workspace (kategoria Sinks w bibliotece Simulinka) (zapis wyników pomiarów do przestrzeni roboczej w formacie tablicowym - Array) d2y dy 2.5z(t) sin(u*exp(-2.3*u)) 2.5 d2y(t)/dt2 Clock z(t) t 1 s dy(t)/dt 1 s y(t) y Suma 1.5 1.5 dy (t)/dt 2 2 y(t) I wówczas na podstawie zgromadzonych danych zilustrować dynamikę obiektu sterowania - położenia, prędkości oraz przyspieszenia (y(t), dy(t)/dt, d2y(t)/dt2) Polecenia Matlaba wprowadzane w Command window >> plot(t,y,’red’,t,dy,’blue’,t,d2y,’green’) >>grid on >> title('zmiana polozenia w czasie') >> xlabel('czas t') >> ylabel('y(t) dy(t)/dt d2y(t)/dt2') >> plot(y,dy,'blue') >> grid >> xlabel('polozenie') >> ylabel('predkosc') // tak zwany portret fazowy Modelowanie i Symulacja Komputerowa M A T L A B – S i mu l i n k Polecenia Matlaba wprowadzane w Command window (prezentacja uzyskanych wyników obliczeń w postaci wykresów umieszczonych w jednym oknie w układzie 3x1) >> subplot(3,1,1) >> plot(t,y) >> grid on >> title('zmiana polozenia w czasie') >> xlabel('czas t') >> ylabel('y(t)') >> subplot(3,1,2) >> plot(t,dy) >> grid on >> title('zmiana predkosci w czasie') >> xlabel('czas t') >> ylabel('dy'(t)/dt') >> subplot(3,1,3) >> plot(t,d2y) >> grid on >> title('zmiana przyspieszenia w czasie') >> xlabel('czas t') >> ylabel('d2y(t)/dt2') Modelowanie i Symulacja Komputerowa M A T L A B – S i mu l i n k Ogólnie o tworzeniu podwykresów w jednym oknie wykresu Polecenie w oknie poleceń Matlab-a >>subplot(liczba_wierszy, liczba_kolumn, numer pola_wykresu_liczone_od_lewej_do_prawej) stanowi odwołanie do zadanego pola wykresu w oknie, w którym utworzona została określona liczba okien równa liczbie_wierszy x liczba_kolumn , np. subplot(2,3,1). Dopiero wówczas poleceniem >>plot(t,y) można wykonać wykres w tym właśnie oknie 1 2 3 4 5 6