Cách thiết kế bộ điều khiển PID – Tài liệu text

Cách thiết kế bộ điều khiển PID

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 (289.48 KB, 8 trang )

Bạn đang đọc: Cách thiết kế bộ điều khiển PID – Tài liệu text

Thiết kế bộ điều khiển PID

Thiết Kế Bộ Điều Khiển PID

Ziegler và Nichols đưa ra hai phương pháp thực nghiệm để xác định tham số bộ điều
khiển PID.Phương pháp thứ nhất dùng mô hình xấp xỉ quán tính bậc nhất có trễ của đối
tượng điều khiển:
T

delay
G(s)  ke
1 Ts

s

(1)

Phương pháp thứ hai không cần đến mô hình toán học của đối tượng nhưng chỉ áp dụng
cho một số lớp đối tượng nhất định.
1. Phương pháp Zieger-Nichols thứ nhất:
Phương pháp này nhằm xác định các tham số K P, K I, K D cho bộ điều khiển PID trên cơ
sở xấp xỉ hàm truyền đạt thành khâu quán tính bậc nhất (1) để hệ kín nhanh chóng về chế
độ xác lập và độ quá điều chỉnh không quá 40%

Đặc tính động học:

Ở đây ta đã mô phỏng với giả thiết xấp xỉ hàm truyền của hệ thống là:

Lưu Như Hòa – ĐKTĐ – KSTN – K50

1

Thiết kế bộ điều khiển PID

G (s) 

6.25 13.5s
e
12.5s  1

(Trên thực tế các thông số Tdelay, T, k được xác định từ đặc tính động học của hệ hở)
Nếu chọn các tham số cho bộ điều khiển PID theo phương pháp Z-N -1 thì ta có:
Kp
T
T .K
KP 
 0.1481, K I 
 0.0055, K D  delay p  1
kTdelay
2Tdelay
2

2. Phương pháp Zieger-Nichols thứ hai:
Phương pháp Zieger-Nichols thứ hai
1( t )
_

k

G  s

y( t )

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 là hệ kín trở thành khâu dao động điều
hòa.Lúc đó ta có Kgh và chu kỳ của dao động đó là Tgh.Tham số cho bộ điều khiển PID
chọn theo bảng sau:

Lưu Như Hòa – ĐKTĐ – KSTN – K50

2

Thiết kế bộ điều khiển PID

Bộ điều
khiển
P
PI

Kp

Ti

Td

0,5*Kgh
0,45* Kgh

0

0

PID

0,6*Kgh


1
* Tgh
1.2
0,5*Tgh

0,125*Tgh

>> [num_delay,den_delay]=pade(13.5,3);
>> sys=tf(6.25,[12.5 1])*tf(num_delay,den_delay)
Transfer function:
-6.25 s^3 + 5.556 s^2 – 2.058 s + 0.3048
—————————————————-12.5 s^4 + 12.11 s^3 + 5.004 s^2 + 0.9389 s + 0.04877
>> rlocus(sys);
>> [k,p]=rlocfind(sys)
Select a point in the graphics window
selected_point =
0.0000 + 0.1521i
k =
0.3438
p =
-0.3985
-0.3985
-0.0000

-0.0000

+
+

0.6092i
0.6092i
0.1523i
0.1523i

Lưu Như Hòa – ĐKTĐ – KSTN – K50

3

Thiết kế bộ điều khiển PID

Root Locus

1.5

1

Imaginary Axis

0.5

0

­0.5

­1

­1.5

­0.5

0

0.5

1

1.5

2

Real Axis

1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0
­0.2

0

50

Lưu Như Hòa – ĐKTĐ – KSTN – K50

100

150

4

Thiết kế bộ điều khiển PID
>>[Gm,Pm,Wg,Wp] = margin(k*sys)
Gm =
1.0006
Pm =
0.1256
Wg =
0.1523
Wp =
0.1521
>> Tgh=2*pi/Wg
Tgh =
41.2662

