Giáo trình Matlab v5.3 - Chương 6: Mô hình hóa, mô phỏng hệ thống động sử dụng Simulink
Simulink làmột phần mềm gói gọn đ-ợc sử dụng để xây dựng mô hình vàmô
phỏng , tính toán phân tích hệ thống động .Simulink cho phép mô tả hệ thống tuyến
tính, hệ phi tuyến , các mô hình trong thờigian liên tục hoặc gián đoạn(lấy mẫu )
hay kết hợp cả hai. Đối với mô hình , Simulink cung cấp một giao diện đồ hoạ (GUI)
cho việc xây dựng mô hình nh-làcác khối (block diagrams), ng-ời sử dụng chỉ cần
kích chuột vàdrag( chọn khối rồi giữ nguyên chuột trái rồi rê chuột đến vị trí đặt
các khối). Với giao diện giao tiếp nh-vậy, bạn có thể vẽ Mô hình nh-làmô hình
bạn vẽ trên ''giấy''
Th-viện simulink bao gồm các khối th-viện sinks, sources(tạo tín hiệu), linear. .
. .Vàbạn cũng có thể tự tạo ra một khối block riêng của mình (viết trong Sfunction)
u^2)^2*u >>syms x v u real >>f= exp(-x^2*abs(v))*sin(v)/v >>fourier(f,v,u) ans = -atan((u-1)/x^2)+atan((u+1)/x^2) • Biến đổi ng−ợc fourier: ắ f = ifourier(F): Biến đổi ng−ợc của hμm mục tiêu vô h−ớng F với biến độc lập mặc nhiên w. phép biến đổi ng−ợc nμy lμ hμm của x. ắ f = ifourier(F,u): f lμ hμm củabiến u thay thế biến mặc nhiên x. ắ f = ifourier(F,v,u): F lμ hμm của v vμ f lμ hμm của u chúng thay thế các biến mặc nhiên w vμ x t−ơng ứng. Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Trang 15 Ví dụ: >>syms a w x t v real >>f = exp(-w^2/(4*a^2)) >>F = ifourier(f); >>F = simple(F) F = a*exp(-x^2*a^2)/pi^(1/2) >>g=exp(-abs(x)) >>ifourier(g) ans = 1/(1+t^2)/pi >>f=2*exp(-abs(w))-1 >>simplify(ifourier(f,t)) ans = (2-pi*Dirac(t)-pi*Dirac(t)*t^2)/(pi+pi*t^2) >>f=exp(-w^2*abs(v))*sin(v)/v; >>ifourier(f,v,t) ans = 1/2*(atan((t+1)/w^2) - atan((-1+t)/w^2))/pi • Biến đổi laplace: ắ L = laplace(F): Biến đổi Laplace của hμm F với biến mặc nhiên độc lập t. nó cho ta một hμm của s ắ L = laplace(F,t): L lμ một hμm của t thay thế biến mặc nhiên s. ắ L = laplace(F,w,z): L lμ hμm của z vμ F lμ hμm của w, nó thay thế các biến symbolic mặc nhiên s vμ t t−ơng ứng. Ví dụ: >>syms t v x a >>f = t^4 >>laplace(f) ans = 24/s^5 >>g=1/sqrt(s) >>laplace(g) ans = 1/s^(1/2)*pi^(1/2) >>f=exp(-a*t) >>laplace(f,x) ans= 1/(x + a) Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Trang 16 >>f=1- cos(t*v) >>laplace(f,x) ans = 1/x-x/(x^2+v^2) • Biến đổi laplace ng-ợc ắ F = ilaplace(L): Biến đổi Laplace ng−ợc của hμm symbolic L với biến mặc nhiên độc lập s. Nó cho ta một hμm của t. ắ F = ilaplace(L,y): F lμ hμm của y thay thế biến mặc nhiên t. ắ F = ilaplace(L,y,x): F lμ hμm của x vμ L lμ hμm của y, nó thay thế các biến symbolic mặc nhiên t vμ s. Ví dụ : >>syms s a t >>f=1/s^2 >>ilaplace(f) ans = t >>g=1/(t-a)^2 >>ilaplace(g) ans = x*exp(a*x) >>syms u a x >>f=1/(u^2-a^2) >>ilaplace(f,x) ans = 1/(-a^2)^(1/2)*sin((-a^2)^(1/2)*x) >>syms s v x >>f=s^3*v/(s^2+v^2) >>ilaplace(f,v,x) ans = s^3*cos(s*x) 6.4.4 áp dụng đồ hoạ: • ezplot( vẽ đ-ờng) ắ ezplot(f): Vẽ hàm f = f(x) với miền mặc nhiên -2 < x < 2 . ắ ezplot(f,[min,max]) : Vẽ hμm f = f(x) trong miền giá trị [min,max] của biến. ắ ezplot(x,y): Vẽ đ−ờng cong ham số x = x(t); y = y(t) với biến mặc nhiên Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Trang 17 0 < t < 2π . Ví dụ: >>syms x >>ezplot(erf(x)) >>grid • ezplot3( vẽ đ−ờng trong 3 chiều) ắ ezplot3(x,y,z): Vẽ các hμm x = x(t), y = y(t), vμ z = z(t) với miền mặc định lμt 0 < t < 2 . ắ ezplot3(x,y,z,[tmin,tmax]): Vẽ các hμm x = x(t), y = y(t), vμ z = z(t) trong khoảng giá trị tmin < t < tmax. Ví dụ: >>syms t; ezplot3(sin(t), cos(t), t,[0,6*pi]) Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Trang 18 • Ví dụ : Cho hμm f(x) = )cos(45 1 x+ với x∈[a,b]. ắ Vẽ đồ thị vμ các đạo hμm bậc 1, bậc 2. miền xác định mặc nhiên trong symbolic Matlab lμ ππ 22 ≤≤− x . Hãy vμo cửa sổ soạn thảo vμ trong cửa sổ nμy ta viết ch−ơng trình nh− sau: syms x f1 = 1/(5+4*cos(x)); f2 = diff(f1); % dao ham bac 1 cua f1. f3 = diff(f2); % dao ham bac 2 cua f1. subplot(2,2,1) ezplot(f1) subplot(2,2,2) ezplot(f2) subplot(2,2,3) ezplot(f3) ắ Tìm các điểm x lμm cho đạo hμm bậc 3 của hμm f(x) = )cos(45 1 x+ bằng không vμ vẽ đồ thị. Hãy vμo cửa sổ soạn thảo vμ trong cửa sổ nμy ta viết ch−ơng trình nh− sau: syms x f = 1/(5+4*cos(x)); f3 = diff(f,3); % dao ham bac 3 cua f. pretty(f3); %dua ve dang quyen toan hoc f3 = simplify(f3); pretty(f3); z = solve(f3); %Giai phuong trinh f3 = 0 format; %lay 5 chu so so le zr = double(z); %chuyen ma tran, bieu thuc symbolic ve dang so ezplot(f3) %ve ham f3 hold on; Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Trang 19 %luu do thi da ve plot(zr,0*zr,'ro') % ve diem "o" mau do cho cac diem co gia tri thuc de f3 = 0. plot([-2*pi,2*pi],[0,0],'g-.') Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Trang 1 ♣6 Hệ thống điều khiển ( system control) Hệ thống điều khiển có thể đ−ợc mô tả bằng sơ đồ cấu trúc sau: Khi quan hệ giữa l−ợng ra vμ l−ợng vμo đ−ợc mô tả bởi hμm truyền W(s) VD cho hệ thống điêù khiển có hμm truyền: Mô phỏng hệ thống bằng hμm quá độ: >> W = tf ([1 2],[2 3 4]); ( Hoặc >> tuso = [1 2]; >> mauso = [ 2 3 4] >> W=tf(tuso,mauso); ) >> step(W) 1. Mô phỏng hệ thống bằng hμm quá độ xung: >> W = tf ([1 2],[2 3 4]); >> impulse(W) Hμm Truyền W(s) Vμo Ra n nn m mm asasa bsbsbsW +++ +++= − − ... ...)( 1 10 1 10 432 2)( 2 ++ += ss ssW Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Trang 2 2. Mô phỏng hệ thống bằng đặc tính tần số biên pha: >> W = tf ([1 2],[2 3 4]); >> nyquist(W) 3. Mô phỏng hệ thống bằng các đặc tính biên độ tần số vμ pha tần số: >> W = tf ([1 2],[2 3 4]); >> Bode(W) Chú ý: khi hệ thống gồm nhiều khâu mắc nối tiếp ta có thể tính hμm truyền hệ thống: >> W = W1*W2*....Wn 4. Mô phỏng hệ thống có phản hồi. a. hệ thống có phản hồi d−ơng: sau khi đã khai báo xong các hμm truyền W1, W2, W3. Hμm truyền của hệ thống đ−ợc tính nh− sau: >> W = feedback ( W1*W2 , W3 , 1 ) ± W1(s ) W2(s ) W3(s ) Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Trang 3 ( số 1 nhằm chỉ phản hồi d−ơng ) b. hệ thống có phản hồi âm: sau khi đã khai báo xong các hμm truyền W1, W2, W3. Hμm truyền của hệ thống đ−ợc tính nh− sau: >> W = feedback ( W1*W2 , W3 ) 5. Tìm điểm cực của hệ thống khi biết hμm truyền W. điểm cực = pole(W) >> W = tf ([1 2],[2 3 4]); >> D = pole(W) D = - 0.7500 + 1.1990i - 0.7500 - 1.1990i 7. Từ hμm truyền hệ thống dạng n nn m mm asasa bsbsbsW +++ +++= − − ... ...)( 1 10 1 10 đổi sang dạng zero - pole - gain. )...)(( )...)(()( 10 10 sdsd scscKsW −− −−= Tên = zpk (W) >> W = tf ([1 2],[2 3 4]); >> R = zpk(W) zero / pole / gain )25.12^( )2(5.0 ++ + ss s 9. Tìm giá trị điểm cực vμ zero của hệ thống d−ới dạng hμm truyền vμ bố trí chúng trên mặt phẳng phức. Tìm các giá trị sau khi đã có hμm truyền W hệ thống. [ p z ] = pzmap (W) p = z = VD >> W = tf ([1 2],[2 3 4]); >> [p z] = pzmap (W) p = -0.7500 + 1.1990i -0.7500 - 1.1990i Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Trang 4 z = -2 Xem bố trí trên mặt phẳng phức. >> W = tf ([1 2],[2 3 4]); >> pzmap (W) 10. Tìm qũi đạo nghiệm số trên mặt phẳng phức. >> W = tf ([1 2],[2 3 4]); >> rlocus (W) Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Trang 1 ♣7 mô phỏng Hệ thống dùng sơ đồ khối ( simulink) Ngoμi việc mô phỏng hệ thống bằng câu lệnh trong MATLAB còn cho phép ta mô phỏng hệ thống d−ới dạng sơ đồ khối. Đa số các hệ thống sau khi đã mô tả toán học, thμnh lập hμm truyền th−ờng đ−a về dạng sơ đồ cấu trúc. Vì vậy mô phỏng hệ thống bằng SIMULINK giúp ta dễ t−ởng t−ợng vμ quan sát hệ thống hơn. I. Các b−ớc để mô phỏng hệ thống bằng SIMULINK. 1. B−ớc 1: Gọi phần ứng dụng SIMULINK. Từ dấu nhắc lệnh của MATLAB ta gõ dòng lệnh SIMULINK >> SIMULINK → Simulink Library Browser 2. B−ớc 2: mở cửa sổ lμm việc Kích chuột vμo biểu t−ợng create a new model trong cửa sổ Simulink Library Browser để mở cửa sổ mới (Cửa sổ mμ chúng ta sẽ xây đựng mô hình mô phỏng nó có tên lμ untitled ) 3. B−ớc 3: Mở th− viện chính SIMULINK bằng cách kích chuột vμo biểu t−ợng + Simulink . Kích chuột vμo biểu Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Trang 2 Trong th− viện chính nμy bằng cách t−ơng tự ta có thể mở các th− viện con, chọn các khối cần thiết vμ rê chuột đ−a chúng ra cửa sổ lμm việc. 4. B−ớc 4: nối các khối theo sơ đồ cấu trúc. Sau khi các khối đã đ−ợc đ−a ra cửa sổ lμm việc ta dùng chuột để nối các khối theo đúng sơ đồ cấu trúc cần mô phỏng. 5. B−ớc 5: Mở các khối bằng cách kích đúp chuột vμo khối đó. Lúc nμy sẽ xuất hiện cửa sổ Block Parameters .... Tại đây ta có thể thay đổi dữ liệu theo mong muốn. 6. B−ớc 6: Thực hiện quá trình mô phỏng bằng các cách sau chọn các công việc sau trong cửa sổ lμm việc. - Simulation / start. - Kích vμo biểu t−ợng Start / Pause Simulation. 7. B−ớc 7: Ta có thể thay đổi thông số của quá trình mô phỏng - Simulation / Parameters → Simulation Parameters... Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Trang 3 Thay đổi thời gian bắt đầu tại ô Start time Thay đổi thời gian kết thúc tại ô Stop time 8. B−ớc 8: Có thể ghi lại mô hình mô phỏng vừa tạo đ−ợc bằng cách chọn Save trong menu FILE hoặc kích vμo biểu t−ợng đĩa mềm trên thanh công cụ của cửa sổ lμm việc. VD sơ đồ vμ đồ thị mô phỏng của hệ thống điều khiển nh− hình vẽ : II. Th− viện SIMULINK 1. Continuous: Các khối liên tục - Derivative: Khối đạo hμm - Integrator: Khối tích phân Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Trang 4 - State - Space: Ph−ơng trình trạng thái - Transfer Fcn: Hμm truyền tuyến tính - Transport Delay: Lμm trễ tín hiệu - Zero - Pole: Hμm truyền dạng Zero-pole 2. Discrete: Các khối gián đoạn 3. Math : các hμm toán học - Gain : Khối khuyếch đại - Sum: Khối cộng tín hiệu. 4. Nonlinear : các khối phi tuyến 5. Sinks: Khối quan sát: Thông th−ờng hay sử dụng khối Scope để quan sát quá trình mô phỏng. 6. Sources: Khối nguồn - Constant: Khối hμm không đổi. - Step: Khối hμm b−ớc nhẩy. - Sine Wave : Tạo tín hiệu hình Sin. - Signal Generator: Máy phát tín hiệu. Serial Number: 11-10224-43044-38818-03811-61063-11324 11-30608-63868-33547-31267-29961-41669 11-57331-07688-52528-02324-05637
File đính kèm:
- Giáo trình Matlab v5.3 - Chương 6_Mô hình hóa, mô phỏng hệ thống động sử dụng Simulink.pdf