GVHD: TS. Phan Văn Hiền. Đồ án tốt nghiệp.
Trong sự phát triển không ngừng của công nghệ thông tin, việc ứng dụng tin
học vào tự động hoá ngày càng được chú trọng hơn trong công tác đào tạo cũng
như trong công tác nghiên cứu khoa học
Mô hình hoá và mô phỏng bằng máy tính đang là một kỹ thuật áp dụng cho
tất cả các ngành khoa học kỹ thuật và kinh tế. Nếu trước kia việc thiết lập một mô
hình, triển khai một dự toán, tính toán thống kê và trình bày số liệu, đòi hỏi có kiến
thức về toán ứng dụng nhiều, giải các phương trình vi phân, tích phân thì nay với sự
trợ giúp của máy tính và nhất là các ngôn ngữ lập trình bậc cao đặc biệt (như
Matlab, Mapple, Mathematica…). Các kiến thức toán này đã có sẵn trong các hàm
và lệnh của các ngôn ngữ, tạo điều kiện cho người dùng tiếp cận trực tiếp và tập
trung vào vấn đề mình nghiên cứu mà không phải dành quá nhiều thời gian cho kỹ
thuật lập trình hay công cụ toán lý thuyết.
Đây là một đề tài thực hiện việc mô phỏng dựa trên cơ sở phần mềm Matlab
phiên bản 6.5 có chứa các thư viện mở rộng Simulink 5.0. Sau một thời gian được
sự hướng dẫn tận tình của thầy TS. Phan Văn Hiền, em đã hoàn thành đồ án tốt
nghiệp của mình. Do kiến thức còn nhiều khuyết điểm nên quá trình thực hiện
không thiếu những sai sót. Em rất mong quý thầy cô giúp đỡ để đề tài này hoàn
thành và phát triển tốt hơn.
SVTH: Nguyễn Quốc Thành. Lớp: 01D3A.
Trang1
GVHD: TS. Phan Văn Hiền. Đồ án tốt nghiệp.
SVTH: Nguyễn Quốc Thành. Lớp: 01D3A.
Trang2
GVHD: TS. Phan Văn Hiền. Đồ án tốt nghiệp.
CHƯƠNG I.GIỚI THIỆU SƠ LƯỢC VỀ MATLAB 5
I. GIỚI THIỆU CƠ SỞ MATLAB:
5
5
I. 1. Giới thiệu chương trình MATLAB: 5
I. 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: 8
I. 3. Biến trong Matlab : 8
I. 4. Các lệnh thông dụng trong đồ họa Matlab: 9
II. TIỆN ÍCH TRỢ GIÚP TRONG MATLAB (HELP):
11
CHƯƠNGII. SƠ LƯỢC VỀ SIMULINK 5.0 11
I. KHÁI NIỆM VỀ SIMULINK :
11
II. TÌM HIỂU VỀ SIMULINK VÀ CÁC KHỐI BLOCKS LIBARY:
12
II. 1.Cách khởi tạo SIMULINK và vẽ sơ đồ mô phỏng : 12
II. 2 Hộp thoại Simulation parameters: 16
CHƯƠNG III.CÁC KHỐI CHỨC NĂNG TRONG THƯ VIỆN SIMULINK 20
I. THƯ VIỆN SOURCES:
20
I. 1. Constant 21
I. 2. Step và Ramp 21
I. 3. Signal Generator và Pulse Generator 21
I. 4. Repeating Sequence 21
I. 5. Sine Wave 22
I. 6. From Workspace 22
I. 7. From File 22
I. 8. Clock : 22
I. 9. Digital Clock: 22
II. THƯ VIỆN SINKS:
23
II. 1 Scope 23
II.2. To Workspace: 24
II. 3.To File 25
II. 4. XY Graph 25
II. 5. Stop Simulation: 25
III. THƯ VIỆN MATH OPERATIONS.
25
III. 1. Sum 26
III. 2. Product và Dot Product 27
III. 3. Math Function và Trigonometric Funtion 27
III. 4. Gain, Slider Gain, Matrix Gain 27
III. 5. Logical Operator và Relational Operater 27
III. 6. Algebraic Constraint 28
III. 7. Abs 28
III. 8. Combinatorial Logic 28
IV. THƯ VIỆN CONTINUOUS.
28
IV. 1. Integrator 29
IV. 2. Derivative 29
V. THƯ VIỆN DISCOTINUITIES.
30
V. 1 Backlash 30
V. 2 Dead Zone 31
V. 3. Coulomb & Viscous Friction 31
V. 4. Relay 31
VI. THƯ VIỆN DISCRETE:
31
VI. 1. Unit Delay 32
VI. 2. Discrete- Time Integrator 32
VI. 3. Discrete Filter 32
VI. 4. Discrete Tranfer Funtion 33
VI. 5. Discrete Zero-pole 33
33
SVTH: Nguyễn Quốc Thành. Lớp: 01D3A.
Trang3
GVHD: TS. Phan Văn Hiền. Đồ án tốt nghiệp.
VI. 6. Discrete State Space 33
VI. 7. Zero-Order Hold 33
VI. 8. Memory 33
VII.THƯ VIỆN SIGNAL ROUTING.
33
VII. 1. Mux và Demux 34
VII. 2.Bus Selector và Selector 34
VII. 3. Bus Creator 35
VIII. THƯ VIỆN LOOK UP TABLES.
35
VIII. 1. Look Up Table 35
VIII. 2. Look Up Table(n-D) 36
IX. THƯ VIỆN USER-DEFINED FUNCTIONS.
36
36
IX. 1. Function 36
IX. 2. Matlab Function 37
IX. 3 S-Function 37
IX. 4. S-Function Buider 37
X. HỆ THỐNG CON SUBSYSTEMS
37
CHƯƠNG IV. DÙNG SIMULINK ĐỂ MÔ PHỎNG MÁY BIẾN ÁP BA PHA 38
I. GIỚI THIỆU SƠ LƯỢC VỀ MÁY BIẾN ÁP:
38
II.MÁY BIẾN ÁP LÝ TƯỞNG:
39
III. MÔ HÌNH MÁY BIẾN ÁP HAI CUÔN DÂY.
41
III.1. Phương trình từ thông liên kết: 41
III.2. Phương trình suất điện động: 43
III.3. Mạch điện thay thế máy biến áp: 44
III.4.Các phương trình cơ bản trong một pha của máy biến áp ba pha 45
IV.SỰ KẾT NỐI BA PHA CỦA MÁY BIẾN ÁP BA PHA.
48
IV.1.Sơ lược về máy biến áp ba pha hai cuộn dây 48
IV.2.Các phương pháp đấu dây của máy biến áp ba pha hai cuôn dây 48
IV.3.Phương pháp đấu dây theo kiểu đấu sao/sao(Y/Y) 49
IV.4.Phương pháp đấu dây theo kiểu đấu tam giác /sao (
∆
/Y) 50
V.SƠ ĐỒ MÔ PHỎNG MÁY BIẾN ÁP BA PHA ĐẤU DÂY THEO KIỂU TAM GIÁC/SAO.
52
V.1.Sơ đồ mô phỏng máy biến áp ba pha đấu dây theo kiểu: Tam giác/sao (
∆
/Y) 52
V.2.Các thông số cơ bản ở đầu vào của mô phỏng 54
V.3.Tỉ số biến đổi dòng và áp 55
VI.KHI TẢI Ở BA PHA CỦA MÁY BIẾN ÁP BA PHA ĐỐI XỨNG:
56
VI.1.Chương trình mô phỏng máy biến áp: 56
VI.2.Kết quả thu được sau khi mô phỏng: 59
VII.XÉT TRƯỜNG HỢP KHI TẢI CỦA BA PHA MÁY BIẾN ÁP Ở TRẠNG THÁI KHÔNG ĐỐI
XỨNG:
61
VII.1.Trường hợp khi ta thay đổi tải ở một trong các pha của máy biến áp: 61
VII.2. Khi ta thay đổi tải ở một trong các pha của máy biến và tăng gi trị của điện trở nối đất: 64
SVTH: Nguyễn Quốc Thành. Lớp: 01D3A.
Trang4
GVHD: TS. Phan Văn Hiền. Đồ án tốt nghiệp.
CHƯƠNG I.GIỚI THIỆU SƠ LƯỢC VỀ MATLAB
I. GIỚI THIỆU CƠ SỞ MATLAB:
I. 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à LABORATORY
ghé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. Các thế hệ mới
hoạt động trong môi trường Window.
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.
SVTH: Nguyễn Quốc Thành. Lớp: 01D3A.
Trang5
GVHD: TS. Phan Văn Hiền. Đồ án tốt nghiệp.
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 6. 5)
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).
SVTH: Nguyễn Quốc Thành. Lớp: 01D3A.
Trang6
GVHD: TS. Phan Văn Hiền. Đồ án tốt nghiệp.
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.
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).
SVTH: Nguyễn Quốc Thành. Lớp: 01D3A.
Trang7
GVHD: TS. Phan Văn Hiền. Đồ án tốt nghiệp.
I. 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.
I. 3. Biến trong Matlab :
Tên các biến trong Matlab có thể dài 32 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 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.
SVTH: Nguyễn Quốc Thành. Lớp: 01D3A.
Trang8
GVHD: TS. Phan Văn Hiền. Đồ án tốt nghiệp.
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 ma trậ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.
I. 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
SVTH: Nguyễn Quốc Thành. Lớp: 01D3A.
Trang9
GVHD: TS. Phan Văn Hiền. Đồ án tốt nghiệp.
. : Đ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
I. 5. Các dạng file sử dụng trong Matlab :
I. 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.
Đối với các Simulink phức hợp, ta không nên trực tiếp khai báo cho từng
khối cụ thể, ma ta nên tập hợp chúng lại trong một script File(m-file). Bằng cách ấy,
mọi công việc khai báo hay thay đổi thông số đều có thể được thực hiện rất rỏ ràng
và khó nhầm lẫn.
Để làm được như vậy, thay vì viết giá trị cụ thể ta viết tên của các biến. Các
biến đó sẽ được gán các giá trị cụ thể sau này trong khuôn khổ script file . Trước
khi bắt đầu mô phỏng, ta gọi script file để nạp các biến vào WorkSpace của
MATLAB. Nhờ vậy, trong quá trình mô phỏng, Simulink có thể truy cập và sử dụng
các biến đã nạp.
SVTH: Nguyễn Quốc Thành. Lớp: 01D3A.
Trang10
GVHD: TS. Phan Văn Hiền. Đồ án tốt nghiệp.
I. 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 <tên file>. dat <tên ma trận>. /ascii;
II. TIỆN ÍCH TRỢ GIÚP TRONG MATLAB (HELP):
Tiện ích trợ gip trong Matlab l rất phong ph. tuỳ theo nhu cầu, hoặc gọi help
để xem nội dung hổ trợ của lệnh trực tiếp trn command windows, hoặc sử dụng
cơng cụ truy cập help (hình 1. 5).
Hình 1. 5 Cửa sổ truy cập help của Matlab.
CHƯƠNGII. SƠ LƯỢC VỀ SIMULINK 5.0
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
SVTH: Nguyễn Quốc Thành. Lớp: 01D3A.
Trang11
GVHD: TS. Phan Văn Hiền. Đồ án tốt nghiệp.
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 KHỐI BLOCKS LIBARY:
II. 1.Cách khởi tạo SIMULINK và vẽ sơ đồ mô phỏng :
Để vào Simulink trong Matlab, ta từ cửa sổ lệnh của Matlab đánh dòng
lệnh:
>> Simulink ↵
Hoặc kích chuột vào biểu tượng Simulink trên thanh menu.
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 Simulink có rất nhiều khôi chức
năng riêng biệt.
Từ cửa sổ lệnh ta thấy được các khối thư viện: Khối SOURCES, khối SINKS,
khối DISCONTINUITIES, khối CONTINUOUS, khối SIGNAL ROUTING…
SVTH: Nguyễn Quốc Thành. Lớp: 01D3A.
Trang12
GVHD: TS. Phan Văn Hiền. Đồ án tốt nghiệp.
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àm 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. Từ đó ta bắt đầu xây
dựng mô hình.
3 . Chọn các khối ở các thư viện thích hợp:
Để chọn một thư viện trong Simulink ta nhấp kép (Double Click) chuột 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.6.
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ơ đồ
SVTH: Nguyễn Quốc Thành. Lớp: 01D3A.
Trang13
GVHD: TS. Phan Văn Hiền. Đồ án tốt nghiệp.
Untitled. Hoặc kích phải chuột chọn Add vào 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.
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.
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 nữa trong 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.7.
Hình 2.7. Cửa sổ sơ đồ với các khối cần thiết.
Bây giờ ta có thể nối các khối lại với nhau. 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.
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. 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:
SVTH: Nguyễn Quốc Thành. Lớp: 01D3A.
Trang14
GVHD: TS. Phan Văn Hiền. Đồ án tốt nghiệp.
1. Đặt con trỏ vào điểm cần vẽ đường rẽ nhánh.
2. An 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 .
Kết thúc việc nối dây, mô hình được hiển thị như trên hình 2.8.
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. 8. 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 simulationParameter 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ín hiệu.
Muốn dừng mô phỏng thì chọn Stop hay Pause từ menu Simulation.
SVTH: Nguyễn Quốc Thành. Lớp: 01D3A.
Trang15
GVHD: TS. Phan Văn Hiền. Đồ án tốt nghiệp.
Hình 2.9 . Các cửa sổ hiển thị tín hiệu ra của sơ đồ.
Để lưu sơ đồ này ta chọn Save từ menu File, nhập tên file. File này sẽ chứa
mô hình đã vẽ.
II. 2 Hộp thoại Simulation parameters:
Trước khi tiến hành mô phỏng ta phải có những thao tác chuẩn bị nhất định:
Đó là khai báo tham số và phương pháp mô phỏng. Các thao tác chuẩn bị
được thực hiện ở hôp thoại này. Tại đây, tất cả các tham số đều được mặc định sẵn.
Tuy nhiên để thu được kết quả mô phỏng tốt nhất, phải chuẩn bị, đặt các tham số
phù hợp với mô hình Simulink cụ thể.
Hộp thoại Simulation parameters có 4 trang:
II. 2. 1 Solver
Tại trang solver ta có thể khai báo thời điểm bắt đầu và kết thúc, thuật toán
tích phân và phương pháp xuất kết quả của mô phỏng.
SVTH: Nguyễn Quốc Thành. Lớp: 01D3A.
Trang16
GVHD: TS. Phan Văn Hiền. Đồ án tốt nghiệp.
Simulink cung cấp cho ta một số thuật toán (Solver) khác nhau để giải bằng
số phương trình vi phân, đáp ứng một phổ khá rộng các bài toán đặt ra. Đối với hệ
gián đoạn ta có thể chọn thuật toán Discrete với bước tích phân linh hoạt
(variablestep) hay cố định (Fix- Step). Đối với hệ liên tục ta có các thuật toán
variable-step khác nhau như ode45, ode23, ode 2, ode1. ngoài ra, SIMULINK còn
có các thuật toán Variable-Step dùng để mô phỏng hệ thống cứng (hệ có tồn tại tần
số cao hơn động học của hệ rất nhiều. Ví dụ: các hệ thống cơ với trục kích cở lớn và
cứng nhưng có cộng hưởng).
Solver với thuật toán variable-step làm việc với bước tích phân linh hoạt.
Việc giải các phương trình vi phân được bắt đầu với bước khai báo tại Initial step
size. Nếu ngay khi mới bắt đầu đạo hàm của các biến trạng thái quá lớn, Solver sẽ
chọn giá trị bé hơn giá trị ghi tại ô Initial step size. Trong quá trình mô phỏng,
Simulink sẽ cố gắng giải phương trình vi phân bằng bước cho phép lớn nhất ghi tại
Max step size. Kích cỡ Max step size có thể tính như sau:
50
startimeStoptime
eMaxstepsiz
−
=
Hình 2.10. Trang Solver.
Do có khả năng thích nghi bước tích phân, thuật toán Solver với variable
step có thể giám sát biến thiên của các biến trạng thái từ thời điểm vừa qua đến thời
điểm hiện tại. Thêm vào đó thuật toán có thể nhận biết các vị trí không liên tục của
hàm như các đột biến dạng bước nhảy.
SVTH: Nguyễn Quốc Thành. Lớp: 01D3A.
Trang17
GVHD: TS. Phan Văn Hiền. Đồ án tốt nghiệp.
Solver với Fixed-step hoạt động với bước cố định và việc giám sát, phát hiện
các điểm không liên tục là không thể.
II. 2. 2 Workspace I/O.
Nhờ khai báo tại Workspace I/O ta có thể gửi số liệu vào. Hoặc đọc từ môi
trường MATLAB Workspace mà không cần sử dụng các khối như ToWorkspace,
From Workspace trong mô hình Simulink. Ngoài ra, ta có thể khai báo giá trị ban
đầu cho các biến trạng thái ở đây.
Hình 2. 11 . Trang WorkSpace I/O.
Nếu chọn ô Input, ta có thể khai báo tên các tập số liệu cần đọc từ
Workspace. Để đặt giá trị cho biến trạng thái, ta phải chọn ô initial State : tên của
biến đang giữ giá trị ban đầu. Trong ô Final State : khai báo để có giữ giá trị của lần
mô phỏng trước đó.
Biến ra của mô hình Simulink được cất bằng cách điền tên biến ra vào phân
điền của ô output. Sau khi đã kích hoạt output. Ô state: cất giữ biến trạng thái đó
vào Workspace. Trong ô format dùng để định dạng dữ liệu cất vào.
II. 2. 3 Diagnostics
Gồm hai ô khai báo dữ liệu: Consistency checking và Bounds checking.
Consistency checking chỉ cần khi sơ đồ Simulink có chứa các khối tự viết, đảm bảo
tính năng giống các khối thông thường. Bounds checking khống chế để không có số
liệu nào của khối bị ghi ra ngoài vùng nhớ dành riêng cho khối.
SVTH: Nguyễn Quốc Thành. Lớp: 01D3A.
Trang18
GVHD: TS. Phan Văn Hiền. Đồ án tốt nghiệp.
Hình 2.12 . Trang Diagnostics.
II. 2. 4 Advanced
Việc kích hoạt ô Inline Parameters sẽ phủ định khả năng thay đổi thông số
của các khối trong quá trình mô phỏng. Duy nhất chỉ có các thômg số liệt kê trong
danh sách Global Parameters là vẫn có thể thay đổi được. Vì các thông số không
thể thay đổi được bị coi là hằng số nên thời gian tính toán sẽ giảm đáng kể.
Tại ô Optimization ta có thêm vài khả năng khai báo tác động đến khối lượng
tính toán.
Hình 2.13 . Trang Advanced.
SVTH: Nguyễn Quốc Thành. Lớp: 01D3A.
Trang19
GVHD: TS. Phan Văn Hiền. Đồ án tốt nghiệp.
CHƯƠNG III.CÁC KHỐI CHỨC NĂNG TRONG THƯ VIỆN
SIMULINK
Những khối chức năng của Simulink được mô tả trong chương này nhằm
việc sử dụng Simulink được dễ dàng hơn.
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.
I. THƯ VIỆN SOURCES:
Khi nháy chuột kép vào kí hiệu Sources, cửa sổ của thư viện con với các
khối chức năng sẽ mở ra. Các khối chuẩn trong đó bao gồm các nguồn phát tín hiệu,
các khối cho phép nhập số liệu từ một file, hay từ Matlab Workspace. Sau đây ta lần
lượt điểm qua ý nghĩa của từng khối.
Hình 3.1.Thư viện SOURCES.
SVTH: Nguyễn Quốc Thành. Lớp: 01D3A.
Trang20
GVHD: TS. Phan Văn Hiền. Đồ án tốt nghiệp.
I. 1. Constant.
Khối Constant tạo nên một hằng số (không phụ
thuộc vào thời gian) thực hoặc phức. Hằng số đó có thể
là scalar, vector, hay ma trận tuỳ theo cách ta khai báo
tham số Constant Value và ô interpret vector parameters
as 1-D có được chọn hay không. Nếu ô đó được chọn, ta
có thể khai báo tham số constant value là vector hàng
hay cột với kích cở dưới dạng ma trận. Nếu ô đó không
được chọn, các vector hàng hay cột đó chỉ được sử dụng
như vector với chiều dài n, tức là tín hiệu 1-D.
I. 2. Step và Ramp.
Nhờ hai khối Step và Ramp ta có thể tạo nên các
tín hiệu dạng bậc thang hay dạng dốc tuyến tính, dùng
để kích thích các mô hình Simulink. Trong hộp thoại
block parameters của khối Step ta có thể khai báo giá trị
đầu/ giá trị cuối và cả thời điểm bắt đầu của tìn hiệu
bước nhảy. Đối với Ramp ta có thể khai báo đô dốc,
thời điểm và giá trị xuất phát ở đầu ra.
I. 3. Signal Generator và Pulse Generator.
Bằng Signal Generator ta có thể tạo ra các tín
hiệu kích thích khác nhau (ví dụ: hình sin, hình răng
cưa), còn Pulse Generator tạo ra chuổi xung hình chử
nhật. Biên độ và tần số có thể khai báo tuỳ ý. Đối với
Pulse Generator ta còn có khả năng chọn tỷ lệ cho bề
rộng xung (tính bằng % cho cả chu kỳ). Đối với cả hai
khối (giống như khối constant), ta có thể sử dụng tham
số tuỳ chọn Interpret vector parameters as 1-D để quyết
định các tín hiệu có giá trị scalar hay vector hay ma trận.
I. 4. Repeating Sequence.
Khối này cho phép ta tạo nên tín hiệu tuần hoàn
tuỳ ý. Tham số Time value phải là một vector thời gian
với các giá trị đơn điệu tăng. Vector biến ra output value
phải có kích cở phù hợp với chiều dài của tham số Time
Value. Giá trị lớn nhất của vector thời gian quyết định
chu kì lặp lại (chu kì tuần hoàn) của vector biến ra.
SVTH: Nguyễn Quốc Thành. Lớp: 01D3A.
Trang21
GVHD: TS. Phan Văn Hiền. Đồ án tốt nghiệp.
I. 5. Sine Wave.
Khối Sine Wave được sử dụng để tạo tín hiệu
hình sin cho cả hai loại mô hình: Liên tục và gián đoạn.
Những thông số: giá trị biên độ, tần số, pha, thời gian
lấy mẫu (chỉ áp dụng cho hệ gián đoạn).
I. 6. From Workspace.
Khối From Workspace đọc dữ liệu từ Matlab
Workspace để cung cấp cho mô hình Simulink. Các số
liệu lấy vào phải có dạng của biểu thức Matlab, khai báo
tại dòng Data. Ma trận này phải chứa ít nhất hai cột, cột
đầu tiên phải là vector thời gian (nó phải là giá trị tăng
đơn điệu). Nếu giá trị ngõ ra cần thời gian tại giữa hai
giá trị đã chọn thì ngõ ra phải là nội suy tuyến tính giữa
hai giá trị thời gian yêu cầu đặt trong ngoặc.
I. 7. From File.
Khối From File đọc dữ liệu từ một file MAT-
FILE có sẵn. Mat-File có thể là kết qủa từ một lần mô
phỏng trước đó, đã được tạo nên và cách đi nhờ khối to
File trong sơ đồ Simulink. Số liệu cất trong Mat-File
phải có định dạng một ma trận. Mỗi cột phải phải có giá
trị của n ngõ vào tại thời điểm cho trước (yếu tố đầu tiên
của cột). Sau đó, hàng thứ nhất là một vector thời gian
(so với From Workspace hàng và cột ngược nhau).
I. 8. Clock :
Khối Clock cung cấp vector theo thời gian. Mở
trong suốt thời gian mô phỏng, hiển thị thời gian liên tục
mà cuộc mô phỏng đang xảy ra. Điểm quan trọng là
Clock không phải là khối phát thời gian, mà chỉ là khối
hiển thị thời gian mô phỏng. Được phép nối với To
Workspace để chuyển vector thời gian vào trong
Matlab.
I. 9. Digital Clock:
Khối Digital Clock cung cấp thời gian cho hệ rời
rạc. Xác định thông số của thời gian lấy mẫu. Không
giống khối Clock.
SVTH: Nguyễn Quốc Thành. Lớp: 01D3A.
Trang22
GVHD: TS. Phan Văn Hiền. Đồ án tốt nghiệp.
II. THƯ VIỆN SINKS:
Thư viện con Sink bao gồm các khối xuất chuẩn của Simulink. Bên cạnh khả
năng hiển thị đơn giản bằng số, còn có các khối dao đông ký để biểu diển các tín
hiệu phụ thuộc thời gian hay biểu diễn hai tín hiệu trên hệ toạ độ x-y. ngoài ra còn
có khả năng xuất số liệu vào cửa sổ Matlab Workspace hay cất dưới dạng File.
Hình 3.2.Thư viện SINKS.
II. 1 Scope
Nhờ khối Scope ta có thể hiển thị các tín hiệu của
quá trình mô phỏng. Nếu mở cưa sổ Scope sẵn từ trước
khi bắt đầu mô phỏng, ta có thể theo dõi trực tiếp diễn
biến của tín hiệu. Ý nghĩa của các nút trên cửa sổ được
minh hoạ ở hình 3. 3.
SVTH: Nguyễn Quốc Thành. Lớp: 01D3A.
Trang23
GVHD: TS. Phan Văn Hiền. Đồ án tốt nghiệp.
Hình 3. 3. Đồ thị khối scope.
1. Biểu tương của máy in dung để in tín hiệu cuả quá trình mô phỏng.
2. Biểu tượng khai báo thông số của khối.
3, 4, 5. Dùng để zoom tín hiệu hiển thị.
6. Tự động giản đồ thị.
7. Lưu tín hiệu hiện hành.
8. Tìm lại tín hiệu trước đó.
9. Kết nối hay không kết nối ( khoá tín hiệu vào) khối scope.
II.2. To Workspace:
Khối To Workspace gửi số liệu ở đầu vào của
khối tới môi trường MATLAB Workspace dưới dạng
ma trận.
Thông số: Tên ma trận, giá trị giới hạn để xuất ra.
Mỗi một 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ếu sự mô phỏng cần số bước lớn hơn giá trị
limit 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 limit đã quy định.
Thông số thứ hai cuả hàng trong limit là tuỳ ý
(timestep: buớc thời gian), Matlab chỉ lưu giá trị n
chung. Thường vector thời gian không cần khoảng cách
đều; thông số thứ ba của limit cũng tuỳ ý nhưng có đặc
điểm là phải phù hợp với thời gian lấy mẫu với dữ liệu
được thu thập.
Ví dụ nếu bạn cài đặt thông số cho limit data points to last: [100, 3, 0. 4]
SVTH: Nguyễn Quốc Thành. Lớp: 01D3A.
Trang24
1
2
3
4
5
6
7
8
9
GVHD: TS. Phan Văn Hiền. Đồ án tốt nghiệp.
Ngõ ra của ma trận gồm 100 hàng (số cột tương ứng với chiều của khối vào)
mà giá trị mỗi lần tích trữ T =3∗ 0. 4 giây (s) có nghĩ là tạiT
o
=0, T
1
=1∗3∗0. 4
=1. 2, T
2
=2∗3∗0. 4 =2. 4, T
3
=3∗3∗0. 4 = 3. 6…T
k
= k ∗3∗0.4 (s).
II. 3.To File .
Khối To File lưu trữ dữ liệu dưới dạng Mat-file.
Số liệu mà To File cất có thể được From File đọc trực
tiếp mà không cần xử lý hay chế biến gì.
II. 4. XY Graph.
Hai đồ thị của hai tín hiệu sẽ được vẽ trên cửa sổ
đồ họa của Matlab. Đầu vào thứ nhất ứng với trục x, đầu
vào thứ 2 ứng với trục y. Trong hộp thoại Block
parameters ta có thể đặt giới hạn cho hai trục.
II. 5. Stop Simulation:
Khối Stop Simulation ngừng cuộc mô phỏng
ngay lậy tức khi ngõ vào bằng không. Khi nhiều tín hiệu
vào là đa biến nếu có một thành phần ngõ vào bằng
không thì cuộc mô phỏng cũng sẽ ngừng ngay lập tức.
II. 6. Display.
Khối display đưa tín hiệu ra là giá trị thực hoặc
phức tại thời điểm kết thúc mô phỏng.
III. THƯ VIỆN MATH OPERATIONS.
Thư viện con MATH OPERATIONS có một số khối với chức năng ghép
toán học các tín hiệu khác nhau. Bên cạnh các khối đơn giản nhằm cộng hay nhân
tín hiệu, trong Math còn có nhiều hàm (toán, lượng giác và logic) được chuẩn bị
sẵn. Sau đây ta chỉ mô tả ngắn một số khối quan trọng nhất.
SVTH: Nguyễn Quốc Thành. Lớp: 01D3A.
Trang25