Języki Modelowania i Symulacji 2018 Podstawy Automatyki Wykład 4 dr inż. Marcin Ciołek Katedra Systemów Automatyki Wydział ETI, Politechnika Gdańska
Języki Modelowania i Symulacji dr inż. Marcin Ciołek Katedra Systemów Automatyki Konsultacje: wtorek 11:15-13:00 Pokój: ETI EA 546 e-mail: marcin.ciolek@pg.edu.pl e-wizytówka: http://pg.edu.pl/marciole
O czym będziemy mówili 1. Przypomnienie wiadomości 2. Transformata Laplace'a 3. Odpowiedź skokowa układów I i II rzędu 4. Linie pierwiastkowe 5. Wykresy Bodeg'o, Nyquist'a dr inż. Marcin Ciołek, Politechnika Gdańska, Katedra Systemów Automatyki, Wykład Języki Modelowania i Symulacj
Literatura F. Golnarghi and B.C. Kuo, Automatic Control Systems 9th edition, Wiley 2009. K. Ogata, Modern Control Engineering 5th edition, Prentice Hall 2010. dr inż. Marcin Ciołek, Politechnika Gdańska, Katedra Systemów Automatyki, Wykład Języki Modelowania i Symulacj
Transformata Laplace'a Transformata Laplace'a narzędzie matematyczne używane do rozwiązywania liniowych równań różniczkowych zwyczajnych Cztery kroki: 1. Posługując się transformatą Laplace'a przekształcamy równania różniczkowe do postaci algebraicznej w dziedzinie zmiennej zespolonej s 2. Przekształcając równanie wyznaczamy odpowiedź układu Y(s) 3. Rozkładamy Y(s) na ułamki proste 4. Ostateczne rozwiązanie otrzymujemy po zastosowaniu odwrotnej transformaty Laplace'a dr inż. Marcin Ciołek, Politechnika Gdańska, Katedra Systemów Automatyki, Wykład Języki Modelowania i Symulacj
Transformata Laplace'a Jeżeli funkcja x(t) spełnia następujący warunek, dla skończonej rzeczywistej liczby σ න 0 x t e σt dt < przekształcenie Laplace'a dla L[x(t)] jest zdefiniowane X s = න x(t)e st dt 0 Odwrotne przekształcenie Laplace'a jest dane przez x t = 1 c+j 2πj න X(s)e st ds c j gdzie c jest liczbą zespoloną, Re{c} jest większa od osobliwości funkcji X(s)
Transformata Laplace'a Wybrane własości przekształcenia Laplace'a 1) L[kx(t)] = kx(s) 2) L[x 1 t ± x 2 t ] = X 1 s ± X 2 (s) 3) L[ dx(t) dt ] = sx(s) x(0) 4) L[x t T 1 t T ] = e Ts X s Jeżeli bieguny funkcji sx s mają ujemną cześć rzeczywistą lim x t = lim sx s t s 0 Przykład 1 X s = 5 s(s 2 + s + 2) lim x t = lim sx s = 5 t s 0 2 Przykład 2 X s = ω s 2 + ω 2 lim x t = lim sx s = 0? t s 0
Transformata Laplace'a Symbolic Math Toolbox Przykład 1 syms t f = t^4 F = laplace(f) F = 24/s^5 f t = t 4 F s = 24 s 5 Przykład 3 syms t s F = laplace(dirac(t-3),t,s) F = exp(-3*s) f t = δ(t 3) F s = e 3s Przykład 2 syms a t f = exp(-a*t); F = laplace(f) F = 1/(a + s) f t = e at F s = 1 a + s Przykład 4 syms t s F = laplace(heaviside(t-pi),t,s) F = exp(-pi*s)/s f t = 1(t π) F s = e s πs
Transformata Laplace'a Symbolic Math Toolbox Przykład 5 - ilaplace syms s F = 1/s^2; f = ilaplace(f) f = t F s = 1 s 2 f t = t Przykład 6 - ilaplace F = exp(-2*s)/(s^2+1); f = ilaplace(f,s,t) f = heaviside(t - 2)*sin(t - 2) F s = e 2s s 2 + 1 f t = 1 t 2 sin(t 2)
Rozkład na ułamki proste G s = 5s + 3 (s + 1)(s + 2)(s + 3) = 5s + 3 s 3 + 6s 2 + 11s + 6 + ks G s = A s + 1 + B s + 2 + C s + 3 A = s + 1 G s s= 1 = 1 B = s + 2 G s s= 2 = 7 C = s + 3 G s s= 3 = 6 G s = 1 s + 1 + 7 s + 2 6 s + 3 [r,p,k] = residue(b,a) b = [5 3] a = [1 6 11 6] [r,p,k] = residue(b,a) r = [-6 7-1] p = [-3-2 -1] k = [] [b,a] = residue(r,p,k)
Rozkład na ułamki proste G s = 1 s(s + 1) 3 (s + 2) = 1 s 5 + 5s 4 + 9s 3 + 7s 2 + 2s G s = A s + B s + 2 + C 1 s + 1 + C 2 (s + 1) 2 + C 3 (s + 1) 3 A = sg s s=0 = 1/2 B = s + 2 G s s= 2 = 1/2 C 3 = s + 1 3 G s s= 1 = 1 C 2 = d s + 1 3 G s ds s= 1 = 0 C 1 = 1d s + 1 3 G s 2! ds s= 1 = 1 [r,p,k] = residue(b,a) b = [1] a = [1 5 9 7 2 0] [r,p,k] = residue(b,a) r = [0.5-1 0-1 0.5] p = [-2-1 -1-1 0] k = [] [b,a] = residue(r,p,k)
Funkcja przejścia G(s) zpk (zero-pole-gain) z = [-2]; p = [0-1 -3-3]; p = pole(gp) z = zero(gp) tf (transfer function) Gp = tf([10 20],[1 7 15 9 0]) s = tf('s'); Gp = 10*(s+2)/(s*(s+1)*(s+3)^2) pzmap (Pole-zero plot of dynamic system) pzmap(g) grid on G = zpk(z,p,10) G = zpk(gp) Gp = tf(g) G s = 10 (s+2) s (s+1) (s+3) 2 G p s = 10s + 20 s 4 + 7s 3 + 15s 2 + 9s
O czym będziemy mówili 1. Przypomnienie wiadomości 2. Transformata Laplace'a 3. Odpowiedź skokowa układów I i II rzędu 4. Linie pierwiastkowe 5. Wykresy Bodeg'o, Nyquist'a dr inż. Marcin Ciołek, Politechnika Gdańska, Katedra Systemów Automatyki, Wykład Języki Modelowania i Symulacj
Równania różniczkowe I i II rzędu Matematyczne modele większości układów w systemach sterowania są reprezentowane (aproksymowane) przez równania różniczkowe pierwszego lub drugiego rzędu System liniowy opisany równaniem różniczkowym pierwszego rzędu dy(t) dt + a 0 y t = u(t) u t = 1(t) System liniowy opisany równaniem różniczkowym drugiego rzędu d 2 y(t) dt 2 + a 1 dy(t) dt + a 0 y t = u(t)
Układ inercyjny I rzędu System liniowy τyሶ t + y t = u(t) u t U(s) G s y t Y(s) Przykład syms s tau Rozwiązanie Y = ilaplace(1/(tau*s^2+s) Y = 1-exp(-t/tau) Y s = 1 s 1 τs + 1 U s = 1 s G s = Y(s) U s = 1 τs + 1 t = 0:0.01:1; tau = 0.1; f = @(t) 1-exp(-t/tau); fplot(f) y t = L 1 Y s = 1 e t τ, t 0
Układ inercyjny I rzędu Przykład G = tf([1],[0.1 1]); [y,t] = step(g,t)
Układ inercyjny I rzędu
Transmitancja prototypowa II rzędu Symbol ζ ω n ω d κ t κ t 5% t r t d Opis współczynnik tłumienia pulsacja drgań naturalnych (nietłumionych) pulsacja drgań tłumionych przeregulowanie czas wystąpienia przeregulowania czas 5% ustalania czas narastania opóźnienie r t R(s) G s = Y(s) E(s) = Y(s) R(s) = Y(s) = 1 s ω2 n s(s + 2ζω n ) 2 ω n s 2 2 + 2ζω n + ω n e t E(s) ω n 2 s 2 + 2ζω n + ω n 2 G(S) y t Y(s)
Układ inercyjny II rzędu System liniowy opisany równaniem yሷ t + 2ζω n yሶ t + ω 2 n y t = u(t) yሷ t + 34.5yሶ t + 1000y t = 1000u(t) yሶ 0 = 0 y 0 = 0 Rozwiązanie Y s = 1 s 1000 (s 2 + 34.5 + 1000) = 1 s ω n 2 s 2 + 2ζω n + ω n 2 y t = 1 e ζω nt θ = cos 1 ζ 1 ζ 2 sin(tω n 1 ζ 2 + θ) t 0 Przeregulowanie: 12.94% dla t = 0.1185 s Czas narastania: 0.0561 s Czas ustalania 5%: 0.1631 s
Układ inercyjny II rzędu System liniowy: nieznany κ = 0.1294 t κ = 0.1185 s s 1, s 2 = ζω n ± jω n 1 ζ 2 Transmitancja prototypowa G s = ω n 2 s 2 + 2ζω n + ω n 2 = 1000.6 (s 2 + 34.5s + 1000.6) ζ = ln κ π 2 + ln 2 κ = 0.5455 θ = cos 1 ζ = 0.9938 rad ω n = π t κ 1 ζ 2 = 31.6326
Układ inercyjny II rzędu Przykład G = tf([1000],[1 34.5 1000]); pzmap(g) grid on step(g)
Układ inercyjny II rzędu odpowiedź przetłumiona odpowiedź krytycznie tłumiona
Układ inercyjny II rzędu odpowiedź tłumiona odpowiedź nietłumiona
Układ inercyjny II rzędu układ niestabilny
przeregulowanie κ % Układ inercyjny II rzędu współczynnik tłumienia ζ
Układ inercyjny II rzędu Czas ustalania κ = 0.1294 t 5% = 0.1631 s c(5%) = 0.05 ω n 1 t 5% ζ ln c 1 ζ2 = 35.66 3.2 ζ rzeczywista ω n 3.2 t 5% ζ ω n 4.5 t 5% ζ = 35.97 0 < ζ < 0.69 ζ > 0.69 4.5 ζ
Układ inercyjny II rzędu Czas narastania κ = 0.1294 t r = 0.0561 s t r ω n = 0.8 + 2.5ζ ω n ω n 0.8 + 2.5ζ t r = 38.57 1 0.4167ζ + 2.917ζ2 t r = 29.25 rzeczywista 0 < ζ < 1
Układ inercyjny II rzędu Czas narastania ω n = 31.63 czas przeregulowania ω n 35.66 czas ustalania ω n 29.25 czas narastania
Łączenie modeli parallel sys = sys1 + sys2 sys = parallel(sys1,sys2) series sys = sys1*sys2 sys = series(sys1,sys2)
Sprzężenie zwrotne feedback sys = feedback(sys1,sys2,-1) sys = feedback(sys1,sys2,+1) Przykład G = tf([2 5 1],[1 2 3],'inputname','torque',... 'outputname','velocity'); H = zpk(-2,-10,5) Cloop = feedback(g,h) G s = 2s2 + 5s + 1 s 2 + 2s + 3 H s = 5(s + 2) s + 10 torque moment obrotowy velocity - prędkość
O czym będziemy mówili 1. Przypomnienie wiadomości 2. Transformata Laplace'a 3. Odpowiedź skokowa układów I i II rzędu 4. Linie pierwiastkowe 5. Wykresy Bodeg'o, Nyquist'a dr inż. Marcin Ciołek, Politechnika Gdańska, Katedra Systemów Automatyki, Wykład Języki Modelowania i Symulacj
Układ zamknięty sys: h s = n(s) d(s) d s + kn s = 0
Linie pierwiastkowe rlocus G = s + 1 s(s + 2) G = zpk([-1],[0-2],1) rlocus(g)
Linie pierwiastkowe rlocus G = s + 2 s 2 (s + 4) G = zpk([-2],[0 0-4],1) rlocus(g)
Linie pierwiastkowe rlocus G = s + 2 (s + 1) 2 G = zpk([-2],[-1-1],1) rlocus(g)
Linie pierwiastkowe r t R(s) K G(s) y t Y(s) G s = 1 s(t 1 s + 1)(T 2 s + 1) = n(s) d(s) Równanie charakterystyczne d s + kn s = 0 rlocus T1 = 0.1; T2 = 0.2; K = 3.2; G = zpk([],[0-1/t1-1/t2], 1/(T1*T2)) rlocus(g) grid on Gz = feedback(k*g,1,-1); step(gz)
Linie pierwiastkowe
Linie pierwiastkowe
O czym będziemy mówili 1. Przypomnienie wiadomości 2. Transformata Laplace'a 3. Odpowiedź skokowa układów I i II rzędu 4. Linie pierwiastkowe 5. Wykresy Bodeg'o, Nyquist'a dr inż. Marcin Ciołek, Politechnika Gdańska, Katedra Systemów Automatyki, Wykład Języki Modelowania i Symulacj
Odpowiedź częstotliwościowa Metody analizy odpowiedzi częstotliwościowej
LTI (linear time-invariant) Rozważmy stabilny, liniowy i niezmieniczny w czasie system G(s) G s = p(s) q(s) = p(s) s + s 1 s + s 2 (s + s n ) stabilny części rzeczywiste wszystkich biegunów są ujemne, inaczej wszystkie bieguny leżą w lewej półpłaszczyźnie płaszyzny zespolonej zmiennej s liniowy system uznaje się za liniowy jeżeli T ax 1 + bx 2 = at x 1 + bt{x 2 } niezmienniczy w czasie wszystkie parametry systemu są stale takie same
Odpowiedź częstotliwościowa X s, Y s transformaty Laplace'a sygnałów x t, y(t) x t X(s) G(s) y t Y(s) Odpowiedź częstotliwościowa odpowiedź systemu w stanie ustalonym na pobudzenie sygnałem sinusoidalnym x t = X sin (ωt) y t = Y sin (ωt + φ)
Odpowiedź częstotliwościowa Y s = a s + jω + തa s jω + b 1 s + s 1 + + b n s + s n y t = ae jωt + തae jωt + b 1 e s 1t + + b n e s nt, t 0 y ss t = ae jωt + തae jωt y ss t = X G jω sin(ωt + φ) Wielkości zespolone, moduł, faza G jω = Y(jω) X(jω) G jω = Y jω X jω Y jω ϕ = arg[g jω ] = arg X jω sinusoidalna funkcja przejścia stosunek amplitudy sinusoidy na wyjściu do amplitudy sinusoidy na wejściu przesunięcie fazowe sinusiudy na wyjściu względem sinusoidy na wejściu
Odpowiedź częstotliwościowa Przykład Podstawiamy pod s = jω Moduł Przesunięcie fazowe G s = K Ts + 1 K G jω = jtω + 1 K G jω = 1 + T 2 ω 2 ϕ = arg G jω = tan 1 Tω Odpowiedź systemu w stanie ustalonym y ss t = X G jω sin(ωt + φ)
Odpowiedź częstotliwościowa Metody te służą do identyfikacji funkcji przejścia (ang. transfer function) układów - regulacja częstotliwością syganłu wejściowego i obserwacja wyjście układu; także w systemach w których występuje opóźnienie transportowe Obiekty których charakterystyki są nieznanane mogą być łatwo zidentyfikowane przez tą metodę W przypadku gdy system ma działać w pętli ujemnego sprzężenia zwrotnego, analizujemy system w pętli otwartej, rysujemy wykresy Bodego, wyznaczamy zapas wzmocnienia i zapas fazy, określamy względną stabilność układu zamkniętego Nie musimy wyznaczać pierwiastków równania charakterystycznego aby stwierdzić czy układ będzie stabilny po objęciu ujemnym sprzężeniem zwrotnym
Odpowiedź częstotliwościowa Test stabilności jest prosty, do jego wykonania potrzebujemy generator sygnału sinusoidalnego oraz precyzjne urządzenia pomiarowe Możemy dostarajać odpowiedź częstotliwościową wykorzystując pewne kryteria, aby uzyskać akceptowalną odpowiedź układu Metoda identyfikacji jest odporna na wpływ szumu addytywnego Synteza sterowników LEAD i LAG Metody analizy i projektowania oparte na odpowiedzi częstotliwościowej mogą być rozszerzone na przypadek sterowania systemami nieliniowymi
Reprezentacje G(jω) Trzy najczęściej używane reprezentacje graficzne sinsusoidalnej funkcji przejścia G(jω): 1. Wykres Bode'go (wykres logarytmiczny) 2. Wykres Nyquist'a 3. Wykres Nichols'a
Wykres Bode'go
Wykres Nyquist'a
Wykres Nichols'a
Wykres Bode'go G s = 16 s 3 + 10s 2 + 16s + 1 bode num = [ 16]; den = [1 10 16 1]; sys = tf(num,den); [mag,phase,wout] = bode(sys); A ω = 20log 10 G(jω)
Wykres Bode'go G s = 1 s + 1 bode num = [ 1]; den = [1 0]; sys = tf(num,den); [mag,phase,wout] = bode(sys); maks. błąd 3dB A ω = 20log 10 G(jω) wykresy asymtotyczne aproksymacja wykresów logarytmicznych przy użyciu linii łamanych
Wykres Bode'go margin [Gm,Pm,Wgm,Wpm] = margin(sys); G m = 19.9dB Zapamiętaj Funkcja margin oblicza zapas wzmocnienia i fazy oraz związane z nimi częstotliwości odcięcia. Obliczenia wykonujemy dla systemu w pętli otwartej, zaś względną stabilność określamy dla systemu w pętli zamkniętej. P m = 61.5
Nyquist GH s = r t R(s) K s(t 1 s + 1)(T 2 s + 1) GH(S) y t Y(s) nyquist K = 3.2; T1 = 0.1; T2 = 0.2; G = zpk([],[0-1/t1-1/t2], 1/(T1*T2)) sys = feedback(k*g,1,-1); figure step(sys) figure nyquist(k*g) a) małe K b) duże K
Nyquist small K = 3.2
Nyquist large K = 15
Co muszę zapmiętać Transformata Laplace'a Układy I i II rzędu Linie pierwiastkowe Metody analizy częstotliwościowej
Zadania domowe 1) Zaprezentuj rozwiązywanie równań różniczkowych przy użyciu pakietu MATLAB 2) Analiza układów inercyjnych I i II rzędu 3) Metody analizy układów w dziedzinie częstotliwości
Języki Modelowania i Symulacji Dziękuję za uwagę