Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Modelowanie Systemów Dynamicznych Studia zaoczne, Automatyka i Robotyka, rok II Podstawy SIMULINKA Simulink jest pakietem programistycznym (zintegrowanym z Matlabem) do modelowania, symulacji i analizy systemów dynamicznych. Nadaje się zarówno do analizy układów liniowych jak i nieliniowych, modelowanych w czasie ciągłym i dyskretnym. Simulink jest wyposaŝony w intuicyjny, graficzny interfejs uŝytkownika (ang. GUI) do budowania modeli w postaci diagramów blokowych, z wykorzystaniem techniki kliknij i przeciągnij (ang. click-and-drag). Pakiet zawiera bogatą bibliotekę schematów blokowych (odbiorników, źródeł, składników liniowych i nieliniowych, połączeń, itp.), a takŝe moŝna tworzyć własne komponenty dostosowane do określonych potrzeb. Skonstruowany model moŝna poddać symulacji z wykorzystaniem róŝnych metod całkowania, zarówno z poziomu Simulinka jak i okna poleceń Matlaba. Rezultaty symulacji mogą być na bieŝąco (on-line) obserwowane na oscyloskopie (blok typu ) lub innych wyświetlaczach, a takŝe mogą być przesyłane do przestrzeni roboczej Matlaba do ich późniejszej analizy i wizualizacji. Aby rozpocząć pracę z programem wpisz w oknie poleceń Matlaba Simulink. Zostanie otwarte okno Simulink Library Browser. Jest to zestaw bibliotek schematów blokowych pogrupowanych w kategorie, z których najwaŝniejsze to: continuous obiekty ciągłe (integratory, transmitancje, opóźnienia transportowe, itp.) discrete obiekty dyskretne (transmitancje, filtry, podtrzymania, itp.) math operations operacje matematyczne (sumatory, iloczyny, funkcje, itp.) signal routing sterowanie przepływem sygnałów (multipleksery, demultipleksery, przekaźniki, itp.) sinks odbiorniki (oscyloskopy, wyświetlacze, itp.) sources źródła (generatory sygnałów, zegary, itp.)
Następnie wybierz z menu file new model. Zostanie otwarte okno modelu, do którego naleŝy skopiować wszystkie elementy z biblioteki schematów blokowych, z których zbudowany będzie model. Kopiowanie elementu z biblioteki do okna modelu moŝna wykonać myszką, za pomocą techniki przeciągnij i upuść (ang. drag-and-drop). Model. Zbuduj model składający się z generatora sygnałów i oscyloskopu. Signal Generator Uwaga: elementy łączy się ze sobą za pomocą myszki naleŝy przeciągnąć wyjście jednego elementu do wejścia drugiego). Przed rozpoczęciem kaŝdej symulacji ustaw jej parametry. Wybierz z menu simulation simulation parameters Ustaw parametry jak w poniŝszym oknie: Rozpocznij symulację: wybierz z menu simulation start (lub wciśnij Ctrl+T). Na ekranie oscyloskopu pokaŝe się wynik symulacji (w zaleŝności od ustawień generatora), np.: Uwaga: aby wyskalować wykres naleŝy kliknąć ikonę lornetki. Zbadaj róŝne ustawienia generatora: sygnał sinusoidalny, prostokątny, piłokształtny i losowy dla róŝnych amplitud i częstotliwości. Uwaga: aby zmienić ustawienia danego elementu naleŝy na nim dwukrotnie kliknąć zostanie wtedy
otwarte okno typu Block Parameters, w którym moŝna zmienić parametry obiektu. Model 2. Dodaj do układu wzmocnienie (gain) o wartości 2 i drugi oscyloskop: 2 Signal Generator Model 3. Dodaj do układu multiplekser, aby zobaczyć dwa sygnały na jednym oscyloskopie: 2 Signal Generator Model 4. Zbuduj układ do generowania krzywych Lissajous a: Sine Wave XY Graph Sine Wave Wygeneruj kilka krzywych dla róŝnych częstotliwości sinusoid w bloku sine wave. Model 5. Zbadaj odpowiedź układu całkującego na skok jednostkowy: Step s Integrator Model 6. Zbadaj odpowiedź układu inercyjnego I rzędu na: a) skok jednostkowy 0 Step 2s+ Transfer Fcn
b) impuls Step Time: 0 Initial Value: 0 Final Value: 0 Step 0 2s+ Transfer Fcn Step Time: 0. Initial Value: 0 Final Value: -0 Step 2 PoniewaŜ nie ma w bibliotece bloczka generującego sygnał impulsowy, naleŝy go złoŝyć z dwóch bloczków typu step. NaleŜy przy tym pamiętać, Ŝe taki sygnał powinien mieć bardzo krótki czas trwania (teoretycznie nieskończenie krótki) i pole powierzchni równe. Na rysunku widać przykładowe ustawienia w generatorach sygnału skokowego (step, step2). Uwaga: W parametrach symulacji zmniejszyć krok całkowania do 0.0. Model 7. Sterowanie symulacją z poziomu Matlaba. K Step T.s+ Transfer Fcn W bloku Transfer Function wpisz zmienne: K (w liczniku numerator) i T (w mianowniku denominator). Zapisz ten model pod nazwą inercja.mdl. Następnie utwórz poniŝszy m-plik, wykorzystujacy funkcję sim do uruchomienia modelu Simulinka w Matlabie: T=; for K=:5 sim('inercja'); pause end Obserwuj na oscyloskopie zmianę odpowiedzi skokowej dla wzmocnienia K zmieniającego się od do 5. Uwaga: funkcja pause przerywa wykonywanie programu i czeka na naciśnięcie jakiegokolwiek klawisza. Przerób powyŝszy program tak, aby wzmocnienie K było stałe, a zmieniała się stała czasowa T w zakresie od do 0.5 z krokiem -0.. Model 8. Prosty model zawieszenia samochodowego moŝna przedstawić za pomocą układu inercyjnego II rzędu. Taki model składa się z masy osadzonej na spręŝynie i tłumiku. Pod wpływem siły zewnętrznej masa moŝe się przemieszczać w osi pionowej. Schemat układu przedstawia poniŝszy rysunek.
Oznaczenia: F siła wymuszająca M masa pojazdu x przemieszczenie masy α stała tłumika c stała spręŝyny Układ moŝna opisać równaniem róŝniczkowym II rzędu: M & x + α x& + cx = F W celu utworzenia schematu blokowego naleŝy napisać równanie układu w wygodniejszej postaci: F α && x = x& M M Analizując powyŝsze równie, moŝna je łatwo przedstawić w postaci schematu blokowego: c m x Przyspieszenie Predkosc F/M Constant x'' s x' s x Integrator Integrator Przemieszczenie a/m c/m Zbuduj taki układ w Simulinku i przeprowadź symulacje. Wpisz w Matlabie następujące parametry układu: M = 000; F = 000; a = 500; c = 400; Zaobserwuj na oscyloskopach jak zmieniają się przebiegi przemieszczenia x, prędkości x oraz przyspieszenia x.
Następnie dołącz do układu oscyloskopy dwukanałowe (XY Graph) i przeanalizuj wykresy fazowe przemieszczenie/prędkość oraz prędkość/przyspieszenie. XY Graph XY Graph F/M Constant s Integrator s Integrator a/m c/m Ustaw odpowiednie zakresy dla XY Graph i XY Graph jak na rysunkach poniŝej: JeŜeli zrobiłeś wszystkie ćwiczenia oglądnij przykłady demonstracyjne (otwórz okno Help, zakładka Demos, kategoria Simulink).
Dodatek W jaki sposób uzyskać obraz z oscyloskopu na białym tle, tak aby moŝna go było wydrukować? Kliknij ikonę parameters W zakładce Data history zaznacz Save data to workspace, wpisz dowolną nazwę zmiennej w polu Variable name, ustaw Format na Array (macierz). Kliknij OK i uruchom symulację. Teraz w przestrzeni roboczej Matlaba jest dostępny sygnał z oscyloskopu w postaci zmiennej (w tym przykładzie y) i moŝna go narysować poleceniem plot. Sygnał ten jest zapisany w postaci macierzy dwukolumnowej, w której pierwsza kolumna oznacza wektor czasu, a druga wartości sygnału. Wobec czego funkcję plot naleŝy uŝyć następująco: plot(y(:,),y(:,2)) w wyniku czego uzyskamy wykres na białym tle: 0.8 0.6 0.4 0.2 0-0.2-0.4-0.6-0.8-0 2 3 4 5 6 7 8 9 0