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

đồ án lý thuyết điều khiển tự động

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 (286.2 KB, 17 trang )

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ TỰ ĐỘNG









Đồ án :
LÝ THUYẾT ĐIỀU KHIỂN TỰ ĐỘNG



SV thực hiện
Gv hướng dẫn
Số thứ tự

:
:
:

Nguyễn Hữu Ngọ
Ths. Phạm Thị Hương Sen
43








Lớp
: Đ2_CNTĐ




















Hà nội, 11/2009
Khoa Công Nghệ Tự Động
Đề tài : Cho hệ thống có sơ đồ:

W

PID
(P) W
ĐT
(P)
x e u y
_







Đối tượng là khâu quán tính bậc 1 có trễ :
1+

Tp
e
Tp


Bộ điều khiển PID có hàm truyền đạt :


Với K
p
,T
i
,T
d

có thể xác định được.
Yêu cầu :
1. Tính toán các tham số K
p
,T
i
,T
d
để đảm bảo tính ổn định và chất lượng của hệ thông theo
Zigler – Nichol.
)
1
1()( pT
pT
KpW
d
i
pPID
++=

2. Xét tính ổn định của hệ thống tìm các điểm cực và điểm không.
3. Khảo sát chất lượng và chọn các tham số với các quy luật điều khiển P, PI, PID để đảm bảo
cho hệ thống có chất lượng tốt nhất(chỉnh bằng tay).
4. Tính tham số tối ưu của bộ điều khiển PID dùng hàm Least-Quares(sai số bình phương bé
nhất).
Với các tham số τ và T cho trước : T = 45; τ/T = 0.6

145
27
+


p
e
p

Với T = 45; τ/T = 0.6 ta có :
Đối tượng là khâu quán tính bậc 1 có trễ :


Bộ ĐK/ Tham số K
p
T
I
T
D
P T/τ ∞ 0
PI 0.9 T/τ τ/0,3 0
PID 1,2 T/τ 2 τ 0,5 τ

A;) Tính toán các tham số K
p
,T
i
,T
d
để đảm bảo tính ổn định và chất lượng của hệ thông theo
Zigler – Nichol.


K

W
ĐT
(P)
x e u y
_






Lớp : D2_TDH
2
Trường Đại Học Điện Lực
Phương pháp này thay bộ điều khiển PID trong hệ kín bằng bộ khuyếch đại , sau đó tăng K cho đến
khi hệ nằm ở biên giới ổn định tức hệ kín trở thành khâu dao động điều hoà, lúc đó Kgh, và chu kỳ
dao động Tgh. Tham số chọn ở bảng:


Bộ ĐK/ Tham số K
p
T
I
T
D
P 0.5*Kgh ∞ 0
PI 0.45*Kgh
Tgh*
2.1
1


0
PID 0.6*Kgh 0.5*Tgh 0.125*Tgh
Ta xác định Kgh va Tgh ; bằng matlap;

>> T=45; t=0.6*T; n=3;

>> [a,b] = pade(t,n);

>> Wtr = tf(a,b);

>> W1 = tf(1,[T 1]);

>> sys = Wtr*W1;

>> rlocus(sys);%ve qui dao nghiem

>> [k,p] = rlocfind(sys)
Select a point in the graphics window
-0.5 0 0.5 1 1.5 2
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
Root Locus

Real Axis
Imaginary Axis

SV: Nguyễn Hữu Ngọ
3
Khoa Công Nghệ Tự Động
selected_point =

-0.0053 + 0.0671i


k =

2.6963


p =

-0.1980 + 0.2660i
-0.1980 - 0.2660i
-0.0054 + 0.0673i
-0.0054 - 0.0673i

>> [Gm,Pm,Wg,Wp] = margin(k*sys) % dự trử biên pha


Gm = % dự trử biên

1.2201



Pm = % dự trử pha

25.6988


Wg = % tần số đảo pha

0.0696


Wp = % tần số cắt biên

