CHƯƠNG 3. TỐI ƯU BỘ ĐIỀU KHIỂN KÍCH TỪ UNITROL_6800 ĐIỀU KHIỂN MÁY PHÁT HÀM THUẬN BẰNG GIẢI THUẬT DI TRUYỀN VÀ MÔ PHỎNG ĐÁNH GIÁ KẾT QUẢ
3.2. ỨNG DỤNG GIẢI THUẬT DI TRUYỀN (GA) TỐI ƯU BỘ ĐIỀU KHIỂN KÍCH TỪ UNITROL_6800 ĐIỀU KHIỂN MÁY PHÁT THỦY ĐIỆN HÀM THUẬN
3.2.3. Tối ưu bộ điều khiển kích từ Unitrol_6800 máy phát Thủy điện Hàm Thuận bằng giải thuật di truyền (GA)
Tối ưu bộ điều khiển kích từ PID Lead-Lag của hệ thống kích từ Unitrol_6800 điều khiển máy phát Thủy điện Hàm Thuận bằng công cụ Genetic Algorithm Tool (GA) trong Matlab.
Hàm truyền của hệ thống kích từ và máy phát
Thông số tính toán mô hình hệ thống kích từ Unitrol_6800 điều khiển máy phát Thủy điện Hàm Thuận trên Matlab:
% Hàm truyền khối khuếch đại (Ka/Ta) Ka = 1;
Ta = 0.002;
numGa = [Ka]
denGa=[Ta 1]
Ga = tf(numGa,denGa)
𝐺𝑎 = 1
(0.002𝑠 + 1)
% Hàm truyền khối kích từ (Ke/Te) Ke = 1;
Te = 0.5;
numGe = [Ke];
denGe = [Te 1];
Ge = tf(numGe,denGe)
𝐺𝐸 = 1
(0.5𝑠 + 1)
% Hàm truyền khối máy phát đồng bộ TD = 0.0389;
Tdop = 10.4;
Tdopp = 0.1;
numGg = [TD 1]
denGg = [Tdop*Tdopp Tdop+Tdopp 1]
Gg = tf(numGg,denGg)
𝐺𝑔(𝑠) = 0.0389𝑠 + 1 1.04𝑠2+ 10.5𝑠 + 1
% Hàm truyền khối phản hồi điện áp máy phát Kr = 1;
Tr = 0.002;
numGr = Kr denGr = [Tr 1]
Gr = tf(numGr,denGr)
𝐺𝑟 = 1
(0.002𝑠 + 1)
% Hàm truyền hệ thống GHTKTMF = Ga*Ge*Gg
𝐺𝐻𝑇𝐾𝑇𝑀𝐹(𝑠) = 0.0389𝑠 + 1
0.00104𝑠4+ 0.53261𝑠3+ 6.312𝑠2+ 11𝑠 + 1
Tổng hợp hàm truyền xây dựng mô hình hệ thống kích từ Unitrol_6800 điều khiển máy phát Thủy điện Hàm Thuận như hình (3.3), Hàm truyền của hệ thống kích từ sau khi tính toán trên Matlab.
𝐺𝐻𝑇𝐾𝑇𝑀𝐹(𝑠) = 0,0389. 𝑠 + 1
0,00104. 𝑠4+ 0,5326. 𝑠3+ 6,312. 𝑠2+ 11. 𝑠 + 1 (3.31) Trong đó:
𝐺𝐻𝑇𝐾𝑇𝑀𝐹(𝑠): Là tổng hợp hàm truyền của hệ thống kích từ và máy phát.
Hình 3.4: Mô hình hệ thống kích từ Unitrol_6800 điều khiển máy phát Thủy điện Hàm Thuận
Thiết lập chương trình tối ưu thuật toán di truyền (GA) cho hàm truyền hệ thống như sau:
- Khâu lệnh tối ưu: function [J] = GAMPHT(x) s = tf('s');
- Hàm truyền hệ thống:
plant = (0.0389.s + 1)/(0.00104.s4 + 0.5326.s3 + 6.312.s2 + 11.s + 1);
- Khâu phản hồi hệ thống:
𝐺𝑟 = 1
(0.002𝑠 + 1) - Biến cần tìm:
Tc = x(1);
Tc1 = x(2);
Y1 = x(3);
Y2 = x(4);
K = x(5);
- Hàm truyền bộ điều khiển:
cont = K*(Tc*s+1)*(Tc1*s+1)/((Tc*Y1*s +1)*(Tc1*Y2*s+1));
- Đáp ứng quá độ của hàm truyền step(feedback(plant*cont,Gr));
dt = 0.01;
t = 0:dt:1;
- Sai số hệ thống
e = 1 - step(feedback(plant*cont,Gr),t);
- Hàm mục tiêu
J = sum(t'.*abs(e)*dt);
Hàm mục tiêu dựa trên chuẩn ổn định ITAE (Integral of Time multiplied by the Absolute Value of the Error) – tích phân của thời gian nhân với giá trị tuyệt đối của sai số. [2]
Vì là khâu điều khiển sớm - trễ pha, do đó: TB = TC*Y1 (với giá trị: Y1 = 5 ÷ 10); TB1 = TC1.Y2 (với giá trị: Y2 = 0,1 ÷ 0,2).
Chi tiết khối lệnh trên M- File chương trình chạy giải thuật di truyền (GA) tối ưu thông số bộ điều khiển PID/sớm - trễ pha hệ thống kích từ Unitrol_6800 điều khiển máy phát Thủy điện Hàm Thuận:
function [J] = GAMPHT1(x) s = tf('s');
plant = (0,0389*s + 1)/(0.00104*s^4 + 0.5326*s^3 + 6.312*s^2 + 11*s + 1);
Kr=1;
Tr =0.002;
numGr=Kr denGr=[Tr 1]
Gr = tf(numGr,denGr) Tc = x(1);
Tc1 = x(2);
b = x(3);
K = x(4);
cont = K*(Tc*s+1)*(Tc1*s+1)/((Tc*Y1*s +1)*(Tc1*Y2*s+1));
step(feedback(plant*cont,Gr));
dt = 0.01;
t = 0:dt:1;
e = 1 - step(feedback(plant*cont,Gr),t);
J = sum(t'.*abs(e)*dt);
Cấu hình chương trình thuật toán GA tại công cụ Optimization như sau:
- Tại mục Solver: gamultiobj – Multiobjective optimization using Genetic Algorithm.
- Tại mục Fitness function: @ (x) GAMPHT1(x).
- Tại mục Bounds:
Lower: TC = x1 = 0,01; TC1 = x2 = 0,01; Y1 = 5; Y2 = 0,1; K = 10 Upper = TC = x1 = 10; TC2 = x2 = 2; Y1 = 10; Y2 = 0,2; K = 1000 - Chạy chương trình và chọn dừng thuật toán ở 100 lần lặp.
- Tại mục Plot functions lựa chọn xuất các đồ thị khi chạy chương trình.
- Các giá trị khác cài đặt mặc định.
- Sau khi chương trình chạy xong sẽ tính toán ra các giá trị tối ưu của bộ điều khiển thể hiện hình (3.5).
Trong đó:
TC = x1 = 7,628 ; TC1 = x2 = 0,506; Y1= x3 = 6,607; Y2 = x4 = 0,1; K = x5= 474,432 Tứ đó ta tính ra các giá trị: TB = TC x Y1 = 7,628 x 6,607 = 50,398 ; TB1 = TC1 x Y2 = 0,506 x 0,100 = 0,051.
- Chương trình chạy giải thuật di truyền bằng công cụ: “gamultiobj – Multiobjective optimization using Genetic Algorithm” thể hiện tại hình (3.5).
Hình 3.5: Chương trình chạy giải thuật (GA) tìm tham số bộ điều khiển kích từ Unitrol_6800 trên Matlab
Điểm hội tụ nhất là điểm 0,0418 (giá trị min của hàm mục tiêu), tại điểm này các thế hệ có mức độ thích nghi lớn nhất.
Bộ thông số kích từ Unitrol_6800 trong mô hình sau khi tối ưu bằng giải thuật di truyền và nhập vào bộ kích từ:
Vo = K = 474,432 [p.u].
Ta = TC = 7,628 (giây).
Tb = TC1 = 0,506 (giây).
Vp = (Ta x Vo)/TB = (7,628 x 474,432)/(50,398) = 71,808 [p.u].
Voo = (Tb x Vp)/TB1 = (0,506 x 71,808)/(0,051) = 712,448 [p.u].
Hình 3.6: Giản đồ đáp ứng quá độ của hệ thống kích từ Unitrol_6800 sau khi chạy giải thuật (GA)
Qua giản đồ đáp ứng của hệ thống thể hiện hình (3.6), ta thấy: Giải thuật di truyền (GA) đã tối ưu hóa tìm được các thông số bộ điều khiển kích từ để hệ thống làm việc ổn định: Độ vọt lố thấp là 14,9% (tiêu chuẩn vọt lố từ: 20% ÷ 30%), thời gian quá độ ts = 0,734 giây (tiêu chuẩn ± 5%), thời gian tăng tr = 0,214 giây (từ 10% ÷ 90%). [2]
Hình 3.7: Khoảng cách trung bình giữa các cá thể mỗi thế hệ
Khoảng cách trung bình giữa các cá thể về mức độ thích nghi, qua mỗi thế hệ khoảng cách trung bình ngày ngắn dần, nghiệm hội tụ đến giá trị hàm mục tiêu là nhỏ nhất.
Hình 3.8: Biểu đồ phả hệ của cá thể được mã hóa bảng màu
Trong đó: Màu đỏ là thế hệ con đột biến, màu xanh là thế hệ con lai ghép, màu đen là cá thể ưu tú.
Hình 3.9: Biểu đồ mức độ thích nghi của các cá thể tại giá trị hàm mục tiêu
Hình 3.10: Biểu đồ điểm thích nghi của các cá thể
Hình 3.11: Biểu đồ lựa chọn cha mẹ
Hình 3.12: Biểu đồ các cấp độ dừng tiêu chuẩn
Luận văn lựa chọn cấp độ dừng là sau 100 thế hệ (100 lần lặp). Còn các chỉ số như thời gian chạy thuật toán, sự cải thiện về mức độ thích nghi sau mỗi lần lặp lựa chọn giá trị mặc định.