13
Học viên: TRẦN LAM GIANG Lớp: 13BĐKTĐH SHHV: CB130949 Môn học: Điều khiển quá trình nâng cao GVHD: PGS.TS HOÀNG MINH SƠN BÀI TẬP LỚN TUẦN 6-9 Phân tích và điều khiển tháp chưng 2 sản phẩm A. Yêu cầu: Bài tập lớn viết tay trên giấy in A4, riêng các đồ thị cắt dán vào và in trước, để chỗ trống viết tay sau. - Trình bày tóm tắt các bước thực hiện, kết quả tính toán và kết quả mô phỏng theo từng nội dung yêu cầu. sử dụng MATLAB để hỗ trợ tính toán. - Nêu phương pháp/công thức tính và sau đó sử dụng công cụ MATLAB/SIMULINK như có thể được, đưa mã MATLAB hoặc/và sơ đồ SIMULINK cũng như các đồ thị kết quả mô phỏng vào mỗi vị trí sử dụng trong báo cáo. Các đồ thị phải ghi chú đủ để theo dõi. - Tất cả công thức, hình vẽ phải đánh số để tiện tham khảo. - Nộp bài làm đầy đủ và đúng hạn là điều kiện để dự thi. Kết quả bài làm cùng với mức độ dự lớp kết hợp để đánh giá điểm quá trình. B. Nội dung yêu cầu Cho mô hình trạng thái tuyến tính của tháp chưng 2 sản phẩm: trong đó các biến quá trình là các biến chênh lệch so với điểm làm việc: là các biến điều khiển, bao gồm lưu lượng hồi lưu và lưu lượng hơi cấp nhiệt đun sôi đáy tháp lần lượt là thành phần sản phẩm đáy tháp, thành phần sản phẩm sườn tháp và thành phần sản phẩm đỉnh tháp

Giang BTL-2013.doc

Embed Size (px)

Citation preview

Page 1: Giang BTL-2013.doc

Học viên: TRẦN LAM GIANGLớp: 13BĐKTĐHSHHV: CB130949

Môn học: Điều khiển quá trình nâng caoGVHD: PGS.TS HOÀNG MINH SƠN

BÀI TẬP LỚN TUẦN 6-9

Phân tích và điều khiển tháp chưng 2 sản phẩm

A. Yêu cầu: Bài tập lớn viết tay trên giấy in A4, riêng các đồ thị cắt dán vào và in trước, để chỗ trống viết tay sau.

- Trình bày tóm tắt các bước thực hiện, kết quả tính toán và kết quả mô phỏng theo từng nội dung yêu cầu. sử dụng MATLAB để hỗ trợ tính toán.

- Nêu phương pháp/công thức tính và sau đó sử dụng công cụ MATLAB/SIMULINK như có thể được, đưa mã MATLAB hoặc/và sơ đồ SIMULINK cũng như các đồ thị kết quả mô phỏng vào mỗi vị trí sử dụng trong báo cáo. Các đồ thị phải ghi chú đủ để theo dõi.

- Tất cả công thức, hình vẽ phải đánh số để tiện tham khảo.

- Nộp bài làm đầy đủ và đúng hạn là điều kiện để dự thi. Kết quả bài làm cùng với mức độ dự lớp kết hợp để đánh giá điểm quá trình.

B. Nội dung yêu cầu

Cho mô hình trạng thái tuyến tính của tháp chưng 2 sản phẩm:

trong đó các biến quá trình là các biến chênh lệch so với điểm làm việc:

là các biến điều khiển, bao gồm lưu lượng hồi lưu và lưu lượng hơi cấp

nhiệt đun sôi đáy tháp

lần lượt là thành phần sản phẩm đáy tháp, thành phần sản phẩm sườn

tháp và thành phần sản phẩm đỉnh tháp

là các biến cần điều khiển của tháp chưng, đồng thời cũng là hai biến

trạng thái của quá trình.

