Bài giảng Simulink trong Matlab

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ệccà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

pdf45 trang | Chia sẻ: maiphuongtt | Lượt xem: 10458 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng Simulink trong Matlab, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Bài giảng Simulink trong Matlab SIMULINK TRONG MATLAB Trang 1 GIỚI THIỆU SƠ LƯỢC VỀ MATLAB I.TÌM HIỂU VỀ CÔNG TY MATHWORKS: II.GIỚI THIỆU CƠ SỞ MATLAB: II.1. Giới thiệu chương trình MATLAB: 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. 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 SIMULINK TRONG MATLAB Trang 2 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). 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) 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. SIMULINK TRONG MATLAB Trang 3 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 Ctrl + C Help Input Load Pause 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 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. SIMULINK TRONG MATLAB Trang 4 Save Demo Edit 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. Độ 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) 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 SIMULINK TRONG MATLAB Trang 5 lengh(x) lengh(A) 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ị 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 SIMULINK TRONG MATLAB Trang 6 . : Đ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) 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 SIMULINK TRONG MATLAB Trang 7 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. 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 .dat ./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. CÁCH KẾT NỐI VÀ CÁC THUỘC TÍNH CỦA BLOCKS I. KHÁI NIỆM VỀ SIMULINK: SIMULINK TRONG MATLAB Trang 8 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ể. Hình 2.5 : 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)………… SIMULINK TRONG MATLAB Trang 9 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 như các phần mềm mô phỏng thiết kế mạch điện tử như : MicroSim Eval, EWB, Circuit Maker…. Để vẽ sơ đồ mô phỏng cũng như xây dựng mô hình như thế nào.Việc xây dựng mô hình và các thao tác để xây dựng mô hình. Ta thử thiết kế mô phỏng ví dụ sau (Hình 2.7) để biết được việc vẽ và mô phỏng sơ đồ: Để vẽ được mô hình này bạn phải làmm các thao tác sau: 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 khối từ các thư viện: + Thư viện các nguồn tín hiệu (Sources): Chọn Sin wave. + Thư viện các khối nhận tín hiệu (Sinks): 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. SIMULINK TRONG MATLAB Trang 10 Để 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. Người sử dụng thêm vào sơ đồ của mình bằng cách ghép khối đó từ thư viện hay từ mô hình bất kì nào khác. Trong ví dụ này ta chọn khối phát sóng hình sin. Đặt con trỏ chuột lên khối ấn và giữ phím trái chuột, kéo khối tới cửa sổ vẽ sơ đồ Untitled. Khi di chuyển khối ta có thể thấy khối và tên của nó di chuyển cùng với con trỏ chuột. Hình 2.9 : Cửa sổ thư viện Phầàn Nguồn tín hiệu. (SOURCES) Hình 2.10 : Khối và tên di chuyển cùng khối . Khi con trỏ chuột di chuyể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 cần đặt khối, lúc đó một khối đã được copy. Với tất cả các khối đã chép vào cửa sổ màn hình mô phỏng sẽ được hiển thị như trên hình 2. 11. Nếu xem kĩ từng khối, chúng ta thấy dấu > ở bên phải của khối là dâú đầu nối dành cho ngõ ra của tín hiệu, còn dấu > ở bên trái là dấu đầu nối dành cho ngõ vào. Tín hiệu đi từ đầu SIMULINK TRONG MATLAB Trang 11 ra của một khối tới đầu vào của khối khác theo một đường nối giữ hai khối. Khi một khối đã được nối thì biểu tượng > cũng mất đi. Hình 2.11. Cửa sổ sơ đồ với các khối đã được copy. Hình 1.12 .Đầu vào - ra của một khối OUTPUT PORT INPUT PORT Từ hình 1.11 ta thấy khối Mux có ba cổng vào nhưng ta cần có hai cổng nên ta phải thay đổi thông số của Mux, bằng cách nhấp kép lên khối Mux và thay đổi giá trị thông số "Number of Input" là 2 (hình 2.13).Sau đó nhấn phím Apply và đó cửa cửa sổ Mux. Simulink sẽ điều chỉnh số cổng vào theo giá trị đã nhập. Hình 2.13. Cửa sổ thông số khối Mux. Bây giờ ta có thể nối các khối lại với nhau. Đầu tiên hãy nối đầu ra khối phát Sin tín hiệu tới đầu vào trên khối Mux. Công việc thực hiện nối các khối, nói chung không theo thứ tự bắt buộc nào cả. Công việc thực hiện nối các sơ đồ cũng giống như các phần mềm thiết kế điện tử nào đó là đặt con trỏ chuột tại đầu nối (ra) của khối này (con trỏ chuột 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. SIMULINK TRONG MATLAB Trang 12 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 2.15. Hình khôí Sin đã nối vào trên khối Mux. Phần lớn các đường nối đi từ đầu ra của một khối tới đầu vào của một khối khác. Có đường nối từ một đường nào đó đi tới đầu vào của một khối ta gọi đó là đường rẽ nhánh. Việc vẽ đường rẽ nhánh có sự khác biệt so với vẽ đường nối chính. Để vẽ được rẽ nhánh ta thực việc như sau: 1. Đặt con trỏ vào điểm cần vẽ đường rẽ nhánh. Hình 2.16. Con trỏ đặt vào điểm cần rẽ nhánh. 2. Aán phím Ctrl + giữ phím trái chuột ,kéo con trỏ chuột tới đầu vào của khối. 3. Nhả phím chuột, Simulink sẽ vẽ một đường từ điểm bắt đầu tới cổng vào của khối. Tuy nhiên chúng ta cũng có thể nối dây từ đầu vào (đầu ra) của một khối tới đường nối chính, mà không cần giữ phím Ctrl . Tuy nhiên việc nối dây sẽ bất tiện do mối nối hình thành không theo ý muốn hoặc không nối được. SIMULINK TRONG MATLAB Trang 13 Hình 2.17.Một đoạn dây không như ý . Kết thúc việc nối dây, mô hình được hiển thị như trên hình 2.19. Tuy nhiên trong quá trình nối dây có thể có những đưòng nối dây không như ý ta muốn, ta có thể bỏ đi hoặc sử a chữa lại bằng cách nhấp chuột vào đoạn dây đó, sau đó ta nhấn phín Delete hoặc di chuyển đoạn dây để sửa lại. Hình 2.18. Một đoạn dây đã được chọn. Hình 2. 19. Cửa sổ mô hình đã được vẽ xong. Bây giờ ta mở khối Scope để hiển thị tín hiệu ra và chạy mô phỏng trong 10s. Đầu tiên ta 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. Chọn Start trong menu Simulation để chạy mô phỏng và ta Double Click vào khối Scope để xem dạng sóng ra của tí