automatyka i sterowanie wyklad 16


Jacek Kabziński
Automatyka i sterowanie
                                       
Silnik serwo
Uwzględnia maszynę roboczą
d
= 
dt
a(t)
r(t)
d
e(t)
J = ( t ) - B( t ) - M0( t )
Układ pomiaru i
dt
a(t)
sterowania
r(t)
Wzmacniacz
(t ) = Ki(t ) = Ki(t )
mocy
zakłócenie
di
u( t ) = L + Ri( t ) + em( t )
silnik
dt
u(t)
 (t)
em( t ) = K1( t ) = Km( t )
2
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
1
( s) = ( s)
s
Js(s) = Ki(s) - B(s) - M0(s)
u(s) = Lsi(s) + Ri(s) + Km(s)
1
1
R
i(s) = u(s) - Km(s) = u(s) - Km(s)
() ()
L
Ls + R
s +1
R
1
1
B
(s) = Ki(s) - M0(s) = Ki(s) - M0(s)
() ()
J
Js + B
s +1
B
3
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
1
1

u
1
B
R

K
J
L
s
s +1
s +1
B
R
-M0
-Km
K
K
RB
L H" 0 ! Tu = =
JK Km
# JRs + RB + K Km
s +1ś# +
ś#ź#
BRB
# #
4
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
r
a

u
1
K
C( s )
Kp
JRs + RB + K Km
s
-KM M0
-1
11
N
R
K B
LJ K
s +1 s +1
K K
RB RB
Tu == =
L H"~ 0 ! Tu =
11
LJ K Km L
# #
JRs + RB + K Km
()
()
ź#ś#ź# ź#
1+ Km R K B ś# R s +1ś## s +1ś# + RB ś# R s +1ś# JRs + RB + K Km
B
# ## # # #
LJ
s +1 s +1
RB
5
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
K0
L H" 0 ! T u =
a
JRs + RB + K Km s
()
r a

u
1
K
C( s )
Kp
JRs + RB + K Km
s
-KM M0
-1
N
6
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
K0 44
T u == =
a
# L ś# s( s +1)( s + 2 ) s( s2 + 3s + 2 )
#
s
()
ś#ź#
ś## R s +1ś# JRs + RB + K Km ź#
#
# #
r a

u
K
1
L
#
C( s )
Kp
s +1ś# JRs + RB + K Km
()
ś# ź#
R
# #
s
-Mz
-1
7
N
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
Uwzględnia maszynę roboczą
d
= 
dt
a(t)
r(t)
d
e(t)
J = ( t ) - B( t ) - M0( t )
Układ pomiaru i
dt
a(t)
sterowania
r(t)
Wzmacniacz
(t ) = Ki(t ) = Ki(t )
mocy
zakłócenie
di
u( t ) = L + Ri( t ) + em( t )
silnik
dt
u(t)
 (t)