Chọn tham số cho bộ điều khiển PID ta có:
K

K p  0.6* Kgh  0.2063, K I  P  0.01, K D  K pTD  1.0640
TI

Lưu Như Hòa – ĐKTĐ – KSTN – K50

5

Thiết kế bộ điều khiển PID

1.4
1.2
1
0.8
0.6
0.4
0.2
0

0

20

40

60

80

100

120

140

160

180

200

3. Phương pháp dựa vào điều kiện tối ưu chuẩn H 2 :

Chỉ tiêu tối ưu là

2

 e (t )  min
0

Lưu Như Hòa – ĐKTĐ – KSTN – K50

6

Thiết kế bộ điều khiển PID

>>

function [Kp,Ki,Kd] = run_pid()
pid_model;
pid0 = [0.2063 0.01 1.0640];
options = optimset(‘LargeScale’,’off’,’Display’,’iter’,…
‘TolX’,0.0001,’TolFun’,0.0001);
pid = lsqnonlin(@pid_lsq, pid0, [], [], options);
[Kp Ki Kd] = pid;
function F = pid_lsq(pid)
[Kp Ki Kd] = pid;
simopt = simset(‘solver’,’ode45′,’SrcWorkspace’,’Current’);
[tout,xout,yout] = sim(‘pid_model’,[0 200],simopt);
F = yout-1;
end
end
[kp,ki,kd]=run_pid
Directional
Iteration Func-count
Residual
Step-size
derivative
0
4
5.81452
1
12
4.30085
1.25
-0.284
2

19
4.25474
0.948
-0.000296
3
27
4.24586
1.75
-1.05e-005
4
34
4.24396
1.01
-7.01e-008
5
42
4.24378
1.26
2.98e-009
6
49
4.24376
0.977
4.91e-010
7
56
4.24376
1.13
2.33e-010
8

63
4.24376
0.95
3.22e-011
Optimization terminated: directional derivative along
search direction less than TolFun and infinity-norm of
gradient less than 10*(TolFun+TolX).

Lambda
4.44604
1.79785
1.806
0.65562
0.655853
0.327926
0.327929
0.163964

kp =
0.1132
ki =
0.0118
kd =
0.8467

Lưu Như Hòa – ĐKTĐ – KSTN – K50

7

Thiết kế bộ điều khiển PID

1.4
1.2
1
0.8
0.6
0.4
0.2
0

0

20

40

60

80

Lưu Như Hòa – ĐKTĐ – KSTN – K50

100

120

140

160

180

200

8

