Ostatnia aktualizacja: 04-11-09
M. Tomera
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.
Regulator
cyfrowy
r(t)
r
*
(t)
C/A
Proces
h(t)
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)
ZOH
h(t)
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
( )
t
r
*
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.
Teoria sterowania
Własności dynamiczne układów dyskretnych
−
Matlab
Ostatnia aktualizacja: 04-11-09
M. Tomera
2
t
r(t)
t = kT
t = kT
r
*
(t)
h(t)
(a)
(b)
(c)
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
)
(
)
(
lim
0
t
r
t
h
T
=
→
(1)
Opierając się na powyższych definicjach, typowy dyskretny układ otwarty modelowany jest w sposób
pokazany na rysunku 4.
r(t)
r
*
(t)
ZOH
h(t)
T
Proces
sterowany
y(t)
G(s)
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
( )
( )
s
R
s
G
s
Y
*
)
(
=
(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.
r(t)
r
*
(t)
ZOH
h(t)
T
Proces
sterowany
y(t)
T
y
*
(t)
S
2
S
1
Rys. 5. Schemat blokowy układu dyskretnego z fikcyjnym impulsatorem na wyjściu
Teoria sterowania
Własności dynamiczne układów dyskretnych
−
Matlab
Ostatnia aktualizacja: 04-11-09
M. Tomera
3
Aby ominąć ten problem zastosowany zostanie fikcyjny impulsator na wyjściu układu, jak pokazane
zostało to na rysunku 5. Fikcyjne próbki
2
S
mają taki sam okres próbkowania T i są
zsynchronizowane z próbkami
1
S
. Próbkowana postać sygnału y(t) została oznaczona jako
)
(
*
t
y
.
( )
( )
z
R
z
G
z
Y
)
(
=
(3)
gdzie
)
(z
G
definiowana jest jako transformata z funkcji operatorowej G(s) i opisana jest również jako
( )
¦
∞
=
−
=
0
)
(
k
k
z
kT
g
z
G
(4)
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
2
S , który jest zsynchronizowany z impulsatorem
1
S 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.
r(t)
r
*
(t)
G
1
(s)
d(t)
T
Y(s)
T
y
*
(t)
S
2
S
1
R(s)
R
*
(s)
D(s)
G
2
(s)
d
*
(t)
D
*
(s)
T
y(t)
Y
*
(s)
(a)
r(t)
r
*
(t)
G
1
(s)
d(t)
T
Y(s)
y
*
(t)
S
1
R(s)
R
*
(s)
D(s)
G
2
(s)
T
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
( )
( )
z
R
z
G
z
G
z
Y
)
(
)
(
2
1
=
(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
( )
z
Y
=
( )
z
R
z
G
G
)
(
2
1
(6)
4. TRANSMITANCJA DYSKRETNEGO UKŁADU ZAMKNIĘTEGO
Transmitancja dyskretnego układu zamkniętego zależy od położenia impulsatora w układzie.
Teoria sterowania
Własności dynamiczne układów dyskretnych
−
Matlab
Ostatnia aktualizacja: 04-11-09
M. Tomera
4
a(t)
a
*
(t)
G(s)
T
Y(s)
y
*
(t)
A(s)
A
*
(s)
T
y(t)
Y
*
(s)
H(s)
r(t)
R(s)
(a)
a(t)
y
*
(t)
G(s)
T
Y(s)
y
*
(t)
A(s)
Y
*
(s)
T
y(t)
Y
*
(s)
H(s)
r(t)
R(s)
(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
Y(z) =
)
(
)
(
1
)
(
z
R
z
GH
z
G
+
(7)
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) =
)
(
1
)
(
z
GH
z
GR
+
(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.
1
0
0
T
t
g
h
(t)
Rys. 8. Odpowiedź impulsowa ekstrapolatora zerowego rzędu.
Teoria sterowania
Własności dynamiczne układów dyskretnych
−
Matlab
Ostatnia aktualizacja: 04-11-09
M. Tomera
5
Transmitancja ekstrapolatora zerowego rzędu jest następująca
( )
s
G
h
=
£
{
}
)
(t
g
h
=
s
e
sT
−
−
1
(9)
Jeśli ekstrapolator zerowego rzędu połączony jest kaskadowo z procesem liniowym o transmitancji
( )
s
G
p
, tak jak pokazano to na rysunku 4, to transformata Z takiego połączenia zapisana jest
następująco
( )
z
G
= Z
{
}
)
(
)
(
s
G
s
G
p
h
= Z
°¿
°
¾
½
°¯
°
®
−
−
)
(
1
s
G
s
e
p
sT
(10)
Korzystając z własności transformaty Z o czasie opóźnienia, równanie (10) można uprościć do postaci
( )
z
G
=
(
)
1
1
−
−
z
Z
¿
¾
½
¯
®
s
s
G
p
)
(
(11)
Przykład 1
Dla układu z rysunku 4, rozważ następującą transmitancję
(
)
5
.
0
1
)
(
+
=
s
s
s
G
p
(1.1)
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).
( )
z
G
=
(
)
1
1
−
−
z
Z
(
)
°¿
°
¾
½
°¯
°
®
+
5
.
0
1
2
s
s
=
(
)
1
1
−
−
z
Z
¿
¾
½
¯
®
+
+
+
−
5
.
0
4
2
4
2
s
s
s
=
¸
¹
·
¨
©
§
−
z
z
1
(
)
¸
¸
¹
·
¨
¨
©
§
−
+
−
+
−
−
−
5
.
0
2
4
1
2
1
4
e
z
z
z
z
z
z
=
(
)
5
.
0
1
4
1
2
4
−
−
−
+
−
+
−
e
z
z
z
=
6065
.
0
607
.
1
3608
.
0
4261
.
0
2
+
−
+
z
z
z
(1.2)
Te same wyniki można uzyskać korzystając z funkcji
c2d
z biblioteki M
ATLABA
.
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
Teoria sterowania
Własności dynamiczne układów dyskretnych
−
Matlab
Ostatnia aktualizacja: 04-11-09
M. Tomera
6
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:
T(z) =
)
(
1
)
(
)
(
)
(
z
GH
z
G
z
R
z
Y
+
=
(12)
gdzie GH(z) oznacza transformatę Z transmitancji G(s)H(s).
ZOH
a
*
(t)
r(t)
G
p
(s)
y
*
(t)
G(s)
H(s)
T
y(t)
Y
*
(s)
Y(s)
T
A
*
(s)
a(t)
A(s)
R( 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ą
)
(
)
(
)
(
z
R
z
T
z
Y
=
(13)
wówczas postać dyskretną wyznacza się na podstawie wzoru (13) po podstawieniu
)
1
(
)
(
−
=
z
z
z
U
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 M
ATLABIE
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
)
(
)
(
)
1
(
k
r
k
k
B
Ax
x
+
=
+
(14)
)
(
)
(
)
(
k
r
k
k
y
D
Cx
+
=
(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
[A, B, C, D] = dtf2ss( numD, denD)
Teoria sterowania
Własności dynamiczne układów dyskretnych
−
Matlab
Ostatnia aktualizacja: 04-11-09
M. Tomera
7
Przykład 2
Dla układu opisanego poniższą transmitancją dyskretną, wyznacz odpowiedź skokową.
)
(z
G
=
)
(
)
(
z
U
z
Y
=
6
.
0
9
.
0
3
.
0
4
.
0
2
+
−
+
z
z
z
(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ą
)
(z
Y
=
)
(
)
(
z
U
z
G
=
1
6
.
0
9
.
0
3
.
0
4
.
0
2
−
⋅
+
−
+
z
z
z
z
z
(2.2)
i następnie uzyskaną transformatę dyskretną (2.2) rozkłada się na sumę transformat
elementarnych zapisanych
)
(z
Y
=
(
)
(
)
6305
.
0
45
.
0
119
.
0
5
.
0
6305
.
0
45
.
0
119
.
0
5
.
0
1
j
z
z
j
j
z
z
j
z
z
+
−
−
−
+
−
−
+
−
+
−
(2.3)
Poza zapisaniu wartości residuów i położeń biegunów w postaciach wykładniczych
)
(z
Y
=
9509
.
0
908
.
2
9509
.
0
908
.
2
7746
.
0
514
.
0
7746
.
0
514
.
0
1
j
j
j
j
e
z
z
e
e
z
z
e
z
z
−
−
−
+
−
+
−
(2.4)
dla każdego składnika sumy znajduje się postać dyskretną odpowiedzi skokowej
)
(k
y
=
(
)
(
)
908
.
2
9509
.
0
cos
7746
.
0
0279
.
1
)
(
1
+
+
k
k
k
(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 M
ATLABA
.
0
5
10
15
20
25
0
0.5
1
1.5
t = kT [s]
y(
kT
)
Dyskretna odpowiedź skokowa (T = 1 [s])
Rys. 2.1. Dyskretna odpowiedź skokowa
Teoria sterowania
Własności dynamiczne układów dyskretnych
−
Matlab
Ostatnia aktualizacja: 04-11-09
M. Tomera
8
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:
1
K = 2,
2
K = 2,
α
= 2, T = 0.1 [s].
1
s
r(t)
y(t)
K
1
1
s
α
K
2
ZOH
T
R(s)
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)
ZOH
T
R(s)
Y*(s)
K
1
s(s +
α
K
1
)
T
y*(t)
y(t)
Y(s)
G(s)
K
1
−
K
2
s
K
1
Rys. 3.2. Schemat blokowy układu impulsowego z rysunku 2.1 po przekształceniach.
Teoria sterowania
Własności dynamiczne układów dyskretnych
−
Matlab
Ostatnia aktualizacja: 04-11-09
M. Tomera
9
Po podstawieniu danych liczbowych uzyskuje się następujące transmitancje:
−
transmitancja dynamiki w torze bezpośrednim
(
) (
)
4
2
)
(
1
1
+
=
+
=
s
s
K
s
s
K
s
G
p
α
(3.1)
−
transmitancja dynamiki w sprzężeniu
1
2
2
2
)
(
1
2
1
+
−
=
−
=
−
=
s
s
K
s
K
K
s
H
(3.2)
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 G
p
(s),
wyznaczana jest ze wzoru (10) w podobny sposób jak w przykładzie 1. Transmitancja dyskretna
w torze bezpośrednim
)
(
)
(
z
G
G
z
G
p
zoh
=
=
Z
{
}
)
(s
G
G
p
zoh
=
67032
.
0
6703
.
1
007694
.
0
00879
.
0
2
+
−
+
z
z
z
(3.3)
Transmitancja dyskretna pętli wyznaczana na podstawie kaskadowego połączenia
ekstrapolatora zerowego rzędu, transmitancji G
p
(s) i transmitancji znajdującej się w przężeniu,
również w podobny sposób jak w przykładzie 1.
)
(
)
(
)
(
z
H
z
G
G
z
GH
p
zoh
=
=
Z
{
}
)
(s
H
G
G
p
zoh
=
67032
.
0
6703
.
1
17253
.
0
15605
.
0
2
+
−
+
−
z
z
z
(3.4)
Dyskretna transmitancja wypadkowa układu z rysunku 3.2
T(z) =
( )
)
(
1
)
(
)
(
z
GH
z
G
z
R
z
Y
+
=
=
67032
.
0
6703
.
1
17253
.
0
15605
.
0
1
67032
.
0
6703
.
1
007694
.
0
00879
.
0
2
2
+
−
+
−
+
+
−
+
z
z
z
z
z
z
=
8429
.
0
8264
.
1
007694
.
0
00879
.
0
2
+
−
+
z
z
z
(3.5)
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ć
0
1
2
3
4
5
6
7
0
0.2
0.4
0.6
0.8
1
1.2
1.4
t [s]
y(
t),
y(
kT
)
układ
ciągły
T = 0.1 [s]
Rys. 3.1. Porównanie odpowiedzi jednostkowej układu dyskretnego i ciągłego.
Teoria sterowania
Własności dynamiczne układów dyskretnych
−
Matlab
Ostatnia aktualizacja: 04-11-09
M. Tomera
10
)
(k
y
=
(
)
(
)
4519
.
2
1032
.
0
cos
9181
.
0
2963
.
1
)
(
1
+
+
k
k
k
(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
»
¼
º
«
¬
ª
−
=
0
1
8429
.
0
8264
.
1
A
»
¼
º
«
¬
ª
=
0
1
B
[
]
0077
.
0
0088
.
0
=
C
[ ]
0
=
D
(3.7)
Uzyskane dyskretne równania stanu są następujące:
(
)
)
(
8429
.
0
)
(
8264
.
1
1
1
1
k
r
k
x
k
x
+
−
⋅
=
+
(
)
)
(
1
1
2
k
x
k
x
=
+
(3.8)
( )
)
(
0077
.
0
)
(
0088
.
0
2
1
k
x
k
x
k
y
⋅
+
⋅
=
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
[A, B, C, D] = 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( A, B, C, D, 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]';
Teoria sterowania
Własności dynamiczne układów dyskretnych
−
Matlab
Ostatnia aktualizacja: 04-11-09
M. Tomera
11
[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
n
t , maksymalne przeregulowanie
p
M ,
czas regulacji
R
t i uchyb w stanie ustalonym
u
e . 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
n
t
8
.
1
≥
ω
(16)
p
p
M
M
2
2
ln
ln
+
−
≥
π
ζ
(17)
R
t
6
.
4
≥
σ
(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
n
t 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
sT
e
z
=
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
T
d
ω
θ
=
, gdzie
2
1
ζ
ω
ω
−
=
n
d
. Maksymalne przeregulowanie odpowiedzi skokowej
p
M 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
R
t jest odwrotnie
proporcjonalny do części rzeczywistej bieguna
σ
na płaszczyźnie s (18) które odpowiadają
promieniom bieguna na płaszczyźnie z jako
T
e
r
σ
−
=
.
Podsumowując, aby otrzymać akceptowalne położenia biegunów na płaszczyźnie z należy:
•
Wyznaczyć żądane wartości
n
ω
,
ζ
,
σ
z zadanych wymagań projektowych dotyczących
odpowiedzi skokowej na czas narastania
n
t , maksymalne przeregulowanie
p
M i czas regulacji
R
t
•
Obliczyć promień
T
e
r
σ
−
=
.
Teoria sterowania
Własności dynamiczne układów dyskretnych
−
Matlab
Ostatnia aktualizacja: 04-11-09
M. Tomera
12
•
Wykreśl linie stałego tłumienia
ζ
i stałych
n
ω
. Zostanie to wykonane przy użyciu funkcji
z biblioteki M
ATLABA
o nazwie
zgrid
, która wykreśla linie stałego
ζ
od 0.1 do 0.9 z krokiem
0.1 oraz
T
N
n
10
π
ω
=
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
≤
≤
n
t
0.6 [s],
•
5
≤
≤
p
M
30 [%]
•
1.5
≤
≤
R
t
3.5 [s],
∆
= 1 [%].
•
T = 0.2 [s]
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
≤
≤
n
ω
6 [rad/s]
(4.1)
0.358
≤
≤
ζ
0.690
(4.2)
1.314
≤
≤
σ
3.067
(4.3)
Funkcja
zgrid
z biblioteki M
ATLABA
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
10
π
ω
N
s
=
(4.4)
gdzie
π
ω
T
N
n
10
=
(4.5)
Po podstawieniu wzoru (4.5) do zależności (4.4) uzyskuje się
T
n
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
T
e
r
σ
−
=
(4.7)
Ostatecznie zakresy parametrów wykreślanych na płaszczyźnie z, które są następujące
0.6
≤
≤
s
ω
1.2 [rad/s]
(4.8)
0.358
≤
≤
ζ
0.690
(4.9)
0.541
≤
≤
r
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;
Teoria sterowania
Własności dynamiczne układów dyskretnych
−
Matlab
Ostatnia aktualizacja: 04-11-09
M. Tomera
13
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
-0.5
0
0.5
1
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
0.667
0.358
1.2
0.6
1.2
0.6
Re z
Im
z
0.736
0.541
Rys. 4.1. Wykres obszaru dozwolonych położeń biegunów na płaszczyźnie z spełniających zadane
Teoria sterowania
Własności dynamiczne układów dyskretnych
−
Matlab
Ostatnia aktualizacja: 04-11-09
M. Tomera
14
ĆWICZENIA W MATLABIE
M1.
Dla poniższych układów dyskretnych znajdź transmitancję dyskretną
)
(
)
(
z
R
z
Y
Okres
próbkowania T = 0.5 [s].
a)
y(t)
T
1
s(s + 2)
r(t)
r
*
(t)
b)
y(t)
T
1
s + 1
r(t)
r
*
(t)
10
s + 2
c)
y(t)
1
s + 1
r(t)
r
*
(t)
10
s + 2
T
T
d)
y(t)
T
ZOH
r(t)
r
*
(t)
5
s(s + 2)
h(t)
e)
y(t)
T
ZOH
e(t)
e
*
(t)
1
s + 2
h(t)
r(t)
f)
y(t)
T
ZOH
e(t)
e
*
(t)
1
s + 2
u
*
(t)
r(t)
1
s + 1
T
g)
y(t)
T
ZOH
e(t)
e
*
(t)
1
s + 2
h(t)
r(t)
1
s + 1
h)
y(t)
T
ZOH
e(t)
e
*
(t)
1
s + 2
u
*
(t)
r(t)
1
s + 1
T
1
s + 3
Teoria sterowania
Własności dynamiczne układów dyskretnych
−
Matlab
Ostatnia aktualizacja: 04-11-09
M. Tomera
15
M2. Dla poniższych układów sterowania, wyznacz transmitancję dyskretną całego układu
)
(
)
(
z
R
z
Y
i następnie wyznacz odpowiadające im dyskretne równania stanu.
a) Okres próbkowania T = 0.25 [s].
1
s(s+0.1)
0.5s
R(s)
Y(s)
ZOH
T
Y
*
(s)
T
Rys. M2(a) Schemat blokowy układu dyskretnego.
b) Okres próbkowania T = 0.2 [s].
1
s
R(s)
Y(s)
ZOH
T
2
s
T
Y
*
(s)
Rys. M2(b) Schemat blokowy układu dyskretnego.
c) Okres próbkowania T = 0.1 [s].
1
s
2
R(s)
Y(s)
7
s
ZOH
T
Y
*
(s)
T
Rys. M2(c) Schemat blokowy układu dyskretnego.
d) Okres próbkowania T = 0.15 [s].
6
1
s+1
R(s)
Y(s)
1
s
ZOH
T
Y
*
(s)
T
Rys. M2(d) Schemat blokowy układu dyskretnego.
Teoria sterowania
Własności dynamiczne układów dyskretnych
−
Matlab
Ostatnia aktualizacja: 04-11-09
M. Tomera
16
e) Okres próbkowania T = 0.1 [s].
1
s(s+4)
0.5s
R(s)
Y(s)
14
ZOH
T
Y
*
(s)
T
Rys. M2(e) Schemat blokowy układu dyskretnego.
f) Okres próbkowania T = 0.05 [s].
4
1
s(s+0.1 )
s
R(s)
Y(s)
ZOH
T
Y
*
(s)
T
Rys. M2(f) Schemat blokowy układu dyskretnego.
g) Okres próbkowania T = 0.15 [s].
1
s+1
R(s)
Y(s)
ZOH
T
5
s
Y
*
(s)
T
Rys. M2(g). Schemat blokowy układu dyskretnego.
h) Okres próbkowania T = 0.1 [s].
1
s+1
5
R(s)
Y(s)
2
1
s
ZOH
T
Y
*
(s)
T
Rys. M2(h). Schemat blokowy układu dyskretnego.
i) Okres próbkowania T = 0.05 [s].
1
s+1
R(s)
Y(s)
2
4
s
ZOH
T
Y
*
(s)
T
Rys. M2(i). Schemat blokowy układu dyskretnego.
Teoria sterowania
Własności dynamiczne układów dyskretnych
−
Matlab
Ostatnia aktualizacja: 04-11-09
M. Tomera
17
j) Okres próbkowania T = 0.1 [s].
1
s
R(s)
Y(s)
4
ZOH
T
5
s
Y
*
(s)
T
Rys. M2(j). Schemat blokowy układu dyskretnego.
k) Okres próbkowania T = 0.15 [s].
1
s+1
15
R(s)
Y(s)
4
1
s
ZOH
T
Y
*
(s)
T
Rys. M2(k). Schemat blokowy układu dyskretnego.
l) Okres próbkowania T = 0.1 [s].
16
s
R(s)
Y(s)
ZOH
T
1
s
T
Y
*
(s)
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 t
n
≤
0.5 [s]
•
procentowe przeregulowanie powinno być w zakresie M
p
≤
20 [%]
•
czas regulacji t
R
≤
2 [s], (
∆
= 1 [%])
•
okres próbkowania: T = 0.05 [s].
b)
•
czas narastania 0.3
≤
t
n
≤
0.6 [s],
•
maksymalne przeregulowanie 15
≤
M
p
≤
30 [%],
•
czas regulacji
7
10
≤
t
R
≤
3
10
[s], (
∆
= 2 [%])
•
okres próbkowania T = 0.1 [s].
c)
•
czas narastania t
n
≤
2 [s]
•
procentowe przeregulowanie powinno być w zakresie 10
≤
M
p
≤
25 [%]
•
czas regulacji t
R
≥
6 [s], (
∆
= 2%)
•
okres próbkowania: T = 0.2 [s]
Teoria sterowania
Własności dynamiczne układów dyskretnych
−
Matlab
Ostatnia aktualizacja: 04-11-09
M. Tomera
18
d)
•
czas narastania t
n
≤
0.6 [s],
•
maksymalne przeregulowanie M
p
≤
20 [%],
•
czas regulacji 1
≤
t
R
≤
2 [s], (
∆
= 2%)
•
okres próbkowania: T = 0.05 [s]
e)
•
czas narastania t
n
≥
0.8 [s],
•
maksymalne przeregulowanie M
p
≤
25 [%],
•
czas regulacji t
R
≥
3.6 [s], (
∆
= 2%)
•
okres próbkowania: T = 0.1 [s]
f)
•
czas narastania 0.6
≤
t
n
≤
1.8 [s],
•
maksymalne przeregulowanie M
p
≤
10 [%],
•
czas regulacji t
R
≥
1.8 [s], (
∆
= 2%)
•
okres próbkowania: T = 0.1 [s]
g)
•
czas narastania t
n
≤
1.5 [s],
•
maksymalne przeregulowanie 15
≤
M
p
≤
50 [%],
•
czas regulacji t
R
≤
8 [s],
∆
= 1 [%]
•
okres próbkowania: T = 0.15 [s]
h)
•
czas narastania t
n
≤
0.3 [s],
•
maksymalne przeregulowanie 5
≤
M
p
≤
25 [%],
•
czas regulacji 1
≤
t
R
≤
7
10
[s], (
∆
= 1 [%])
•
okres próbkowania: T = 0.2 [s]
i)
•
czas narastania t
n
≥
0.45 [s]
•
procentowe przeregulowanie powinno być w zakresie M
p
≤
14 [%]
•
czas regulacji t
R
≤
4 [s], (
∆
= 1 [%])
•
okres próbkowania: T = 0.1 [s]
j)
•
czas narastania t
n
≤
1.6 [s]
•
procentowe przeregulowanie powinno być w zakresie 12
≤
M
p
≤
18 [%]
•
czas regulacji t
R
≤
8 [s], (
∆
= 2%)
•
okres próbkowania: T = 0.05 [s]
k)
•
czas narastania t
n
≥
0.3 [s],
•
maksymalne przeregulowanie M
p
≤
10 [%],
•
czas regulacji t
R
≥
3 [s], (
∆
= 2%)
•
okres próbkowania: T = 0.15 [s]
l)
•
czas narastania t
n
≤
1.2 [s],
•
maksymalne przeregulowanie 12
≤
M
p
≤
24 [%],
•
czas regulacji t
R
≤
7.2 [s], (
∆
= 1 [%])
•
okres próbkowania: T = 0.2 [s]
Teoria sterowania
Własności dynamiczne układów dyskretnych
−
Matlab
Ostatnia aktualizacja: 04-11-09
M. Tomera
19
ODPOWIEDZI DO WYBRANYCH ĆWICZEŃ
M1.
a)
3679
.
0
3679
.
1
3161
.
0
)
(
2
+
−
=
z
z
z
z
G
b)
2231
.
0
9744
.
0
3865
.
2
)
(
2
+
−
=
z
z
z
z
G
c)
2231
.
0
9744
.
0
10
)
(
2
2
+
−
=
z
z
z
z
G
d)
3679
.
0
3679
.
1
3303
.
0
4598
.
0
)
(
2
+
−
+
=
z
z
z
z
G
e)
0518
.
0
3161
.
0
)
(
−
=
z
z
G
f)
2231
.
0
6583
.
0
1606
.
3
)
(
2
+
−
=
z
z
z
G
g)
2701
.
0
8970
.
0
1917
.
0
3161
.
0
)
(
2
+
−
−
=
z
z
z
z
G
M2.
a)
»
¼
º
«
¬
ª
−
=
0
1
8890
.
0
8310
.
1
A
»
¼
º
«
¬
ª
=
0
1
B
[
]
0283
.
0
0297
.
0
=
C
[ ]
0
=
D
b)
»
¼
º
«
¬
ª
−
=
0
1
8659
.
0
8
.
1
A
»
¼
º
«
¬
ª
=
0
1
B
[
]
0308
.
0
0352
.
0
=
C
[ ]
0
=
D
c)
»
¼
º
«
¬
ª
−
=
0
1
8350
.
0
7650
.
1
A
»
¼
º
«
¬
ª
=
0
1
B
[
]
0350
.
0
0350
.
0
=
C
[ ]
0
=
D
d)
»
¼
º
«
¬
ª
−
=
0
1
7962
.
0
6796
.
1
A
»
¼
º
«
¬
ª
=
0
1
B
[
]
0554
.
0
0612
.
0
=
C
[ ]
0
=
D
e)
»
¼
º
«
¬
ª
−
=
0
1
8382
.
0
7143
.
1
A
»
¼
º
«
¬
ª
=
0
1
B
[
]
0594
.
0
0645
.
0
=
C
[ ]
0
=
D
f)
»
¼
º
«
¬
ª
−
=
0
1
8717
.
0
7281
.
1
A
»
¼
º
«
¬
ª
=
0
1
B
[
]
0692
.
0
0744
.
0
=
C
[ ]
0
=
D
g)
»
¼
º
«
¬
ª
−
=
0
1
7870
.
0
6898
.
1
A
»
¼
º
«
¬
ª
=
0
1
B
[
]
0462
.
0
0510
.
0
=
C
[ ]
0
=
D
h)
»
¼
º
«
¬
ª
−
=
0
1
6795
.
0
5889
.
1
A
»
¼
º
«
¬
ª
=
0
1
B
[
]
0419
.
0
0487
.
0
=
C
[ ]
0
=
D
i)
»
¼
º
«
¬
ª
−
=
0
1
8652
.
0
8559
.
1
A
»
¼
º
«
¬
ª
=
0
1
B
[
]
0045
.
0
0048
.
0
=
C
[ ]
0
=
D
j)
»
¼
º
«
¬
ª
−
=
0
1
0625
.
0
9375
.
0
A
»
¼
º
«
¬
ª
=
0
1
B
[
]
0125
.
0
1125
.
0
=
C
[ ]
0
=
D
k)
»
¼
º
«
¬
ª
−
=
0
1
6607
.
0
5426
.
1
A
»
¼
º
«
¬
ª
=
0
1
B
[
]
0541
.
0
0639
.
0
=
C
[ ]
0
=
D
l)
»
¼
º
«
¬
ª
=
0
1
5429
.
0
3048
.
0
A
»
¼
º
«
¬
ª
=
0
1
B
[
]
0749
.
0
0774
.
0
=
C
[ ]
0
=
D
Teoria sterowania
Własności dynamiczne układów dyskretnych
−
Matlab
Ostatnia aktualizacja: 04-11-09
M. Tomera
20
M3.
a) 0.18
≤
≤
s
ω
∞
0.4559
≤
≤
ζ
∞
0
≤
≤
r
0.8914
b) 0.3
≤
≤
s
ω
0.6
0.3579
≤
≤
ζ
0.5169
0.7558
≤
≤
r
0.8869
c) 0.18
≤
≤
s
ω
∞
0.4037
≤
≤
ζ
0.5912
0.8752
≤
≤
r
1
d) 0.15
≤
≤
s
ω
∞
0.4559
≤
≤
ζ
∞
0.8187
≤
≤
r
0.9048
e) 0
≤
≤
s
ω
0.225
0.4037
≤
≤
ζ
∞
0.8948
≤
≤
r
1
e) 0
≤
≤
s
ω
0.225
0.4037
≤
≤
ζ
∞
0.8948
≤
≤
r
1
f) 0.1
≤
≤
s
ω
0.3
0.5912
≤
≤
ζ
∞
0.8007
≤
≤
r
1
g) 0.18
≤
≤
s
ω
∞
0.2155
≤
≤
ζ
0.5169
0
≤
≤
r
0.9174
h) 1.2
≤
≤
s
ω
∞
0.4037
≤
≤
ζ
0.6901
0.3985
≤
≤
r
0.5252
i) 0
≤
≤
s
ω
0.4
0.5305
≤
≤
ζ
∞
0
≤
≤
r
0.8914
k) 0
≤
≤
s
ω
0.9
0.5912
≤
≤
ζ
∞
0.8187
≤
≤
r
1
l) 0.3
≤
≤
s
ω
∞
0.4136
≤
≤
ζ
0.5594
0
≤
≤
r
0.88
LITERATURA
1. Franklin G.F, Powell J.D., Emami-Naeini A. Digital Control of Dynamic Systems, 3
rd
ed.
Addison-Wesley Publishing Company, 1998.
2. Kuo B. C. Automatic Control of Dynamic Systems, 7
th
ed, Addison-Wesley & Sons Inc., 1995.