0.0556

>> Tgh = 2*pi/Wg

Tgh =

90.2191

>> Kp = 1.61778;

>> Ti = 45.1;
>> Ki =
Ti
Kp
= 0.035951;
>> Td = 11.3;


Lớp : D2_TDH
4
Trường Đại Học Điện Lực
>> Kd = Kp*Td = 18.200025;

>> s = tf('s');

>> Wpid = (Kp+(Ki/s)+Kd*s);

>> Who = Wpid* W1* Wtr;

>> W = feedback(Who,1);

>> Step(W);
Step Response
Time (sec)
Amplitude
0 20 40 60 80 100 120 140 160 180 200
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
System: W

Rise Time (sec): 40.6
System: W
Peak amplitude: 1.09
Overshoot (%): 8.83
At time (sec): 58.7
System: W
Settling Time (sec): 143

Ta thấy
T. gian tăng(Rise time) = 40.6;
T. gian quá độ(Settling time) = 143;
Vọt lố(Overshoot) = 8.38;
Sai số xác lập(Steady-state err.)

một hệ thống đáp ứng không có vọt lố, thời gian tăng trưởng nhanh và không tồn tại sai số xác lập.
thì hệ ấy đảm bảo chất lượng;
nên ta hiệu chỉnh làm sao sai số xác lập là nhỏ nhất . và độ vọt lố giảm, thời gian tăng trưởng nhanh
.

ta điều chỉnh một lượng nhỏ 3 thông số KP, KD và KI để được đáp ứng tốt hơn.

>> % ta chon cac thong so 1 luong nho

>> Kp = 1.7999;

>> Wpid = (Kp+(Ki/s)+Kd*s);
SV: Nguyễn Hữu Ngọ
5
Khoa Công Nghệ Tự Động
>> Who = Wpid* W1* Wtr;

>> W = feedback(Who,1);
>> Step(W);

Step Response
Time (sec)
Amplitude
0 20 40 60 80 100 120 140 160 180
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
System: W
Peak amplitude: 1.16
Overshoot (%): 16.4
At time (sec): 58.3
System: W
Rise Time (sec): 39.3
System: W
Settling Time (sec): 130

T. gian tăng(Rise time) = 39.3
T. gian quá độ(Settling time) = 130
Vọt lố(Overshoot) = 16.4

Sai số xác lập(Steady-state err.)

Ta thấy thời gian tăng (Rise time) giảm 39.3, nhưng Vọt lố(Overshoot) lại tăng 16.4, thời gian tăng
trưởng giảm, T. gian quá độ(Settling time) = 130 giảm .

>> Ki = 0.035951;Kd = 18.200025; Kp = 1.9999;

>> Wpid = (Kp+(Ki/s)+Kd*s);

>> Who = Wpid* W1* Wtr;

>> W = feedback(Who,1);

>> Step(W);
Lớp : D2_TDH
6
Trường Đại Học Điện Lực
Step Response
Time (sec)
Amplitude
0 20 40 60 80 100 120 140 160 180
-1
-0.5
0
0.5
1
1.5
System: W
Peak amplitude: 1.25
Overshoot (%): 24.8

At time (sec): 56.8
System: W
Rise Time (sec): 38.1
System: W
Settling Time (sec): 112

T. gian tăng(Rise time) = 38.1
T. gian quá độ(Settling time) = 112
Vọt lố(Overshoot) = 24.8
Sai số xác lập(Steady-state err.)

>> Ki = 0.025951;

>> Wpid = (Kp+(Ki/s)+Kd*s);

>> Who = Wpid* W1* Wtr;

>> W = feedback(Who,1);

>> Step(W);
SV: Nguyễn Hữu Ngọ
7
Khoa Công Nghệ Tự Động
Step Response
Time (sec)
Amplitude
0 50 100 150 200 250 300 350 400 450 500
-0.8
-0.6
-0.4

