Tim hieu SIMULINK trong MATLAB

50 1.2K 25
Tim hieu SIMULINK trong MATLAB

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Luận án tốt nghiệp Trang 1 CHƯƠNG I GIỚI THIỆU SƠ LƯC VỀ MATLAB I.TÌM HIỂU VỀ CÔNG TY MATHWORKS: Công ty MathWorks được thành lập vào năm 1984 là một công ty hàng đầu về việc cung cấp và phát triển phần mềm kó thuật cho máy tính. Công ty có hơn 500 nhân viên đang làm việc cho hai văn phòng chính ở Mỹ và Anh quốc. Mọi chi tiết về việc tổ chức, nhân sự và đào tạo phát triển xin xem thêm tại điạ chỉ WebSite : http:/ www.Mathworks.com/ II.GIỚI THIỆU CƠ SỞ MATLAB: II.1. Giới thiệu chương trình MATLAB: Chương trình MATLAB là một chương trình viết cho máy tính PC nhằm hỗ trợ cho các tính toán khoa học và kó thuật với các phần tử cơ bản là ma trận trên máy tính cá nhân do công ty "The MATHWORKS" viết ra. Thuật ngữ MATLAB có được là do hai từ MATRIX và LABORATORYghép lại. Chương trình này hiện đang được sử dụng nhiều trong nghiên cứu các vấn đề tính toán của các bài toán kó thuật như: Lý thuyết điều khiển tự động, kó thuật thống kê xác suất, xử lý số các tín hiệu, phân tích dữ liệu, dự báo chuổi quan sát, v.v… MATLAB được điều khiển bởi các tập lệnh, tác động qua bàn phím. Nó cũng cho phép một khả năng lập trình với cú pháp thông dòch lệnh – còn gọi là Script file. Các lệnh hay bộ lệnh của MATLAB lên đến số hàng trăm và ngày càng được mở rộng bởi các phần TOOLS BOX( thư viện trợ giúp) hay thông qua các hàm ứng dụng được xây dựng từ người sử dụng. MATLAB có hơn 25 TOOLS BOX để trợ giúp cho việc khảo sát những vấn đề có liên quan trên. TOOL BOX SIMULINK là phần mở rộng của MATLAB, sử dụng để mô phỏng các hệ thống động học một cách nhanh chóng và tiện lợi. MATLAB 3.5 trở xuống hoạt động trong môi trường MS-DOS. MATLAB 4.0, 4.2, 5.1, 5.2, … hoạt động trong môi trường WINDOWS. Các version 4.0, 4.2 muốn hoạt động tốt phải sử dụng cùng với WINWORD 6.0. Hiện tại đã có version 5.31 (kham khảo từ Website của công ty). Chương trình Matlab có thể chạy liên kết với các chương trình ngôn ngữ cấp cao như C, C++, Fortran, … Việc cài đặt MATLAB thật dễ dàng và ta cần chú ý việc dùng thêm vào các thư viện trợ giúp hay muốn liên kết phần mềm này với một vài ngôn ngữ cấp cao. Còn các version MATLAB khác thì làm việc với hệ điều hành UNIX. GVHD : NGUYỄN MINH TÂM SVTH :NGUYỄN THANH DUẪN Luận án tốt nghiệp Trang 2 Hình 1.1 : Khởi động MATLAB từ môi trường WINDOWS Hình 1.2 : Giao diện biểu tượng của MATLAB (Version 5.1) Việc khởi động MATLAB trên mỗi hệ thống khác nhau. Trong môi trường WINDOWS hay MACINTOSH, chương trình thường được khởi động thông qua việc nhắp chuột trên các icon hay còn gọi là biểu tượng. Còn với môi trường UNIX, MS-DOS ,việc khởi động thông qua dòng lệnh: :\ MATLAB ↵ Giao diện của MATLAB sử dụng hai cửa sổ: cửa sổ lệnh (command window) và cửa sổ đồ thò (Figure window). GVHD : NGUYỄN MINH TÂM SVTH :NGUYỄN THANH DUẪN Luận án tốt nghiệp Trang 3 Hình 1.3 : Giao diện cửa sổ lệnh của MATLAB khi khởi động xong - Cửa sổ lệnh dùng để đưa lệnh và dữ liệu vào đồng thời in ra kết quả. - Cửa sổ đồ thò trợ giúp cho việc truy xuất đồ họa để thể hiện những lệnh hay kết quả đầu ra dưới dạng đồ họa. Hình 1.4 : Giao diện cửa sổ đồ thò của MATLAB Việc ngắt chương trình đang thực hiện hoặc các chương trình không đúng theo yêu cầu đều được thông qua phím nóng Ctrl + C. Để thoát khỏi chương trình MATLAB ta có thể dùng lệnh >> exit ↵ hoặc >> quit ↵ ( ↵ : nhấn ENTER) GVHD : NGUYỄN MINH TÂM SVTH :NGUYỄN THANH DUẪN Luận án tốt nghiệp Trang 4 hoặc từ menu thả xuống hoặc nhấn vào trên góc phải màn hình của cửa sổ chính MATLAB. MATLAB được điều khiển bằng những câu lệnh được kết hợp theo một trật tự nhất đònh và gọi đó là chương trình. Chương trình chứa nhiều câu lệnh và những hàm chức năng để giải những bài toán lớn hơn. Các câu lệnh trong MATLAB rất mạnh và có những vấn đề chỉ cần một câu lệnh là đủ giải quyết bài toán. Mô phỏng trong MATLAB sẽ cho ta hình ảnh tọa độ không gian hai chiều (2D) và ba chiều(3D). II.2. Các phím chức năng đặt biệt (chuyên dùng) và các lệnh dùng cho hệ thống: Ctrl + P hoặc ↑ Ctrl + n hoặc ↓ Ctrl + f hoặc → Ctrl + b hoặc ← Ctrl + l hoặc Ctrl + → Ctrl + r hoặc Ctrl + ← Ctrl + a hoặc HOME Ctrl + k Gọi lại lệnh vừa thực hiện trước đó từ của sổ lệnh của MATLAB Gọi lại lệnh đã đánh vào trước đó Chuyển con trỏ sang phải một kí tự Chuyển con trỏ sang trái một kí tự. Chuyển con trỏ sang phải một từ Chuyển con trỏ sang trái một từ Chuyển con trỏ về đầu dòng. Xoá cho đến dòng cuối cùng Các lệnh hệ thống : Các lệnh trên cũng như sau này được viết từ cửa sổ lệnh của MATLAB Casesen off Casesen on Clc Clf computer exit hoặc quit Bỏ thuộc tính phân biệt chữ hoa và chữ thường Sử dụng thuộc tính chữ hoa và chữ thường. Xóa cửa sổ dòng lệnh Xó cửa sổ đồ họa Lệnh in ra một xâu kí tự cho biệt loại máy tính. Thoát khỏi chương trình MATLAB GVHD : NGUYỄN MINH TÂM SVTH :NGUYỄN THANH DUẪN Luận án tốt nghiệp Trang 5 Ctrl + C help input load pause save Demo Edit Dừng chương trình khi nó rơi vào tình trạng lặp không kết thúc . Xem trợ giúp Nhập dữ liệu từ bàn phím. Tải các biến đã lưu trong một file đưa vào vùng làm việc. Ngừng tạm thời chương trình. Lưu giữ các biến vào file có tên là matlab.mat Lệnh cho phép xem các chương trình mẫu (minh họa khả năng làm việc của MATLAB). Lệnh để vào cửa sổ soạn thảo (dùng để viết một chương trình) II.3.Biến trong Matlab : Tên các biến trong MATLAB có thể dài 19 kí tự bao gồm các chữ cái cùng các chữ số cũng như một vài kí tự đặc biệt khác nhưng luôn phải bắt đầu bằng chữ cái. Tên các hàm đã được đặt cũng có thể được sử dụng làm tên của biến với điều kiện hàm này sẽ không được sử dụng trong suốt quá trình tồn tại của biến cho đến khi có lệnh clear xoá các biến trong bộ nhớ hay clear + tên của biến. Bình thường Matlab có sự phân biệt các biến tạo bởi chữ cái thường và chữ cái hoa.Các lệnh trong Matlab nói chung thường sử dụng chữ cái thường. Việc phân biệt đó có thể đươc bỏ qua nếu chúng ta thực hiện lệnh. >> casensen off % bỏ thuộc tính phân biệt chữ hoa và chữ thường. Việc kiểm tra sự tồn tại của các biến trong bộ nhớ thông bộ qua lệnh. who whos who global exist(namesrt) Hiển thò danh sách các biến đã được đònh nghóa. Hiển thò các biến đã được đònh nghóa cùng kích thước của chúng và thông báo chúng có phải là số phức không. Hiển thò các biến cục bộ. Hiển thò các biến phụ thuộc vào cách các biến được đònh nghóa trong chuỗi namestr. Hàm sẽ trả lại giá trò sau: Nếu namestr là tên của một biến. Nếu namestr là tên của một file.m. Nếu namestr là tên của một Mex file Nếu namestr là tên của hàm dòch bởi Simulink. Nếu namestr là tên của hàm được đònh nghóa trước bởi Matlab. GVHD : NGUYỄN MINH TÂM SVTH :NGUYỄN THANH DUẪN Luận án tốt nghiệp Trang 6 Độ lớn của biến Độ lớn hay chiều dài của biến vector cũng như ma trận có thể được xác đònh thông qua một số hàm có sẵn của Matlab. size (A) [ m n] = size(A) size(A ,p) size (x) lengh(x) lengh(A) Cho ra một vector chứa kích thước ma trận A. Phần tử đầu tiên của vector là số hàng của ma trận, phần tử thứ hai là số cột của matrận. Trả giá trò độ lớn của ma trận A vào vector xác đònh bởi hai biến m và n . Đưa ra số hàng của ma trận A nếu p=1 và số cột của A nếu p≥ 2 Đưa ra vector mô tả độ lớn của vector x. Nếu x là vector hàng m phần tử thì giá trò đầu của vector là m và giá trò thứ hai là 1. Trường hợp x là vector cột n thì giá trò thứ nhất sẽ là 1 và thứ hai là n. Trả giá trò chiều dài của vector x Trả giá trò chiều dài cuả ma trận A . Giá trò thu được sẽ là m nếu m>n và ngược lại sẽ là n nếu n>m. II.4.Các lệnh thông dụng trong đồ họa Matlab: Matlab rất mạnh trong việc xử lý đồ họa, cho hình ảnh minh họa một cách sinh động và trực quan trong không gian 2D và 3D mà không cần đến nhiều dòng lệnh. plot (x,y) Vẽ đồ thò trong tọa độ (x,y) plot (x,y,z) Vẽ đồ thò theo tọa độ ( x,y ,z) title Đưa các tiêu đề vào trong hình vẽ. xlabel Đưa các nhãn theo chiều x của đồ thò. ylabel Đưa các nhãn theo chiều y của đồ thò. zlabel Đưa các nhãn theo chiều z của đồ thò. grid Hiển thò lưới trên đồ thò GVHD : NGUYỄN MINH TÂM SVTH :NGUYỄN THANH DUẪN Luận án tốt nghiệp Trang 7 plot (y) Vẽ đồ thò theo y bỏ qua chỉ số theo y. Nếu y là số phức (complex) thì đồ thò được vẽ là phần thực và phần ảo của y plot (x,y,S) Vẽ theo x,y ; S: là các chỉ số về màu sắc và kiểu đường theo biến str của các đường trên đồ thò được liệt kê ở dưới. plot(x,y,z…,S) Vẽ theo x,y,z…; S: là các chỉ số về màu sắc và kiểu đường theo biến str của các đường được liệt kê ở dưới. polar (x,y) Vẽ đồ thò theo hệ trục tọa độ cực bar Vẽ đồ thò dạng cột Các chỉ số về màu sắc: Giá trò cuả biến Str trong hàm plot về màu sắc hay kiều dáng của đường được liệt kê theo bảng dưới đây. Kiểu đường Màu sắc . : Điểm * : Sao X : Chữ cái x O : Chữ cái o + : Dấu cộng - : Đường liền nét -- : Đường đứt nét -. : Đường chấm gạch : : Đường chấm Y: vàng G : xanh lá cây M : đỏ tươi B : xanh lam C : xanh lá mạ. W : màu trắng R : đỏ K : đen Ví dụ về đồ họa bề mặt (3D) GVHD : NGUYỄN MINH TÂM SVTH :NGUYỄN THANH DUẪN Luận án tốt nghiệp Trang 8 Ngoài các lệnh cơ bản trên còn có các lệnh liên quan đến vẽ đồ thò Vector, vẽ đồ thò theo hệ trục loga,các lệnh liên quan đến đồ họa bề mặt (3D) ,các lệnh liên quan đến việc kiểm soát đồ thò… II.5 .Các dạng file sử dụng trong MATLAB: II.5 .1. Script file (M-files): Các chương trình do người sử dụng soạn thảo ra được lưu trữ trong các file có phần mở rộng là *.m. File dạng này còn được gọi là Script file. File được dưới dạng kí tự ASCII và có thể sử dụng trong các chương trình soạn thảo nói chung để tạo nó. Ta có thể chạy các file giống như các lệnh, thủ tục của MATLAB. Tức là gõ tên file không cần có phần mở rộng sau đó Enter. Khi sử dụng nội dung của file không được hiển thò trên màn hình. Trong Simulink sơ đồ mô phỏng cũûng được lưu dưới dạng *.m (trong các version 5.x trở lên thì được lưu dưới dạng * .mdl) nhưng được gọi là S-function. Một số lệnh hệ thống tương tác với *.m files thường gặp echo Lệnh cho phép xem các lệnh có trong *.m files khi chúng được thực hiện. type Lệnh cho phép xem nội dung,ngầm đònh file ở dạng M-file what Lệnh này cho biết tất cả các file M –file và Mat-file có trong vùng làm việc hiện hành hay không. Một ví dụ về Script file: II.5.2.Files dữ liệu: Các ma trận biểu diễn thông tin được lưu trữ trong các files dữ liệu. Matlab phân biệt hai loại file dữ liệu khác nhau Mat- files và ASCII files. GVHD : NGUYỄN MINH TÂM SVTH :NGUYỄN THANH DUẪN Luận án tốt nghiệp Trang 9 Mat – files lưu trữ các dữ liệu ở dạng số nhò phân, còn các ASCII- files lưu các dữ liệu dưới dạng các kí tự. Mat-file thích hợp cho dữ liệu được tạo ra hoặc được sử dụng bởi chương trình MATLAB. ASCII- files được sử dụng khi các dữ liệu được chia xẻ (export – import) với các chương trình của MATLAB . ASCII- files có thể được tạo bởi các chương trình soạn thảo nói chung hay các chương trình soạn thảo bằng ngôn ngữ máy. Nó có thể được tạo ra bởi chương trình Matlab bằng cách sử dụng câu lệnh sau đây: >> save <tên file>.dat <tên ma trận>./ascii; Nhìn chung Mat lab rất mạnh trong việc mô phỏng cho các bài toán kó thuật. Phần mềm Matlab hiện nay đã trở nên thông dụng và là công cụ đắc lực cho việc giảng dạy, ứng dụng trong nghiên cứu ở các trường đại học. GVHD : NGUYỄN MINH TÂM SVTH :NGUYỄN THANH DUẪN Luận án tốt nghiệp Trang 10 CHƯƠNG II CÁCH KẾT NỐI VÀ CÁC THUỘC TÍNH CỦA BLOCKS I. KHÁI NIỆM VỀ SIMULINK: Simulink là một phần mềm mở rộng của MATLAB (1 Toolbox của Matlab) dùng để mô hình hoá, mô phỏng và phân tích một hệ thống động. Thông thường dùng để thiết kế hệ thống điều khiển, thiết kế DSP, hệ thống thông tin và các ứng dụng mô phỏng khác. Simulink là thuật ngữ mô phỏng dễ nhớ được ghép bởi hai từ Simulation và Link. Simulink cho phép mô tả hệ thống tuyến tính,hệ phi tuyến, các mô hình trong miền thời gian liên tục, hay gián đoạn hoặc một hệ gồm cả liên tục và gián đoạn. Để mô hình hoá, Simulink cung cấp cho bạn một giao diện đồ họa để sử dụng và xây dựng mô hình sử dụng thao tác "nhấn và kéo" chuột. Với giao diện đồ họa ta có thể xây mô hình và khảo sát mô hình một cách trực quan hơn. Đây là sự khác xa các phần mềm trước đó mà người sử dụng phải đưa vào các phương vi phân và các phương trình sai phân bằng một ngôn ngữ lập trình. Điểm nhấn mạnh quan trọng trong việc mô phỏng một quá trình là việc thành lập được mô hình. Để sử dụng tốt chương trình này, người sử dụng phải có kiến thức cơ bản về điều khiển, xây dựïng mô hình toán học theo quan điểm của lý thuyết điều khiển và từ đó thành lập nên mô hình của bài toán. II. TÌM HIỂU VỀ SIMULINK VÀ CÁC BLOCKS LIBRARY: II.1 CÁCH KHỞI TẠO SIMULINK VÀ VẼ SƠ ĐỒ MÔ PHỎNG: II.1.1 Khởi tạo SIMULINK: Để vào Simulink trong Matlab, ta từ cửa sổ lệnh của Matlab đánh dòng lệnh: >> simulink ↵ Khi khởi động Simulink xong ta được màn hình cửa sổ Simulink. Cửa sổ này hoạt động liên kết với cửa sổ lệnh MATLAB. Ta thấy cửa sổ Simulink có nhiều khối chức năng (blocks library), trong đó có nhiều khối chức năng cụ thể. GVHD : NGUYỄN MINH TÂM SVTH :NGUYỄN THANH DUẪN [...]... trúc thuộc tính của các blocks trong Simulink sẽ được mô tả trong chương III Block name Brief explanation For further information Parameter Hình 2.28: Thuộc tính cấu trúc của một Block III.2 Các phương pháp giải bài toán mô phỏng trong Simulink : Trong Simulink việc giải các bài toán mô phỏng có nhiều phương pháp giải khác nhau Sau đây là các cách giải được áp dụng trong Simulink • • • • • • Phương pháp... năng trong thư viện Simulink) Những khối của SIMULINK được mô tả trong chương này Những mô tả trong chương này là những mô tả ngắn gọn giúp ích cho việc tra cứu và sử dụng Theo đó, tất cả các khối được xem như có thể làm việc trong môi trường đa biến (có hướng) và vô hướng III 1 SOURCES: Đây là nhóm bao gồm các khối phát và nhận tín hiệu Màn hình hiển thò 1.CLOCK : Cung cấp vector theo thời gian Mở trong. .. : Cách vào toolbox SIMULINK trong MATLAB Từ cửa sổ lệnh ta thấy được các khối thư viện: Khối nguồn (Sources), khối đầu đo (Sinks), khối phi tuyến (nonlinear), khối tuyến tính (linear), khối đầu nối (Connections) ………… Hình 2.6 : Màn hình cửa sổ thư viện SIMULINK Thư viện của Simulink bao gồm các khối chuẩn trên, người sử dụng cũng có thể thay đổi hay tạo ra các khối cho riêng mình Simulink cũng giống... phải đặt thông số mô phỏng bằng lệnh Parameter trong menu Simulation Đặt thời gian mô phỏng (Stop time) là 10.0 Sau đó nhấn vào Apply để Simulink áp dụng các thông số do ta đặt và đóng hộp hội thoại bằng cách nhấn vào Close GVHD : NGUYỄN MINH TÂM SVTH :NGUYỄN THANH DUẪN Luận án tố t nghiệ p Trang 18 Hình 2.20 Hộp hội thoại Parameter của Simulink Chọn Start trong menu Simulation để chạy mô phỏng và ta... III THUỘC TÍNH CỦA MỘT BLOCK VÀ CÁC PHƯƠNG PHÁP GIẢI BÀI TOÁN TRONG SIMULINK GVHD : NGUYỄN MINH TÂM SVTH :NGUYỄN THANH DUẪN Luận án tố t nghiệ p Trang 21 Như chúng ta đã biết phần tử để xây dựng nên một sơ đồ trong Simulink đó chính là Block Một Block được quy đònh bởi hai thuộc tính: Văn phong và cấu trúc Thuộc tính về văn phong được mô tả trong bản Style: Style Drop Shadows Orientation Title Font…... Chọn Scope + Thư viện các hàm tuyến tính (Linear): Chọn Integrator + Thư viện các đầu nối ( Connections): Chọn Mux Để chọn một thư viện trong Simulink ta nhấp kép (Double Click) vào khối (icon) đó Simulink sẽ hiển thò một cửa sổ chứa tất cả các khối của thư viện đó Trong thư viện nguồn tín hiệu chứa tất các khối đều là nguồn tín hiệu Thư viện nguồn tín hiệu được trình bày như hình 2.9 GVHD : NGUYỄN... cột ma trận đại diện cho mỗi giá trò khác nhau dữ liệu được truyền đến MATLAB cho đến khi kết thúc mô phỏng Nêú sự mô phỏng cần số bước lớn hơn giá trò maximum một đơn vò thì khối này chỉ lưu giá trò n cuối cùng ,với n là giá trò lấy mẫu maximum đã quy đònh Thông số thứ hai cuả hàng trong maximum là tuỳ ý (timestep: bùc thời gian), Matlab chỉ lưu giá trò n chung Thường thường vector thời gian không cần... tới nơi bạn cần đặt khối trong sơ đồ bằng cách nhả phím chuột, một bản copy của khối đã ở trong màn hình mô phỏng Khi ta không vừa ý chỗ đặt ta có thể di chuyển khối bằng cách như trên Theo cách này chép những khối còn lại vào trong màn hình mô phỏng để tiếp tục xây dựng sơ đồ Muốn copy tiếp một khối Sin nữa trong một một sơ đồ, ta làm bằng cách giữ phím Ctrl + phím trái chuột và di chuyển tới điểm... p Trang 12 1.Từ cửa sổ Matlab đánh lệnh simulink Cửa sổ thư viện các khối sẽ xuất hiện 2.Từ cửa sổ thư viện ta nhấp chuột vào File/New/Model hoặc nhấn Ctrl+ N Màn hình cửa sổ mô hình mới Untitled được mở ra(Hình 8).Từ đó ta bắt đầu xây dựng mô hình 3 Chọn các block ở các thư viện thích hợp: Hình 2.7 : Mô hình phân tích sóng hình sin Hỉnh 2.8 : Chọn vẽ một Model (Scheme) mới Trong sơ đồ này chọn các... biến thành dấu cộng), giữ trỏ chuột và kéo tới đầu nối (vào) của khối khác Trong quá trình nối, đưòng nối có hình nét đứt và con trỏ sẽ thay đổi thành dấu cộng kép khi lại gần khôí cần nối Hình 2.14 Cửa sổ mô hình trước khi nối dây Hình 2.15 Cửa sổ mô hình khi đang nối dây Bạn có thể nối bằng cách nhả phím chuột khi con trỏ ở bên trong khối Khi đó đường nối sẽ nối vào cổng gần vò trí con trỏ nhất Hình . TÌM HIỂU VỀ SIMULINK VÀ CÁC BLOCKS LIBRARY: II.1 CÁCH KHỞI TẠO SIMULINK VÀ VẼ SƠ ĐỒ MÔ PHỎNG: II.1.1 Khởi tạo SIMULINK: Để vào Simulink trong Matlab, ta. II.4.Các lệnh thông dụng trong đồ họa Matlab: Matlab rất mạnh trong việc xử lý đồ họa, cho hình ảnh minh họa một cách sinh động và trực quan trong không gian 2D

Ngày đăng: 29/07/2013, 01:26

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan