1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

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

17 928 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 286,2 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

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

Hà nội, 11/2009

Trang 2

Đề tài : Cho hệ thống có sơ đồ:

WPID(P) WĐT(P)

_

Đố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 Kp ,Ti ,Td có thể xác định được

Yêu cầu :

1 Tính toán các tham số Kp ,Ti ,Td để đảm bảo tính ổn định và chất lượng của hệ thông theo

Zigler – Nichol

)

1 1 ( )

p T K p

i p PID = + +

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

1 45

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ễ :

A;) Tính toán các tham số Kp ,Ti ,Td để đảm bảo tính ổn định và chất lượng của hệ thông theo

Zigler – Nichol

_

Trang 3

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:

PI 0.45*Kgh

Tgh

* 2 1

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.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

Root Locus

Real Axis

Trang 4

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;

Trang 5

>> 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)

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);

Trang 6

>> Who = Wpid* W1* Wtr;

>> W = feedback(Who,1);

>> Step(W);

Step Response

Time (sec)

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);

Trang 7

Step Response

Time (sec)

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);

Trang 8

Step Response

Time (sec)

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);

Trang 9

Step Response

Time (sec)

-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);

Trang 10

Step Response

Time (sec)

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

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

p =

Trang 11

-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)

-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

Trang 12

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.)

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)

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;

Trang 13

>> W = feedback(Who,1);

>> step(W);

Step Response

Time (sec)

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);

Trang 14

Step Response

Time (sec)

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);

Trang 15

Step Response

Time (sec)

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)

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

Trang 16

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 bh

tich phan

1 s nguon

khoi 3 Kd khoi 2 Ki

khoi 1

Kp

hien thi

ham tre ham

1

45 s+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

Trang 17

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

Ngày đăng: 21/04/2014, 13:30

HÌNH ẢNH LIÊN QUAN

Đồ 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ố, - đồ án lý thuyết điều khiển tự động
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ố, (Trang 13)

TỪ KHÓA LIÊN QUAN

w