Tải bản đầy đủ (.pdf) (21 trang)

CHƯƠNG 6: MATLAB VÀ ĐIỀU KHIỂN TỰ ĐỘNG  pps

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (416.13 KB, 21 trang )

CHƯƠNG6:MATLABVÀĐIỀUKHIỂNTỰĐỘNG

§1.CÁCVẤNĐỀCHUNG
1.Cácdạngmôhìnhhệthống:Đểxâydựngmôhìnhcủahệthống,MATLAB
cung cấp một số lệnh.Môhìnhhệthốngmô tảbằnghàmtruyềnđượcxây
dựngnhờ
lệnhtf(ts,ms)vớitslàđathứctửsốvàmslàđathứcmẫusố.Hàm
zpk(z, p, k) với zlà vec tơ điểm không, p là vec tơ điểm cực và k là hệsố
khuyếchđại
tạonênmôhìnhđiểmkhông‐điểmcực.Hàmss(a,b,cʹ,d)vớia,b,
c,dlàcácmatrậntạonênmôhìnhkhônggian‐trạngthái.
Ví dụ: Ta tạo ra một số mô
hình nhờ các lệnh MATLAB sau(lưu trong
ct6_1.m):
clc
ts=[12];
ms=[154];
sys1=tf(ts,ms)

sys2=zpk([‐611],[‐51],3)

sys3=ss([12;34],[11;01],[01;12;31],0)
Kếtquảlà:
Transfer
function:
 s+2
‐‐‐‐‐‐‐‐‐‐‐‐‐
s^2+5s+4
Zero/pole/gain:
3(s+6)(s‐1)^2
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐


(s+5)(s‐1)
 a=
x1x2
x112
x234
b=
u1u2
x111
x201

122
 c=
x1x2
y101
y212
y331
d=
u1u2
y100
y200
y300
Continuous‐timemodel.

2.Điểmcựcvàđiểmzerocủahàmtruyền:Đểbiến
đổihệthốngchobởihàm
truyềnthànhhệchobởiđiểmcực,điểmzerovàhệsốkhuếchđạidùnghàm
tf2zp.Tacũngcóthểdùnghàmpole(sys)đểtìmđiểmcựccủahệthốngsys
và
dunghàmzero(sys)đểtìmđiểmkhôngcủahệthốngsys
Vídụ:Chohàmtruyền:


50s87s45s9s
s30s11s
)s(H
234
23
+
+++
++
= 
Tacầntìmcácđiểmcựcp,điểmzerozvàhệsốkhuếchđạikcủanó.Ta dùng
cáclệnhMATLABsau(lưutrong
ct6_2.m):
ts=[111300];
ms=[19458750];
[z,p,k]=tf2zp(ts,ms)
z=
0
‐6
‐5
p=
‐3.0+4.0i
‐3.0‐4.0i
‐2.0
‐1.0
k=
1

Nhưvậy:


123

)25s6s)(2s)(1s(
)6s)(5s(s
)j43s)(j43s)(2s)(1s(
)6s)(5s(s
)s(H
2
++++
+
+
=
−+++++
+
+
= 
Khicócácđiểmcực,điểmzerovàhệsốkhuếchđạitacóthểtìmlạihàm
truyềnbằnglệnh
zp2tf.TadùngcáclệnhMATLABsau(lưutrongct6_3.m):
z=[‐6;‐5;0];
k=1;
p=[‐3+4*i;‐3‐4*i;‐2;‐1];
[ts,ms]=zp2tf(z,p,k)

ts=
  0111300
ms=
  19458750
Đểthấyđượcsựphânbốđiểmkhôngvàđiểmcựccủahệthốngtrênmặt
phẳng phứctadùnghàm

pzmap.Trụccủađồthiđược chialướibằnglệnh
sgrid.Cácđiểmkhôngbiểuthịbằngvòngtrònvàđiểmcựcbiểuthịbằngdấu
×.TaxétcáclệnhMATLABsau(lưutrongct6_4.m):

clc
sys=zpk([‐611],[‐51],3)
axisequal
pzmap(sys)
sgrid

3. Khai triển hàm truyền thành tổng các phân thứcđơn giản: Cho hàm
truyền,tacóthểkhaitriểnnóthànhtổngcácphânthứcđơngiảnbằnglệnh
residue.Hàmresiduechovectơcộtcácphầndưr,vectơcộtcácđiểmcựcpvà
phầnnguyênk.
Vídụ:Chohàmtruyền:

4s4ss
1s9s2
)s(H
23
3
+++
++
=

TakhaitriểnhệbằngcáclệnhMATLABsau(lưutrong
ct6_5.m):
ts=[2091];
ms=[1144];
[r,p,k]=residue(ts,ms)

r=
0.0‐0.25i
0.0+0.25i

124
‐2.0
p=
‐0.0+2.0i
‐0.0‐2.0i
‐1.0
k=
2
Nhưvậy:

4s
1
1s
2
2
j2s
j25.0
j2s
j25.0
1s
2
2)s(H
2
+
+
+

−=


+
+
+
+

+=

Ngượclại,cór,p,ktacóthểtìmhàmtruyềnbằngcáclệnhMATLABsau(lưu
trong
ct6_6.m):
r=[0.0‐0.25*i;0+0.25*i;‐2];
p=[0+2*i;0‐2*i;‐1];
k=2;
[ts,ms]=residue(r,p,k)

ts=
2091
ms=
1144

4. Biếnđổi hàm truyền thành không gian‐trạng thái
: Cho phương trình vi
phân:

)t(uya
dx
yd

a
dx
yd
a
dx
yd
a
01
1n
1n
1n
n
n
n
=++++



L 
Đặtx
1=y;x2=y′;x3=y′′v.vtacóhệphươngtrìnhtrạngthái:

x′=Ax+Bu

y=Cx+Du
gọilàphươngtrìnhkhônggian‐trạngthái
Nếumộthệđiềukhiểntựđộngchobởihàmtruyềntacóthểbiếnđổivề
khônggian‐trạngtháibằnglệnh
tf2ss.
Vídụ:Chohàmtruyền:


24s26s9s
2s7s
)s(H
23
2
+++
++
=

Ta biến hệ về dạng không gian‐trạng thái b ằng các lệnh MATLAB sau(lưu
trong
ct6_7m):

125
ts=[172];
ms=[192624];
[a,b,c,d]=tf2ss(ts,ms)
a=
‐9‐26‐24
100
010
b=
1
0
0
c=
172
d=
0


5.Biếnđổikhônggian‐trạngtháithànhhàmtruyền:Đểbiếnđổihệchodưới
dạngkhônggian‐trạngtháithànhhàmtruyềntadùnglệnh
ss2tf.Taxétcác
lệnhsau(lưutrong
ct6_8.m)
a=[010;001;‐1‐2‐3];
b=[10;0;0];
c=[100];
d=[0];
[ts,ms]=ss2tf(a,b,c,d,1)

ts=
010.0030.0020.00

ms=
1.003.002.001.00

Nhưvậyhàmtruyềnlà:

1s2s3s
)2s3s(10
)s(G
23
2
+++
++
=



6. Nghiệm của phương trình trạng thái:Đểtìm nghiệm của phương trình
trạngtháitadùnglệnh
lsim.
Vídụ:Chophươngtrìnhtrạngtháicủamộthệtuyếntính

126


)t(u
1
1
1
x
x
x
6116
100
010
x
x
x
3
2
1
3
2
1











+




















−−−
=











&
&
&
y=[110]
x
Chođiềukiệnđầu
x(0)=[10.5‐0.5].Tìmx(t),y(t)vớiu(t)làhàmđơnvị.Ta
dùngcáclệnhMATLABsau(lưutrong
ct6_9.m):
a=[010;001;‐6‐11‐6];
b=[1;1;1];
c=[110];
d=0;
x0=[10.5‐0.5];
t=0:0.05:4;
u=ones(1,length(t));
[y,x]=lsim(a,b,c,d,u,t,x0);
plot(t,x,t,y)
Dođiềukiệnđầunênnghiệmyxuấtpháttừ1.5
Khiu(t)làsin2πttatínhđápứngnhưsau(lưutrong

ct6_10.m):
a=[010;001;‐6‐11‐6];
b=[1;1;1];
c=[110];
d=0;
x0=[10.5‐0.5];
t=0:0.05:4;
u=sin(2*pi*t);
[y,x]=lsim(a,b,c,d,u,t,x0);
plot(t,x,t,y)

7.Biếnđổisơđồkhối
:Mộtsơđồkhốiđiềukhiểnthườngrấtphứctạp.Vìv ậy
tathườngphảibiếnđổinóvềdạngđơngiảnbằnglệnh
connect.
Vídụ:Xétsơđồkhốisau:







127
2
4
s
4
+
1

1
0.5
2s
1
+
3s
1
+
5
8
2
-
+
+
-
-
2
7
6
5
4
3



Xácđịnhphươngtrìnhtrạngtháivàhàmtruyềncủatoánbộsơđồ:
Gọi ni và di là tử số và mẫu số của hàm truyền của khối thứ i. Ta có các
lệnh(lưutrong
ct6_11.m):
n1=1;d1=1;

n2=.5;d2=1;
n3=4;d3=[14];
n4=1;d4=[12];
n5=1;d5=[13];
n6=2;d6=1;
n7=5;d7=1;
n8=1;d8=1;
nblocks=8;
blkbuild;
q=[10000
21‐6‐7‐8 
32000
43000
54000
63000
74000

85000];
iu=[1];
iy=[5];
[A,B,C,D]=connect(a,b,c,d,q,iu,iy)

A=
‐8.0‐2.5‐0.5
4.0‐2.00
01.0‐3.0
B=
0.5
0
0

C=

128
001
D=
0
[ts,ms]=ss2tf(A,B,C,D,1)
ts=
0002.0
ms=
1.013.056.080.0
Hàmtruyềncủahệlà:

80s56s13s
1
)s(R
)s(C
23
+++
= 

8.Ghépnốicácsơđồkhối:Đểghépnốitạonênmộthệthốngtừnhiềuhệ
thốngcontacóthểsửdụngmộtsốkhảnăngnhưsau:

sys1
b
sys2
y1
y2
u

sys1
a
sys2
u2
u
1
y











sys1
d
sys2
y
u
1
u2
z2
z1
v2
v
1

u
u2
u1
sys1
c
sys2
y1
y2

u
e
sys2
v2
sys1
y
1
z1




f
u
y
sys1
sys2
y


a.Ghéptheohàng:Ghéptheohàng(hìnha)cónghĩalàghépđầuracủa

các hệ thống con cóđầu vào khác nhau. Hàm sys(sys1,sys2) thực hiện việc
ghépnày.TacócáclệnhMATLABsau(lưutrong
ct6_12.m):
clc
sys1=tf(1,[10])

129
sys2=ss(1,2,3,4)
sys=[sys1,sys2]
 b.Ghéptheocột:Ghéptheocột(hìnhb)cónghĩalàghépđầuracủa hệ
thốngconcóchungđầuvào.TacócáclệnhMATLABsau(lưutrongct6_13.m):
clc
sys1=tf(1,[10])
sys2=ss(1,2,3,4)
sys=[sys1;sys2]

 c. Ghép theo đường chéo: Khi ghép theođường chéo(hình c), ta có hệ
thốngmớibảođảmcáchlycáchệthốngconbanđầu.Đểghéptadùnglệnh
append.CáclệnhMATLAB(lưutrong
ct6_14.m)nhưsau:
clc
sys1=tf(1,[10])
sys2=ss(1,2,3,4)
sys=append(sys1,sys2)


d. Ghépsong song:Tadùngcáchghépnhưtrênhìnhd.Hàmparallel
dùngđểghép song song các hệ thống con. Các lệnh MATLAB (lưu trong
ct6_15.m)nhưsau:
clc

sys1=tf(1,[10])
sys2=ss(1,2,3,4)
sys=parallel(sys1,sys2)


e.Ghéptuầntự:Tadùngcáchghépnhưtrênhìnhe.Hàmseriesdùngđể
ghéptuầntựcáchệthốngcon.CáclệnhMATLAB(lưutrong
ct6_16.m)như
sau:
clc
sys1=tf(1,[10])
sys2=ss(1,2,3,4)
sys=series(sys1,sys2)

f.Ghépcóphảnhồi:Ta dùngcáchghépnhưhìnhf.Hàmfeedbackdùng
đểghépcóphảnhồicáchệthốngcon.CáclệnhMATLAB(lưutrongct6_17.m)
nhưsau:
clc
sys1=tf(1,[10])
sys2=ss(1,2,3,4)
sys=feedback(sys1,sys2)

130
g.Sửdụnghàmconnect:Hàmconnecttạoramôhìnhkhônggian‐trạng
tháitừcáchệthốngcon.Cúphápcủahàm:
sysc=connect(sys,Q,inputs,outputs)
Mộthệthốngth ườngđượcchodướidạngcáckhối.Ngaycảkhisơđồkhông
phứct
ạp,việctìmđượcmôhìnhkhônggian‐trạngtháicủahệthốngkhákhó.
Đểtìmđượcmôhìnhkhônggian‐trạngthái,trướchếttadùnghàm

append:
sys=append(sys1,sys2, ,sysN)
đểmôtả mỗihệthống consysjhệthốngdạngđường chéo.Tiếpđếndùng
lệnh:

sysc=connect(sys,Q,inputs,outputs)
đểnốicáchệthốngconvàrútramôhìnhkhônggian‐trạngtháisysccủatoàn
bộhệthống.MatrậnQchỉracáchnốicáchệthốngcontrênsơđồ.Mỗiđầu
vàocủasyscó
mộthàng,trongđóphầntửđầutiêncủamỗihànglàsốđầu
vào.cácphầntửtiếptheocủa mỗihàngmôtảđầu vàocủahệthốngđượclấy
từđâu.Vídụđầuvào7l
ấytừđầura 2,15và6trongđóđầuvàocủa15âmthì
hàngtươngứngcủaQlà[72‐156].Hàngnàokhôngđủphầntửthìthêmsố
0.Tatìmmôhìnhkhônggiantrạng‐tháicủ
asơđồsau:

u1
DuCxy
BuAxx
+=
+
=
&
5s
10
+

2s
)1s(2

+
+
sys1
3
3
2
1
u2
4
4
2
1
uc
-
+
sys2

y1

y2





sys3

Tacầnnốiđầura1và4vàođầuvào3(u
2)vàđầura3(y2)vàođầuvào4nên
matrậnQlà:

Q=[31‐4
430];
Sơđồcó2đầuvàotừcáchệthốngkháclàucvàu1(đầuvào1 và2củasys)và
2đầurađưađếncáchệthốngkháclày
1vày2(đầura2và3củasys).Nh ưvậy
matrâninputsvàoutputslà:
inputs=[12];
outputs=[23];
CáclệnhMATLABthựchiệnviệcbiếnđốisơđồ(lưutrongct6_18.m)nhưsau:
clc

131
A=[‐9.020117.7791
‐1.69433.2138];
B=[‐.5112.5362
‐.002‐1.8470];
C=[‐3.28972.4544
‐13.500918.0745];
D=[‐.5476‐.1410
‐.6459.2958];
sys1=tf(10,[15],ʹinputnameʹ,ʹucʹ)
sys2=ss(A,B,C,D,ʹinputnameʹ,{ʹu1ʹʹu2ʹ}, 
ʹoutputnameʹ,{ʹ
y1ʹʹy2ʹ})
sys3=zpk(‐1,‐2,2)
sys=append(sys1,sys2,sys3)
Q=[31‐4
430];
inputs=[12];
outputs=[23];

sysc=connect(sys,Q,inputs,outputs)


§2.ĐÁPỨNGCỦAHỆTHỐNG
1.Đápứngcủahệthốngbậchai
:Dạngchuẩncủahàmtruyềncủahệthống
bậchailà:

2
nn
2
s2s
1
)s(G
ω+ζω+
= 
Trongđóω
nlàtầnsốtựnhiênvàζlàhệsốtắtcủahệthống.Đểtạorahàm
truyềnnàykhibiếtω
nvàζtadùnglệnhord2.
Vídụ:Tìmhàmtruyềnvàmatrậntrạngtháicủahệthốngbậchaibiếtωn=2.4
rad/svàζ=0.4.CáclệnhMATLAB(lưutrong
ct6_19.m)nhưsau:
[ts,ms]=ord2(2.4,0.4)
[a,b,c,d]=ord2(2.4,0.4)
Đápứngthựctếcủahệlàmộtdaođộngtắtdầncódạng:

)tsin(e
1
1)t(c

n
t
n
θ+βω
β
−=
ζω

Trongđó
2
1 ζ−=β và )
/
(tan
1
ζ
β



Tagọitrlàthờigianđểdápứngđạttừ10%giátrịcuốiđến90%giátrịcuối;
thờigianđạtđếnđỉnhlàtp;độnhanhđobằngtrvàtp;thờigiantắtlàts.Thời

132
gianđạtđếnđịnhđượcxácđịnhbằngcáchchođạohàmcủac(t)bằng0.

2
p
1
t
ζ−ω

π
= (4‐1)
Giátrịđỉnh(percentovershoot‐p.o)khikíchthíchlàbướcnhảylà:

100eo.p
2
1
×=
ζ−ζπ
(4‐2)
Đápứngvớikíchthíchbướcnhảytìmđượcnhờhàm
step cònđápứngvới
kíchthíchxungtìmđượcnhờhàm
impulse
Vídụ:Tìmđápứngcủakhâubậchaicóhàmtruyền:

2
nn
2
2
n
s2s
)s(G
ω+ζω+
ω
= 
khiω
n=5vàζ=0.6.CáclệnMATLAB(lưutrongct6_20.m)nhưsau:
clc
ts=25;

ms=[1625];
sys=tf(ts,ms)
t=0:0.02:2;
c=step(sys,t);
plot(t,c)
xlabel(ʹt(s)ʹ);
ylabel(ʹc(t)ʹ);

Vídụ:Chohệcósơđồnhưhìnhvẽ:

R(s)
)1s(s
d
+
1+es
-
C(s)





Tìm d và eđểp.o bằng 40% và tp = 0.8s. Các lệnh MATLAB (lưu trong
ct6_21.m)nhưsau:
clc
po=40;
z=log(100/po)/sqrt(pi^2+(log(100/po))^2)%theo(4‐2)
zn=0.27999799333504
tp=0.8;
wn=pi/(tp*sqrt(1‐z^2))%theo(4‐1)

ts=wn^2;

133
ms=[12*z*wnwn^2];
sys=tf(ts,ms);
t=0:0.02:4;
c=step(sys,t);
plot(t,c)
Từsơđồkhốitacó:

ds)1de(s
d
)s(R
)s(C
2
+++
= 
Phươngtrìnhđặctínhlà:
s
2
+(de+1)s+d=s
2
+2ωnζs+ 
2
n
ω
Với
=wn=0.28vàz=ζ=4.0906tacód=16.733vàe=0.077
2
n

ω
Khicómộthàmtruyềntacóthểxácđịnhhệsốtắt
ζvàtầnsốtựnhiênωnbằng
lệnh
damp.
Vídụ:Chohệcóhàmtruyền:
3s2s
1s5s2
)s(H
2
2
++
++
= 
Tìmhệsốtắtζvàtầnsốtựnhiênω
n.CáclệnhMATLAB(lưutrongct6_22.m)
nhưsau:
h=tf([251],[123]);
damp(h)
EigenvalueDampingFreq.(rad/s)
‐1.00e+000+1.41e+000i5.77e‐0011.73e+000
‐1.00e+000‐1.41e+000i5.77e‐0011.73e+000

2.Đápứngtrongmiềnthờigiancủahệthống:
a.Đápgiátrịbanđầu
:Đápứnggiátrịbanđầumôtảphảnứngcủahệ
khikhôngcókíchthíchdầuvàonhưngtồntạicácgiátrịbanđầucủavectơ
trạngthái
x0.Phảnứngđóđượcgọilàchuyểnđộngtựdocủahệ.Đápứngnày
đượcxácđịnhbằnghàm

initial.TacócáclệnhMATLABtìmđápứngbanđầu
củamộthệthống(lưutrong
ct6_23.m)nhưsau:
clc
a=[‐0.5572‐0.7814;0.78140];
c=[1.96916.4493];
x0=[1;0]
sys=ss(a,[],c,[]);
initial(sys,x0)

134
b.ĐápứngxungDirac:Tatìmđápứngcủahệthốngvớixungnhờhàm
impulse.CáclệnhMATLAB(lưutrongct6_24.m)nhưsau:
clc
a=[‐0.5572‐0.7814;0.78140];
b=[1‐1;02];
c=[1.96916.4493];
sys=ss(a,b,c,0);
impulse(sys)

Hìnhbêntráilàđápứngcủakênhthứnhấtvàhìnhbênphảilàđápứngcủa
kênhthứ2.
c.Đápứngđốivớihàmbướcnhảy:Đểtìmđápứngcủahệthốngđốivới
hàm bước nhảy ta dùng hàm
step. Các lệnh MATLAB (lưu trong ct6_25.m)
nhưsau:
clc
a=[‐0.5572‐0.7814;0.78140];
b=[1‐1;02];
c=[1.96916.4493];

sys=ss(a,b,c,0);
step(sys)
Hìnhbêntráilàđápứngcủakênhthứnhấtvàhìnhbênphảilàđápứngcủa
kênhthứ2.
d.Đápứngvớitínhiệubấtkỳ:Đểtìmđápứngcủahệthốngđốivớihàm
bấtkìtadùnghàm
lsim.CáclệnhMATLAB(lưutrongct6_26.m)nhưsau:
clc
[u,t]=gensig(ʹsquareʹ,4,10,0.1);
H=[tf([251],[123]);tf([1‐1],[115])]
lsim(H,u,t)
Tadùnghàmgensigđểtạomộtxunghìnhvuông,trong4chukỳvàlấymẫu
sau0.1strong10chukỳ.

3.Đápứngtrongmiềntầnsốcủahệthống:Chomộthàmtruyềncủamộthệ
thống,thaysbằngjωtacó hàm truyềnđạttầnsốcủahệthốngđó.Độrộng
băngcủahệthốngω
Blàtầnsốmàtạiđóbiênđộcủaggiảmđi1/√2.Tầnsố
ứngvớigiátrịmaxcủaG(ω)gọilàω
rvàcótrịsốlà:
2
nr
21 ζ−ω=ω 
Đểvẽđặctínhtầnbiên‐phacủamộthệthốngtadùnglệnh
freqs.

135
Vídụ:Chohàmtruyềncủamộthệthốnglà:

4s2s

4
)s(G
2
++
= 
Tìmđặc tính tần biên‐pha  của hệ thống bằng các lệnh MATLAB(lưu trong
ct6_27.m):
w=0:0.01:3;
ms=[124];
ts=[4];
freqs(ts,ms,w);

Tacũngcóthểtạođồthịnhưsau(lưutrong
ct6_28.m):
ts=[4];
ms=[124];
w=0:0.01:3;
g=freqs(ts,ms,w);
mag=abs(g);
pha=angle(g);
subplot(2,1,1);
loglog(w,mag);
gridon;
subplot(2,1,2);
semilogx(w,pha);
gridon
Ngượclạikhicóđặctínhtầnbiên‐phatacóthểtìmlạiđượchàmtruyềnbằng
lệnh
invfreqs.
Vídụ:Tìmhàmtruyềncủahệthống(lưutrongct6_29.m):

ts=[123214];
ms=[12323];
[h,w]=freqz(b,a,64);
[tsm,msm]=invfreqz(h,w,4,5)
Tacũngcóthểxâydựngđặctínhtầnthực‐ảo
Vídụ:Chohàmtruyền:
10s9s5.4s
10
)s(G
23
+++
= 
Tìmđặctínhtầnthực‐ảocủahệbằngcáclệnhMATLAB(lưutrong
ct6_30.m):
ts=[10];
ms=[14.5910];
w=[1:0.01:3];

136
h=freqs(ts,ms,w);
t=real(h);
a=imag(h);
subplot(2,1,1);
plot(w,t)
subplot(2,1,2);
plot(w,a)

ĐểvẽđồthịBodecủahệthốngtadùnghàm
bode.Đồthịthứnhấtnhất
làđặctínhbiên‐tầnlogarit,đượcchiatheodB.Đồthịthứhailàđặctínhpha‐

tầnlogaritchiatheođộ.
 Cácdạngcủalệnh
bodegồm:
 bode(sys)
 bode(sys,w)
 [bien,pha,w]=bode(sys)
Để vẽ đồ thị Bode của một hệ thống ta dùng các lệnh MATLAB(lưu trong
ct6_31.m)nhưsau:
clc
g=tf([10.17.5],[10.12900]);
figure(1)
bode(g)
figure(2)
bode(g,{0.1,100})
gd=c2d(g,0.5)
figure(3)
bode(g,ʹrʹ,gd,ʹb‐‐ʹ)

Hàm
marginchobiếtdựtrữổnđịnhcủahệthống.Dựtrữbiêngmlàhệsố
khuyếchđạiF
rmànếutathêmvàohàmtruyềnđạtcủahệhởthìhệkínvừa
đạtđượcgiớih ạnổnđịnh.Dựtrữphapmđượcđịnhnghĩalàkhoảngcáchgóc
phaϕ
rtới‐180°.Hàmchobiếtgmtạitầnsốđảophawcgvàpmtạitầnsốcắt
phawcp.Hàm
allmargincótácdụngrộnghơnhàmmargin.Cáck ếtquảtrảvề
của
allmargingồm:
GMFrequency:giátrịtầnsốmàtạiđóđồthịpha cắtđườngthẳngnằm

ngang‐180°
GainMargin: dự trữ biên‐giá trị đảo của biênđộtại tần số
GMFrequency
PMFrequency:giátrịtầnsốmàtạiđóđồth
ịbiêncắtđườngthẳngnằm
ngang0dB(ứngvớihệsốkhuyếchđại1)

137
PhaseMargin:dựtrữpha‐khoảngcáchgóc(>0)từvịtrí PMFrequency
đến‐180°.
DelayMargin:dựtrữthờigiantrễ‐giátrịthờigiantrễmànếuvượtquá,
hệthốngsẽmấtổnđịnh.
DMFrequency:giátrịtầns
ốứngvớiDelayMargin.
Stable:=1khimachvòngkínổnđịnh;bằng0trongcáctrườnghợpkhác.
Cácđạilượngnàycóthểđọcđượctừđồthịtạobởi
margin.Đểxácđịnh
dựtrữổnđịnhcủamộthệthốngcụthểtadùngcáclệnhMATLAB(lưutrong
ct6_32.m)nhưsau:
clc
sys=zpk([],[‐1‐1‐1],4)
margin(sys)
allmargin(sys)
Kếtquảhệthốngổnđịnh.NócóDelayMargin=0.3s.Bâygiờtagánchosys
mộtkhoảngthờigiantrễlàstabil.DelayMargin+0.01,nghĩalàvượtquáthời
giantrễổnđịnh0.01s.Kếtquảtínhtoanmới
củaallmarginsẽthôngbáotính
khôngổnđịnhcủahệthống.CáclệnhMATLAB(lưutrong
ct6_33.m)nhưsau:
clc

sys=zpk([],[‐1‐1‐1],4)
margin(sys)
stabil=allmargin(sys)
sys.ioDelay=stabil.DelayMargin+0.01;
newstabil=allmargin(sys)

Mộtkhảnăng khácđểmôtảđặctínhtầnsốlàđồthịNyquist.Nóbiểu
diễncácgiátrịthựcvàảothuộchàmtruyềnđạtphứccủamạchvònghởF
0(jω)
trongdảitầnsốω=0÷∞trênhệtoạđộphức.Đườngcongdocácđiểmtạo
thànhđượcgọilà quỹđạobiên‐pha F
0(jω). Trêncơsở tiêuchuẩnổnđịnh
Nyquisttacóthểrútrakếtluậnvềtínhổnđịnhcủahệkín(cóphảnhồiđơnvị
âm)từđồthịNyquist.ĐểvẽđồthịNyquisttadùnghàm
Nyquist.Tacócác
lệnhMATLAB(lưutrong
ct6_34.m)nhưsau:
clc
H=tf([251],[123])
nyquist(H)






138
§3.ĐẶCTÍNHCỦAHỆTHỐNGĐIỀUKHIỂN
1.Tínhổnđịnh:Tiêuchuẩnổnđịnhnóirằnghệsẽổnđịnhnếucácnghiệm
củaphươngtrìnhđặctínhcóphầnthựcâm.Phươngtrìnhđặctínhlàđathức

mẫusốcủahàmtruyền.Dovậy
chỉcầntínhnghiệmcủađathứcđặctínhbằng
lệnh
rootslàtacóthểxácdịnhhệổnđịnhhaykhông.
Vídụ:Xéttínhổnđịnhcủahệcóphươngtrìnhđặctínhlà:
 s
4
+10s
3
+35s
2
+50s+24
CáclệnhMATLABlà:
a=[110355024];
roots(a)


ans=
‐4.0000
‐3.0000
‐2.0000
‐1.0000

Nhưvậyhệổnđịnh.

2.Độnhạy:Độnhạycủahệthốngđượcđobằngtỉsốphầntrămsựthayđổi
củahàmtruyềntheosựthayđổiphầntrămcủathôngsốb.Vídụđộnhạycủa
hàmtruyềnT(s)theob
đượcxácđịnhbằng:
b

)s(T
b
)s(T
b/b
)s(T/)s(T
S
T
b


=


= 
Khi∆bgầnđến0tacó:

)s(T
b
b
)s(T
S
T
b


= 
ĐộnhạytĩnhlàgiátrịcủaSkhit→0.Độnhạyđộngđượctínhbằngcáchthays
bằngjωvàvẽđườngStheoω.BiênđộcủaS(jω)đosaisốcủahệthống.
Vídụ:Khảosáthệđiềukhiểnnhưhìnhvẽsau:


K
Thiếtb

B

bù
)1s(
b
+
Sensor
h
-
R(s)


C(s)






139
Trongđóbcótrịđịnhmứclà4vàhcótrịđịnhmứclà0,5.TìmđộnhạyT(s)
theob,vẽmodulhàmđộnhạytheoωv ớihaigiátrịbùlàK=2vàK=0.5.Tìm
độnhạyT(s)
theoh,vẽmodulcủahàmđộnhạytheohvớiK=2vàK=0.5.
Hàmtruyềncủahệthốnglà:
Kbh1s
Kb

)Ts(
2
++
= 
Vớib=4vàh=0.5tacóω
B=1+2K.
ĐộnhạycủaT(s)theobkhib=4vàh=0.5là:
K21s
1s
Kbh1s
1s
)s(T
b
b
)s(T
S
T
b
++
+
=
++
+
=


= 
K21s
K2
Kbh1s

Kbh
)s(T
h
b
)s(T
S
T
h
++

=
++

=


= 
CáclệnhMATLAB(lưutrong
ct6_35.m)nhưsau:
k1=1;
k2=0.5;
ts=[11];
ms1=[11+2*k1];
ms2=[11+2*k2];
w=0:0.01:15;
stb1=abs(freqs(ts,ms1,w));
stb2=abs(freqs(ts,ms2,w));
subplot(2,1,1);
plot(w,stb1,w,stb2);
title(ʹDonhaycuaTtheobʹ);

ts1=‐2*k1;
ts2=‐2*k2;
stb1=abs(freqs(ts1,ms1,w));
stb2=abs(freqs(ts2,ms2,w));
subplot(212);
plot(w,stb1,w,stb2);

title(ʹDonhaycuaTtheohʹ);

HìnhtrênđườngcóứngvớiK=0.5vàhìnhdướiđườngcaoứngvớiK=2.
 Từ hình vẽ ta thấy rằngđộnhạy của hệ thống theo b giảm khi hệ số
khuếchđạicủavòng
hởKtăngtrong khiđộnhạytheohtăngkhiKtăng.Rõ
rànglàđộnhạytheobtăngnhanhbênngoàiω
B.

3.Saisốxáclập:Khảosáthệnhưhìnhvẽ:

140
R
(
s
)
H
(
s
)
G(s)
-


C
(
s
)



Hàmtruyềncủahệkínlà:

)s(G)s(H1
)s(G
)s(R
)s(C
+
= 
Saisốcủahệkínlà:
E(s)=R(s)–H(s)C(s)=
)s(G)s(H1
)s(R
+

Sửdụngđịnhlígiátrịcuốitacó:

)s(H)s(G1
)s(sR
lime
s
ss
+
=

∞→

Đầuvàobướcnhảyđơnvị:

p
s
ss
K1
1
)s(H)s(Glim1
1
e
+
=
+
=
∞→

Đầuvàotăngtuyếntínhđơnvị:

v
s
ss
K
1
)s(H)s(sGlim1
1
e =
+
=

→∞

Đầuvàoparabolđơnvị:

a
2
s
ss
K
1
)s(H)s(Gslim1
1
e =
+
=
→∞

TacóthểdùngSymbolicMathđểtínhcácgiớihạntrên.

§4.PHÂNTÍCHVÀTHIẾTKẾQUỸĐẠONGHIỆM
Phươngphápkinhđiểnđểthamsốhoá khâuđiềukhiểncủavòngđiều
hỉnhlàphươngphápquỹđạonghiệm.Quỹđạonghiệmlàquỹđạođiểmcực,
hợpthànhbởicácđiểucựcc
ủahệthống,phụthuộcvàohệsốkhuyếchđại
phảnhồikvađượcbiểudiễtrênmặtphẳngphứcvớiphầnthưcRe(λ)=σtrên
trục hoành x và phầnảo Im(λ
) = ω trên trục tung y.Đểvẽ được quỹ đạo
nghiệmcủahệthốngtadunghàm
rlocus.Taxéthệthốngsau:



c
G
k
0
G
M
G
-
u
y




141
Cúphápcủarlocuslà
 rlocus(sys[,k])
 [r,k]=rlocus(sys)
 r=rlocus(sys,k)
 MôhìnhsystronglệnhtrênlàhàmtruyềnđạtcủahệthốnghởG
oGcGM
đượcxácđịnhbằnglệnhMATLAB:

sys=sysM*sysO*sysC
màchưacóhệsốkhuyếchđạiphảnhồik,làthamsốtuỳchọnsẽđượckhai
báoriêng.Điềuđócónghĩalàsysđượcghépnốibởicácmôhìnhriênglẻ.Khi
gọi
rlocus(sys[, k]) mà không  yêu trả biến về ta nhậnđượcđồthị quỹ đạo
nghiệmcủasys.Nếutakhông khaibáocáchệsố khuyêchđại trongvectơ

thamsốtuỳchọnk,MATLABsẽtựđộngquyếtđịnhgiátrịthíchhợ
p.Saukhi
dùng
rlocusvẽquỹđạođiểmcựctatìmcácgiátrịliênquanđếnđiểmcựcbất
kìnămtênquỹđạobằngcáchnhấpchuộtvàomộtđiểmtrênquỹđạo.Lúcđó
lệnh
rlocusfind được thưc hiện. Ta dùng các lện MATLAB sau (lưu trong
ct6_36.m)đểvẽquỹđạonghiệmcủamộthệthống:
clc
sys=zpk([],[‐0.1‐1‐j‐1+j],1)
rlocus(sys)
[r,k]=rlocus(sys)
sgrid

Đểtrực quan ta có thể dùng công cụ thiết kế bằng cách nhâp lệnh
sisotoolvàocửasổlệnhMATLAB.

142

×