BÀI TẬP ĐIỀU KHIỂN QUÁ TRÌNH GVHD Khổng Hoài Hưng SVTH Sử Chí Hùng 1751050014 TD17A Tp HCM,Tháng 72022 TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ VIỄN THÔNG MỤC LỤC BÀI 1 Mô.
TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ VIỄN THÔNG BÀI TẬP ĐIỀU KHIỂN Q TRÌNH GVHD: Khổng Hồi Hưng SVTH: Sử Chí Hùng 1751050014 Tp.HCM,Tháng 7/2022 TD17A MỤC LỤC BÀI 1: Mô đáp ứng với lưu lượng vào 𝜔1, BÀI 2: (Bài tập 3.2) Cho hệ thống bình chứa minh họa hình 3-33 BÀI 1: Mô đáp ứng với lưu lượng vào 𝜔1 , ta giữ nguyên tất trạng thái làm việc, trừ giá trị 𝜔 = 𝜔 ̅1 + 𝛥𝜔 ̅1 Vậy để mô đáp ứng với tăng 10% lưu lượng vào 𝜔1 khoảng thời gian từ – 20 phút ta viết dòng lện sau: w1=100; w2=200; w=300; x1=0.8; x2=0.2; k=0.001; tspan=[0:0.1:20]; y0=[1;0.4]; %% 1- Change 10% in w1 [t, y]=ode45(@f,tspan,y0,[],k,1.1*w1,w2,w,x1,x2); 10 figure(1) 11 plot(t,y(:,1)) 12 title(" Step change in 10% feed rate \itw1") 13 xlabel('Time (min)') 14 ylabel('Level h(m)') 15 grid on 16 figure(2) 17 plot(t,y(:,2)) 18 title(" Step change in 10% feed rate \itw1") 19 xlabel('Time (min)') 20 ylabel('Composition x') 21 ylim([0.4 0.44]) 22 grid on Hình 1-2: Đáp ứng trình với thay đổi 10% đầu vào 𝜔1 Page | Tương tự vậy, ta mô đáp ứng với thay đổi đầu vào khác ta cần sữa dòng lệnh gọi hàm ode45 sau: [t, y]=ode45(@f,tspan,y0,[],k,w1,1.1*w2,w,x1,x2); với w2 [t, y]=ode45(@f,tspan,y0,[],k,w1,w2,1.1*w,x1,x2); với w [t, y]=ode45(@f,tspan,y0,[],k,w1,w2,w,1.1*x1,x2); với x1 [t, y]=ode45(@f,tspan,y0,[],k,w1,w2,w,x1,1.1*x2); với x2 Ta có: Hình 3-4: Đáp ứng trình với thay đổi 10% đầu vào 𝜔2 Hình 5-6: Đáp ứng trình với thay đổi 10% đầu vào 𝜔 Page | Hình 7-8: Đáp ứng trình với thay đổi 10% đầu vào 𝑥1 Hình 9-10: Đáp ứng trình với thay đổi 10% đầu vào 𝑥2 Bài 3-2: b Chưng trình mơ đáp ứng với thay đổi lưu lượng vào 𝜔1 thêm 10% Code chương trình: %% EX 3.3 Simulation with the transfer function w1=100; w2=200; w=300; x1=0.8; x2=0.2; x=0.4; k=0.001; T=1/(k*w); Page | %% 1- Change 10% in w1 Gw1h=tf(k,[1 0]); Gw1x=tf((x1-x)/w,[T 1]); t=[0:0.1:20]; y0=[1;0.4]; y=step([Gw1h Gw1x],t)*w1*0.1 figure(11) plot(t,y(:,1)+y0(1)) title(" Step change in 10% feed xlabel('Time (min)') ylabel('Level h(m)') grid on figure(12) plot(t,y(:,2)+y0(2)) title(" Step change in 10% feed xlabel('Time (min)') ylabel('Composition x') ylim([0.4 0.44]) grid on %% 2- Change 10% in w Gwh=tf(-k,[1 0]); Gwx=0; t=[0:0.5:20]; y0=[0;0.4]; y=step([Gwh Gwx],t)*w*0.1 figure(13) plot(t,y(:,1)+y0(1)) title(" Step change in 10% feed xlabel('Time (min)') ylabel('Level h(m)') grid on figure(14) plot(t,y(:,2)+y0(2)) title(" Step change in 10% feed xlabel('Time (min)') ylabel('Composition x') ylim([-1 2]) grid on %% 3- Change 10% in x1 Gx1x=tf(0.333,[3.333 1]); Gx1h=0; t=[0:0.5:20]; y0=[0;0.4]; rate \itw1") rate \itw1") rate \itw") rate \itw") Page | y=step([Gx1h Gx1x],t)*x1*0.1 figure(16) plot(t,y(:,2)+y0(2)) title(" Step change in 10% feed rate \itx1") xlabel('Time (min)') ylabel('Composition x') ylim([0.4 0.44]) grid on %% 4- Change 10% in x2 Gx2x=tf(0.667,[3.333 1]); Gx2h=0; t=[0:0.5:20]; y0=[0;0.4]; y=step([Gx2h Gx2x],t)*x2*0.1 figure(18) plot(t,y(:,2)+y0(2)) title(" Step change in 10% feed rate \itx2") xlabel('Time (min)') ylabel('Composition x') ylim([0.4 0.44]) grid on Hình 11-12: Đáp ứng mơ hình tuyến tính với thay đổi 10% 𝜔1 Page | Hình 13-14: Đáp ứng mơ hình tuyến tính với thay đổi 10% 𝜔 Đáp ứng thành phần x với thay đổi 10% x1 10% x2 BÀI 2: (Bài tập 3.2) Cho hệ thống bình chứa minh họa hình 3-33 Giả sử đặc tính van tuyến tính lưu lượng qua van xác định sau: 𝐹2 (𝑡 ) = 𝐶𝑣 𝑝√ 𝛥𝑃(𝑡 ) 𝑔𝑠 Page | a Hãy phân biệt biến trình viết phương trình vi phân biểu diễn động học hệ thống ❖ Các biến trình: - Biến điều khiển là: F2 - Biến cần điều khiển là: h - Biến nhiễu là: F1 ❖ Bởi bình chứa mở ngồi khơng khí van xả áp suất khơng khí, độ chênh áp van đưa bởi: 𝛥𝑃(𝑡) = 𝑃𝑢(𝑡) − 𝑃𝑑 = 𝑃𝑎 + 𝜌𝑔ℎ(𝑡) − 𝑃𝑎 = 𝜌𝑔ℎ(𝑡) Trong đó: 𝑃𝑢(𝑡) áp suất ngược dòng từ van (𝑘𝑃𝑎) 𝑃𝑑 áp suất hạ lưu từ van (𝑘𝑃𝑎) 𝑃𝑎 áp suất không khí (𝑘𝑃𝑎) 𝜌 khối lượng riêng chất lỏng (𝑘𝑔/𝑚3 ) 𝑔 gia tốc trọng trường ℎ(𝑡) mức chất lỏng bình chứa Do đó, phương trình lưu lượng cho trình trở thành: Page | 𝐹2 (𝑡 ) = 𝐶𝑣 p√ 𝛥𝑃(𝑡 ) 𝑝𝑔ℎ(𝑡) = 𝐶𝑣 p√ = 𝐶𝑣′ √ℎ(𝑡) 𝑔𝑠 𝑔𝑠 Trong đó: 𝐶𝑣′ = 𝐶𝑣 p√ 𝑝𝑔 = 2.5 × 10−5 × 0.5√1000 × 9.8 = 1.237 × 10−3 𝑔𝑠 Áp dụng định luật bảo toàn vật chất áp dụng cho hệ động học thể qua phương trình cân tồn phần: 𝑑𝑀𝑡í𝑐ℎ 𝑙ũ𝑦 𝑑𝑀𝑣à𝑜 𝑑𝑀𝑟𝑎 𝑖 𝑖 = − = ∑ 𝜔𝑣à𝑜 − ∑ 𝜔𝑟𝑎 𝑑𝑡 𝑑𝑡 𝑑𝑡 (1) Từ công thức (1) ta viết phương trình bình chứa: 𝜌1 𝑓1 (𝑡) − 𝜌2 𝑓2 (𝑡) = 𝑑𝑚(𝑡 ) 𝑑𝑡 (2) Trong 𝑚(𝑡) khối lượng chất lỏng bình chứa Khối lượng tính theo cơng thức: 𝑚(𝑡 ) = 𝜌𝐴ℎ (3) Nên thay (3) vào (2) ta được: 𝜌1 𝑓1 (𝑡) − 𝜌2 𝑓2 (𝑡) = 𝜌𝐴 𝑑ℎ(𝑡 ) 𝑑𝑡 (4) Kết hợp với 𝜌1 = 𝜌2 = 𝜌 ⇒ 𝑓1 (𝑡) − 𝑓2 (𝑡) = 𝐴 𝑑ℎ(𝑡 ) 𝑑𝑡 (5) Trong đó: 𝑓2 (𝑡 ) = 𝐶𝑣′ √ℎ(𝑡) (6) b Từ phương trình vi phân, chuyển sang mơ hình hàm truyền đạt biễu diễn quan hệ biến vào Page | Bởi biểu thức (6) phi tuyến nên cần tuyến tính hóa Sau tuyến tính hóa ta sau: 𝑓2 (𝑡 ) ≈ 𝑓2̅ + 𝐶1 [ℎ(𝑡 ) − ℎ̅] (7) Trong đó: 𝜕𝑓2 (𝑡) ′ −1/2 𝑚3 /𝑠 𝐶1 = = 𝐶 (ℎ̅) , 𝜕ℎ(𝑡) 𝑣 𝑚 Thay (7) vào (5) ta được: 𝜏 𝑑𝐻 (𝑡 ) + 𝐻 (𝑡 ) = 𝐾1 𝐹1 (𝑡 ) 𝑑𝑡 (8) Trong đó: 𝐻 (𝑡 ) = ℎ1 (𝑡 ) − ℎ̅1 ; 𝐹1 (𝑡 ) = 𝑓1 (𝑡 ) − 𝑓̅1 ; 𝜏= 𝐴 ; 𝐾1 = ; 𝐶1 𝐶1 Biến đổi Laplace cho hai vế phương trình (8) ta được: 𝐻 (𝑠 ) = 𝐾1 𝐹 (𝑠 ) 𝜏𝑠 + 1 (9) Ta có: 𝐶1 = ′ 𝑚3 /𝑠 𝐶𝑣 (ℎ̅1 )−1/2 = × 1.237 × 10−3 × 1.5−1/2 = 5.05 × 10−4 2 𝑚 𝜏= 𝐴 = = 1980.19𝑠 𝐶1 5.05 × 10−4 𝐾1 = 1 = = 1980.19𝑠 𝐶1 5.05 × 10−4 Thay kết kết vào phương trình (9): ta hàm truyền đạt đầy đủ tham số bên dưới: 𝐻 (𝑠 ) = 1980.2 𝐹 (𝑠 ) (1980.2𝑠 + 1) (10) Page | c Tiến hành mô Matlab dựa phương trình vi phân hàm truyền đạt ❖ Phương trình vi phân: 𝑓1 (𝑡) − 𝑓2 (𝑡) = 𝐴 𝑑ℎ(𝑡 ) 𝑑𝑡 (5) Trong đó: 𝑓2 (𝑡 ) = 𝐶𝑣′ √ℎ(𝑡) 𝐴=1 Tại điểm làm việc cân với độ cao bình chứa đầu vào Nhiễu 𝑓1 (𝑡) sấp xĩ biến điều khiển 𝑓2 (𝑡) 𝑓1 (𝑡 ) = 𝑓2 (𝑡 ) = 𝐶𝑣′ √ℎ(𝑡) 𝑓1 (𝑡 ) = 1.237 × 10−3 √1.5 = 0.00151500941 Để giải hệ phương trình vi phân MATLAB, ta cần định nghĩa vector đạo hàm f sau: function dydt=f(t,y,f1,f2); dydt=[(f1-f2)]; end Ta sử dụng hàm ode23, ode45 Matlab để giải hệ phương trình vi phân sau: [t, y]=ode45(@f,tspan,y0,[],f1,f2); Giá trị đầu vector y giá trị đầu điểm làm việc: y0=1.5 Mã chương trình mơ đáp ứng hệ vị trí làm việc cân bằng: f1=0.00151500941; f2=0.00151500941; tspan=[0:0.1:50]; y0=1.5; %% [t, y]=ode45(@f,tspan,y0,[],f1,f2); figure(1) plot(t,y(:,1)) title(" Step in feed rate \ith") xlabel('Time (min)') Page | 10 ylabel('Level h(m)') grid on %% function dydt=f(t,y,f1,f2); dydt=[(f1-f2)]; end Hình 3c-1: Đáp ứng trình với điểm làm việc tỉnh h = 1.5 ❖ Phương trình hàm truyền đạt: 𝐻 (𝑠 ) = 1980.2 𝐹 (𝑠 ) (1980.2𝑠 + 1) (10) Code mô với hàm truyền đạt: Gwh=tf(1980.2,[1980.2 0]); f1=0.00151500941; t=[0:0.01:20]; y0=1.5; Gh=Gwh*f1; y=step(Gh,t); figure(2) plot(t,y(:,1)+y0(1)) title(" Step in feed rate \ith") xlabel('Time (min)') ylabel('Level h(m)') grid on Page | 11 Hình 3c-2: Đáp ứng trình với đầu vào F1= 0.001515 So sánh điểm làm việc đầu vào nhiễu F1 từ đáp ứng phương trình vi phân hàm truyền đạt là: f1= 0.001515 • Đối với đáp ứng từ phương trình vi phân ta thấy biến cần điều khiển h trạng thái tĩnh, • Đối với đáp ứng từ hàm truyền ta thấy biến cần điều khiển h tăng theo thời gian Page | 12 So sánh điểm làm việc đầu vào nhiễu F1 từ đáp ứng phương trình vi phân là: f1= 0.001514 Hình 3c-3: Đáp ứng trình với nhiễu đầu vào f1=0.001514 • Đối với đáp ứng từ phương trình vi phân ta thấy biến cần điều khiển h giảm chậm f1= 0.001516 Hình 3c-4: Đáp ứng trình với nhiễu đầu vào f1=0.001516 Page | 13 Đối với đáp ứng từ phương trình vi phân với f1=0.001516 ta thấy biến cần điều khiển h tăng chậm • Đối với đáp ứng từ hàm truyền ta thấy biến cần điều khiển h tăng theo thời gian Tại điểm làm việc nhiễu F1 = mơ với hàm truyền đạt biến cần điều khiển vị trí cân Page | 14 Suy Việc mơ qua phương trình vi phân cho thấy rõ biến trình ➢ Với mơ từ phương trình vi phân cho ta thấy kết xác biến cần điều khiển h chiều tăng chiều giảm vị trí cân ➢ Với mô từ hàm truyền đạt không cho ta thấy rõ diễn biến trình, có sai số q trình tính tốn Page | 15 Page | 16 ... 3-4: Đáp ứng q trình với thay đổi 10% đầu vào