Thiết kế bộ điều khiển PIDG ( s )  6.25  13.5 s12. 5 s  1 ( Trên thực tiễn những thông số kỹ thuật Tdelay, T, k được xác lập từ đặc tính động học của hệ hở ) Nếu chọn những tham số cho bộ điều khiển PID theo giải pháp Z-N – 1 thì ta có : KpT. KKP   0.1481, K I   0.0055, K D  delay p  1 kTdelay2Tdelay2. Phương pháp Zieger-Nichols thứ hai : Phương pháp Zieger-Nichols thứ hai1 ( t ) G  s  y ( t ) 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 kcho đến khi hệ nằm ở biên giới không thay đổi tức là hệ kín trở thành khâu xê dịch điềuhòa. Lúc đó ta có Kgh và chu kỳ luân hồi của xê dịch đó là Tgh. Tham số cho bộ điều khiển PIDchọn theo bảng sau : Lưu Như Hòa – ĐKTĐ – KSTN – K50Thiết kế bộ điều khiển PIDBộ điềukhiểnPIKpTiTd0, 5 * Kgh0, 45 * KghPID0, 6 * Kgh * Tgh1. 20,5 * Tgh0, 125 * Tgh >> [ num_delay, den_delay ] = pade ( 13.5,3 ) ; >> sys = tf ( 6.25, [ 12.5 1 ] ) * tf ( num_delay, den_delay ) Transfer function : – 6.25 s ^ 3 + 5.556 s ^ 2 – 2.058 s + 0.3048 —————————————————- 12.5 s ^ 4 + 12.11 s ^ 3 + 5.004 s ^ 2 + 0.9389 s + 0.04877 >> rlocus ( sys ) ; >> [ k, p ] = rlocfind ( sys ) Select a point in the graphics windowselected_point = 0.0000 + 0.1521 ik = 0.3438 p = – 0.3985 – 0.3985 – 0.0000 – 0.00000.6092 i0. 6092 i0. 1523 i0. 1523 iLưu Như Hòa – ĐKTĐ – KSTN – K50Thiết kế bộ điều khiển PIDRoot Locus1. 5I maginary Axis0. 5 ­ 0.5 ­ 1 ­ 1.5 ­ 0.50.51. 5R eal Axis1. 61.41.20. 80.60.40. 2 ­ 0.250 Lưu Như Hòa – ĐKTĐ – KSTN – K50100150Thiết kế bộ điều khiển PID >> [ Gm, Pm, Wg, Wp ] = margin ( k * sys ) Gm = 1.0006 Pm = 0.1256 Wg = 0.1523 Wp = 0.1521 >> Tgh = 2 * pi / WgTgh = 41.2662 Chọn tham số cho bộ điều khiển PID ta có : K p  0.6 * Kgh  0.2063, K I  P  0.01, K D  K pTD  1.0640 TILưu Như Hòa – ĐKTĐ – KSTN – K50Thiết kế bộ điều khiển PID1. 41.20.80. 60.40.2204060801001201401601802003. Phương pháp dựa vào điều kiện kèm theo tối ưu chuẩn H 2 : Chỉ tiêu tối ưu là  e ( t )  minLưu Như Hòa – ĐKTĐ – KSTN – K50Thiết kế bộ điều khiển PID >> function [ Kp, Ki, Kd ] = run_pid ( ) pid_model ; pid0 = [ 0.2063 0.01 1.0640 ] ; options = optimset ( ‘ LargeScale ‘, ‘ off ‘, ‘ Display ‘, ‘ iter ‘, … ‘ TolX ‘, 0.0001, ‘ TolFun ‘, 0.0001 ) ; pid = lsqnonlin ( @ pid_lsq, pid0, [ ], [ ], options ) ; [ Kp Ki Kd ] = pid ; function F = pid_lsq ( pid ) [ Kp Ki Kd ] = pid ; simopt = simset ( ‘ solver ‘, ‘ ode45 ‘, ‘ SrcWorkspace ‘, ‘ Current ‘ ) ; [ tout, xout, yout ] = sim ( ‘ pid_model ‘, [ 0 200 ], simopt ) ; F = yout-1 ; endend [ kp, ki, kd ] = run_pidDirectionalIteration Func-countResidualStep-sizederivative5. 81452124.300851.25 – 0.284194.254740.948 – 0.000296274.245861.75 – 1.05 e – 005344.243961.01 – 7.01 e – 008424.243781.262.98 e – 009494.243760.9774.91 e – 010564.243761.132.33 e – 010634.243760.953.22 e – 011O ptimization terminated : directional derivative alongsearch direction less than TolFun and infinity-norm ofgradient less than 10 * ( TolFun + TolX ). Lambda4. 446041.797851.8060.655620.6558530.3279260.3279290.163964 kp = 0.1132 ki = 0.0118 kd = 0.8467 Lưu Như Hòa – ĐKTĐ – KSTN – K50Thiết kế bộ điều khiển PID1. 41.20.80. 60.40.220406080 Lưu Như Hòa – ĐKTĐ – KSTN – K50100120140160180200

Source: https://dvn.com.vn
Category: Phụ Kiện

Alternate Text Gọi ngay