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:
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ố KP, KI , KD 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%
8 trang |
Chia sẻ: hoang10 | Lượt xem: 592 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Cơ khí chế tạo máy - Thiết kế bộ điều khiển pid, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
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:
( ) 1
delayT skeG s Ts
(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ố , ,P I DK K K 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
13.56.25( )
12.5 1
sG s e
s
(Trên thực tế các thông số , ,delayT 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ó:
0.1481P
delay
TK
kT
, 0.00552
p
I
delay
K
K
T
,
.
1
2
delay p
D
T K
K
2. Phương pháp Zieger-Nichols thứ hai:
Phương pháp Zieger-Nichols thứ hai
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
G sk
( )ty( )t1
_
Thiết kế bộ điều khiển PID
>> [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.6092i
-0.3985 - 0.6092i
-0.0000 + 0.1523i
-0.0000 - 0.1523i
Lưu Như Hòa – ĐKTĐ – KSTN – K50
Bộ điều
khiển
Kp Ti Td
P 0,5*Kgh ∞ 0
PI 0,45* Kgh 1 *
1.2
Tgh 0
PID 0,6*Kgh 0,5*Tgh 0,125*Tgh
3
Thiết kế bộ điều khiển PID
0.5 0 0.5 1 1.5 2
1.5
1
0.5
0
0.5
1
1.5
Root Locus
Real Axis
Im
ag
ina
ry
A
xis
0 50 100 150
0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
Lưu Như Hòa – ĐKTĐ – KSTN – K50 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ó:
0.6* 0.2063pK Kgh , 0.01
P
I
I
KK
T
, 1.0640D p DK K T
Lưu Như Hòa – ĐKTĐ – KSTN – K50 5
Thiết kế bộ điều khiển PID
0 20 40 60 80 100 120 140 160 180 200
0
0.2
0.4
0.6
0.8
1
1.2
1.4
3. Phương pháp dựa vào điều kiện tối ưu chuẩn 2H :
Chỉ tiêu tối ưu là
2
0
( ) mine t
Lưu Như Hòa – ĐKTĐ – KSTN – K50 6
Thiết kế bộ điều khiển PID
>>
[kp,ki,kd]=run_pid
Directional
Iteration Func-count Residual Step-size derivative Lambda
0 4 5.81452
1 12 4.30085 1.25 -0.284 4.44604
2 19 4.25474 0.948 -0.000296 1.79785
3 27 4.24586 1.75 -1.05e-005 1.806
4 34 4.24396 1.01 -7.01e-008 0.65562
5 42 4.24378 1.26 2.98e-009 0.655853
6 49 4.24376 0.977 4.91e-010 0.327926
7 56 4.24376 1.13 2.33e-010 0.327929
8 63 4.24376 0.95 3.22e-011 0.163964
Optimization terminated: directional derivative along
search direction less than TolFun and infinity-norm of
gradient less than 10*(TolFun+TolX).
kp =
0.1132
ki =
0.0118
kd =
0.8467
Lưu Như Hòa – ĐKTĐ – KSTN – K50 7
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
Thiết kế bộ điều khiển PID
0 20 40 60 80 100 120 140 160 180 200
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Lưu Như Hòa – ĐKTĐ – KSTN – K50 8