Thí nghiệm Lý thuyết điều khiển tự động
Matlab là chữ viết tắt của Matrix Laboratory. Đây là một thưviện các công
cụ làm toán trên ma trận. Matlab được tích hợp sẵn một họ các lời giải cho
các ứng dụng chuyên dụng và được gọi là các Toolbox, đó chính là thưviện
cho các hàm để hỗ trợ Matlab giải quyết các cụm công việc trong các lĩnh
vực chuyên môn khác nhau. Các bài thí nghiệm này sẽ đề cập chủ yếu đến
các vấn đề trong “Control System Toolbox”. Qua các buổi thí nghiệm, sinh
viên có thể sử dụng thành thạo phần mềm Matlab về các vấn đề thuộc môn
học “Lý thuyết điều khiển tự động” và qua đó, củng cố các kiến thức liên
quan đến môn học đã được giáo viên truyền đạt trên lớp. Cuối mỗi bài sẽ có
bài tập giúp cho sinh viên nắm được bài đã học.
d. Định nghĩa 2MC b Ab A b . Tìm hạng của MC . Bài 2. Lập trình tính giai thừa của một số bất kỳ theo các cách sử dụng câu lệnh while, for và if Bài 3. Biểu diễn hệ thống sau dưới dạng hàm truyền đạt và không gian trạng thái . sys2 sys4 sys6 sys1 sys3 + + sys5 12 trong đó: p1p 3p1sys 2sys được biểu diễn dưới dạng không gian trạng thái: u2x21y u 2 1 x 41 32 23 11 x 2 p 1sys3 p 3p 5 2 3 p p 2sys4 p 1 p 1p5sys 6sys được biểu diễn dưới dạng không gian trạng thái: u2x31y u 1 1 x 41 32 x 13 BÀI 2. Vẽ hàm truyền đạt, xây dựng đáp ứng thời gian của các khâu cơ bản trên Simulink. Khảo sát tính ổn định của hệ thống Mục đích: - Giúp cho sinh viên cách tính các điểm cực - không. - Vẽ đáp ứng thời gian của hệ thống trên Simulink - Khảo sát tính ổn định của hệ thống Yêu cầu: Sinh viên nắm vững các kiến thức liên quan đến hàm truyền đạt và đáp ứng thời gian của hệ thống Nội dung: 1 Xác định điểm cực và điểm không của hàm truyền đạt >> [z,p,k]=tf2zp(num,den) Ví dụ: Cho 3p6p2p3p 6p2ppW 234 23 Xác định các điểm cực, điểm không của hệ thống? >> num=[1 2 0 6]; >> den=[1 3 2 6 3]; >> [z,p,k]=tf2zp(num,den) 2 Xác định hàm truyyền đạt khi biết điểm cực và điểm không của hệ thống >>[num,den]=zp2tf(z,p,k) Ví dụ: i43pi43p3p2p 5p4pppW Xác định hàm truyền đạt của hệ thống? 14 >> k=1; >> z=[0;-4;-5]; >> i=sqrt(-1); >> p=[2;-3;-3+4*i;-3-4*i]; >> [num,den]=zp2tf(z,p,k) 3 Khai triển hàm truyền đạt về dạng phân thức tối giản >>[r,p,k]=residue(num,den) Cho hàm truyền đạt: 3 3 2 2 1 1 23 23 ap C ap C ap C 5p4p3p 1p9p3p2pW >> num=[2 3 9 1]; >> den=[1 3 4 5]; >> [r,p,k]=residue(num,den) Trong đó: k là phần thương chia hết của phân thức p là nghiệm của phân thức r là hệ số mở rộng phân thức từng phần Ngược lại: >> [num,den]=residue(r,p,k) 4 Cách vẽ đồ thị * Chế độ đồ họa trong Matlab Vẽ đồ thị hàm số 2x2,xsiny >> x=-2*pi:0.05:2*pi; >> y=sin(x); >> plot(x,y) >> axis([-2*pi 2*pi -1 1]); >> xlabel('Radial'); >> ylabel('Amplitude'); >> title('y=sin(x)'); >> grid; 15 * Vẽ trong không gian hai chiều * Vẽ nhiều đồ thị khác nhau trên một hình: h = tf([4 8.4 30.8 60],[1 4.12 17.4 30.8 60]); subplot(221) bode(h) subplot(222) step(h) subplot(223) pzmap(h) subplot(224) plot(rand(1, 100)) % Any data can go here title('Some noise') Bode Diagram Frequency (rad/sec) Ph as e (d eg ) M ag ni tu de (d B) -50 0 50 10-1 100 101 102 -90 0 90 Step Response Time (sec) Am pl itu de 0 5 10 0 0.5 1 1.5 Pole-Zero Map Real Axis Im ag A xi s -2 -1.5 -1 -0.5 0 -4 -2 0 2 4 0 50 100 0 0.2 0.4 0.6 0.8 1 Some noise * Ví dụ vẽ đáp ứng thời gian từ điểm cực và điểm không: clf [num,den]=zp2tf([-2],[-1 -0.2+10*i -0.2-10*i],100); t=[0:.1:20]; u=exp(-t); subplot(2,1,1) lsim(num,den,u,t) hold on 16 plot(t,u,'m--') title('Dap ung voi dau vao exp(-t)') hold off unew=exp(-0.2*t).*sin(10*t); subplot(2,1,2) lsim(num,den,unew,t) hold on plot(t,unew,'m--') title('Dap ung voi dau vao exp(-0.2*t)sin(10t)') hold off Linear Simulation Results Time (sec) Am pl itu de 0 2 4 6 8 10 12 14 16 18 20 -0.5 0 0.5 1 1.5 2 Linear Simulation Results Time (sec) Am pl itu de 0 2 4 6 8 10 12 14 16 18 20 -10 -5 0 5 10 b. Vẽ trong không gian ba chiều Matlab có thể biểu diễn trong không gian 3 chiều theo 3 cách: vẽ đường viền, vẽ lưới và vẽ các đường trong không gian 3 chiều. Ví dụ: Vẽ đường viền của một hàm bậc bốn đơn giản ở bên trái màn hình và vẽ lưới 3D của hàm đó ở bên phải màn hình. clf >> x=[-1:0.1:1]; >> y=[-2:0.1:2]; >> [X,Y]=meshgrid(x,y); >> z=X.^4+(Y/2).^4; >> subplot(1,2,1), contour(z) >> subplot(1,2,2), mesh(z) 17 5 10 15 20 5 10 15 20 25 30 35 40 0 10 20 30 0 20 40 60 0 0.5 1 1.5 2 5 Vẽ đáp ứng trên Simulink Vẽ đáp ứng thời gian của các khâu cơ bản đã học trong Simulink bằng cách: - Cho đầu vào là hàm 1 t và t . - Xây dựng hàm truyền đạt của khâu - Quan sát đầu ra trên scope - So sánh với các kết quả lý thuyết 10(s+10)(s+10) (s+1)(s+0.3-i)(s+0.3+i) Zero-Pole Step Scope Saturation 18 BÀI TẬP Bài 1. Lập trình trong M-file để vẽ đồ thị của các hàm sau trên một hình: 1 2 2 3 4 y sin(2pi * t) 2 y y t 2t 3 y c sin t exp -3t os 2t Bài 2. Xây dựng chương trình xét tính ổn định của hệ thống theo tiêu chuẩn Routh. Bài 3. Cho hệ thống có hàm truyền đạt: apap2p 1ap3ppW 35 34 Với giá trị nào của a thì hệ thống quan sát được và điều khiển được hoàn toàn. Bài 4. Xây dựng trên Simulink để khảo sát hệ thống được mô tả bằng phương trình vi phân sau: x 2x u Bài 5. Xây dựng trên Simulink để giải phương trình phi tuyến Val der Pol: 2x x 1 x x 0 19 BÀI 3. Xét tính điều khiển được, quan sát được. Xây dựng hệ thống trên Simulink Mục đích: - Giúp cho sinh viên biểu diễn được các loại đáp ứng tần số của hệ thống. - Cách xét tính điều khiển được, quan sát được của hệ thống. - Cách xây dựng hệ thống trên Simulink Yêu cầu: Sinh viên nắm vững các kiến thức liên quan đến đáp ứng của hệ thống, tính điều khiển được và quan sát được của nó. Nội dung: 1. Biểu diễn các dạng đáp ứng của hệ thống Step, xung, Bode (biên độ và pha), Nichols, Nyquist, điểm cực-không 2. Lập ma trận điều khiển được >>ctrb(A,B) Hệ thống điều khiển được nếu hạng của ctrb(A,B) bằng n. 3. Lập ma trận quan sát được >>obsv(A,C) Hệ thống quan sát được nếu hạng của obsv(A,C)) bằng n. 4. X ây dựng hệ thống trên Simulink 10(s+10)(s+10) (s+1)(s+0.3-i)(s+0.3+i) Zero-Pole Step Scope Saturation 20 5. Kh¶o s¸t tÝnh æn ®Þnh >> A=[-8 -16 -6; 1 0 0;0 1 0] A = -8 -16 -6 1 0 0 0 1 0 >> P=poly(A) P = 1.0000 8.0000 16.0000 6.0000 >> roots(P) ans = -5.0861 -2.4280 -0.4859 KÕt luËn: Mäi nghiÖm cña ph¬ng tr×nh ®Æc trng ®Òu cã phÇn thùc ©m nªn hÖ thèng ®· cho æn ®Þnh. C©u hái: P ë ®©y ®îc tÝnh theo c«ng thøc nµo? 6. Kh¶o s¸t ®Æc tÝnh thêi gian: Khi ®· biÕt ma trËn A, B, C, D cña hÖ thèng, ta cã thÓ kh¶o s¸t ®Æc tÝnh qu¸ ®é h(t) cña hÖ thèng b»ng hµm step vµ kh¶o s¸t hµm träng lîng cña hÖ thèng b»ng hµm impulse. NÕu tÝn hiÖu vµo u(t) cã d¹ng bÊt kú th× ta dïng hµm lsim ®Ó kh¶o s¸t ®Çu ra cña hÖ thèng. VÝ dô 1: Kh¶o s¸t ®Æc tÝnh qu¸ ®é vµ hµm träng lîng cña hÖ thèng cã m« t¶ to¸n häc trong kh«ng gian tr¹ng th¸i nh sau: 21 >> A=[0 1 0 0;0 0 1 0; 0 0 0 1; -15 -150 -50 -15]; >> B=[0;0;0;1]; >> C=[15 150 0 0]; >> D=0; >> t=[0: 0.01:10]; >> [y1,x,t]=step(A,B,C,D,1,t); >> [y2,x,t]=impulse(A,B,C,D,1,t); >> subplot(211),plot(t,y1,'r-'),grid on >> xlabel('Time[sec]'), ylabel ('Dap ung qua do') >> subplot(212),plot(t,y2,'r-'),grid on >> xlabel('Time[sec]'), ylabel ('Ham trong luong') VÝ dô 2: Kh¶o s¸t ®¸p øng ®Çu ra cña hÖ thèng cã m« t¶ to¸n häc nh sau: >> A=[0 -2;1 -3]; >> B=[2;0]; >> C=[1 0]; >> D=0; >> x0=[1 1]; >> t=[0:0.01:10]; >> u=0*t; >> [y,x]=lsim(A,B,C,D,u,t,x0); >> subplot(211),plot(t,x(:,1),'r-'), grid on >> xlabel('Time[sec]'), ylabel('x1'), >> subplot(212),plot(t,x(:,2),'r-'), grid on >> xlabel('Time[sec]'), ylabel('x2'), BÀI TẬP Bài1. Cho hệ thống điều khiển như hình vẽ. sys2 sys4 sys6 sys1 sys3 + + sys5 22 trong đó: p 1sys1 p p 1 2sys được biểu diễn dưới dạng không gian trạng thái: u2x21y u 2 1 x 41 32 23 11 x 2 p 2sys3 p 3p 5 2 3 2 p p 2sys4 p p p 2 p 1p5sys 6sys được biểu diễn dưới dạng không gian trạng thái: u2x31y u 1 1 x 41 32 x a. Hệ thống có điều khiển được, quan sát được không? b. Vẽ đáp ứng Step, Bode, Nyquist, điểm cực - không của hệ thống Bài 2. Xây dựng hệ thống như phần 4 với hàm truyền đạt được thay bằng 2G s s 1 / s 5s 6 , khâu phi tuyến bão hòa được thay bằng khâu tích phân và chèn thêm một khâu khuếch đại cho hệ số khuếch đại bằng 10 vào sau khâu tích phân. Bài 3. Một hệ thống được mô tả bởi hàm truyền đạt: 4 3 253 10 10 4 p aW p p p p p 23 Xác định giá trị của a để hệ thống không điều khiển được và không quan sát được? Bài 4. Một hệ thống tuyến tính được mô tả bằng phương trình X AX Bu với 0 1 0 0 0 1 1 2 A K a. Xác định phương trình đặc trưng của hệ thống? b. Tìm miền giá trị của K để hệ thống ổn định? c. Với một giá trị K cụ thể trong miền tìm được của phần b, hãy xác định các nghiệm của phương trình đặc trưng? Bài 5. Xây dựng chương trình trong Matlab để tìm hàm truyền đạt của hệ thống tuyến tính có mô tả toán học như sau: 1 1 0 0 0 2 0 ; 0 ; 1 1 1 ; 0 0 0 3 1 A B C D Bài 6. Xây dựng một sơ đồ hệ thống điều khiển tuyến tính trên trong Simulink rồi dùng công cụ của Matlab tính ra hàm truyền đạt của hệ thống đó. So sánh kết quả nhận được với kết quả tính ra nhờ biến đổi sơ đồ cấu trúc?
File đính kèm:
- Thí nghiệm Lý thuyết điều khiển tự động.pdf