là nhiễu của quá trình, bao gồm lưu lượng nguyên liệu cấp và thành

phần hơi trong nguyên liệu cấp

Các tham số mô hình cho trước như sau:

Page 2: Giang BTL-2013.doc

,

Tuần 1-2 (nộp vào buổi học tuần 3)

1. Biến đổi mô hình

1.1 Từ mô hình trạng thái liên tục, xác định mô hình hàm truyền liên tục của quá trình.

1.2 Gián đoạn hóa mô hình trạng thái liên tục để được mô hình trạng thái gián đoạn với thời gian trích mẫu T = 1 s (khâu biến đổi DAC được coi là một khâu giữ chậm bậc không ZOH).

1.3 Gián đoạn hóa hàm truyền liên tục nhận được ở câu 1.1 để được hàm truyền gián đoạn với thời gian trích mẫu T = 1 s (khâu biến đổi DAC được coi là một khâu giữ chậm bậc không ZOH).

1.4 Từ hàm truyền gián đoạn nhận được tại câu 1.3, xây dựng một mô hình trạng thái theo cách mà Anh/Chị thấy thuận tiện nhất.

1.5 Giải thích về sự khác nhau giữa kết quả nhận được ở câu 1.2 và câu 1.4.

2. Phân tích đặc tính động học

2.1 Xác định các điểm cực của hệ thống từ mô hình liên tục và mô hình gián đoạn của hệ thống. Biểu diễn chúng trên mặt phẳng phức và đưa ra mối liên hệ giữa chúng.

2.2 Xác định các điểm cực của hệ thống từ mô hình liên tục và mô hình gián đoạn của hệ thống. Biểu diễn chúng trên mặt phẳng phức và đưa ra mối liên hệ giữa chúng.

2.3 Xác định các tính điều khiển được và quan sát được của hệ thống (nêu phương pháp/công thức tính và sau đó sử dụng MATLAB để hỗ trợ tính toán)

2.4 Mô phỏng đáp ứng quá độ của quá trình với từng biến vào thay đổi dạng bậc thang. Đưa ra nhận xét về đặc tính động học của quá trình.

2.5 Vẽ đồ thị Bode và đồ thị Nyquist để biểu diễn đặc tính tần số đối với từng quan hệ vào-ra. Chỉ ra cách xác định trên đồ thị Bode và đồ thị Nyquist: hệ số khuếch đại tĩnh, tần số cắt biên và tần số cắt pha, độ dự trữ biên và độ dữ trữ pha.

2.6 Vẽ đặc tính tần số (MIMO) của hệ trên đồ thị Bode (biểu diễn hệ số khuếch đại MIMO lớn nhất và nhỏ nhất phụ thuộc tần số theo thang logarith).

Tuần 3-5 (nộp vào buổi học tuần 6)

3. Điều khiển phi tập trung

3.1 Áp dụng phương pháp phân tích ma trận khuếch đại tương đối để cặp đôi các biến vào-ra sao cho giảm thiểu tương tác giữa các kênh điều khiển khi áp dụng cấu trúc điều khiển phi tập trung. Thực hiện phân tích cho hệ thống ở trạng thái xác lập (tần số bằng 0) và tại tần số cắt pha.

3.2 Thiết kế hệ thống điều khiển phi tập trung sử dụng bộ điều khiển PID: Lựa chọn luật điều khiển, chỉnh định các tham số của bộ điều khiển theo phương pháp phù hợp. Tiến hành mô phỏng, đánh giá tính ổn định và chất lượng điều khiển của hệ thống khi thử nghiệm với từng vòng điều khiển riêng rẽ. Vẽ đặc tính tần hệ hở (L) và hệ kín (T và S). Liên hệ các chỉ tiêu chất lượng trên miền thời gian (độ quá điều chỉnh, hệ số tắt

Page 3: Giang BTL-2013.doc

dần,...) và trên miền tần số của từng vòng điều khiển (tần số cắt biên/pha, độ dự trữ biên độ/pha và module,....).

