Własności dynamiczne układów dyskretnych
Transkrypt
Własności dynamiczne układów dyskretnych
Akademia Morska w Gdyni Katedra Automatyki Okrętowej Teoria sterowania Własności dynamiczne układów dyskretnych Matlab Mirosław Tomera 1. WPROWADZENIE W układach sterowania dyskretnego sygnały występują w formie impulsów lub kodowane są cyfrowo, natomiast sterowane procesy zawierają często podzespoły analogowe. Dla przykładu silnik prądu stałego, który jest urządzeniem analogowym może być sterowany zarówno przez regulator wysyłający sygnały analogowe jak i przez regulator cyfrowy, który wysyła sygnały cyfrowe. W ostatnim przypadku konieczny jest do połączenia regulatora cyfrowego z urządzeniem analogowym przetwornik cyfrowo analogowy (C/A). Na rysunku 1 przedstawiony jest schemat blokowy typowego układu dyskretnego. Na wejściu i wyjściu regulatora cyfrowego występują próbki sygnału oddzielone od siebie o okres próbkowania T. r(t) Regulator cyfrowy r*(t) h(t) C/A Proces y(t) Rys. 1. Schemat blokowy typowego układu sterowania dyskretnego. W najprostszym wydaniu przetwornik C/A może być wykonany jako urządzenie typu impulsator– ekstrapolator, które składa się z urządzenia próbkującego i ekstrapolującego wartość próbki przez okres próbkowania T. Urządzeniem C/A najczęściej stosowanym w analizie układów dyskretnych jest połączenie idealnego impulsatora z ekstrapolatorem zerowego rzędu (ZOH – zero-order hold). Po takich założeniach, część układu z rysunku 1 może być funkcjonalnie zastąpiona przez schemat blokowy pokazany na rysunku 2. r*(t) r(t) T ZOH h(t) Rys. 2. Impulsator i ekstrapolator zerowego rzędu. Na rysunku 3 pokazane zostały typowe operacje idealnego próbkowania i ekstrapolowania zerowego rzędu (ZOH). Sygnały ciągłe są próbkowane z okresem T i następnie ciąg impulsów r * (t ) o amplitudach r(t) jest ekstrapolowany przez okres próbkowania. Ekstrapolator zerowego rzędu (ZOH) podtrzymuje amplitudę sygnału doprowadzanego do wejścia w danej chwili czasu (kT) przez cały okres próbkowania T aż do pojawienia się następnej próbki w chwili t = (k+1)T. Wyjście z układu ekstrapolującego (ZOH) jest schodkową aproksymacją sygnału wejściowego idealnie próbkowanego r(t) z impulsatora. Ostatnia aktualizacja: 2016-03-13 M. Tomera Własności dynamiczne układów dyskretnych Teoria sterowania Matlab r(t) t (a) r*(t) (b) t = kT (c) t = kT h(t) Rys. 3. (a) Sygnał wejściowy do idealnego impulsatora, (b) Sygnał wyjściowy z impulsatora, (c) sygnał wyjściowy z ekstrapolatora zerowego rzędu (ZOH). Gdy okres próbkowania T dąży do zera to wyjście z układu ekstrapolującego h(t) dąży do r(t), czyli (1) lim h(t ) r (t ) T 0 Opierając się na powyższych definicjach, typowy dyskretny układ otwarty modelowany jest w sposób pokazany na rysunku 4. G(s) r*(t) r(t) T ZOH h(t) Proces sterowany y(t) Rys. 4. Schemat blokowy układu dyskretnego 2. TRANSMITANCJA DYSKRETNA UKŁADÓW LINIOWYCH Transformata operatorowa Laplace’a sygnału wyjściowego y(t) z rysunku 4 jest następująca Y (s) G(s) R * ( s) (2) Chociaż wartość wyjścia y(t) jest wyznaczana po zastosowaniu odwrotnej transformaty Laplace’a na obu stronach równania (2) to jednak krok ten jest trudny do wykonania gdyż G(s) oraz R*(s) reprezentują dwa różne rodzaje sygnałów. S2 y*(t) S1 r*(t) r(t) T ZOH h(t) T Proces sterowany y(t) Rys. 5. Schemat blokowy układu dyskretnego z fikcyjnym impulsatorem na wyjściu Ostatnia aktualizacja: 2016-03-13 M. Tomera 2 Własności dynamiczne układów dyskretnych Teoria sterowania Matlab Aby ominąć ten problem zastosowany zostanie fikcyjny impulsator na wyjściu układu, jak pokazane zostało to na rysunku 5. Fikcyjne próbki S 2 mają taki sam okres próbkowania T i są zsynchronizowane z próbkami S 1 . Próbkowana postać sygnału y(t) została oznaczona jako y * (t ) . (3) Y ( z) G( z) R( z) gdzie G(z) definiowana jest jako transformata z funkcji operatorowej G(s) i opisana jest również jako G( z) g (kT ) z k (4) k 0 Czyli dla układów dyskretnych pokazanych na rysunkach 4 oraz 5, transformata Z wyjścia jest równa transmitancji z procesu oraz transformacie Z wejścia. 3. TRANSMITANCJA DYSKRETNA UKŁADÓW LINIOWYCH POŁĄCZONYCH KASKADOWO Transmitancja opisująca układy dyskretne z elementami połączonymi w kaskadę jest trochę bardziej złożona aniżeli dla układów ciągłych z powodu występowania lub braku impulsatora pomiędzy tymi elementami. Na rysunku 6 pokazane zostały dwie różne sytuacje układu dyskretnego który zawiera dwa elementy połączone w kaskadę. Na rysunku 6(a) te dwa elementy rozdzielone są przez impulsator S 2 , który jest zsynchronizowany z impulsatorem S 1 i mają taki sam okres próbkowania. Na rysunku 6(b) oba te elementy zostały połączone bezpośrednio. Ważne jest rozróżnienie tych dwóch przypadków przy wyprowadzaniu transmitancji impulsowej oraz transmitancji z. y*(t) S1 r(t) R(s) r*(t) T T S2 R*(s) G1(s) d(t) d*(t) D(s) D*(s) T Y*(s) y(t) G2(s) Y(s) (a) y*(t) T S1 r(t) r*(t) R(s) R*(s) T G1(s) d(t) D(s) G2(s) Y*(s) y(t) Y(s) (b) Rys. 6. (a) Układ dyskretny z elementami połączonymi kaskadowo i rozdzielonymi impulsatorem. (b) Układ dyskretny z elementami połączonymi kaskadowo, bez rozdzielającego impulsatora Dla układu z rysunku 6(a), sygnał wyjściowy zapisywany jest jako Y ( z ) G1 ( z )G2 ( z ) R( z ) (5) Z tego wynika, że transformata z dwóch układów rozdzielonych przez impulsator jest równa iloczynowi transformat z tych dwóch układów. Dla układu z rysunku 6(b), sygnał wyjściowy zapisywany jest jako Y (z ) = G1G2 ( z ) R( z ) (6) 4. TRANSMITANCJA DYSKRETNEGO UKŁADU ZAMKNIĘTEGO Transmitancja dyskretnego układu zamkniętego zależy od położenia impulsatora w układzie. Ostatnia aktualizacja: 2016-03-13 M. Tomera 3 Własności dynamiczne układów dyskretnych Teoria sterowania Matlab y*(t) T r(t) R(s) a(t) a*(t) A(s) A*(s) T Y*(s) y(t) G(s) Y(s) H(s) (a) y*(t) T r(t) a(t) R(s) A(s) G(s) H(s) Y*(s) y(t) Y(s) y*(t) Y*(s) T (b) Rys. 7. Dyskretny układ z pojedynczą pętlą. (a) Impulsator występuje w torze bezpośrednim, (b) Impulsator występuje w torze sprzężenia. Na rysunku 7 pokazane zostały dwa układy w których w różnych miejscach pętli umieszczony został impulsator. W układzie z rysunku 7(a) impulsator występuje w torze bezpośrednim, natomiast na rysunku 7(b) impulsator występuje w sprzężeniu. Wyjście z impulsatora traktowane jest jako wejście do układu. Wobec tego na rysunku 7(a) układ ma dwa wejścia R(s) oraz A*(s), natomiast sygnały Y(s) oraz A(s) traktowane są jako wyjścia układu i w tym przypadku transformata dyskretna sygnału wyjściowego jest następująca G( z) R( z ) Y(z) = (7) 1 GH ( z ) W układzie z rysunku 7(b) wyjście z impulsatora A*(s) oraz R(s) są wejściami do układu natomiast Y(s) oraz A(s) są wyjściami układu i w tym przypadku wypadkowa transmitancja dyskretna ma postać Y(z) = GR( z ) 1 GH ( z ) (8) 5. TRANSMITANCJA EKSTRAPOLATORA ZEROWEGO RZĘDU Opierając się na podanym wcześniej opisie dla ekstrapolatora zerowego rzędu (ZOH) jego charakterystyka impulsowa pokazana została na rysunku 8. gh(t) 1 0 0 T t Rys. 8. Odpowiedź impulsowa ekstrapolatora zerowego rzędu. Ostatnia aktualizacja: 2016-03-13 M. Tomera 4 Własności dynamiczne układów dyskretnych Teoria sterowania Matlab Transmitancja ekstrapolatora zerowego rzędu jest następująca G h (s ) = £ {g h (t )} = 1 e s sT (9) Jeśli ekstrapolator zerowego rzędu połączony jest kaskadowo z procesem liniowym o transmitancji G p (s ) , tak jak pokazano to na rysunku 4, to transformata Z takiego połączenia zapisana jest następująco G(z) = Z {Gh ( s)G p ( s)} = Z 1 e s sT (10) G p ( s) Korzystając z własności transformaty Z o czasie opóźnienia, równanie (10) można uprościć do postaci G(z) = (1 z 1 ) Z G p (s) (11) s Przykład 1 Dla układu z rysunku 4, rozważ następującą transmitancję G p ( s) 1 s( s (1.1) 0.5) Okres próbkowania T = 1 [s]. Transmitancja z opisująca zależność pomiędzy wejściem i wyjściem określana jest przy użyciu wzoru (7). G(z) = (1 z 1 ) Z = = 1 2 s (s 0.5) z 1 z 4 4 2 z 1 z z 1 = (1 z 1 ) Z 2 z ( z 1) 2 4 4 s z z e 2 s 2 4 s 0.5 0.5 0.4261 z 0.3608 4( z 1) = 2 0.5 z e z 1.607 z 0.6065 (1.2) Te same wyniki można uzyskać korzystając z funkcji c2d z biblioteki MATLABA. T = 1; % Okres próbkowania numC = 1; % Licznik transmitancji ciągłej denC = conv([1 0],[1 0.5]); % Mianownik transmitancji sysC = tf(numC, denC); % Transmitancja operatorowa sysD = c2d( sysC, T,'zoh'); % Wyznaczenie transmitancji dyskretnej [numD, denD] = tfData( sysD, ’v’) printsys( numD, denD, 'z') % Wypisanie transmitancji na ekran 6. ODPOWIEDŹ CZASOWA UKŁADU STEROWANIA DYSKRETNEGO Aby zaprojektować układ sterowania dyskretnego, najpierw należy poznać własności tych układów w dziedzinie czasu i zmiennej z. Odpowiedzi wyjściowe większości układów sterowania dyskretnego są funkcjami czasu ciągłego t. Wobec tego wskaźniki jakości takie jak maksymalne przeregulowanie, czas narastania, współczynnik tłumienia i tak dalej, mogą być również zastosowane dla układów dyskretnych. Jedyna różnica jest taka, że aby zastosować takie narzędzia analityczne jak transformaty Z, sygnały ciągłe są próbkowane i wówczas niezależną zmienną czasu jest kT, gdzie T jest okresem Ostatnia aktualizacja: 2016-03-13 M. Tomera 5 Własności dynamiczne układów dyskretnych Teoria sterowania Matlab próbkowania wyrażonym w sekundach. Również własności przejściowe układu dyskretnego charakteryzowane są przez bieguny i zera transmitancji na płaszczyźnie z. Podstawowy schemat blokowy układu sterowania dyskretnego z pojedynczą pętlą pokazany został na rysunku 9. Transmitancja tego układu jest następująca: Y ( z) R( z ) T(z) = G( z) 1 GH ( z ) (12) gdzie GH(z) oznacza transformatę Z transmitancji G(s)H(s). y*(t) T r(t) R(s) a*(t) a(t) A(s) A*(s) T Y*(s) y(t) ZOH Gp(s) Y(s) G(s) H(s) Rys. 9. Schemat blokowy układu sterowania dyskretnego z pojedynczą pętlą Najczęstszym testem służącym do badania własności dynamicznych układów sterowania jest odpowiedź skokowa. Jeśli odpowiedź układu dyskretnego opisana jest transformatą Y ( z ) T ( z ) R( z ) (13) wówczas postać dyskretną wyznacza się na podstawie wzoru (13) po podstawieniu U ( z ) z ( z 1) i następnie wyznaczeniu odwrotnej transformaty Z. Sposób wyznaczania dyskretnej odpowiedzi skokowej dla układu o zadanej transmitancji pokazny jest w przykładzie 2. W MATLABIE do symulacji numerycznych odpowiedź impulsowa układu dyskretnego o transmitancji dyskretnej sysD jest wyznaczana przy użyciu yD = dimpulse( numD, denD) yD = dimpulse( numD, denD, N) natomiast dyskretna odpowiedź skokowa yD = dstep(numD, denD) yD = dstep(numD, denD, N) gdzie N oznacza maksymalną liczbę próbek. Należy pamiętać, że y(kT), k = 0, 1, 2, .... zawiera tylko informacje o próbkach sygnału y(t) w chwilach próbkowania. Jeśli okres próbkowania jest względnie duży w stosunku do najbardziej znaczącej stałej czasowej układu, wówczas y(kT) może nie być dokładną reprezentacją sygnału y(t). Transmitancję dyskretną T(z) można przekształcić do postaci równan dynamicznych zapisywanych następująco x(k 1) Fx (k ) Gr (k ) y(k ) Hx (k ) Jr (k ) (14) (15) w których równanie (14) nosi nazwę dyskretnych równania stanu, a równanie (15) dyskretnego równania wyjścia. Przekształcenia tego można dokonać w sposób analityczny stosując metody dekompozycji transmitancji dyskretnej, ale dla transmitancji o znznych wartościach wpółczynników najłatwiej dokonać tego przy użyciu następującej komendy Matlaba [F, G, H, J] = dtf2ss( numD, denD) Ostatnia aktualizacja: 2016-03-13 M. Tomera 6 Własności dynamiczne układów dyskretnych Teoria sterowania Matlab Przykład 2 Dla układu opisanego poniższą transmitancją dyskretną, wyznacz odpowiedź skokową. G(z) = 0.4 z 0.3 Y ( z) = 2 U ( z) z 0.9 z 0.6 (2.1) Okres próbkowania w tym układzie wynosi T = 1 [s]. Rozwiązanie. W sposób analityczny odpowiedź skokową wyznacza się podobnie jak dla układów ciągłych. W pierwszej kolejności, zamiast wejściowego sygnału dyskretnego U(z) podstawia się jego transformatę dyskretną 0.4 z Y (z ) = G( z)U ( z) = z 2 0.3 z (2.2) 0.6 z 1 0.9 z i następnie uzyskaną transformatę dyskretną (2.2) rozkłada się na sumę transformat elementarnych zapisanych Y (z ) = ( 0.5 j 0.119) z z 0.45 j 0.6305 z z 1 ( 0.5 j 0.119) z z 0.45 j 0.6305 (2.3) Poza zapisaniu wartości residuów i położeń biegunów w postaciach wykładniczych Y (z ) = 0.514 e j 2.908 z z z 1 z 0.7746 e j 0.9509 0.514 e z j 2.908 0.7746 e z (2.4) j 0.9509 dla każdego składnika sumy znajduje się postać dyskretną odpowiedzi skokowej y(k ) = 1(k ) 1.0279 (0.7746 ) k cos( 0.9509 k 2.908) (2.5) Na rysunku 2.1 znajduje się uzyskany wykres dyskretnej odpowiedzi skokowej. Te same wyniki można uzyskać przy użyciu funkcji step znajdującej się w bibliotece MATLABA. Dyskretna odpowiedź skokowa (T = 1 [s]) 1.5 y(kT) 1 0.5 0 0 5 10 15 20 25 t = kT [s] Rys. 2.1. Dyskretna odpowiedź skokowa Ostatnia aktualizacja: 2016-03-13 M. Tomera 7 Własności dynamiczne układów dyskretnych Teoria sterowania Matlab Wyniki uzyskane zostały przy użyciu następującego kodu programu. clear close all tmax = 25; T = 1; % Okres próbkowania numD = [0.4 0.3]; % Licznik transmitancji denD = [1 -0.9 0.6]; % Mianownik transmitancji [rD, pD, kD] = residue( numD, conv(denD,[1 -1])) M_rD = abs( rD(2)) phi_rD = angle( rD(2)) M_pD = abs( pD(2)) phi_pD = angle( pD(2)) ArD = 2*M_rD N = tmax/T % Liczba próbek for i = 0:N, k = i; tD(i+1) = k*T; uD(i+1) = 1; yD(i+1) = rD(1) + ArD*(M_pD^k)*cos( phi_pD*k + phi_rD); end; [tk, yk] = stairs(tD, yD) figure(1) plot(tk, yk, 'k-', tD, uD, 'k:') xlabel( 't = kT [s]') ylabel( 'y(kT)') title(' Dyskretna odpowiedź skokowa (T = 1 [s])') axis([0 tmax 0 1.5]) Przykład 3 Dla układu pokazanego na rysunku 3.1. wyznacz odpowiedź skokową. Uzyskaną transmitancję wypadkową zapisz w postaci dyskretnych równań stanu. Parametry dla tego układu są następujące: K 1 = 2, K 2 = 2, = 2, T = 0.1 [s]. K2 r(t) R(s) T ZOH 1 s 1 s K1 y(t) Y(s) Rys. 3.1. Schemat blokowy układu impulsowego. Rozwiązanie: Układ z rysunku 3.1 należy sprowadzić do postaci z rysunku 9. Korzystając z zasad przekształcania schematów blokowych otrzymuje się schemat pokazany na rysunku 3.2. r(t) R(s) T ZOH K1 s(s +K1) y(t) Y(s) T y*(t) Y*(s) G(s) K 1 K2 s K1 Rys. 3.2. Schemat blokowy układu impulsowego z rysunku 2.1 po przekształceniach. Ostatnia aktualizacja: 2016-03-13 M. Tomera 8 Własności dynamiczne układów dyskretnych Teoria sterowania Matlab Po podstawieniu danych liczbowych uzyskuje się następujące transmitancje: transmitancja dynamiki w torze bezpośrednim G p ( s) K1 2 s(s K1 ) s( s (3.1) 4) transmitancja dynamiki w sprzężeniu K1 H (s) K2s K1 2 2s 2 (3.2) s 1 Transmitancja dyskretna transmitancji G(s) znajdującej się w torze bezpośrednim układu z rysunku 3.2 obejmującego ekstrapolator zerowego rzędu oraz transmitancję procesu Gp(s), wyznaczana jest ze wzoru (10) w podobny sposób jak w przykładzie 1. Transmitancja dyskretna w torze bezpośrednim G ( z ) G zohG p ( z ) = Z {G zoh G p ( s)} = 0.00879 z z 2 0.007694 1.6703 z (3.3) 0.67032 Transmitancja dyskretna pętli wyznaczana na podstawie kaskadowego połączenia ekstrapolatora zerowego rzędu, transmitancji Gp(s) i transmitancji znajdującej się w przężeniu, również w podobny sposób jak w przykładzie 1. GH ( z ) G zohG p ( z ) H ( z ) = Z {G zoh G p H ( s )} = 0.15605 z z 2 1.6703 z 0.17253 (3.4) 0.67032 Dyskretna transmitancja wypadkowa układu z rysunku 3.2 0.00879 z T(z) = Y ( z) R( z ) G( z) = 1 GH ( z ) z 1 2 z2 0.007694 1.6703 z 0.67032 0.15605 z 0.17253 1.6703 z = 0.00879 z z 2 0.007694 1.8264 z (3.5) 0.8429 0.67032 Odpowiedź skokową na podstawie transmitancji (3.5) wyznaczona została przy użyciu kodu programu zawartego w przykładzie 2 i w tym przypadku ma następującą postać 1.4 T = 0.1 [s] 1.2 y(t), y(kT) 1 układ ciągły 0.8 0.6 0.4 0.2 0 0 1 2 3 t [s] 4 5 6 7 Rys. 3.1. Porównanie odpowiedzi jednostkowej układu dyskretnego i ciągłego. Ostatnia aktualizacja: 2016-03-13 M. Tomera 9 Własności dynamiczne układów dyskretnych Teoria sterowania y(k ) = 1(k ) 1.2963 (0.9181) k cos( 0.1032 k Matlab 2.4519 ) (3.6) Współczynniki macierzy dyskretnych równań dynamicznych opisanych wzorami (14) i (15) wyznaczone zostały na podstawie transmitancji (3.5) przy użyciu funkcji dtf2ss które w tym przypadku przyjmują następujące wartości F 1.8264 1 0.8429 0 G 1 0 H [0.0088 0.0077 ] J [0] (3.7) Uzyskane dyskretne równania stanu są następujące: x1 (k 1) 1.8264 x1 (k ) 0.8429 x2 (k ) r (k ) x 2 (k 1) (3.8) x1 (k ) y(k ) 0.0088 x1 (k ) 0.0077 x 2 (k ) Porównanie wyników uzyskanych dla układu ciągłego bez impulsatora jak i dyskretnego z impulsatorem przedstawione zostało na rysunku 3.1. Wyniki w tym przykładzie wygenerowane zostały przy użyciu następującego kodu programu: clear close all T = 0.1; % Okres próbkowania tmax = 7; % Odcinek czasu % Układ ciągły numGpC = 2; denGpC = conv([1 0], [1 4]) sysGpC = tf( numGpC, denGpC); % transmitancja dynamiki % w torze bezpośrednim numHC = [-1 1]; denHC = 1; sysHC = tf( numHC, denHC); % transmitancja dynamiki % w sprzężeniu sysC = feedback( sysGpC, sysHC); % transmitancja wypadkowa % całego układu ciągłego [numC, denC] = tfdata( sysC, 'v'); % współczynniki wielomianów % licznika i mianownika % Wygenerowanie odpowiedzi skokowej bez impulsatora t = [0:0.01:tmax]; yC = step( numC, denC, t); % Układ dyskretny sysGD = c2d( sysGpC, T, 'zoh'); [numGD, denGD] = tfdata( sysGD, 'v'); % współczynniki wielomianów % licznika i mianownika transmitancji toru bezpośredniego sysGHC = series( sysGpC, sysHC); sysGHD = c2d( sysGHC, T, 'zoh'); [numGHD, denGHD] = tfdata( sysGHD, 'v'); % współczynniki licznika i mianownika transformaty dyskretnej pętli numD = numGD; % Licznik denD = numGHD + denGHD; % i mianownik dyskretnej transmitancji % wypadkowej [F, G, H, J] = dtf2ss( numD, denD) % Macierze równań dynamicznych N = tmax/T % Liczba próbek yD1 = dstep( numD, denD, N); % odpowiedź skokowa % wyznaczona na podstawie transmitancji yD2 = dstep( F, G, H, J, 1, N); % odpowiedź skokowa % wyznaczona na podstawie równań dynamicznych yD = yD2; % wybór skokowej odpowiedzi dyskretnej do wykreślenia tDmax = (N-1)*T; tD=[0:T:tDmax]'; Ostatnia aktualizacja: 2016-03-13 M. Tomera 10 Własności dynamiczne układów dyskretnych Teoria sterowania Matlab [tDp, yDp]= stairs( tD, yD); % Wygenerowanie odpowiedzi schodkowej % Wykreślenie uzyskanych wyników figure(1) plot( t, yC, 'k-', tDp, yDp, 'k-') xlabel('t [s]') ylabel('y(t), y(kT)') grid on 7. WSKAŹNIKI JAKOŚCI OPISUJĄCE UKŁAD Dynamiczna jakość sterowania w dziedzinie czasu definiowana jest w zależności od parametrów odpowiedzi skokowej układu (dla sygnału zadanego o postaci funkcji skokowej). Najczęściej używanymi parametrami tej odpowiedzi są: czas narastania t n , maksymalne przeregulowanie M p , czas regulacji t R i uchyb w stanie ustalonym e u . Parametry te są równie dobre dla układu dyskretnego jak i dla układu ciągłego. Na płaszczyźnie s wymagania te mają następującą postać: n 1.8 tn ln M p 2 2 (16) (17) ln M p 4 .6 tR (18) Wymagania dotyczące uchybu w stanie ustalonym w zależności od rodzaju sygnału zadanego określone są przez stałe uchybowe. Wymagania dotyczące uchybu zostaną tutaj pominięte. Okres próbkowania T dobiera się tak, aby było przynajmniej 6 próbek w odcinku czasu definiowanym jako czas narastania, lepsze i gładsze wyniki sterowania uzyska się jeśli będzie przynajmniej 10 próbek w czasie narastania. 8. PRZEKSZTAŁCENIE WSKAŹNIKÓW JAKOŚCI UKŁADU NA PŁASZCZYZNĘ Z Odpowiedź układu dyskretnego zależy od położeń biegunów transmitancji dyskretnej na płaszczyźnie z. Bazując na tym można dokonać przekształcenia wskaźników jakości układu na akceptowalne położenia biegunów. Dla przykładu, czas narastania t n ciągłego układu II rzędu jest odwrotnie proporcjonalny do częstotliwości drgań własnych n (16). Przy użyciu przekształcenia z e sT dokonuje się przekształcenia położeń biegunów z płaszczyzny s na płaszczyznę z i częstotliwość drgań własnych n przekształcana jest na kąt bieguna we współrzędnych biegunowych na płaszczyźnie z jako dT , gdzie d n 1 2 . Maksymalne przeregulowanie odpowiedzi skokowej M p jest odwrotnie proporcjonalne do współczynnika tłumienia (17) i linie stałego tłumienia z płaszczyzny s przekształcane są na logarytmiczne spirale na płaszczyźnie z. Czas regulacji t R jest odwrotnie proporcjonalny do części rzeczywistej bieguna na płaszczyźnie s (18) które odpowiadają T promieniom bieguna na płaszczyźnie z jako r e . Podsumowując, aby otrzymać akceptowalne położenia biegunów na płaszczyźnie z należy: Wyznaczyć żądane wartości , z zadanych wymagań projektowych dotyczących n, odpowiedzi skokowej na czas narastania t n , maksymalne przeregulowanie M p i czas regulacji t R Obliczyć promień r e T . Ostatnia aktualizacja: 2016-03-13 M. Tomera 11 Własności dynamiczne układów dyskretnych Teoria sterowania Matlab Wykreśl linie stałego tłumienia i stałych n . Zostanie to wykonane przy użyciu funkcji z biblioteki MATLABA o nazwie zgrid, która wykreśla linie stałego od 0.1 do 0.9 z krokiem 0.1 oraz n N 10T dla stałych wartości od 1 do 10. Zaznacz obszary położeń biegunów spełniających zadane wymagania projektowe układu sterowania dyskretnego. Przykład 4 Znajdź obszary położeń biegunów transmitancji układu dyskretnego na płaszczyźnie z, jeśli wymagania nałożone na odpowiedź skokową są następujące: 0.3 t n 5 Mp 0.6 [s], 30 [%] 1.5 t R 3.5 [s], T = 0.2 [s] = 1 [%]. Rozwiązanie: Korzystając z zależności opisanych wzorami (16), (17), (18), wyznaczone zakresy dopuszczalnych wartości parametrów n , , są następujące 3 6 [rad/s] (4.1) 0.358 0.690 (4.2) 1.314 3.067 (4.3) n Funkcja zgrid z biblioteki MATLABA wykreśla linie stałego tłumienia oraz częstotliwości drgań własnych n . O ile może być podawana do funkcji w sposób bezpośredni to n musi zostać przeliczona względem okresu próbkowania T według zależności s N 10 (4.4) gdzie 10 N nT (4.5) Po podstawieniu wzoru (4.5) do zależności (4.4) uzyskuje się nT s (4.6) Funkcja zgrid nie wykreśla linii stałego , które muszą być naniesione na wykres niezależnie i są one okręgami o stałych promieniach wyznaczanych z zależności r e T (4.7) Ostatecznie zakresy parametrów wykreślanych na płaszczyźnie z, które są następujące 0.6 s 0.358 0.541 r 1.2 [rad/s] (4.8) 0.690 (4.9) 0.769 (4.10) Zakresy parametrów opisanych zależnościami (4.7), (4.8) oraz (4.9) pokazane są na rysunku 4.1. Wyniki te uzyskane zostały przy użyciu następujących linii kodu programu clear close all T = 0.2; % Okres próbkowania % wn1, wn2 - granice dopuszczalnych wartości wn wn1 = 3; Ostatnia aktualizacja: 2016-03-13 M. Tomera 12 Własności dynamiczne układów dyskretnych Teoria sterowania Matlab wn2 = 6; % zeta1, zeta2 - granice dopuszczalnych wartości zeta zeta1 = 0.358; zeta2 = 0.690; % sigma1, sigma2 - granice dopuszczanych wartości sigma sigma1 = 1.314; sigma2 = 3.067; % ws1, ws1 - próbkowane częstotliwości wn ws1 = wn1*T; ws2 = wn2*T; % R1, R2 - promienie granicznych wartości sigma1, sigma2 R1 = exp(-sigma1*T); R2 = exp(-sigma2*T); % Wyznaczenie okręgów o stałych promieniach R1, R2 for i=0:360, xCircle1(i+1) = R1*cos(i*pi/180); yCircle1(i+1) = R1*sin(i*pi/180); xCircle2(i+1) = R2*cos(i*pi/180); yCircle2(i+1) = R2*sin(i*pi/180); end; % wykreślenie okręgów o stałych promieniach plot( xCircle1, yCircle1, 'k:', xCircle2, yCircle2, 'k:') axis([-1 1 -1 1]) xlabel('Re z') ylabel('Im z') zgrid([zeta1 zeta2], [ws1 ws2]) axis equal 1 1.2 0.8 0.6 0.358 0.6 0.736 0.4 0.667 Im z 0.2 0 -0.2 0.541 -0.4 0.6 -0.6 -0.8 1.2 -1 -1 -0.5 0 Re z 0.5 1 Rys. 4.1. Wykres obszaru dozwolonych położeń biegunów na płaszczyźnie z spełniających zadane Ostatnia aktualizacja: 2016-03-13 M. Tomera 13 Własności dynamiczne układów dyskretnych Teoria sterowania Matlab ĆWICZENIA W MATLABIE M1. Dla poniższych układów dyskretnych znajdź transmitancję dyskretną Y ( z) R( z) Okres próbkowania T = 0.5 [s]. a) r(t) r*(t) 1 s(s + 2) r*(t) 1 s+1 r*(t) 1 s+1 T y(t) b) r(t) T y(t) 10 s+2 c) r(t) T 10 s+2 T y(t) d) r*(t) r(t) h(t) ZOH T 5 s(s + 2) y(t) h(t) 1 s+2 e) r(t) e*(t) e(t) ZOH T y(t) f) r(t) e*(t) e(t) u*(t) 1 s+1 T T ZOH 1 s+2 y(t) g) r(t) e*(t) e(t) T ZOH h(t) y(t) 1 s+2 1 s+1 h) r(t) e*(t) e(t) T 1 s+1 u*(t) T ZOH 1 s+2 y(t) 1 s+3 Ostatnia aktualizacja: 2016-03-13 M. Tomera 14 Własności dynamiczne układów dyskretnych Teoria sterowania Matlab M2. Dla poniższych układów sterowania, wyznacz transmitancję dyskretną całego układu Y ( z ) R( z ) i następnie wyznacz odpowiadające im dyskretne równania stanu. a) Okres próbkowania T = 0.25 [s]. R(s) T Y*(s) Y(s) 1 s(s+0.1) ZOH T 0.5s Rys. M2(a) Schemat blokowy układu dyskretnego. b) Okres próbkowania T = 0.2 [s]. R(s) ZOH T 1 s 2 s Y*(s) Y(s) T Rys. M2(b) Schemat blokowy układu dyskretnego. c) Okres próbkowania T = 0.1 [s]. R(s) 1 s ZOH T 7 s Y*(s) Y(s) T 2 Rys. M2(c) Schemat blokowy układu dyskretnego. d) Okres próbkowania T = 0.15 [s]. R(s) T ZOH 1 s+1 6 1 s Y*(s) Y(s) T Rys. M2(d) Schemat blokowy układu dyskretnego. Ostatnia aktualizacja: 2016-03-13 M. Tomera 15 Własności dynamiczne układów dyskretnych Teoria sterowania Matlab e) Okres próbkowania T = 0.1 [s]. R(s) 1 s(s+4) ZOH T 14 Y*(s) Y(s) T 0.5s Rys. M2(e) Schemat blokowy układu dyskretnego. f) Okres próbkowania T = 0.05 [s]. R(s) ZOH T 1 s(s+0.1 ) 4 Y*(s) Y(s) T s Rys. M2(f) Schemat blokowy układu dyskretnego. g) Okres próbkowania T = 0.15 [s]. R(s) 1 s+1 ZOH T 5 s Y*(s) Y(s) T Rys. M2(g). Schemat blokowy układu dyskretnego. h) Okres próbkowania T = 0.1 [s]. R(s) ZOH T 1 s+1 5 1 s Y*(s) Y(s) T 2 Rys. M2(h). Schemat blokowy układu dyskretnego. i) Okres próbkowania T = 0.05 [s]. R(s) T 1 s+1 ZOH 4 s Y*(s) Y(s) T 2 Rys. M2(i). Schemat blokowy układu dyskretnego. Ostatnia aktualizacja: 2016-03-13 M. Tomera 16 Własności dynamiczne układów dyskretnych Teoria sterowania Matlab j) Okres próbkowania T = 0.1 [s]. R(s) 1 s ZOH T 5 s Y*(s) Y(s) T 4 Rys. M2(j). Schemat blokowy układu dyskretnego. k) Okres próbkowania T = 0.15 [s]. R(s) ZOH T 1 s+1 15 Y*(s) Y(s) 1 s T 4 Rys. M2(k). Schemat blokowy układu dyskretnego. l) Okres próbkowania T = 0.1 [s]. R(s) ZOH T 16 s 1 s Y*(s) Y(s) T Rys. M2(l). Schemat blokowy układu dyskretnego. M3. Naszkicuj obszary na płaszczyźnie z w którym powinny znaleźć się bieguny układu II rzędu, które spełniają poniższe wymagania. a) czas narastania tn 0.5 [s] procentowe przeregulowanie powinno być w zakresie Mp czas regulacji tR 2 [s], ( = 1 [%]) okres próbkowania: T = 0.05 [s]. 20 [%] b) czas narastania 0.3 tn 0.6 [s], maksymalne przeregulowanie 15 10 czas regulacji 7 tR Mp 30 [%], 10 [s], ( = 2 [%]) 3 okres próbkowania T = 0.1 [s]. c) czas narastania tn 2 [s] procentowe przeregulowanie powinno być w zakresie 10 czas regulacji tR 6 [s], ( = 2%) okres próbkowania: T = 0.2 [s] Ostatnia aktualizacja: 2016-03-13 M. Tomera Mp 25 [%] 17 Własności dynamiczne układów dyskretnych Teoria sterowania Matlab d) czas narastania tn 0.6 [s], maksymalne przeregulowanie Mp 20 [%], czas regulacji 1 tR 2 [s], ( = 2%) okres próbkowania: T = 0.05 [s] e) czas narastania tn 0.8 [s], maksymalne przeregulowanie Mp 25 [%], czas regulacji tR 3.6 [s], ( = 2%) okres próbkowania: T = 0.1 [s] f) czas narastania 0.6 tn 1.8 [s], maksymalne przeregulowanie Mp 10 [%], czas regulacji tR 1.8 [s], ( = 2%) okres próbkowania: T = 0.1 [s] g) czas narastania tn 1.5 [s], maksymalne przeregulowanie 15 Mp czas regulacji tR 8 [s], = 1 [%] okres próbkowania: T = 0.15 [s] 50 [%], h) czas narastania tn 0.3 [s], maksymalne przeregulowanie 5 czas regulacji 1 tR Mp 25 [%], 10 [s], ( = 1 [%]) 7 okres próbkowania: T = 0.2 [s] i) czas narastania tn 0.45 [s] procentowe przeregulowanie powinno być w zakresie Mp czas regulacji tR 4 [s], ( = 1 [%]) okres próbkowania: T = 0.1 [s] 14 [%] j) czas narastania tn 1.6 [s] procentowe przeregulowanie powinno być w zakresie 12 czas regulacji tR 8 [s], ( = 2%) okres próbkowania: T = 0.05 [s] Mp 18 [%] k) czas narastania tn 0.3 [s], maksymalne przeregulowanie Mp 10 [%], czas regulacji tR 3 [s], ( = 2%) okres próbkowania: T = 0.15 [s] l) czas narastania tn 1.2 [s], maksymalne przeregulowanie 12 Mp czas regulacji tR 7.2 [s], ( = 1 [%]) okres próbkowania: T = 0.2 [s] Ostatnia aktualizacja: 2016-03-13 24 [%], M. Tomera 18 Własności dynamiczne układów dyskretnych Teoria sterowania Matlab ODPOWIEDZI DO WYBRANYCH ĆWICZEŃ M1. 0.3161z a) G( z ) 2 1.3679z 0.3679 2.3865z z2 0.9744z 0.2231 z b) G( z ) 10z c) G( z ) z d) G( z ) 2 e) G( z ) f) G( z ) 2 0.3161 z 0.0518 3.1606 z2 g) G( z ) 0.9744z 0.2231 0.4598z 0.3303 0.6583z 0.2231 0.3161z 0.1917 z2 0.8970z 0.2701 z 2 1.3679z 0.3679 M2. a) x1 (k 1) 1.8310 x1 (k ) 0.8890 x 2 (k ) r (k ) x 2 (k 1) y (k ) x 2 (k 1) x1 (k ) y (k ) 0.0297 x1 (k ) 0.0283 x 2 (k ) x 2 (k 1) y (k ) 0.0352 x1 (k ) 0.0308 x2 (k ) c) x1 (k 1) 1.7650 x1 (k ) 0.8350 x 2 (k ) r (k ) y (k ) f) y (k ) 0.9375 x1 (k ) 0.0625 x 2 (k ) r (k ) x 2 (k 1) x1 (k ) 0.1125 x1 (k ) 0.0125 x 2 (k ) x 2 (k 1) y (k ) 0.0606 x1 (k ) 0.0522 x 2 (k ) x 2 (k 1) 0.0048 x1 (k ) 0.0045 x 2 (k ) k) x1 (k 1) 1.3389 x1 (k ) 0.5764 x 2 (k ) r (k ) x1 (k ) x1 (k 1) 1.9416 x1 (k ) 0.9513 x 2 (k ) r (k ) x1 (k ) x1 (k 1) y (k ) 0.0612 x1 (k ) 0.0554 x 2 (k ) e) x1 (k 1) 1.5770 x1 (k ) 0.6898 x 2 (k ) r (k ) y (k ) j) x1 (k ) x 2 (k 1) x1 (k 1) 1.8559 x1 (k ) 0.8652 x 2 (k ) r (k ) y (k ) 0.0350 x1 (k ) 0.0350 x 2 (k ) x1 (k ) 0.0227 x1 (k ) 0.0205 x 2 (k ) x 2 (k 1) d) x1 (k 1) 1.6796 x1 (k ) 0.7962 x 2 (k ) r (k ) y (k ) i) x1 (k ) x 2 (k 1) 0.0510 x1 (k ) 0.0462 x 2 (k ) x 2 (k 1) x1 (k ) x 2 (k 1) x1 (k ) h) x1 (k 1) 1.7181 x1 (k ) 0.7613 x 2 (k ) r (k ) b) x1 (k 1) 1.8 x1 (k ) 0.8659 x 2 (k ) r (k ) y (k ) g) x1 (k 1) 1.6898 x1 (k ) 0.7870 x 2 (k ) r (k ) l) x1 (k ) 0.1334 x1 (k ) 0.1040 x 2 (k ) x1 (k 1) 0.3048 x1 (k ) 0.5429 x 2 (k ) r (k ) x 2 (k 1) x1 (k ) y (k ) 0.0049 x1 (k ) 0.0048 x2 (k ) x1 (k ) 0.0774 x1 (k ) 0.0749 x 2 (k ) M3. a) 0.18 c) 0.18 0.4037 0.8752 s 0.4559 0 r 0.8914 b) 0.3 0.3579 0.7558 s 0.6 0.5169 r 0.8869 Ostatnia aktualizacja: 2016-03-13 d) 0.15 0.4559 0.8187 M. Tomera s r 0.5912 1 s r 0.9048 19 Własności dynamiczne układów dyskretnych Teoria sterowania e) 0 f) 0.1 i) 0 0.225 s 0.4037 0.8948 r r 0.4 0.5305 0 r 0.8914 1 j) 0.0563 s 0.4791 0.5594 0 r 0.9753 0.3 s 0.5912 0.8007 s 1 g) 0.18 s 0.2155 0.5169 0 r 0.9174 k) 0 h) 1.2 0.4037 0.3985 l) 0.3 s 0.4136 0.5594 0 r 0.88 s 0.5912 0.8187 s r Matlab 0.6901 0.5252 0.9 r 1 LITERATURA 1. Franklin G.F, Powell J.D., Emami-Naeini A.: Digital Control of Dynamic Systems, 3rd ed. Addison-Wesley Publishing Company, 1998. 2. Kuo B.C.: Automatic Control of Dynamic Systems, 7th ed, Addison-Wesley & Sons Inc., 1995. Ostatnia aktualizacja: 2016-03-13 M. Tomera 20