em( t ) = K1( t ) = Km( t )
8
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
d d
=  = 
dt dt
d d K B M0( t )
J = Ki( t ) - B( t ) - M0( t ) = i( t ) - ( t ) -
dt dt J J J
di di Km R 1
L =-Km(t ) - Ri(t ) + u(t ) =- (t ) - i(t ) + u(t )
dt dt L L L
a = K 
p
9
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
dx1
Ą#ń#
= x2
Ą# ń#
ó#01 0 Ą#
dt
x1 ó#Ą# 0
x1 0
Ą# ń# Ą# ń#ó# Ą# Ą# ń#
d
dx2 K B
ó#x Ą#ó#0 - B K Ą#ó#1Ą#
ó#x Ą#ó# Ą#
= + 0 +
= x3 - x2 - d
22
ó# Ą#ó# ó# Ą#ó# Ą#u ó# Ą# d
dt J J Ą#
dt J J
ó# Ą#ó#Ą#ó#
ó# Ą#ó# Ą# Ł#0Ą#
1
Ł#x3 Ś# Ł#x3 Ś#ó# Ą# Ś#
Km R
dx3 Km R 1
0
=- x2 - x3 + u( t ) ó# -- Ą#
Ł# LŚ#
Ł# LL Ś#
dt L L L
Ą# ń#
y =
y = K x1
p
Ł#K p 0 0Ś# x
Ustalamy dane:
L=0.1 Km=Ktau R =0.2291
J=1 Kp=4*L*J/Ktau Ktau =0.1936
b=(3-sqrt(5/2))/2 L = 0.1000 Km =0.1936
R=(3-b/J)*L J =1 Kp =2.0656
Ktau=sqrt(2*L*J-R*b) b =0.7094 I obliczamy macierze
10
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
A = B = C =
0 1.0000 0 0
0 -0.7094 0.1936 0 2.0656 0 0
0 -1.9365 -2.2906 10 D=0
sprawdzamy transmitancję wyznaczonego układu Nie jest to oczywiście jedyna możliwość wyboru
>> [np, dp]=SS2TF(A,B,C,D) zmiennych stanu. Np.:
plants=tf(np, dp) [A1,B1,C1,D1]=tf2ss(np,dp)
A1 =
np =
-3.0000 -2.0000 0
0 0.0000 -0.0000 4.0000
1.0000 0 0
dp =
0 1.0000 0
1.0000 3.0000 2.0000 0
B1 =
Transfer function:
1
2.22e-015 s^2 - 4.441e-016 s + 4
0
--------------------------------
0
C1 = 0.0000 -0.0000 4.0000 D1 = 0
s^3 + 3 s^2 + 2 s
11
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
Zbadajmy strukturę własną obiektu:
[V,S]=eig(A)
V =
1.0000 -0.4850 0.0740
0 0.4850 -0.1480
0 -0.7277 0.9862
S =
0 0 0
0 -1.0000 0
0 0 -2.0000
Sprawdzimy sterowalność układu
>> Qs=[B A*B A*A*B]
Qs =
0 0 1.9365
0 1.9365 -5.8095
10.0000 -22.9057 48.7171
12
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
Załóżmy dostępność wszystkich zmiennych stanu figure
wyznaczmy sprzężenie zwrotne od wektora stanu plot([1:2:10],nsz,'x')
przesuwające bieguny układu zamkniętego do title('norma SZ dla bieg. potrójnego w -
położeń podanych w wektorze p: p');xlabel('p')
figure
hold on
nsz=[]
for i=1:2:10
p=-i*[1 1 1];
K=acker(A,B,p);
Az=A-B*K;
plantz=SS(Az,B*K(1)/C(1),C,D);
step(plantz)
nsz=[nsz,norm(K)]
end
13
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
nsz =
0.7303 17.5927 72.6433 189.8392
393.8280
14
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
Spróbujmy dołożyć jeszcze jedno całkowanie:
% z całkowaniem
Atyl=[A [0;0;0];-C 0]
Btyl=[B;0]
Qstyl=[Btyl Atyl*Btyl Atyl*Atyl*Btyl
Atyl*Atyl*Atyl*Btyl]
rank(Qstyl)
p=-5*[1 1 1 1];
Ktyl=acker(Atyl,Btyl,p);
Aztyl=Atyl-Btyl*Ktyl;
Ktyl =
plantzc=SS(Aztyl,[0;0;0;1],[C 0],D);
258.1989 70.1989 1.7000 -156.2500
figure
step(plantzc)
15
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
16
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
Zbudujmy obserwator: Qo =
Qo=[C;C*A;C*A*A] 2.0656 0 0
rank(Qo) 0 2.0656 0
p=-5*[1 1 1]; 0 -1.4654 0.4000
K=acker(A,B,p)
Ke=acker(A',C',2*p)' ans =
3
K =
64.5497 33.3009 1.2000
Ke =
1.0e+003 *
0.0131
0.1051
1.1224
17
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
18
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
Zmienne stanu układu i obserwatora błędy odtwarzania zmiennych stanu
wymuszenie sinusoidalne, warunki początkowe układu i obserwartora różniły się o 1 w każdej zmiennej
19
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
Praca obserwatora w układzie zamkniętym:
20
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
odpowiedz jednostkowa u.z. błędy odtwarzania zmiennych stanu
21
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
odpowiedz na wymuszenie sinusoidalne błędy odtwarzania zmiennych stanu
22
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
Regulator z obserwatorem można
przedstawić w postaci transmitancji:
Aro=A-Ke*C-B*K
RO=SS(Aro,Ke,K,0)
[nro dro]=ss2tf(Aro,Ke,K,0)
Tro=tf(nro,dro)
figure
step(feedback(series(RO,plant),1))
title ('regultor z obserwatorem')
Transfer function:
5689 s^2 + 2.528e004 s + 3.125e004
----------------------------------
s^3 + 42 s^2 + 697 s + 5700
23
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
K0 44
T u == =
a
, T=0.5!
# L ś# s( s +1)( s + 2 ) s( s2 + 3s + 2 )
#
s
()
ś#ź#
ś## R s +1ś# JRs + RB + K Km ź#
#
# #
u
r a

K
1
1- e-sT
L
#
C( z )
Kp
s +1ś# JRs + RB + K Km
()
ś# ź#
R
# #
s
s
G(z)
-1
24
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
ż## ż# 2 -3 4 -1 #
4
L-1 #Ź# # +Ź# = 2t - 3+ 4e-t -1e-2t 1( t )
= L-1 + +
()
s2( s +1)( s + 2 )# # s2 s ( s +1) ( s + 2 )#
#
zz zz
Z 2kT - 3+ 4e-kT -1e-2kT = Z k - 3+ 4e-0.5k -1e-k = - 3 + 4 - =
{} {( -1) z -1 z - e-05 z - e-1
}
2 .
z
zz z z
=- 3 + 4 -
2
z -1 z - 0.6065 z - 0.3679
z
( -1
)
1 zz z z
#1- ś##ś#
G( z ) = - 3 - =
+ 4
ś#ź#ś#ź#
2
ź#
z z -1 z - 0.6065 z - 0.3679
# #ś# -1
z
( )
# #
0.05824z2 + 0.1629z + 0.02753 0.05824z2 + 0.1629z + 0.02753
==
z3 -1.9744z2 +1.1975z - 0.2231 z -1 z - 0.6065 z - 0.3679
( )( )( )
Stosując pierwszy wariant metody bezpośredniej znajdujemy reprezentację w przestrzeni stanu:
25
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
010 0
Ą#ń# Ą# ń#
ó#Ą# ó#0Ą#
Ad = 0 0 1 Bd = Cd = 0.02753 0.1629 0.05824
[]
ó#Ą# ó# Ą#
ó#0.2231 -1.1975 1.9744Ą# ó#1Ą#
Ł#Ś# Ł# Ś#
Oczywiście ten układ jest całkowicie sterowalny i obserwowalny. Układ dyskretny jest niedoskonałym
modelem układu ciągłego:
26
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
Przypuśćmy że dysponujemy zmiennymi stanu układu dyskretnego  zaprojektujmy sprzężenie zwrotne
ustalające bieguny w położeniu p
% sprzężenie od wektora stanu
p=0.1*[1 1 1];
Kd=acker(Ad,Bd,p);
Azd=Ad-Bd*Kd;
plantzd=SS(Azd,Bd/0.3411,Cd,0,Ti);
figure
step(plantzd)
title ('odp. jedn. sz od wektora stanu')
Kd =
0.2221 -1.1675 1.6744
27
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
Oczywiście tymi zmiennymi stanu nie dysponujemy (można wytworzyć z pomiarów analogiczne
zmienne stanu układu ciągłego). Zaprojektujmy układ z obserwatorem:
%obserwator
pd=0.1*[1 1 1];
Kd=acker(Ad,Bd,pd)
Ked=acker(Ad',Cd',0.5*pd)'
Kd =
0.2221 -1.1675 1.6744
Ked =
3.6723
7.1487
9.5943
28
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
wymuszenie: skokowe sinusoidalne
odpowiedz układu ciągłego z dyskretnym obserwatorem
29
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
Realizacja regulatora i obserwatora w jednej transmitancji:
Arod=Ad-Ked*Cd-Bd*Kd
ROd=SS(Arod,Ked,Kd,0,Ti)
figure
step(feedback(series(ROd,plantd),1))
title ('regulator z obserwatorem dyskr')
[nrod drod]=ss2tf(Arod,Ked,Kd,0)
Tror=tf(nro,dro,Ti)
nrod =
0 8.5341 -7.7074 1.6867
drod =
1.0000 1.5244 1.3977 0.2081
Transfer function:
5689 z^2 + 2.528e004 z + 3.125e004
----------------------------------
z^3 + 42 z^2 + 697 z + 5700 Sampling time: 0.5
30
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
31
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
Obliczanie sterowania dead-beat
Układ
x((k +1)T ) = Ax(kT ) + bu(kT )
y(kT ) = cx(kT )
należy wyposażyć w regulator zapewniający zanikanie przebiegów przejściowych w N okresach impulsowania i zerowy uchyb
ustalony przy wymuszeniu jednostkowym.
u((N
Ą# -1)T )
ń#
ó# Ą#
x(NT ) - AN x0 =[b Ab AN -1b]ó# Ą#
ó# Ą#
u(T )
ó# Ą#
u(0)
Ł# Ś#
y(NT ) = cx(NT ) = 1
x((k +1)T ) = x(kT ), u(kT ) = u(NT ) dla k e" N
32
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
x(NT ) = Ax(NT ) + bu(NT )
Jeśli A nie ma wart wł. równych 1, to macierz I-A jest odwracalna i
x(NT ) = (I - A)-1bu(NT )
y(NT ) = c(I - A)-1bu(NT ) = 1
1 1
u(NT ) = =
c(I - A)-1b Go (1)
Potem wyznacza się x(NT), potem ciąg sterujący.
Jeśli A ma wart wł. równą 1, to u(NT)=0 i
(I - A)x(NT ) = 0
Równanie to ma wiersze liniowo zależne  jeden z nich należy zastąpić przez
cx(NT ) = 1
Stąd wyznacza się x(NT), potem ciąg sterujący.
Przyjmiemy x0=0 i N=3
33
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
Zadanie Kod Matlaba Rezultat
Jeśli A ma wart wł. równą 1, to u(NT)=0 i %DEADBEAT XNT =
IAd=eye(size(Ad))-Ad; 4.0214
(I - A)x(NT ) = 0
XNT=inv([Cd;IAd(1:2,:)])*[1;0;0] 4.0214
Równanie to ma wiersze liniowo zależne  jeden
N=3 4.0214
z nich należy zastąpić przez
N =
3
cx(NT ) = 1
U=inv([Ad*Ad*Bd,Ad*Bd,Bd])*XNT U =
Obliczenie ciągu sterującego:
4.0214
u((N
Ą# -1)T )
ń#
-3.9184
ó# Ą#
0.8972
x(NT ) - AN x0 = [b Ab AN -1b]ó# Ą#
ó# Ą#
u(T )
ó# Ą#
u(0)
Ł# Ś#
X1=Bd*U(1); Y =
Obliczenie kolejnych wartości
Dla sprawdzenia
X2=Ad*X1+Bd*U(2);
wektora stanu i wyjścia:
X3=Ad*X2+Bd*U(3); 0
Y=[0;Cd*X1;Cd*X2;Cd*X3] 0.2342
0.8893
1.0000
34
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
E0=1-Y(1) E0 =
Obliczenie kolejnych wartości uchybu
E1=1-Y(2) 1
E2=1-Y(3) E1 =
0.7658
E2 =
0.1107
TrReg=tf(U',[E0,E1,E2],Ti) Transfer function:
Obliczenie transmitancji regulatora i
figure 4.021 z^2 - 3.918 z + 0.8972
odpowiedz jednostkowa
step(feedback(series(TrReg,plantd),1)) ----------------------------
title ('regulator D-B') z^2 + 0.7658 z + 0.1107
Sampling time: 0.5
35
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
36
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego
wymuszenie: skokowe sinusoidalne
odpowiedz układu ciągłego z dyskretnym regulatorem dead-beat
37
Automatyka i sterowanie 10 Przykłady - zmienne stanu
Układy czasu ciągłego


Wyszukiwarka

Podobne podstrony:
automatyka i sterowanie wyklad
automatyka i sterowanie wyklad
automatyka i sterowanie wyklad 7
automatyka i sterowanie wyklad
automatyka i sterowanie wyklad 6
automatyka i sterowanie wyklad
automatyka i sterowanie wyklad
automatyka i sterowanie wyklad
automatyka i sterowanie wyklad 5
automatyka i sterowanie wyklad 9
automatyka i sterowanie wyklad
automatyka i sterowanie wyklad
automatyka i sterowanie wyklad
Wykład 1 Wprowadzenie do układów automatycznego sterowania
14 Stosowanie układów automatyki i sterowaniaid557
USM Automatyka w IS (wyklad 3) regulatory ppt [tryb zgodnosci]
Automatyka i sterowanie
USM Automatyka w IS (wyklad 5) Zawory reg ppt [tryb zgodnosci]

więcej podobnych podstron