3.3 Thiết kế khâu bù nhiễu (bù tĩnh). Tiến hành mô phỏng, đánh giá tính ổn định và chất lượng điều khiển của hệ thống khi thử nghiệm toàn bộ hệ thống điều khiển cho trường hợp sử dụng có sử dụng và không sử dụng khâu bù nhiễu. So sánh, đánh giá và lý giải những sự khác nhau với khi thử nghiệm từng vòng điều khiển trên cơ sở các chỉ tiêu chất lượng trên miền thời gian và trên miền tần số của hệ thống, cũng như sử dụng ma trận khuếch đại tương đối và phép phân tích SVD.

4. Điều khiển tách kênh

4.1 Áp dụng các phương pháp tách kênh toàn phần, tách kênh từng phần cho 2 trường hợp tách kênh động và tách kênh tĩnh, tính toán các khâu tách kênh. Thiết kế các bộ điều khiển PID cho từng kênh điều khiển kết hợp sử dụng khâu bù nhiễu như ở câu 3. Mô phỏng, đánh giá và so sánh chất lượng đạt được của toàn hệ thống với kết quả ở câu 3.

4.2 Áp dụng phương pháp tách kênh phản hồi trạng thái, tính toán ma trận phản hồi R và ma trận truyền thẳng F. Tính toán lại mô hình quá trình sau khi tách kênh (mô hình trạng thái và mô hình hàm truyền). Thiết kế các bộ điều khiển PID cho từng kênh điều khiển kết hợp sử dụng khâu bù nhiễu như ở câu 3. Mô phỏng, đánh giá và so sánh chất lượng đạt được của toàn hệ thống với kết quả ở câu 3 và câu 4.1.

4.3 Thay đổi ma trận B bằng cách nhân tất cả phần tử với hệ số 1,2 trong khi giữ nguyên các bộ điều khiển nhận được ở các câu 3, 4.1 và 4.2. So sánh chất lượng toàn hệ thống điều khiển giữa các phương pháp đó.

Tuần 6-9 (nộp ngày 20/12)

5. Điều khiển dự báo5.1 Lựa chọn phương pháp tiếp cận MPC phù hợp, thiết kế bộ điều khiển cho trường hợp

không có điều kiện ràng buộc. Đưa ra các trường hợp lựa chọn khác nhau về tầm dự báo, tầm điều khiển và trọng số cho số gia điều khiển. Đánh giá về tính ổn định của hệ kín. Mô phỏng và nhận xét các kết quả nhận được.

5.2 Lựa chọn phương pháp tiếp cận MPC phù hợp, tính toán tín hiệu điều khiển tối ưu cho trường hợp có điều kiện ràng buộc về giá trị biến điều khiển, cụ thể như sau:

Đưa ra các trường hợp lựa chọn khác nhau về tầm dự báo, tầm điều khiển và trọng số cho số gia điều khiển. Đánh giá về tính ổn định của hệ kín. Mô phỏng và nhận xét các kết quả nhận được.

Page 4: Giang BTL-2013.doc

5. ĐIỀU KHIỂN DỰ BÁOCÁC KHAI BÁO VÀ CÂU LỆNH MATLAB

