Giáo trình Kỹ thuật lập trình Matlab
MATLAB – phần mềm nổi tiếng của công ty MathWorks, là một ngôn ngữ
hiệu năng cao cho tính toán kỹthuật như được viết trong logo của phần mềm
này. Nó tích hợp tính toán, hiện thịvà lập trình trong một môi trường dễsửdụng.
Các ứng dụng tiêu biểu của MATLAB bao gồm:
− Khảnăng tính toán mạnh.
− Phát triển thuật toán.
− Chứa Simulink là môi trường mạnh đểmô phỏng các hệthống động học tuyến
tính và phi tuyến.
− Đồhọa khoa học và kỹthuật
− Phát triển ứng dụng với các giao diện đồhọa.
− Có kiến trúc mở, ủng hộviệc xây dựng thêm các module tính toán kỹthuật theo
chuẩn công nghiệp.
ự trữ và pha dự trữ. Từ dấu nhắc của cửa sổ lệnh MATLAB ta dùng lệnh ‘margin’: num = 10; den = [-1 1 0]; margin(num,den) (A) Gi¸o tr×nh Kü thuËt lËp tr×nh 132 Frequency (rad/sec) P h as e (d eg ); M ag ni tu d e (d B ) Bode Diagrams -20 0 20 40 60 Gm = 0 dB, Pm = 0 (unstable closed loop) 10 -1 10 0 -80 -60 -40 -20 Kết luận: Độ dự trữ biên (Gm = 0 dB). Độ dự trữ pha (Pm = 0°). Warning: Closed loop is unstable (hệ vòng kín không ổn định). Bài tập Bài tập 1: Xét sự ổn định của hệ có phản hồi âm đơn vị bằng tiêu chuẩn Nyquist khi hàm truyền hệ hở có dạng : a) GH(s) = ( )( )1st1st k 21 ++ (k =10, t1 = 1, t2 = 2) b) GH(s) = ( )( )1st1sts k 21 ++ (k = 10 t1=1, t2 =2) c) GH(s) = ( )( )( )1st1st1sts k 321 +++ ( t1 =1, t2 = 2, t3 = 3, k = 10) Bài tập 2:Cho hệ thống điều khiển phản hồi: Dùng giản đồ Bode để khảo sát ổn định của hệ thống trên. s 1s + 3s4s 2 2 ++ _ Gi¸o tr×nh Kü thuËt lËp tr×nh 133 Bài tập 3: Khảo sát hệ thống: kiểm tra độ ổn định của hệ thống, tính độ dự trữ biên , dự trữ pha. 3.6 Khảo sát hệ thống điều khiển trong không gian trạng thái: 3.6.1 Mô tả hệ thống: Hệ phương trình mô tả động học của hệ thống tuyến tính dừng có dạng: • Phương trình trạng thái: * .. uBxAx += • Phương trình đầu ra: Y= C.x +D Với x véc tơ trạng thái (Nx×1) A ma trận trạng thái (Nx×Ny) U véc tơ biến vào (Nu×1) B ma trậ đầu vào (Nx×Nu) Y véc tơ biến ra (Ny×1) C ma trận đầu ra (Ny×Nx) D ma trận liên thông (Ny×Nu) Từ các giá trị A, B, C, D đã biết ta có thể chuyển đổi sang dạng hàm truyền để khảo s 1s2 + 5s 10 + 1s 1 + _ + 102 +s s e sT−2 2 2 +s _ + Bài tập 4 Cho hệ thống như hình vẽ a) Xây dựng đường đặc tính tần số Logarit và xác định độ dự trữ biên, pha khi biết T=0.05s b) Lập lại các bước a) khi T=1s. Mô tả ảnh hưởng khi tăng thời gian giữ chậm . Gi¸o tr×nh Kü thuËt lËp tr×nh 134 sát theo miền thời gian 3.6.2 Khảo sát tính ổn định: Để khảo sát tính ổn định của hệ thống trong không gian trạng thái, Dùng lệnh poly cho phép ta xác định phương trình đặc trưng khí biết ma trận hệ thống A. Sau đó dùng hàm roots xác định nghiệm của phương trình đặc trưng để xét tính ổn định của hệ. Khảo sát đặc tính thời gian: Khi đã biết các ma trận hệ thống A, B, C, D ta có thể dùng hàm step của matlab để khảo sát đặc tính quá độ và dùng hàm impulse để xây đựng hàm trọng lượng của hệ thống. Nếu tín hiệu không phải là dạng 1(t) δ(t) thì chúng ta dùng hàm lsim để xây dựng quá trình quá độ của hệ thống. Ví dụ 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: ⎥⎦ ⎤⎢⎣ ⎡ −−= 01 101 A ⎥⎦ ⎤⎢⎣ ⎡= 0 1 B ⎥⎦ ⎤⎢⎣ ⎡= 5 0 B D=0; Ch−¬ng tr×nh viÕt trong matlab nh− sau: a =[-1 -10; 1 0] b =[ 1; 0] c =[ 0 5] d = 0 subplot(2,1,1) step(a,b,c,d) grid on subplot(2,1,2) impulse(a,b,c,d) grid on Chúng ta đựợc các đường cong như trên hình dưới. Gi¸o tr×nh Kü thuËt lËp tr×nh 135 Cũng với số liệu của ví dụ trên. nhưng thêm điều kiện ban đầu hệ thống x1(0)=x2(0)=1; và tín hiệu vào u(t)=0 Thì ta xử dụng lệnh lsim, chương trình viết trong matlab như sau: a =[-1 -10; 1 0] b =[ 1; 0] c =[ 0 5] d = 0; x0=[1 1]; t=[0:0.1:12] ; u=0*t; [y,t]=lsim(a,b,c,d,u,t,x0) Bài Tập 1 Xây dựng hệ phương trình trạng thái mô tả động học của mạch điện hình dưới với các biến trạng thãi1=i1; x2=i2; x3=uc; R L1 L2 i1 i2 Ua Uc C Gi¸o tr×nh Kü thuËt lËp tr×nh 136 3.7 Tổng hợp bộ điều khiển PI, PD, PID trong miền thời gian: HTĐ của bộ điều khiển PID có dạng: G(s)=Kp+KD(s)+KI/s; Công việc của người thiết kế là phải xác định các hệ số Kp, Ki, KD của bộ điều khiển PID làm cho hệ thống thoả mãn các chỉ tiêu chất lượng đề ra. Thiết kế bộ điều khiển PD; ở bước này cần xác định KD để hệ thống thoả mãn chỉ tiêu về độ quá điều chỉnh cực đại. Ví dụ : Cho hệ tuyến tính có phản hồi âm đơn vị có hàm truyền đạt của đối tượng điều khiển là: )10)(5( )( ++= sss KsG Yêu cầu: Thiết kế bộ điều khiển để hệ thống đạt các chỉ tiêu chất lượng sau: - Độ quá điều chỉnh cực đại ≤ 4%. - Sai số xác lập khi tín hiệu vào là hàm t: ≤0.01. - Thời gian quá độ ≤0.8 giây. - số lần dao động n<3. Sai số xác lập tính S=lim( )(* )(W1 h sU s s + ) Trong đó U(s) tín hiệu vào t biến đổi laplace thành 1/s2; Từ đây suy ra K≤5000. Thiết kế bộ điều khiển PD, khi đó HTĐ mạch hở có dạng: )10)(5( )/(5000 )10)(5( )()( ++ +=++ += sss KKsK sss skKpKsG DpDD Vậy Thiết kế bộ điều khiển PI: Phần tích phân của bộ điều khiển PID tạo ra tín hiệu tỷ lệ với tích phân tín hiệu đầu vào bộ điều khiển theo thời gian. Hàm truyển đạt của bộ điều khiển PI có dạng: s K KsG ip +=)( nghĩa là bộ điều khiển PI đưa thêm một điểm cực s=0 và điểm không s=-KI/KP vào HTĐ của mạch hở của hệ thống và làm tăng bậc phiếm tĩnh của hệ thống. Khi sử dụng bộ điều khiển PD giá trị Kp ảnh hưởng tới biên độ của sai số xác lập và nếu Kp lớn sẽ ảnh hưởng tới độ ổn định của hệ thống. Khi bậc phiếm tĩnh của hệ thống tăng lên nhờ sử dụng bộ PI thì Kp ít ảnh hưởng tới sai số xác lập và ta cần chọn tỷ số Ki/Kp để đáp ứng quá độ thoả mãn. Gi¸o tr×nh Kü thuËt lËp tr×nh 137 Ta xét hệ thống khi sử dụng bộ điều khiển PI có HTĐ của hệ hở: )5.48( )(400 )( 2 + += ss KsK sG ip Giả sử Kp=100; Ki=10, HTĐ của hệ thống kín khi đó sẽ là: 40000 s + 4000 Gk = - ------------------------------ s^3 + 48.5 s^2 + 40000 s + 4000 Hình dưới vẽ QTQĐ của hệ thống kín ứng với các trường hợp: Kp=100; Ki=10; Kp=10, Ki=1; Kp=2, Ki=0.2; Phương trình đặc trưng của hệ : S3+48.5s2+400Kps+400.Ki=0 Sử dụng tiêu chuẩn ổn định Routh khảo sát sự ổn định: 1 400Kp 48.5 400Ki 48.5*400Kp-400Ki Điều kiện để hệ ổn định là 48.5Kp>Ki>0; Kp=100; Ki=10; Kp=10; Ki=1; Kp=2; Ki=0.2; Gi¸o tr×nh Kü thuËt lËp tr×nh 138 Chay chuong trinh qúa trình quá độ các chỉ tiêu chất lượng hệ thống ta tính được Kp Ki T/ gian qúa độ N độ quá điều chỉnh cực đại 100 10 0.10721 7 68.126 100 100 0.10721 7 68.686 2 0.2 0.135 0 0.54075 Ví dụ : Cho hệ tuyến tính có phản hồi âm đơn vị có hàm truyền đạt của đối tượng điều khiển là: )10)(5( )( ++= sss KsG Yêu cầu: Thiết kế bộ điều khiển để hệ thống đạt các chỉ tiêu chất lượng sau: - Độ quá điều chỉnh cực đại ≤ 4%. - Sai số xác lập khi tín hiệu vào là hàm t: ≤0.01. - Thời gian quá độ ≤0.8 giây. - số lần dao động n<3. Sai số xác lập tính S=lim( )(* )(W1 h sU s s + ) Trong đó U(s) tín hiệu vào t biến đổi laplace thành 1/s2; Từ đây suy ra K≤5000. Thiết kế bộ điều khiển PI, khi đó HTĐ mạch hở có dạng: )10)(5( )/(5000 )( 2 ++ += sss KpKsK sG ip Chọn Ki/Kp=0.1 Xác định Kp để thảo mãn độ quá điều chỉnh: Gi¸o tr×nh Kü thuËt lËp tr×nh 139 Với quỹ đạo nghiệm số cho ở hình trên ta xác định được khoảng Kp để hệ ổn định. Để xác định được Kp sao cho thoả mãn chỉ tiêu chất lượng về độ quá điều chỉnh ta dùng chương trình sau %thietkePI s=tf('s'); kip=input('nhap vao he so Ki/Kp ; Ki/Kp=') kp=input('nhap vao he so Kp=') %%%%%%%%%%%%55 nhap vao ham truyen he ho Gh=5000*kp*(s+kip)/(s^2*(s+5)*(s+10)) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%55 h=feedback(Gh,1) step(h) t=input('nhap vao thoi gian t chu y nen xem dac tinh qua do truoc khi nhap vao thoi gian t ='); t1=t; [y,t2]=step(h,t); l=length(y); hmax=max(y); hxl=y(l); disp('do qua dieu chinh cuc dai'); qdc=((hmax-hxl)/hxl)*100 n=0; ts=0; %%%% for i=1:(l-1) if (y(i)>=(0.95*hxl))&(y(i-1)<=(0.95*hxl)) Gi¸o tr×nh Kü thuËt lËp tr×nh 140 ts1=i; n=n+1; d1=y(ts1); end end %%%%%%55 for i=1:(l-1) if (y(i)>=(1.05*hxl))&(y(i-1)<=(1.05*hxl)) ts2=i; d2=y(ts2); n=n+1; end end %%%%%%%%%%%%%5555 for i=ts2:(l-1) if (y(i-1)>=(1.05*hxl))&(y(i)<=(1.05*hxl)) ts2=i; d2=y(ts2); end end %%%%%%%%%%%%%555 n=n-1 if n>=1 if ts1<ts2 disp('thoi gian on dinh') Td=t2(ts2) else disp('thoi gian on dinh') Td=t2(ts1) end else disp('thoi gian on dinh') Td=t2(ts1) end disp('so lan giao dong'); n %%%%5 ve qua trinh qua do step(h,[t]); hold on Gi¸o tr×nh Kü thuËt lËp tr×nh 141 %%%% ve hai duong thang y=0.95yxl va y=1.05yxl a=0.95*hxl; b=1.05*hxl; x=linspace(0,t1,400); plot(x,a,'r',x,b,'r') grid on hold off Thay các giá trị Kp tương ứng vào chương trình ta được: Kp Ki T/ gian qúa độ n(só dao động) độ quá điều chỉnh cực đại 0.1 0.1 6.04 11 73.188 0.01 0.1 9 1 8.352 0.02 0.1 2.4 1 13.821 0.03 0.1 1.7 1 24.5 0.04 0.1 2.8 3 34.1 Qua bảng ta thấy, để có độ quá điều chỉnh cực đại nhỏ thì thời gian quá độ phải lớn. Với bộ điều khiển PI chưa thể đáp ứng được yêu cầu đề ra, Thiết Kế bộ điều khiển PID: Với bài toán trên thì bộ điều khiển PID không đáp ứng được chỉ tiêu đề ra. Sử dụng bộ điều khiển PID. Bộ điều khiển PID có hàm truyền đạt: )2)(1()( 2 s KKpKdssG I++= Nghĩa là bao gồm bộ điều khiển PI mắc nối tiếp với bộ điều khiển PD. Với kết quả đã có khi thiết kế bộ điều khiển PI Chọn Kp2=0.03 và Ki2=0.003 Lúc này hàm truyền đạt hở của hệ thống có bộ điều khiển PID : ) )10)(5( )1.0)(*11(5000)( 2 ++ ++= sss ssKdsG Xây dựng QĐNS xác định ảnh hưởng của tham số Kd1. Phương trình xây dựng QĐNS khi Kd1 thay đổi dạng sau: ) )1.0(150)10)(5( )1.0(*11501 2 ++++ ++ ssss ssKd Khi Kd1 thay đổi ta được QĐNS. Khi Kd1 thay đổi ta nhận được QĐN như hình dưới. Chúng ta thử chương trình Gi¸o tr×nh Kü thuËt lËp tr×nh 142 Bài Tập: Bài tập1 Xét bộ điều khiển có HTĐ của đối tượng điều khiển là 0067.0 0067.0)( 2 += ssG Bộ điều khiển PID dùng để cải thiện chất lượng hệ thống kín có phản hồi âm đơn vị. Các chỉ tiêu chất lượng mông muốn là: Thời gian quá độ 3 giây. Độ quá điều chỉnh cực đại: 5%. Hãy tính toán các tham số Kp, KD , Ki để đạt được chỉ tiêu đề ra.
File đính kèm:
- Giáo trình Kỹ thuật lập trình Matlab.pdf