Bài tập lớn: LTĐKTĐ
Sinh viên : T Vn Tin_
DHDI7TH
1
bài tập lớn lý thuyết điều khiển tự động
Đề bài :
Cho hệ thống điều khiển tốc độ động cơ nh- hình vẽ :(hình 1)
Yêu cầu :
1. Xây dựng sơ đồ khối cấu trúc và hàm truyền đạt các phần tử
2. Xét ổn định hệ thống và tính quá trình quá độ (bằng ph-ơng pháp số Tustin) khi bỏ
qua khâu PID và ngắt bỏ khâu W
4
(p) .
3. Khi có bộ PID , có W
4
(p) xét ổn định hệ thống bằng Matlab, cụ thể :
a, cắt bỏ W
4
(p) tìm các tham số của bộ PID để s
max
<=15% .
b,bỏ PID , giữ lại W
4
(p) tìm T
d
để chất l-ợng hệ thống t-ơng đối tốt .
c, có PID , có W
4
(p) xác định các tham số để s
max
<=10% .
- nhóm 13 có các số liệu :
R =10 K , R
1
=145 K , C
1
= 26mF
Hàm truyền đạt động cơ:
1
2
++
=
pTpTT
k
W
mem
m
dc
với k
m
= 6,5 ; T
m
= 0,3 sec ; T
e
=
0,15 sec ta có :
13,0045,0
5,6
2
++
=
pp
W
dc
=W
3
(p)
- Khâu KĐ1 có hàm truyền nh- sau :
W
1
(p) =
177,3
5,14
1
1
1
+
=
+ ppT
K
-
101,0
25
)(
2
+
=
p
pW
Bài làm
1. Xây dựng sơ đồ cấu trúc hệ thống :
- sơ đồ cấu trúc hệ thống đ-ợc vẽ nh- hình số 2 trong đó các hàm truyền đạt đã
đ-ợc tính và hệ số phản hồi K
f
= K
pa
K
ft
=0,125*0,25 = 0.03125
+ nguyên lý làm việc của hệ thống :
2.Xét ổn định hệ thống và tính quá trình quá độ :
- khi bỏ khâu PID và ngắt bỏ W
4
(p) ta có sơ đồ cấu trúc nh- sau :
(Hình vẽ số 3)
Bài tập lớn: LTĐKTĐ
Sinh viên : T Vn Tin_
DHDI7TH
2
Hệ thống gồm hai khâu quán tính và một khâu dao động mạch phản hồi có hệ số bằng
0.03125 .
- xét khâu quán tính : W
1
(p)=
)(
)(
177,3
5,14
1
pE
pY
p
=
+
thế p =
1
12
+
-
Z
Z
T
vào ta có : )(.)( )(.)(.
11111
ZEBZEZBZYAZYZ ++=
trong đó :
T
T
B
T
T
A
+
=
+
-
=
54,7
5,14
54,7
54,7
1
1
Ph-ơng trình sai phân có dạng :
][]1[][]1[
11111
kEBkEBkYAkY +++=+
- t-ơng tự xét với khâu quán tính :
101.0
25
)(
2
+
=
p
pW =
)(
)(
1
2
pY
pY
thay p =
1
12
+
-
Z
Z
T
vào
ta có:
)(.)( )(.)(.
1112222
ZYBZYZBZYAZYZ ++= (1)
trong đó :
T
T
B
T
T
A
+
=
+
-
=
02
.
0
.25
02.0
02.0
2
2
Ph-ơng trình sai phân có dạng :
][]1[][]1[
1212222
kYBkYBkYAkY +++=+ (2)
Đối với khâu dao động :
)(
)(
13.0045.0
5.6
)(
2
2
3
pY
pY
pp
pW =
++
= ta có :
Thay p =
1
12
+
-
Z
Z
T
vào :
( )
33
2
3
22
3
2
3
1.2.5.6
)(
1
1
1
.
2
.3.0)
1
1
.
2
(045.0
5.6
)(
CZBZA
ZZT
ZW
Z
Z
TZ
Z
T
ZW
++
++
=ị
+
+
-
+
+
-
=
Trong đó :
TTC
TB
TTA
6.018.0
36.02
6.018.0
2
3
2
3
2
3
-+=
-=
++=
Ph-ơng trình đại số :
)()(.2)([5.6)()().(.
222
22
33
2
3
ZYZZYZYZTZYCZZYBZZYA ++=++
Ph-ơng trình sai phân t-ơng đ-ơng là :
Bài tập lớn: LTĐKTĐ
Sinh viên : T Vn Tin_
DHDI7TH
3
3222
2
33
/])[]1[.2]2[(5.6][]1[.(]2[ AkYkYkYTkYCkYBkY +++++-+-=+
Vậy ph-ơng trình sai phân mô tả hệ thống theo ph-ơng pháp số Tustin là :
322233
1212222
11111
/]))1[][*2]1[(***5.6]1[*][*(]1[
][*]1[*][*]1[
][*]1[*][*]1[
]
[
*
03125
.
0
]
[
AkYkYkYTTkYCkYBkY
kYBkYBkYAkY
kEBkEBkYAkY
k
Y
U
k
E
-++++ =+
+++=+
+++=+
-
=
Để tính quá trình quá độ của hệ thống ta dùng Matlab để kiểm tra xem hệ thống có ổn
định hay không :
nh- sau :
>> w1=tf([14.5],[3.77 1]);
Transfer function:
14.5
3.77 s + 1
>> w2=tf([25],[.01 1])
Transfer function:
25
0.01 s + 1
>> w3=tf([6.5],[0.04 .3 1])
Transfer function:
6.5
0.045 s^2 + 0.3 s + 1
Transfer function:
2356,25
Bài tập lớn: LTĐKTĐ
Sinh viên : T Vn Tin_
DHDI7TH
4
0,001697s^4 + 0,1814 s^3 + 1,2161s^2 + 4,08 s + 1
>> k= 0.03125;
>> wk=feedback(wh,k)
Transfer function:
2356,25
0,01697s^4 + 0,1814 s^3 + 1,2167s^2 + 4,48s +51,78
>> step(wk)
ta có đặc tính quá độ nh- sau :
tính quá trình quá độ bằng ph-ơng pháp TUSTIN:
#include<iostream.h>
#include<conio.h>
#include<graphics.h>
include<stdlib.h>
float T,a1a,a2,a3,b1,b2,b3,c3,u;
float y1[640] , y2[640] , y[640] , e[640] ;
int gt , gm , i , k;
void main()
{
cout<< \nTinh qua trinh qua do he thong;
cout<<\nnhap buoc tinh T=; cin>>T;
y[0] = 0; y[1]= 0; y1[0] = 0; y2[0] = 0;
for(k=0; k<=630; k++)
{
Bµi tËp lín: LT§KT§
Sinh viªn : Tạ Văn Tiến_
DHDI7TH
5
;/]))1[][*2]1[(***5.6]1[*][*(]1[
];[*]1[*][*]1[
];[*]1[*][*]1[
];
[
*
03125
.
0
]
[
322233
1212222
11111
AkYkYkYTTkYCkYBkY
kYBkYBkYAkY
kEBkEBkYAkY
k
Y
U
k
E
-++++ =+
+++=+
+++=+
-
=
cout<< “\n\t\tk=%3d y=%6.2f “,k,y[k] ;
delay(1) ;
}
getch() ;
gd = DETECT;
initgraph(&gd,&gm,”c:\\borlandc++\\bgi”) ;
setlinestyle(0,0,3) ;
setbkcolor(0) ; setcolor(4) ;
outtextxy(160,30,”PHUONG PHAP SO TUSTIN”) ;
outtextxy(150,40,”(He khong on dinh)”) ;
outtexexy(20,450,”0”) ;
setcolor(5) ;
rectangle(2,2,637,477) ;
setcolor(1) ;
for (i = i ; i<=10 ; i++)
{
line(64*i, 5, 64*i,15) ;
line(64*i + 32, 5, 64*i + 32, 10) ;
line(64*i, 475, 64*i, 464) ;
line(64*i + 32475, 64*i + 32 , 468) ;
line(5, 48*i, 10 , 48*i) ;
}
setcolor(2) ;
moveto(1,477) ;
for (k=0 ;k<= 630 ; k++)
{
lineto(k, 479 – (int)(10*y[k]/1.6)) ;
}
outtextxy(580, 470 – (int)(10*y[k]/1.6),”y(t)”) ;
outtextxy(455, 450 – (int)(10*y[k]/1.6),”Tin hieu ra”) ;
getch() ;
closegraph() ;
return(0) ;}
3. Khi cã bé PID vµ cã kh©u W
4
(p) :
a, khi bá kh©u W
4
(p) ta cã s¬ ®å khèi cña hÖ thèng nh- sau :
Khi m¾c nèi tiÕp bé PID
Bài tập lớn: LTĐKTĐ
Sinh viên : T Vn Tin_
DHDI7TH
6
Ta dùng Matlab điều chỉnh các tham số của bộ PID để ch hệ thống ổn định :
- Khi bộ PID mắc nối tiếp ta có các tham số hiệu chỉnh để overshoot không quá
15% là :
K
P
=0.01 ;K
D
= 0.1 ; K
I
= 0.5 ; ta có đồ thị step nh- sau :
Ta thấy overshoot bằng 9.74% , rise time bằng 1.9 (sec) và setting time bằng 6.35
(sec)
Nh- vậy chất l-ợng hệ thống đạt yêu cầu .
Khi bộ PID mắc hỗn hợp :
W
2
(P)
W
3
(P)
W
1
(P)
K
f
PID
Bµi tËp lín: LT§KT§
Sinh viªn : Tạ Văn Tiến_
DHDI7TH
7
Ta cã ®Æc tÝnh qu¸ ®é nh- sau :
Bài tập lớn: LTĐKTĐ
Sinh viên : T Vn Tin_
DHDI7TH
8
Hệ thống ổn định với các tham số nh- sau : Kp =0,01 ; Ki = 0,008 ; Kd = 0;
bộ PID 2 có :Kp=0,01 ; Ki = 0,005 ; Kd = 0,01
b, Khi bỏ PID lấy W
4
(p) ta có sơ đồ khối nh- sau :
hiệu chỉnh dần Td ta có : với Td = 20 đặc tính quá độ của hệ thống nh- sau :
Ch-ơng trình Matlab :
>> Td=20;
>> W0=tf(8.5,[1.105 1])
Transfer function:
14.5
3.77 s + 1
>> W1=tf(25,[.01 1])
Transfer function:
25
0.01 s + 1
>> W2=tf(6.5,[.045 .03 1])
Transfer function:
Bµi tËp lín: LT§KT§
Sinh viªn : Tạ Văn Tiến_
DHDI7TH
9
6.5
0.045 s^2 + 0.03 s + 1
>> W3=tf([Td 0 0],[Td 1])
Transfer function:
20 s^2
20 s + 1
>> W12k=feedback(W1*W2,W3)
Transfer function:
3250 s + 162.5
0.009 s^4 + 0.9064 s^3 + 3251 s^2 + 20.04 s + 1
>> W012k=feedback(W0*W12k,.03125)
Transfer function:
27625 s + 1381
0.009945 s^5 + 1.011 s^4 + 3593 s^3 + 3273 s^2 + 884.4 s + 44.16
>> step(W012k)
Bài tập lớn: LTĐKTĐ
Sinh viên : T Vn Tin_
DHDI7TH
10
Nhận xét : Ta thấy Overshoot =14,5% , setting Time = 46 sec ị chất l-ợng hệ
thống t-ơng đối tốt .
Đồ thi Nyquist của hệ hở nh- sau :
>> nyquist(W0*W12k)
Bài tập lớn: LTĐKTĐ
Sinh viên : T Vn Tin_
DHDI7TH
11
c) Khi có cả bộ PID và khâu W
4
ta hiệu chỉnh các tham số để hệ có s
MAX
<=10%
Sơ đồ khối :
Bài tập lớn: LTĐKTĐ
Sinh viên : T Vn Tin_
DHDI7TH
12
Ta xẽ hiệu chỉnh các tham số của bộ PID và T
d
để hệ đạt đ-ợc chất l-ợng theo yêu cầu
:
Ta vẽ mạch trong SIMULINK nh- sau :
thay đổi các tham số của bộ PID và T
d
, cho hệ thống chạy , ở cửa sổ chính của
MATLAB ta gõ :
>> plot(HUY); grid
ta có dạng quá độ nh- sau :
Bài tập lớn: LTĐKTĐ
Sinh viên : T Vn Tin_
DHDI7TH
13
Với các tham số của bộ PID nh- sau : K
P
= 10 ; K
I
= 5
; K
D
= 5 ;
và T
d
= 0,001 ta thấy chất l-ợng hệ thống đã đạt yêu cầu (overshoot = 0 % ; thời gian
xác lập nhỏ (10 sec).
4) Xét khả năng điều khiển đ-ợc và quan sát đ-ợc của hệ thống
Ta có hàm truyền của hệ thống nh- sau:
>> Wpid=tf(10)+tf(5,[1 0])+tf([5 0],1)
Transfer function:
5 s^2 + 10 s + 5
s
>> W1=tf(14.5,[3.77 1])
Transfer function:
14.5
3.77 s + 1
>> W2=tf(25,[.01 1])
Transfer function:
25
Bài tập lớn: LTĐKTĐ
Sinh viên : T Vn Tin_
DHDI7TH
14
0.01 s + 1
>> Wdc=tf(6.5,[.045 .3 1])
Transfer function:
6.5
0.045 s^2 + 0.3 s + 1
>> W3=tf(.001,[.001 1])
Transfer function:
0.001
0.001 s + 1
>> W1k=feedback(W2*Wdc,W3)
Transfer function:
0.1625 s + 162.5
4.5e-007 s^4 + 0.000498 s^3 + 0.04831 s^2 + 0.311 s + 1.163
>> Wh=Wpid*W1*W1k
Transfer function:
6.906 s^3 + 6920 s^2 + 1.382e004 s + 6906
4.972e-007 s^6 + 0.0005507 s^5 + 0.05388 s^4 + 0.392 s^3 + 1.596 s^2 + 1.163 s
>> Wk=feedback(Wh,.03125)
Transfer function:
6.906 s^3 + 6920 s^2 + 1.382e004 s + 6906
4.972e-007 s^6 + .0005507 s^5 + 0.05388 s^4 + 0.6078 s^3 + 217.8 s^2 + 433 s+
215.8
Vậy ta có ph-ơng trình đặc tính của hệ là :
s
6
+1107,6s
5
+10,8.10
4
s
4
+12,2.10
5
s
3
+43,8.10
7
s
2
+87,07.10
7
s +43,4.10
7
=0
Ta dùng MatLab để tính ma trận điều khiển nh- sau :
>> A=[-1107.6 1 0 0 0 0;-10.8*10^4 0 1 0 0 0;-12.5*10^5 0 0 1 0 0;-43.8*10^7 0 0 0
1 0;-
87.08*10^7 0 0 0 0 1;-43.4*10^7 0 0 0 0 0]
A =1.0e+008 *
Bµi tËp lín: LT§KT§
Sinh viªn : Tạ Văn Tiến_
DHDI7TH
15
-0.0000 0.0000 0 0 0 0
-0.0011 0 0.0000 0 0 0
-0.0125 0 0 0.0000 0 0
-4.3800 0 0 0 0.0000 0
-8.7080 0 0 0 0 0.0000
-4.3400 0 0 0 0 0
>> B=[0;0;6.906;6920;1.382e004;6906]
B =
1.0e+004 *
0
0
0.0007
0.6920
1.3820
0.6906
>> P=[B A*B A^2*B A^3*B A^4*B A^5*B]
P =
1.0e+013 *
0 0 0.0000 -0.0000 0.0000 -0.0000
0 0.0000 0.0000 -0.0000 0.0000 -0.0010
0.0000 0.0000 0.0000 -0.0000 -0.0002 0.0219
0.0000 0.0000 0.0000 -0.0003 0.0313 -3.2440
0.0000 0.0000 0 -0.0006 0.0632 -6.5435
0.0000 0 0 -0.0003 0.0316 -3.2770
>> det(P)
ans =
5.2854e+029
Ta thÊy det(P) kh¸c 0 vËy Rank(P) =6 hay hÖ thèng ®iÒu khiÓn ®-îc hoµn toµn .
Ta xÐt tÝnh quan s¸t ®-îc cña hÖ thèng :
>> C=[1 0 0 0 0 0]
C =
[1 0 0 0 0 0]
ans =
Bµi tËp lín: LT§KT§
Sinh viªn : Tạ Văn Tiến_
DHDI7TH
16
1
0
0
0
0
0
>> A'
ans =
1.0e+008 *
-0.0000 -0.0011 -0.0125 -4.3800 -8.7080 -4.3400
0.0000 0 0 0 0 0
0 0.0000 0 0 0 0
0 0 0.0000 0 0 0
0 0 0 0.0000 0 0
0 0 0 0 0.0000 0
>> L=[C' A'*C' (A')^2*C' (A')^3*C' (A')^4*C' (A')^5*C']
L =
1.0e+015 *
0.0000 -0.0000 0.0000 -0.0000 0.0011 -1.1220
0 0.0000 -0.0000 0.0000 -0.0000 0.0011
0 0 0.0000 -0.0000 0.0000 -0.0000
0 0 0 0.0000 -0.0000 0.0000
0 0 0 0 0.0000 -0.0000
0 0 0 0 0 0.0000
>> det(L)
ans =
1
Ta thÊy det(L) kh¸c 0 , vËy hÖ thèng quan s¸t ®-îc hoµn toµn .