AGH
Wydział Inżynierii Materiałowej i Ceramiki AGH
Studia I stopnia Chemia Budowlana rok II – Plan zajęć
Opanowanie wiadomości teoretycznych dotyczących podstaw automatyki z uwzględnieniem takich pojęć jak: transformata Laplace'a, transmitancja operatorowa, sterowanie, regulacja automatyczna, sprzężenie zwrotne, rodzaje regulatorów, stabilność i in.
Karol Cupiał:Podstawy Automatyki
Grzegorz Knor:Krótki kurs Simulinka
Roman Kaula:
Wprowadzenie - Środowisko obliczeń numerycznych Matlab-Simulink (pdf)
MathWorks.
Interactive Simulink Tutorial
Control Tutorials.
Introduction: PID Controller Design
Control Tutorials. Simulink Basics Tutorial
W takich ramkach z zielonym tłem umieszczane będą OBJAŚNIENIA.
Simulink to dodatek do Matlaba służący do budowy modeli i symulacji ich działania. Model w Simulinku buduje się z gotowych bloków funkcyjnych, łącząc je w odpowiedni schemat. Uruchomienie Simulinka można wykonać na kilka sposobów, a najprościej przez przez wpisanie słowa simulink w Oknie Komend Matlaba. Pojawi się okno z magazynem bloków (Simulink Library Browser), pogrupowanych w kilkunastu grupach.W grupie SOURCES mamy generatory różnych sygnałów wejściowych, a w grupie SINKS urządzenia wyjściowe jak Scope czyli oscyloskop, Display czyli wyświetlacz cyfrowy i in. Objaśnienia dotyczące wybranego bloku można uzyskać przez kliknięcie na nim prawym przyciskiem i wybranie opcji Help. Przed rozpoczęciem pracy przygotuj folder w którym będziesz zapisywał pliki i ustaw jako bieżący w górnej linii Matlaba. Rozpoczynając nowy model trzeba z menu okna Simulink Library Browser wybrać operację File-New-Model lub kliknąć ikonę pustej kartki. Otworzy się puste okienko dla tworzenia (edycji) schematu modelu. Wybrane bloki przeciągamy myszką z magazynu do okna modelu. Łączenie można wykonywać przez "rysowanie" myszką lub przez kliknięcie bloku początkowego a następnie przytrzymanie klawisza CTRL i kliknięcie bloku końcowego. Przed rozpoczęciem symulacji należy ustawić parametry bloków. Podwójne kliknięcie bloku otworzy okno ustawień jego parametrów. Wyjątkiem są bloki wyświetlania (Scope), które po podwójnym kliknięciu wyświetlą przebieg sygnału. Okno ustawień takich bloków otwiera się ikoną w ich pasku zadań. Możliwe jest powiększanie bloków (ciągnięciem za narożnik) oraz zmiany ich nazw (po kliknięciu nazwy). Oprócz ustawień poszczególnych bloków nalezy a ustawić czas symulacji z menu: Simulation - Configuration parameters (lub w okienku paska narzędziowego okna modelu) i zapisać model do pliku. Symulację uruchamia się z menu: Simulation - Start lub naciskajac przycisk Start (czarny trójkącik jak na rys. poniżej) lub Ctrl-T. |
W tym celu:
a) otwórz okno Nowego Modelu oraz wstaw do niego i połącz blok generatora sinusoidalnego (z grupy SOURCES) z blokiem oscyloskopu (Scope) z grupy SINKS;
b) otwórz okno oscyloskopu przez podwójne kliknięcie na jego bloku;
c) ustaw (po podwójnym kliknieciu) parametry generatora (częstość kątową Freq=2*π*f) i czas symulacji tak, aby oglądać 3 okresy sinusoidy;
d) uruchom symulację kliknięciem przycisku START (czarny trójkącik jak na rys. poniżej).
Uwaga: czas próbkowania (Sample time) równy zero oznacza automatyczny dobór czasu próbkowania tak aby przebieg był w przybliżeniu gładki. Kliknięcie ikony z lornetką dopasowuje na oscyloskopie powiększenie wykresu w pionie (patrz rys. poniżej). |
Ustaw dla generatora sinusoidy czas próbkowania 1/5 okresu a następnie 1/100 okresu i obejrzyj wynik dla każdej z tych wartości. Ostatecznie wróć do wartości zero.
Wstaw na ten schemat dodatkowo generator liczb przypadkowych (Random Number) z grupy SOURCES i ustaw jego Sample Time na 0.003. Wstaw blok MUX (multiplekser) z grupy SIGNAL ROUTING i połącz jak na zamieszczonym niżej rysunku aby oglądać dwa przebiegi.
Zwiększ amplitudę sinusoidy do 5 a następnie zastąp blok MUX blokiem ADD z grupy MATH OPERATIONS i oglądnij sumę sygnałów
Funkcja przejścia (transmitancja operatorowa) - objaśnienia:W automatyce działanie obiektów sterowanych oraz członów sterujących opisuje się jako zależności zmian sygnałów wyjściowych y(t) od wejściowych x(t), z uwzględnieniem zmian szybkości tych zmian czyli pochodnych względem czasu. Równania zawierające pochodne to równania różniczkowe opisujące dynamikę układu. Najczęściej w automatyce rozpatruje się liniowe, zwykłe (nie cząstkowe) równania doprowadzone do postaci: ![]() Jedna z metod rozwiązywania tych równań różniczkowych polega przetransformowaniu ich do postaci równań algebraicznych (z wielomianami) przez zastosowanie transformacji Laplace'a: f(t) ⇒ F(s), następnie znalezieniu rozwiązań i w końcu - dokonaniu transformacji odwrotnej. Niektóre transformaty F(s) dla funkcji czasu f(t) oraz ich całek i pochodnych można znaleźć TUTAJ lub TUTAJ Blok Transfer FcnSIMULINK posiada w grupie bloków CONTINUOUS blok Transfer Fcn pozwalający symulować obiekty o dowolnej funkcji przejścia (transmitancji operatorowej) zdefiniowanej ilorazem dwu wielomianów. ![]() Co ciekawe nie musimy martwić się procesami transformacji prostej i odwrotnej gdyż blok przyjmuje na wejściu funkcję czasu i na wyjściu również wytwarza funkcję czasu a nie zmiennej zespolonej s. Po wstawieniu tego bloku i otwarciu (podwójnym kliknięciem) okna jego parametrów, można wpisać współczynniki dla wielomianów w liczniku oraz w mianowniku transmitancji. Dla wielomianu n-tego stopnia musi być (n+1) współczynników w kolejności od bn do b0 i od an do a0 . Na przykład dla wielomianu 4-tego stopnia: 3s4+2s-1 trzeba wpisać 5 współczynników: [3 0 0 2 -1]. Początkowo domyślnie ustawiona jest transmitancja: G(s)= 1/(s+1) odpowiadająca członowi inercyjnemu. |
Inercja czyli bezwładność to cecha zarówno obiektów mechanicznych (masa, moment bezwładności) jak i wielu różnych zjawisk jak choćby ogrzewanie określonej masy czy ładowanie kondensatora. Blok inercyjny pozwala symulować tego typu zjawiska. Blok inercyjny opisany jest równaniem różniczkowym:
Transmitancja bloku inercyjnego to: |
Człon inercyjny masz w grupie CONTINUOUS. Skonstruuj poniższy schemat. UWAGA: rozgałęzienia połączeń uzyskujemy przy pomocy myszki z wciśniętym prawym przyciskiem.
Jaką funkcję czasu uzyskano na wyjściu gdy na wejściu jest skok jednostkowy? Jak można wyznaczyć stałą czasową? Jak praktycznie określa się czas osiągania stanu ustalonego?
Człon całkujący masz w grupie CONTINUOUS. Jego transmitancja to G(s)=1/(T*s) gdzie T to stała czasowa zdefiniowana jako czas osiągnięcia poziomu równego 1. Odpowiedż na skok jednostkowy wynosi y(t)=t/T. Jak wiemy całka rośnie tak jak pole pod krzywą dodatnią (przedstawiającą funkcję czasu) a maleje gdy funkcja jest ujemna. Poniżej pokazano całkę (kolor buraczkowy) z przebiegu schodkowego (kolor żółty) o wartościach: [0.5 1.5 0 -1 -1.8]
Człon różniczkujący (z grupy CONTINUOUS) reaguje na tendencję zmian gdyż jak wiemy pochodna (tangens nachylenia stycznej do krzywej) jest tym większa im bardziej stromo rośnie funkcja pierwotna.
Ponieważ pochodna skoku jednostkowego to impuls Dirac'a i trudno go pokazać więc niżej pokazano pochodną (kolor buraczkowy) z przebiegu inercyjnego (kolor żółty)
W wielu członach może wystąpić zjawisko niestabilności, najczęściej w postaci drgań narastających do nieskończoności (w praktyce do uszkodzenia obiektu). Poniżej pokazano jak przy pewnych parametrach człon drugiego rzędu jest stabilny a przy innych niestabilny.
Zapewnienie stabilności należy do najważniejszych problemów w automatyce.
Po sporządzeniu schematu otwórz okno ustawień bloku Transfer Fcn i wpisz współczynniki z pierwszego rysunku a po uruchomieniu symulacji i oglądnięciu rezultatów wypróbuj także drugi zestaw współczynników.
Objaśnienia:Regulator PID (ang.: Proportional-Integral-Derivative controller) – czyli regulator proporcjonalno-całkująco-różniczkujący jest najczęściej stosowany. Składa się z trzech członów: P-proporcjonalnego, I-całkującego i D-różniczkującego. Jego celem jest najczęściej utrzymanie wartości wyjściowej na zadanym poziomie, a także zmniejszenie opóźnień wywoływanych inercją obiektu lub procesu sterowanego (ang.: PLANT/PROCESS) Działanie członów można zinterpretować następująco:
Regulator PID jest przydatny szczególnie w przypadku braku wiedzy o obiekcie regulacji. Poprzez odpowiedni dobór nastaw regulatora PID, uzyskuje się regulację dostosowaną dla danego obiektu. Odpowiedź regulatora opisuje się, przedstawiając jego reakcję na uchyb: stopień przeregulowania i poziom oscylacji układu. Konieczne jest zapewnienie stabilności układu.
|
To zadanie polega na zbudowaniu dwu oddzielnych schematów. Pierwszy to układ sterowania otwarty czyli bez pętli ujemnego sprzężenia zwrotnego, inaczej mówiąc bez automatycznej regulacji. W drugim występuje taka pętla oraz regulator PID. Na osyloskopie obserwujemy wartość zadaną (krzywa żółta) oraz wartość wyjściową, sterowaną (krzywa fioletowa).
Blok PID jest w grupie CONTINUOUS, a wzmacniacz (Gain) w grupie MATH OPERATIONS lub COMMONLY USED.
Po zbudowaniu schematów otwórz okno nastaw bloku PID (podwójnym kliknięciem) i wypróbuj kilka zestawów współczynników Kp, Ki, Kd.
Ostatecznie możesz zdecydować się na automatyczny dobór współczynników przez kliknięcie przycisku [TUNE].
Aby sprawdzić jak układy nadążają za zmianami wartości zadanej można w poprzednich schematach zastąpić skok jednostkowy przebiegiem schodkowym lub sinusoidalnym:
Rysunek poniżej pokazuje podstawową różnicę między (a) otwartym układem sterowania, bez pętli ujemnego sprzężenia zwrotnego oraz układem regulacji (b) z regulatorem PID i ujemnym sprzężeniem zwrotnym. Przykładowo można rozważyć to jako regulację temperatury. W pierwszym przypadku wzrost temperatury otoczenia wyraźnie oddziałuje na temperaturę wyjściową a w drugim nastepują jedynie chwilowe fluktuacje.