'---1.1.KHAI BAO CAC MA TRAN TRANG THAI---'A=[-10.334 4.050 0;9.834 -5.332 3.050;0 1.282 -3.550];B=[0.3737 -0.4263;0.4263 0.3737;0 0];C=[1 0 0;0 0 1];D=0;E=[0.3737 0;0.0263 1;0 0];x={'x_B';'x_R';'x_D'}; %Bien trang thaiu={'L';'V'}; %Bien dieu khieny={'x_B';'x_D'}; %Bien can dieu khiend={'F';'zF'}; %Bien nhieu'KHAI BAO DU LIEU KHONG GIAN TRANG THAI'Gs=ss(A,B,C,D,'StateName',x,'InputName',u,'OutputName',y);Gnh=ss(A,E,C,D,'StateName',x,'InputName',d,'OutputName',y);'TINH HAM TRUYEN'Gs_tf=tf(Gs); %Ham truyen dat theo dau vaoGnh_tf=tf(Gnh); %Ham truyen dat theo nhieu'MO HINH TRANG THAI GIAN DOAN'%Voi chu ky trich mau: T=1sGs_d=c2d(Gs,1);Gnh_d=c2d(Gnh,1);Am=Gs_d.a;Bm=Gs_d.b;Bd=Gnh_d.b;Cm=C;'---5.1.LUA CHON PHUONG PHAP MPC PHU HOP---''--THIET KE BO DIEU KHIEN CHO TRUONG HOP KHONG CO DIEU KIEN RANG BUOC--'%Cac ma tran phuc vu tinh toan toi uufunction[P,H;Pr,Kx,Ky]=getMat(Am,Bm,Cm,Nu,Ny,lamda)n=size(Am,1); %So bien trang thaip=size(Bm,2); %So bien vaoq=size(Cm,1); %So bien raA=[Am zeros(n,q);Cm*Am eye(q)];B=[Bm;Cm*Bm];C=[zeros(q,n) eye(q)]; %Tinh PP=[];tmp=C*A;for i=1:1:Ny P=[P;tmp]; tmp=tmp*A;end %Tinh Hp1=size(B,2);%So bien vao moiq1=size(C,1);%So bien ra moi H=[];row=[];for i=0:1:(Ny-1) row=[]; for j=1:1:Nu if j<=(i+1) row=[row C*A^(i+1-j)*B]; else row=[row zeros(q1,p1)]; end end H=[H;row];end

Page 5: Giang BTL-2013.doc

%Tinh Prtmp=(H'*H+lamda*eye(size(H'*H,1)))^-1*H';Pr=tmp(1:p, : ); %Tinh Kx, Kytmp=Pr*P;Kx=tmp(:,1:n);Ky=tmp(:,(n+1):(n+q));end %Ham dung de tinh toan cac gia tri mo phongfunction [Y,deltaU,U]=simu(Am,Bm,Cm,Bd,Nu,Ny,lamda,x0,N)%N: so buoc mo phong%x0: trang thai ban dau[P,H,Pr,Kx,Ky]=getMat(Am,Bm,Cm,Nu,Ny,lamda);d=zeros(size(Bd,2),N);for i=30:60 d(:,i)=[1;1];end n=size(Am,1);%So bien trang thaip=size(Bm,2);%So bien vaoq=size(Cm,1);%So bien ra deltaU=zeros(p,1);U=zeros(p,1);Y=zeros(q,1);deltaXm=zeros(n,1);Xm=[x0]; %Xmfor i=1:1:N Xm=[Xm Am*Xm(:,i)+Bm*U(:,i)+Bd*d(:,i)]; Y=[Y Cm*Xm(:,i+1)]; deltaXm=[deltaXm Xm(:,i+1)-Xm(:,i)]; deltaU=[deltaU Pr*ones(Ny*p,1)-Kx*deltaXm(:,i+1)-Ky*Y(:,i+1)]; U=[U U(:,i)+deltaU(:,i+1)];end subplot(321);plot(0:N,Y(1,:),'LineWidth',1.5);ylabel('Y1','fontsize',14,'fontweight','b');grid on;hold on;subplot(322);plot(0:N,Y(2,:),'LineWidth',1.5);ylabel('Y2','fontsize',14,'fontweight','b');grid on;hold on; subplot(323);plot(0:N,deltaU(1,:),'LineWidth',1.5);ylabel('Delta U1','fontsize',14,'fontweight','b');grid on;hold on;subplot(324);plot(0:N,deltaU(2,:),'LineWidth',1.5);ylabel('Delta U2','fontsize',14,'fontweight','b');grid on;hold on; subplot(325);plot(0:N,U(1,:),'LineWidth',1.5);ylabel('U1','fontsize',14,'fontweight','b');grid on;hold on;subplot(326);plot(0:N,U(2,:),'LineWidth',1.5);