-0.2
0
0.2
0.4
0.6
0.8
1
1.2
System: W
Settling Time (sec): 181
System: W
Peak amplitude: 1.17
Overshoot (%): 17.1
At time (sec): 55.7
System: W
Rise Time (sec): 38.4

T. gian tăng(Rise time) = 38.4
T. gian quá độ(Settling time) = 181
Vọt lố(Overshoot) = 17.1
Sai số xác lập(Steady-state err.)

>> Kd = 22.200025;

>> Wpid = (Kp+(Ki/s)+Kd*s);

>> Who = Wpid* W1* Wtr;

>> W = feedback(Who,1);


>> Step(W);
Lớp : D2_TDH
8
Trường Đại Học Điện Lực
Step Response
Time (sec)
Amplitude
0 50 100 150 200 250
-1
-0.5
0
0.5
1
1.5
System: W
Peak amplitude: 1.18
Overshoot (%): 17.8
At time (sec): 51.3
System: W
Rise Time (sec): 36
System: W
Settling Time (sec): 169

T. gian tăng(Rise time) = 36
T. gian quá độ(Settling time) = 169
Vọt lố(Overshoot) = 17.8
Sai số xác lập(Steady-state err.)
Ta thấy hàm có thời gian tăng trưởng nhanh , không có sai số xác lập, vọt lố giảm
>> Kd =17.225;
>> Wpid = (Kp+(Ki/s)+Kd*s);

>> Who = Wpid* W1* Wtr;
>> W = feedback(Who,1);
>> Step(W);
SV: Nguyễn Hữu Ngọ
9
Khoa Công Nghệ Tự Động
Step Response
Time (sec)
Amplitude
0 50 100 150 200 250 300 350
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
System: W
Peak amplitude: 1.17
Overshoot (%): 17.3
At time (sec): 55.8
System: W
Rise Time (sec): 39
System: W
Settling Time (sec): 185


B;) Xét tính ổn định của hệ thống tìm các điểm cực và điểm không.

>> pzmap(W)
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
Pole-Zero Map
Real Axis
Imaginary Axis

>> [p,z] = pzmap(W)

p =

Lớp : D2_TDH
10
Trường Đại Học Điện Lực
-0.8169
-0.0253 + 0.0803i
-0.0253 - 0.0803i
-0.0798
-0.0123



z =

0.1362 + 0.1300i
0.1362 - 0.1300i
0.1720
-0.1012
-0.0149

C;) Khảo sát chất lượng và chọn các tham số với các quy luật điều khiển P, PI, PID để đảm bảo cho
hệ thống có chất lượng tốt nhất(chỉnh bằng tay).

đối với hệ ban đầu chưa có tham số điều khiển P,PI,PID.

>> T=45; t=0.6*T; n=3;
>> [a,b] = pade(t,n);
>> Wtr = tf(a,b);
>> W1 = tf(1,[T 1]);
>> sys = Wtr*W1;
>> W = feedback(sys,1);
>> step(W);
Step Response
Time (sec)
Amplitude
0 50 100 150 200 250
-0.1
0
0.1
0.2
0.3

0.4
0.5
0.6
System: W
Peak amplitude: 0.577
Overshoot (%): 15.4
At time (sec): 76.9
System: W
Rise Time (sec): 25.7
System: W
Settling Time (sec): 146

vì vậy với tín hiệu vào đơn vị thì giá trị ngõ ra la 0.5
SV: Nguyễn Hữu Ngọ
11
Khoa Công Nghệ Tự Động
thời gian tăng trưởng khoảng 25.7s, thời gian quá độ khoảng 146s. Vọt lố 15.4. Vậy ta cần thiết kế
bộ điều khiển nhằm làm giảm thời gian tăng trưởng và thời gian quá độ, đồng thời triệt tiêu sai số
xác lập


Việc hiệu chỉnh phù hợp 3 thông số KP, KI và KD sẽ làm tăng chất lượng điều khiển. Ảnh hưởng
của 3 thông số này lên hệ thống như sau:

