Podstawy Informatyki 1 Laboratorium 8 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z nakładką SIMULINK oraz zdobycie praktycznych umiejętności tworzenia i symulowania modeli z wykorzystaniem tej nakładki. 2. Wprowadzenie Biblioteka Simulink dołączana do pakietu Matlab jest graficznie zorientowanym środowiskiem projektowym wyposażonym w funkcje:
Podstawy Informatyki 2 Konstrukcji modeli dynamicznych Analizy działania modeli dynamicznych przy różnych wymuszeniach Prezentacji wyników symulacji W pełni interaktywne środowisko pracy Simulink umożliwia budowę modeli dynamicznych na bazie predefiniowanych bloków funkcjonalnych dołączanych wraz z pakietem. Funkcje edycyjne ułatwiają szybkie tworzenie modeli oraz ich modyfikację. W celu umożliwienia symulacji nakładkę Simulink wyposażono w zestaw bloków modelujących sygnały wejściowe. Podstawowe to: step, const, ramp. Możliwa jest też symulacja dla bardziej złożonych wymuszeń, w tym zdefiniowanych przez użytkownika. Symulacji układów sterowania można dokonywać dla różnych metod całkowania, zadanych parametrów (krok, rząd metody, czas symulacji, solver). Prezentacja wyników symulacji w nakładce Simulink jest możliwa dzięki bogatej bibliotece bloków wyjściowych. Najprostsze z nich to: display,scope, to workspace.). Dzięki temu wyniki symulacji mogą być przesłane np. do przestrzeni roboczej programu MATLAB i tam poddane dalszemu przetwarzaniu. Możliwości nakładki Simulink mogą zostać rozszerzone przez dodatkowe biblioteki bloków funkcjonalnych (ang. blocksets). Przykładowe biblioteki to: Nonlinear Control Design Blockset wspomaganie projektowania nieliniowych układów sterowania, Power System Blockset wspomaganie projektowania układów sterowania systemami maszyn i napędów dużych mocy. DSP Blockset wspomaganie projektowania systemów wykorzystujących cyfrowe przetwarzanie sygnałów. 3. Program ćwiczenia 1. Uruchomienie programu MATLAB. (a) Wprowadzić: >>pwd Wprogramie MATLAB każde wprowadzone polecenie zatwierdza się klawiszem <ENTER>. (b) Wprowadzić: >>cd nazwa_podkatalogu Parametr nazwa_pod-katalogu powinien składać się z nazwisk 2 wybranych studentów grupy laboratoryjnej (np. >>cd KowalskiNowak). 2. Modelowanie zależności statycznych Zamodelować zależność umożliwiającą zamianę wartości temperatur wyrażonych w stopniach Celsjusza na wartości wyrażone w stopniach Fahrenheita: 9 T F = Tc + 32 5 gdzie: T F temperatura wyrażona w stopniach Fahrenheita; T C temperatura wyrażona w stopniach Celsjusza. (a) W linii poleceń programu MATLAB wprowadzić: simulink. Zgodnie ze wskazówkami prowadzącego utworzyć nowy projekt (File->New->Model). Elementy niezbędne do budowy modelu to: Blok ramp (wymuszenie prędkościowe) z biblioteki Sources (wejście). Blok const (wartość stała) z biblioteki sources, (wartość stała równa 32). Blok gain (wzmocnienie) z biblioteki math, (mnożenie). Blok sum (sumator) z biblioteki math, (dodawanie). Blok scope (oscyloskop) z biblioteki sinks, (wyniki symulacji). (b) Przeciągnąć wymienione elementy (bloki) do okna modelu:
Podstawy Informatyki 3 Rys. 1. Połączenie elementów modelu zależności statycznej (c) Przypisać wartości parametrom bloków. Dwukrotne kliknięcie - edycja wartości parametrów, wprowadzenie wartości, przycisk Close - zamknięcie okna edycji. Wartości parametrów: ramp pole: Initial Output = 0. gain: 9/5. constant: 32. (d) Połączyć bloki zgodnie z kierunkiem przepływu sygnału jak na rys. 1: Rys. 2. Wykres, który można zobaczyć na oscyloskopie po przeprowadzeniu symulacji
Podstawy Informatyki 4 (e) Zapoznać się z opcjami symulacji nakładki Simulink (menu Simulation/Configuration Parameters). (f) Zasymulować działanie modelu (polecenie Start z menu Simulation) dla czasu symulacji 10s. (g) Zasymulować działanie modelu (polecenie Start z menu Simulation) dla czasu symulacji 50s. (h) Zapisać model w pliku C2F.mdl. 3. Wprowadzić następujący model Zamodelować zależność x ( t) = Acos( ω t + ϕ ) W matlabie odpowiada to: t=(0:.01:10);a=2;phi=pi/2;omega=5; xt=a*cos(omega*t+phi); plot(t,xt);grid Rys. 3. Połączenie modelu 4. Rozwiązywanie równań różniczkowych. (a) Zamodelować równanie różniczkowe postaci: x (t) = 2x(t) + u(t) gdzie: x(t) rozwiązanie; u(t) wymuszenie w postaci fali prostokątnej o amplitudzie równej 1 i częstotliwości równej 1 rad/sec. W modelu równania do wyznaczenia x(t) na podstawie x (t) wykorzystano blok integratora (biblioteka Continuous). Inne niezbędne bloki to gain (mnożenie) oraz sum (sumator). Dodatkowo zastosowano blok Signal Generator (biblioteka sources) do wygenerowania zadanego przebiegu funkcji u(t). Przeciągnąć bloki do okna modelu. Połączyć bloki zgodnie ze schematem: Węzeł zaczepowy tworzy się przez przeciąganie linii z wciśniętym prawym przyciskiem myszy. W celu odwrócenia bloku gain należy wywołać menu kontekstowe (klikając prawym przyciskiem myszy na bloku) i wykonać polecenie Format -> Flip Block. Zapoznać się z opcjami menu kontekstowego. Rys. 4. Model równania różniczkowego
Podstawy Informatyki 5 (b) Dodać element to workspace z biblioteki sinks, tak aby możliwe było wyeksportowanie wyników symulacji do przestrzeni roboczej programu MATLAB (po kliknięciu lewym przyciskiem myszki ustawić Save format array, w matlabie wpisać whos, plot(simout)). Rys. 5. Model równania różniczkowego z blokiem To Workspace c) Przeprowadzić symulację działania stworzonego modelu dla różnych parametrów (w menu Simulations/Configuration Parameters) oraz trzech wartości gain: 2, 10, 2. Wykreślić przebiegi sygnałów zarejestrowanych podczas symulacji. 5. Modelowanie transmitancji operatorowej (a) Zamodelować zależność x (t) = 2x(t) + u(t), w postaci transmitancji operatorowej (przy zerowych warunkach początkowych). Zakładając zerowe warunki początkowe, do równania stosuje się obustronne przekształcenie Laplace a, co prowadzi do równania: sx(s) = 2X(s) + U(s) Traktując U(s) jako transformatę wymuszenia, oraz X(s) jako transformatę odpowiedzi, po prostych przekształceniach uzyskuje się następującą transmitancję modelu: G(s) =1/(s + 2) Przeciągnąć do okna modelu bloki: Signal Generator (biblioteka sources), Transfer Fcn, (biblioteka continous). Połączyć bloki zgodnie ze schematem Ustawić parametry bloku Signal generator: Wave form: square; Amplitude: 1; Frequency: 1; Units: rad/sec. (b) Dodać element to workspace z biblioteki sinks, tak aby możliwe było wyeksportowanie wyników symulacji do przestrzeni roboczej programu MATLAB. (c) Przeprowadzić symulację działania stworzonego modelu dla czasów symulacji: 50s i 5s. Wykreślić przebiegi sygnałów zarejestrowanych podczas symulacji. Rys. 6. Model w postaci transmitancji
Podstawy Informatyki 6 Zadanie 1 Narysować krzywe Lissajous o parametrach, a nieparzyste, b parzyste, a b = 1. a=1, b=2 a=3, b=2
Podstawy Informatyki 7 a=3, b=4 a=5, b=4 Wskazówka1: Krzywa Lissajous (wym. lisaʒu) bądź Bowditcha w matematyce krzywa parametryczna opisująca drgania harmoniczne, dana wzorem
Podstawy Informatyki 8 Nazwy pochodzą od nazwisk Nathaniela Bowditcha, który opisał rodzinę tych krzywych w 1815, oraz Julesa Antoine'a Lissajous, który badał je używając do tego celu drgających kamertonów z umocowanymi do nich zwierciadełkami. Krzywe te nazywane są też figurami Lissajous. Kształt krzywych jest szczególnie uzależniony od współczynnika (stosunek częstotliwości). Dla współczynnika równego 1, krzywa jest elipsą, ze specjalnymi przypadkami okrąg: ; oraz odcinek: δ = 0. Inne wartości współczynnika dają bardziej złożone krzywe, które są zamknięte, tylko gdy jest liczbą wymierną. Wskazówka2: Dla lepszego efektu wizualnego należy zmienić w preferencjach XY Graph wartość Sample time na jakąś małą np. 0.001 Zadanie 2 Utworzyć model zależności liczącej T c. 5 T c = ( TF 32) 9 Zasymulować działanie modelu (polecenie Start z menu Simulation) dla czasu symulacji 50s. Zadanie 3. Analiza stanów przejściowych. Przeprowadzić analizę stanów przejściowych w obwodzie RC (filtr dolnoprzepustowy), przedstawionym na rys. 7 Rys. 7. Model obwodu RC (filtr dolnoprzepustowy) W pierwszej kolejności należy ułożyć równanie różniczkowe analizowanego obwodu: u 1 (t) = u R (t) + u 2 (t) Biorąc pod uwagę, że: u R (t) = i(t)r 1, i(t) = i c (t) = du t C c ( ) 1 dt u c (t)=u 2 (t) u 1 (t)=r 1 * i c (t)+u 2 (t) du 2 ( t) =. (wpisać końcowe równanie i je zamodelować) dt
Podstawy Informatyki 9 (b) Przeprowadzić symulację działania stworzonego modelu, dla następujących wartości parametrów RC: i. R1 = 1kΩ, C1 = 1μF ii. R1 = 20KΩ, C1 = 5nF iii. R1 = 1Ω, C1 = 2μF Zadanie 4. Badanie obwodu RLC Przy szeregowym połączeniu idealnych elementów R, L, C, zgodnie z drugim prawem Kirchoffa, napięcia w oczku obwodu muszą zachodzić: u=u R +u C +u L Połączone szeregowo elementy R, L, C Aby zaimplementować dany obwód w simulinku należy wprowadzić inne oznaczenia (wymóg oprogramowania):
Podstawy Informatyki 10 Narysować schemat blokowy i zasymulować. Przyjąć R=1; C=0.01, L=0.01 Kolejno wyeksportować do Workspace i oglądać wykresy np. plot(i(40:50)) plot(ul(40:50)) plot(uc(40:50)) plot(ur(40:50)) Parametry dla Sine Wave Amplitude=2 Bias=0 Frequency (rad/s) = 2*pi Phase =0 Sample Time=0