Page 6: Giang BTL-2013.doc

ylabel('U2','fontsize',14,'fontweight','b');grid on;hold on;end

Mô phỏng với Ny thay đổi

Page 7: Giang BTL-2013.doc

Nu=1

Lamda=0.1

Ny=3 Ny=5 Ny=10 Ny=20

Xanh da trời Đỏ Xanh lá cây Tím

Matlab code

'MO PHONG VOI Ny THAY DOI'[Y1,deltaU1,U1]=simu(Am,Bm,Cm,Bd,1,3,0.1,[0;0;0],200);[Y2,deltaU2,U2]=simu(Am,Bm,Cm,Bd,1,5,0.1,[0;0;0],200);[Y3,deltaU3,U3]=simu(Am,Bm,Cm,Bd,1,10,0.1,[0;0;0],200);[Y4,deltaU4,U4]=simu(Am,Bm,Cm,Bd,1,20,0.1,[0;0;0],200); subplot(321);plot(0:200,Y1(1,:),'b',0:200,Y2(1,:),'r',0:200,Y3(1,:),'g',0:200,Y4(1,:),'m');ylabel('Y1','fontsize',14,'fontweight','b');grid on;hold on;subplot(322);plot(0:200,Y1(2,:),'b',0:200,Y2(2,:),'r',0:200,Y3(2,:),'g',0:200,Y4(2,:),'m');ylabel('Y2','fontsize',14,'fontweight','b');grid on;hold on; subplot(323);plot(0:200,deltaU1(1,:),'b',0:200,deltaU2(1,:),'r',0:200,deltaU3(1,:),'g',0:200,deltaU4(1,:),'m');ylabel('Delta U1','fontsize',14,'fontweight','b');grid on;hold on;subplot(324);plot(0:200,deltaU1(2,:),'b',0:200,deltaU2(2,:),'r',0:200,deltaU3(2,:),'g',0:200,deltaU4(2,:),'m');ylabel('Delta U2','fontsize',14,'fontweight','b');grid on;hold on; subplot(325);plot(0:200,U1(1,:),'b',0:200,U2(1,:),'r',0:200,U3(1,:),'g',0:200,U4(1,:),'m');ylabel('U1','fontsize',14,'fontweight','b');grid on;hold on;subplot(326);plot(0:200,U1(2,:),'b',0:200,U2(2,:),'r',0:200,U3(2,:),'g',0:200,U4(2,:),'m');ylabel('U2','fontsize',14,'fontweight','b');grid on;hold on;

Page 8: Giang BTL-2013.doc

Hình 5.1.1 Mô phỏng với Ny thay đổi

Mô phỏng với Nu thay đổi

Ny=10

Lamda=0.1

Nu=1 Nu=2 Nu=3 Nu=5

Xanh da trời Đỏ Xanh lá cây Tím

Matlab code

