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
45 trang |
Chia sẻ: maiphuongtt | Lượt xem: 10511 | Lượt tải: 1
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í