Đ. ứng vòng
kín(C.L. response)
T. gian
tăng(Rise time)
Vọt
lố(Overshoot)

T. gian quá
độ(Settling time)
Sai số xác
lập(Steady-state
err.)
KP Giảm Tă ng Ít thay đổI Tă ng
KI Giảm Tăng Tăng Không xác định
KD Ít thay đổi Giảm Giảm Thay đổi ít

Như bảng phân tích phía trên, thành phần Kp làm giảm thời gian tăng trưởng, tăng độ vọt lố và làm
giảm sai số xác lập. Hàm truyền hệ kín của hệ trên với bộ điều khiển tỉ lệ là:

>> Kp = 3;
>> Wp = Kp;
>> Who = Wtr*W1*Wp;
>> W = feedback(Who,1);
>> step(W);
Step Response
Time (sec)
Amplitude
0 500 1000 1500 2000 2500
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4

1.6
System: W
Rise Time (sec): 13.1
System: W
Peak amplitude: 1.49
Overshoot (%): 98.2
At time (sec): 64.1
System: W
Settling Time (sec): 1.58e+003

Ta thấy thời gian tăng trưởng nhanh 13.1. nhưng vọt lố tăng 98.2 thời gian quá độ cũng tăng nên hệ
kém ổn định :
Ta giảm Kp
>> Kp = 1.5;
>> Wp = Kp;
>> Who = Wtr*W1*Wp;
Lớp : D2_TDH
12
Trường Đại Học Điện Lực
>> W = feedback(Who,1);
>> step(W);
Step Response
Time (sec)
Amplitude
0 50 100 150 200 250 300
-0.1
0
0.1
0.2
0.3

0.4
0.5
0.6
0.7
0.8
0.9
System: W
Rise Time (sec): 19.9
System: W
Peak amplitude: 0.811
Overshoot (%): 35.2
At time (sec): 70.3
System: W
Settling Time (sec): 195

Đồ thị trên cho thấy bộ điều khiển tỉ lệ làm giảm cả thời gian tăng trưởng lẫn sai số xác lập nhưng
lại làm tăng độ vọt lố,

Bộ điều khiển tỉ lệ - tích phân PI
Trước khi khảo sát bộ PID, ta hãy xét một bộ PI. Theo bảng trên, thành phần Ki làm giảm thời gian
tăng trưởng và triệt tiêu sai số xác lập. Đối với hệ trên, hàm truyền hệ kín khi có bộ điều khiển PI
là:

>> % chon Kp tang len
>> Kp = 1.998;Ki = 0.0256;
>> s = tf('s');
>> Wpi = (Kp + Ki/s);
>> Who = Wtr*W1*Wpi;
>> W = feedback(Who,1);
>> step(W);

SV: Nguyễn Hữu Ngọ
13
Khoa Công Nghệ Tự Động
Step Response
Time (sec)
Amplitude
0 50 100 150 200 250 300 350 400 450 500
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
System: W
Rise Time (sec): 21.1
System: W
Peak amplitude: 1.4
Overshoot (%): 39.8
At time (sec): 75.5
System: W
Settling Time (sec): 363

thời gian tăng trưởng nhanh hơn 21.1. nhưng độ vọt lố tăng lên 39.8; thời gian quá độ tăng lên 363.
Ta tăng thành phần Kp vì bộ điều khiển tích phân cũng làm giảm thời gian tăng trưởng và làm tăng
độ vọt lố (tác động kép). Đồ thị trên cho thấy bộ điều khiển tích phân đã triệt tiêu sai số xác lập.

Bộ điều khiển PID

Xét bộ PID, hàm truyền hệ kín khi có bộ điều khiển PID;