'MO PHONG VOI Nu THAY DOI'[Y1,deltaU1,U1]=simu(Am,Bm,Cm,Bd,1,10,0.1,[0;0;0],200);[Y2,deltaU2,U2]=simu(Am,Bm,Cm,Bd,2,10,0.1,[0;0;0],200);[Y3,deltaU3,U3]=simu(Am,Bm,Cm,Bd,3,10,0.1,[0;0;0],200);[Y4,deltaU4,U4]=simu(Am,Bm,Cm,Bd,5,10,0.1,[0;0;0],200); subplot(321);plot(0:200,Y1(1,:),'b',0:200,Y2(1,:),'r',0:200,Y3(1,:),'g',0:200,Y4(1,:),'m');ylabel('Y1','fontsize',14,'fontweight','b');grid on;hold on;subplot(322);plot(0:200,Y1(2,:),'b',0:200,Y2(2,:),'r',0:200,Y3(2,:),'g',0:200,Y4(2,:),'m');ylabel('Y2','fontsize',14,'fontweight','b');grid on;hold on; subplot(323);plot(0:200,deltaU1(1,:),'b',0:200,deltaU2(1,:),'r',0:200,deltaU3(1,:),'g',0:200,deltaU4(1,:),'m');ylabel('Delta U1','fontsize',14,'fontweight','b');grid on;hold on;subplot(324);plot(0:200,deltaU1(2,:),'b',0:200,deltaU2(2,:),'r',0:200,deltaU3(2,:),'g',0:200,deltaU4(2,:),'m');ylabel('Delta U2','fontsize',14,'fontweight','b');grid on;hold on;

Page 9: Giang BTL-2013.doc

subplot(325);plot(0:200,U1(1,:),'b',0:200,U2(1,:),'r',0:200,U3(1,:),'g',0:200,U4(1,:),'m');ylabel('U1','fontsize',14,'fontweight','b');grid on;hold on;subplot(326);plot(0:200,U1(2,:),'b',0:200,U2(2,:),'r',0:200,U3(2,:),'g',0:200,U4(2,:),'m');ylabel('U2','fontsize',14,'fontweight','b');grid on;hold on;

Hình 5.1.2 Mô phỏng với Nu thay đổi

Mô phỏng với Lamda thay đổi

Nu=3

Ny=10

0.1 1 10 100

Xanh da trời Đỏ Xanh lá cây Tím

Matlab code'MO PHONG VOI Lamda THAY DOI'[Y1,deltaU1,U1]=simu(Am,Bm,Cm,Bd,3,10,0.1,[0;0;0],200);[Y2,deltaU2,U2]=simu(Am,Bm,Cm,Bd,3,10,1,[0;0;0],200);[Y3,deltaU3,U3]=simu(Am,Bm,Cm,Bd,3,10,10,[0;0;0],200);[Y4,deltaU4,U4]=simu(Am,Bm,Cm,Bd,3,10,100,[0;0;0],200); subplot(321);plot(0:200,Y1(1,:),'b',0:200,Y2(1,:),'r',0:200,Y3(1,:),'g',0:200,Y4(1,:),'m');ylabel('Y1','fontsize',14,'fontweight','b');grid on;hold on;subplot(322);plot(0:200,Y1(2,:),'b',0:200,Y2(2,:),'r',0:200,Y3(2,:),'g',0:200,Y4(2,:),'m');ylabel('Y2','fontsize',14,'fontweight','b');grid on;hold on; subplot(323);plot(0:200,deltaU1(1,:),'b',0:200,deltaU2(1,:),'r',0:200,deltaU3(1,:),'g',0:200,deltaU4(1,:),'m');

Page 10: Giang BTL-2013.doc

ylabel('Delta U1','fontsize',14,'fontweight','b');grid on;hold on;subplot(324);plot(0:200,deltaU1(2,:),'b',0:200,deltaU2(2,:),'r',0:200,deltaU3(2,:),'g',0:200,deltaU4(2,:),'m');ylabel('Delta U2','fontsize',14,'fontweight','b');grid on;hold on; subplot(325);plot(0:200,U1(1,:),'b',0:200,U2(1,:),'r',0:200,U3(1,:),'g',0:200,U4(1,:),'m');ylabel('U1','fontsize',14,'fontweight','b');grid on;hold on;subplot(326);plot(0:200,U1(2,:),'b',0:200,U2(2,:),'r',0:200,U3(2,:),'g',0:200,U4(2,:),'m');ylabel('U2','fontsize',14,'fontweight','b');grid on;hold on;

Hình 5.1.3 Mô phỏng với Lamda thay đổi