MATEMATYCZNY OPIS UKŁADÓW DYNAMICZNYCH 1. Postać ogólna modelu dynamicznego ciągłego Obiekty dynamiczne, będące jednowejściowymi i jednowyjściowymi układami liniowymi (rys. 1), o parametrach skupionych i niezależnych od czasu, opisuje się za pomocą liniowych równań różniczkowych o stałych współczynnikach (1): u(t) y(t) Rys. 1. Schemat blokowy układu dynamicznego a n y ( n ) + a n−1 y ( n −1) + ... + a1 y (1) + a 0 y = bm u ( m ) + bm −1u ( m −1) + ... + b1u (1) + b0u , czyli: ∑ai n i =0 d i y(t) m d l u(t) = ∑bl , dti dtl l =0 (1) (2) gdzie: y(t) – wielkość wyjściowa, u(t) – wielkość wejściowa, d y dla (0,1,...,n), y = dt i (i ) i u ( j) = d ju dt j dla (0,1, ...m), n≥m. 1.1. Modelowanie układu za pomocą schematu operacyjnego Jedną z podstawowych metod rozwiązywania równań różniczkowych zwyczajnych lub ich układów dowolnego rzędu, liniowych, jak również nieliniowych jest metoda ogólna Kelvina. Przy tworzeniu schematu operacyjnego dla równania n-tego rzędu (3) dny d n−1 y dy an n + a n−1 n−1 + ... + a1 + ao y = ku , dt dt dt (3) metodą Kelvina postępujemy w następujący sposób: - Po stronie lewej równania pozostawiamy jedynie pochodną najwyższego rzędu funkcji niewiadomej, przenosząc na stronę prawą równania różniczkowego wszystkie pozostałe wyrazy (4) a n −1 d n−1 y a dy a o dny k = u − − ... − 1 − y. n n −1 an a n dt a n dt a n dt (4) 2 Wartość funkcji niewiadomej y wyznaczamy całkując n krotnie równanie (3). - Realizujemy to łącząc szeregowo n integratorów (elementów całkujących), przy czym na wejście pierwszego integratora podajemy sygnał n-tej pochodnej y. Wtedy na wyjściu ostatniego integratora otrzymujemy sygnał y (rys. 2). dny dt n ∫ d n −1 y dt n −1 ∫ d n−2 y dt n − 2 ... ∫ dy dt y Rys. 2. Szeregowe połączenie n integratorów Dysponując wyjściami integratorów oraz funkcją wymuszającą x tworzymy prawą stronę - równania (4), otrzymując pochodną n-tego rzędu funkcji y. k u a0 an y d n−2 y dt n − 2 a n-2 an n −1 a n-1 an d dt + an y n −1 ∑ . . . d ny dt n - Rys. 3. Graficzne przedstawienie równania 4 Łączymy wyjście układu z rys. 3 z wejściem układu z rys. 2, otrzymując pełny schemat - operacyjny równania różniczkowego n-tego rzędu (rys. 4). u k an + a0 - an . . . a n-2 an - an-1 an - ∑ dny dt n ∫ d n −1 y dt n −1 ∫ d n−2 y dt n − 2 ... dy dt ∫ y Rys. 4. Pełny schemat operacyjny równania różniczkowego n-tego rzędu - Ustalamy warunki początkowe funkcji y(0) i jej pochodnych, i przypisujemy je odpowiednim integratorom. 1.2. Opis układu za pomocą wektora stanu Rozpatrując dynamikę układu można powiedzieć, że układ w dowolnym momencie przyjmuje jakiś stan. Na przykład, rozpatrując samochód w ruchu można opisać jego stan za pomocą położenia i prędkości. Zmienne te nazywamy zmiennymi stanu układu. Zmienne stanu układu: - powinny opisywać zmagazynowaną energię elementów układu (potencjalną lub kinetyczną), muszą być niezależne, powinny całkowicie opisywać elementy układu. Najmniejszą liczbę zmiennych stanu x1(t), ..., xn(t), która wystarcza do określenia stanu układu, nazywamy wektorem stanu układu i oznaczamy: x1 (t ) x (t ) 2 . x( t ) = M x n (t ) (5) Dla układu o r wejściach i m wyjściach tworzymy wektory wejść u(t) i wyjść y(t): - - wektor wejść wektor wyjść u1 (t ) u (t ) 2 , u(t ) = M u r (t ) (6) y1 (t ) y (t ) 2 . y (t ) = M y m (t ) (7) Po określeniu zmiennych stanu należy układ opisać za pomocą równań różniczkowych pierwszego rzędu. Jeżeli rząd obiektu jest równy n, to uzyskamy n równań pierwszego rzędu. Ogólna postać równań zmiennych stanu i wyjść układu jest następująca: dx ( t ) = Ax (t ) + Bu(t ) , dt (8) y (t ) = Cx (t ) + Du (t ) , (9) gdzie: x(t) – wektor zmiennych stanu, u(t) – wektor wielkości wejściowych, 4 y(t) – wektor wielkości wyjściowych, A – macierz kwadratowa (n x n) wymiarowa, B – macierz (n x r) wymiarowa, C – macierz (m x n) wymiarowa, D – macierz (m x r) wymiarowa. 2. Transmitancja operatorowa Transmitancja operatorowa K(s) jest to stosunek transformaty Laplace’a Y(s) sygnału wyjściowego y(t) do transformaty Laplace’a U(s) sygnału wejściowego u(t), przy zerowych warunkach początkowych (funkcji y(t) i u(t)): ∑b s l ∑a s i m K ( s) = Y ( s) = U ( s) . l l =0 n (10) i i=0 Związek pomiędzy wielkością wejściową i wyjściową obiektu, przedstawiony w postaci operatorowej, otrzymujemy po dokonaniu przekształcenia Laplace’a równania (2) oraz zastosowaniu twierdzenia o różniczkowaniu ( df (t ) → sF ( s ) − f (0) ). dt U(s) Y(s) K(s) Rys. 5. Schemat blokowy obiektu z oznaczeniami operatorowej funkcji przejścia Przebieg ćwiczenia laboratoryjnego 1. Zapoznanie się z podstawowymi blokami symulacyjnymi stosowanymi w programie SIMULINK. 2. Dla podanego modelu układu liniowego, należy przedstawić: - model wyznaczony na podstawie schematu operacyjnego, - model wyznaczony na podstawie transmitancji operatorowej, - model wyznaczony na podstawie równań stanu. 3. Przeprowadzić badania symulacyjne dla różnych parametrów układu. 4. W sprawozdaniu zamieścić otrzymane wyniki i przedstawić wnioski. Przykład ćwiczenia laboratoryjnego Modelowanie i symulacja silnika obcowzbudnego prądu stałego Na rys. 1.1. przedstawiono uproszczony schemat silnika obcowzbudnego prądu stałego. W układzie tym sterujemy prędkością kątowa w(t) za pomocą napięcia twornika U(t). Zależność wiążącą te wielkości mo żna wyznaczyć korzystając z równań opisujących obwód elektryczny i mechaniczny maszyny. i R,L f Uw =const J e U ω Rys. 1.1. Silnik obcowzbudny prądu stałego Siła elektromotoryczna jest równa: e = cϕω gdzie: c – stała konstrukcyjna maszyny, φ – strumień wzbudzenia, ω – prędkość obrotowa silnika. (1.1) Ponieważ napięcie Uw w obwodzie wzbudzenia jest stałe, stały jest także strumień wzbudzenia φ . Możemy zatem napisać: e = k eω gdzie ke – stała elektromechaniczna maszyny (1.2) Stosując drugie prawo Kirchhoffa do obwodu twornika otrzymujemy równanie elektryczne: 6 U = k e ω + iR + L di dt (1.3) Równanie równowagi momentów na wale silnika (przy pominięciu tarcia) ma postać: dω = Me − Mo dt gdzie: J – całkowity moment bezwładności, Me – moment elektromagnetyczny silnika, Mo – moment obciążenia J (1.4) Zachodzi także zależność (1.5) M e = cmφi = k mi (1.5) gdzie: km – stała mechaniczna. Wobec tego równania stanu (opisujące model dynamiczny silnika) mają postać : ke R 1 di dt = − L i − L ω + L U dω = k m i − 1 M o dt J J Model wyznaczony za pomocą schematu operacyjnego przedstawiono na rys. 1.2. Rys. 1.2. Model układu wyznaczony za pomocą schematu operacyjnego (1.6) Rys. 1.3. Model układu wyznaczony za pomocą równań stanu W modelu wykorzystano blok równań stanu (State-Space) dwoma sygnałami wejściowymi (wymuszenie U i zakłócenie Mo) oraz dwoma sygnałami wyjściowymi (prąd i oraz prędko ść obrotowa omega). Zgodnie z (1.6) otrzymujemy dla poszczególnych macierzy: R ke − L − L A= km 0 J 1 0 C= 0 1 1 L B= 0 0 D= 0 0 1 − J 0 0 Transmitancje operatorowe wyznaczamy z równań (1.6). Dla prędko ści obrotowej otrzymujemy: Ω( s ) = km Ls + R U (s) − Mo( s ) 2 JLs + JRs + kekm JLs + JRs + kekm I (s) = Js L U (s) + Mo (s ) 2 JLs + JRs + kekm JLs + JRs + kekm 2 2 8 Rys. 1.4. Model układu wyznaczony za pomocą transmitancji operatorowych %Przykladowy plik wykonawczy MATLAB-a % silnik obcowzbudny pradu stalego R= 1; % rezystancja twornika L=0.02; % indukcyjnosc twornika J=0.003; % moment bezwladnosci km=0.5; ke=0.0764; % stałe maszyny U=24; % napiecie twornika Mo=1; % Moment obciazenia sim('nazwa_pliku_sim',10); subplot(4,1,1); plot(t,U); grid; ylabel(‘U’); subplot(4,1,2); plot(t,Mo); grid; ylabel(‘Mo’); subplot(4,1,3); plot(t,i); grid; ylabel(‘i’); subplot(4,1,3); plot(t,omega); grid; ylabel(‘omega’); xlabel(‘t’); Przykład modelowania układu nieliniowego Schemat ideowy układu dwóch zbiorników przedstawiono na rys. 2.1. W układzie tym do zbiornika pierwszego o powierzchni A1 dostarczana jest ciecz o natężeniu dopływu Q(t). Poziom cieczy w zbiorniku jest zmienny i wynosi h1(t). Do zbiornika drugiego ciecz przepływa poprzez otwór o regulowanej powierzchni a1(t) z natężeniem q12. Powierzchnia drugiego zbiornika wynosi A2, a poziom cieczy wynosi h2(t). Ciecz z drugiego zbiornika jest odprowadzana za pomocą otworu o powierzchni a2(t) z natężeniem wypływu q2(t). Przepływ (wypływ) cieczy jest realizowany hydrostatycznie. Q h1 h2 q12 A1 A2 q2 Rys. 2.1. Schemat ideowy układu dwóch zbiorników Model matematyczny układu dwóch zbiorników przepływowych Równania opisujące rozpatrywany układ: Dla pierwszego zbiornika równanie bilansu przepływu ma postać dh A1 1 = Q − q12 dt (2.1) gdzie: q12 = c1 h1 − h2 sgn(h1 − h2 ) c1 = a1 2g g- przyspieszenie ziemskie Dla drugiego zbiornika możemy napisać podobne równanie: dh A2 2 = q12 − q 2 dt gdzie: q 2 = c2 h2 c2 = a 2 2 g (2.2) 10 Jednym z najczęściej stosowanych sposobów analizy układów wielowymiarowych jest symulacja komputerowa. Symulacja polega na odwzorowaniu badanego układu fizycznego na modelu opisanym tymi samymi równaniami matematycznymi co rzeczywisty układ. Istota modelowania polega na tym, że statykę i dynamikę złożonego układu fizycznego możemy poznać na modelu. Tym samym model, poprzez określenie właściwości regulacyjnych układu, umożliwia dobór struktury i parametrów regulatora. W celu zamodelowania omawianego układu należy równania (2.1) i (2.2) opisujące proces przekształcić do postaci dh1 1 = (Q − c1 h1 − h2 sgn(h1 − h2 )) dt A1 dh2 1 = ( c1 h2 − h2 sgn(h1 − h2 ) − c2 h2 ) dt A2 (2.3) (2.4) Postać równań (2.3) i (2.4) przedstawia opis (w przestrzeni stanu) rozpatrywanego nieliniowego układu i jest wygodna do zamodelowania na maszynie cyfrowej lub analogowej. Na rys. 2.2 przedstawiono schemat blokowy modelu układu zrealizowany za pomocą programu SIMULINK w środowisku MATLAB-a. wzm 1 1/A1 Q s h1' Sum c1 wzm 1 Pi erw(|h2-h1|) h1 M od|h2-h1| c1 h2-h1 |u| sqrt Product h1 Znak(h2-h1) wzm 2 1 1/A2 s h2' Sum 2 h2 h2 c2 wzm 3 c2 Product1 Pi erw(|h2|) M od|h2| sqrt |u| Znak(h2) Rys. 2.2 Schemat blokowy modelu układu dwóch zbiorników przepływowych zrealizowany w programie SIMULINK