>> Kp = 1.998; Ki = 0.0256; Kd = 30;
>> Wpid = (Kp + Ki/s + Kd*s);
>> Who = Wtr*W1*Wpid;
>> W = feedback(Who,1);
>> step(W);
Lớp : D2_TDH
14
Trường Đại Học Điện Lực
Step Response
Time (sec)
Amplitude
0 50 100 150 200 250 300 350
-2
-1.5
-1
-0.5
0
0.5
1
1.5
System: W
Rise Time (sec): 31.6
System: W
Settling Time (sec): 209

>> Kp = 1.7793;Ki = 0.0213;Kd = 17.5445;
>> Wpid = (Kp + Ki/s + Kd*s);
>> Who = Wtr*W1*Wpid;

>> W = feedback(Who,1);
>>step(W);

Ta thấy
Step Response
Time (sec)
Amplitude
0 50 100 150 200 250 300 350 400 450
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
System: W
Peak amplitude: 1.04
Overshoot (%): 4.37
At time (sec): 54.8
System: W
Rise Time (sec): 40.6
System: W
Settling Time (sec): 196

SV: Nguyễn Hữu Ngọ
15

Khoa Công Nghệ Tự Động
T. gian tăng trưởng (Rise time) tăng 31.6, không có lọt vố T. gian quá độ(Settling time) tăng lên
209.
vậy ta cần hiệu chỉnh cho thời gian tăng trưởng nhanh. Độ vọt lố tối thiểu Không tồn tại sai số hệ
thống.


Tính bộ tham số tối ưu của bộ điều khiển PID dùng hàm Least-Quares(sai số bình phương bé nhất).

Ta co mo hinh simulink

ra
1
trang thai bhtich phan
1
s
nguon
khoi 3
Kd
khoi 2
Ki
khoi 1
Kp
hien thi
ham tre
ham
1
45s+1
dia chi 1
dia chi

dao ham
du/dt
bo han che

Ta đánh các lệnh sau
function [Kp,Ki,Kd] = ng_pro
baicuango;
pid0 = [0.889 0.015951 0.009];
options = optimset('LargeScale','off','Display','iter',
'TolX',0.0001,'TolFun',0.0001);
pid = lsqnonlin(@ngo_pr, pid0, [], [], options);
Kp = pid(1); Ki = pid(2); Kd = pid(3);
function F = ngo_pr(pid)
Kp = pid(1);
Ki = pid(2);
Kd = pid(3);
simopt = simset('solver','ode5',
'SrcWorkspace','Current');
[tout,xout,yout] = sim('baicuango',[0 100],simopt);
F = yout-1;
end
end

sau đó ta thực hiện lệnh ta được kết quả
>> [Kp,Ki,Kd] = ng_pro

Directional
Iteration Func-count Residual Step-size derivative Lambda
0 4 42.5698
1 11 42.4494 1 0.00432 42.4447

2 18 42.4494 1 8.73e-006 21.4154
3 27 42.4494 3.14 -7.13e-007 11.1016
4 35 42.4493 2.22 -2.75e-010 1.52327
5 43 42.4492 1.65 -1.1e-006 0.473249
6 50 42.4492 1.22 -2.94e-006 0.177382
7 57 42.4492 0.0929 3.41e-007 0.0765399
8 64 42.4492 0.444 -6.53e-008 0.0765624
9 71 42.4492 0.157 -7.12e-008 0.0306064
Lớp : D2_TDH
16
Trường Đại Học Điện Lực
10 78 42.4492 0.157 1.1e-007 0.00957799
11 88 42.4492 0.00629 9.87e-008 0.00957874
12 96 42.4492 0.124 1e-007 0.00996699
13 105 42.4492 0.0139 1.34e-007 0.00996794
14 112 42.4492 0.258 1.33e-007 0.0101424
15 121 42.4492 0.0153 1.3e-007 0.0101428
Optimization terminated: directional derivative along
search direction less than TolFun and infinity-norm of
gradient less than 10*(TolFun+TolX).

Kp =

1.7503


Ki =

0.0192



Kd =

17.5437



SV: Nguyễn Hữu Ngọ
17

×