Trong thuật toán nhận dạng đối tượng được trình bày ở chương 1, thông tin ban đầu apriori đóng một vai trò quan trọng, ảnh hưởng đến quá trình quá độ. Để thấy được ảnh hưởng rõ nét về thông tin a priori chúng ta xét trưởng hợp lý tưởng thông số đối tượng không thay đổi. Trong cả hai trường hợp trên thông tin ban đầu về đối tượng được lấy đúng bằng thông số của đối tượng T [ , ,a b a b1 1 2, 2] [ 1.05;0.1354;0.2798;0.1457] . Bây giò chúng ta xem xét đến trường hợp thông số đối tượng được lấy tùy ý.
0 50 100 150 200 250 300 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Thoi gian (s) TIN HIEU DIEU KHIEN
0 50 100 150 200 250 300 -0.5 0 0.5 1 Thoi gian (s) SAI LECH TINH
69
Xét trường hợp thông tin ban đầu a priori T [ , ,a b a b1 1 2, 2] [0.1;0.1;0.1;0.1] .
Đáp ứng đầu ra trong trường hợp này thu được như hình 3.13. Độ quá điều chỉnh trong trường hợp này tăng lên gần 20%, chất lượng động học của hệ thống tương đối xấu.
Hình 3.13. Đáp ứng đầu ra khi thông tin a priori T [ , ,a b a b1 1 2, 2] [0.1;0.1;0.1;0.1]
Hình 3.14. Thông số đối tượng khi thông tin apriori T [ , ,a b a b1 1 2, 2] [0.1;0.1;0.1;0.1] So sánh hình 3.5 với hình 3.14 chúng ta thấy khi ổn định thuật toán nhận dạng nhận đã nhận dạng được thông số đối tượng hoàn toàn chính xác, tuy nhiên giá trị khởi tạo ban đầu không trùng với thông số đối tượng thì thuật toán nhận dạng cần một thời gian nhất
0 10 20 30 40 50 60 70 80 90 100 0 0.2 0.4 0.6 0.8 1 1.2 1.4 Thoi gian (s) DAP UNG DAU RA
Dap ung dau ra Tin hieu dat
0 10 20 30 40 50 60 70 80 90 100 -1.2 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 Thoi gian (s) THONG SO DOI TUONG
b2 a2 b1 a1
70
định để hội tụ về giá trị thông số đối tượng chính xác. Thời gian này lại trùng với thời gian quá độ của hệ kín, vì vậy quá trình này đã ảnh hưởng mạnh mẽ lên quá trình quá độ của vòng kín.
Xét trường hợp thông tin ban đầu apriori T [ , ,a b a b1 1 2, 2] [10;10;10;10] .
Hình 3.15. Đáp ứng đầu ra khi thông tin a priori T [ , ,1 1 2, 2] [10;10;10;10]
a b a b
Hình 3.16. Thông số đối tượng khi thông tin apriori T [ , ,a b a b1 1 2, 2] [10;10;10;10] Đáp ứng của hệ thống trong trường hợp này tốt hơn so với trường hợp thông tin ban đầu T [ , ,a b a b1 1 2, 2] [0.1;0.1;0.1;0.1] . Điều này chứng tỏ rằng việc thông tin ban đầu
0 10 20 30 40 50 60 70 80 90 100 0 0.2 0.4 0.6 0.8 1 1.2 1.4 Thoi gian (s) DAP UNG DAU RA
Dap ung dau ra Tin hieu dat
0 10 20 30 40 50 60 70 80 90 100 -2 0 2 4 6 8 10 12 Thoi gian (s) THONG SO DOI TUONG
b2 a2 a1 b1
71
ở gần thông tin đối tượng hơn chưa chắc đã đảm bảo đáp ứng đầu ra của hệ thống tốt hơn. Để ý rằng trong trường hợp thông tin ban đầu a priori T [ , ,a b a b1 1 2, 2] [10;10;10;10] , thông số đối tượng hội tụ về giá trị chính xác nhanh hơn trong trường hợp thông tin ban đầu apriori T [ , ,a b a b1 1 2, 2] [0.1;0.1;0.1;0.1] , chính điều này làm cho đáp ứng của hệ thống trong trường hợp này tốt hơn.
72
KẾT LUẬN VÀ KIẾN NGHỊ
KẾT LUẬN
Luận văn đã đi xây dựng cấu trúc của một bộ điều khiển PID thích nghi có cấu trúc bao gồm ba phần
- Thuật toán nhận dạng thông số đối tượng
- Thuật toán tính toán thông số bộ điều khiển PID theo các tham số của đối tượng - Thuật toán điều khiển PID
Phần quan trọng nhất trong thuật toán PID thích nghi chính là phần nhận dạng thông số đối tượng. Nó quyết định rất lớn đến chất lượng của bộ điều khiển. Trong luận văn này tác giả đi nghiên cứu phương pháp nhận dạng cơ bản là phương pháp bình phương tối thiểu theo mô hình nhận dạng ARX. Phần tính toán thông số bộ điều khiển PID theo các tham số đối tượng được tính toán theo phương pháp gán điểm cực với đáp ứng mong muốn giống với đáp ứng của hàm truyền đối tượng bậc hai.
Phần mô phỏng được tác giả trình bày cụ thể ở chương 3. Kết quả mô phỏng cho thấy khi ở trường hợp lý tưởng, tức là tham số đối tượng không đổi bộ điều khiển PID thích nghi làm việc rất tốt hoàn toàn phù hợp với các tính toán theo phương pháp thiết kế bộ điều khiển gán điểm cực. Khi thông số đối tượng thay đổi bộ điều khiển PID tích nghi có đáp ứng đầu ra bám theo được lượng đặt mong muốn với chất lượng tốt. Ngoài ra, khi bắt đầu thuật toán nhận dạng thì thông tin a priori đóng một vai trò quan trọng ảnh hưởng tới quá trình quá độ, điều này cũng được phân tích chi tiết ở chương 3.
Qua các kết quả thu được có thể thấy rằng khả năng ứng dụng vào thực tế công nghiệp cả bộ điều khiển PID thích nghi là rất lớn, phù hợp cho các đối tượng thực tế công nghiệp mà ở đó mô hình đối tượng thường có tham số thay đổi
KIẾN NGHỊ
Đối với thuật toán nhận dạng thông số đối tượng, thuật toán bình phương tối thiểu có hạn chế là thời gian hội tụ chậm. Điều này ảnh hưởng rất nhiều đến chất lượng đáp ứng của bộ điều khiển vì vậy có thể cải tiến bằng các phương pháp như bình phương tối thiểu hướng không nhớ, bình phương tối thiểu thích nghi…
Đối với thuật toán tính toán thông số bộ điều khiển theo thông số đối tượng, có thể nghiên cứu các phương pháp khác như phương pháp của Banzac, phương pháp Nicol – Zigler…Trong luận văn chỉ nghiên cứu đối tượng bậc hai không trễ, các đối tượng bậc cao hơn hoặc có trễ có thể được nghiên cứu với các thuật toán cụ thể khác.
73
TÀI LIỆU THAM KHẢO
[1] J. B¨ohm and M. K´arn´y, “Merging of user’s knowledge into self-tuning controllers,” in Preprints of 4th IFAC Symposium Adaptive Control and Signal Processing ACASP’92 (I. Landau, L. Dugard, and M. M’Saad, eds), vol. 2, pp. 427–432, Grenoble: Academic Press, 1992.
[2] R. Kulhav´y and M. B. Zarrop, “On general concept of forgetting,” International Journal of Control, vol. 58, no. 4, pp. 905–924, 1993.
[3] L. Ljung, System Identification: Theory for the User. London: Prentice-Hall, 1987. [4] T. S¨oderstr¨om and P. Stoica, System Identification. Englewood Cliffs, New Jersey: Prentice-Hall, 1989.
[5] L. Ljung and T. S¨oderstr¨om, Theory and Practice of Recursive Identification. Cambridge, Massachusetts: MIT Press, 1983.
[6] V. Strejc, “Least squares parameter estimation,” Automatica, vol. 16, pp. 535– 550, 1980.
[7] A. B. Corripio and P. M. Tomkins, “Industrial application of self-tuning feedback control algorithhm,” ISA Transactions, vol. 20, pp. 3–10, 1981.
[8] D. B. Dahlin, “Designing and tuning digital controllers,” Inst. Control Systems, vol. 42, pp. 77–83, 1968.
[9] K. C. Chiu, A. B. Corripio, and C. L. Smith, “Digital control algorithms, part1, Dahlin algorithm,” Inst. Control Systems, vol. 47, pp. 57–59, 1973.
[10] B. Wittenmark, Self-tuning PID-controllers based on pole placement. Report LUTFD2/(TRFT-7179)/ 1-037. Lund, Sweden: Lund Inst. of Technology,
1979.
[11] R. Ortega and R. Kelly, “PID self-tuners: Some theoretical and practical aspects,”
74
PHỤ LỤC
A. THÔNG SỐ ĐỐI TƯỢNG
%% THONG SO DOI TUONG
T0=1; omega=0.7; xi=0.7; C0=1e9*eye(4); Theta0=[-1.05;0.1354;0.2798;0.1457]; %Theta0=[0.1;0.1;0.1;0.1]; %Theta0=[10;10;10;10]; phi0=1; ID_type=1; lambda0=1;0 nu0=0.99; rho=0.9; num_order=2; denum_order=2; dead_time=0; Tk=2*pi/(omega*sqrt(1-xi*xi)) h=100*exp(-pi*xi/sqrt(1-xi*xi)) num=[3] den=[5 10 1] Gs=tf(num,den) Gzzoh=c2d(Gs,1,'zoh')
B. NHẬN DẠNG ĐỐI TƯỢNG BẬC HAI
function [sys,x0,str,ts]=sid(t,x,u,flag,T0,Theta0,C0,phi0) if flag == 0 x0(1:4) = Theta0; x0(5:6) = zeros(1,2); x0(7:7) = zeros(1,1); x0(8:23) = C0(:); sys(1) = 0; sys(2) = 23; sys(3) = 4; sys(4) = 3; sys(5) = 0; sys(6) = 1; sys(7) = 1; ts = [T0 0]; str = [];
elseif (flag == 2 | flag==3) uk1 = u(2); yk = u(3);
75
Theta = x(1:4); yu = [x(5:6); uk1; x(7:7)]; PHI = [yu(1:2); yu(3:4)]; C = zeros(4);
C(:) = x(8:23); if (u(1) >= 1)
xi = PHI' * C * PHI; e = yk - Theta' * PHI;
Theta = Theta + C*PHI/(1+xi) * e; end; if (flag==2) if (u(1) >= 1) if (xi > 0) C = C - C*PHI*PHI'*C/(1+xi); end end end x(1:4) = Theta; x(5:6) = [-yk; PHI(1:1)]; x(7:7) = yu(3:3); x(8:23) = C(:); sys = x; else sys = zeros(1,4); sys(1:2:3) = Theta(1:2); sys(2:2:4) = Theta(3:4); end else sys=[]; end
C. THUẬT TOÁN TÍNH TOÁN THAM SỐ PID
function [qp]=pp2a_1(input) a1 = input(1); b1 = input(2); a2 = input(3); b2 = input(4); T0 = input(5); xi = input(6); om = input(7); d2=exp(-2*xi*om*T0); if (xi <= 1) d1=-2*exp(-xi*om*T0)*cos(om*T0*(sqrt(1-xi*xi))); else d1=-2*exp(-xi*om*T0)*cosh(om*T0*(sqrt(xi*xi-1))); end
% solve diofantic equation A(z^-1)*P(z^-1) + B(z^-1)*Q(z^-1) = D(z^-1) % P(z^-1) = (1-z^-1) * (1+gama*z^-1) % Q(z^-1) = q0 + q1*z^-1 + q2*z^-2 % D(z^-1) = 1 + d1*z^-1 + d2*z^-2 s1 = a2*((b1+b2)*(a1*b2-a2*b1)+b2*(b1*d2-b2*d1-b2)); r1 = (b1+b2)*(a1*b1*b2-a2*b1^2-b2^2); q2 = s1/r1; gama = q2*b2/a2; q1 = a2/b2-q2*(b1/b2-a1/a2+1);
76
q0 = 1/b1 * (d1+1-a1-gama); p1 = gama-1;
p2 = -gama;