1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

đồ án mô hình hóa mô phỏng

60 2,1K 12

Đ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

Thông tin cơ bản

Định dạng
Số trang 60
Dung lượng 1,24 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Với đề tài " Ứng dụng phần mềmMATLAB & SIMULINK để khảo sát các chỉ tiêu chất lượng của hệ thống điềukhiển tự động tuyến tính liên tục " , nhóm chúng em đã vận dụng được những ưuđiểm của

Trang 1

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ TỰ ĐỘNG

ĐỒ ÁN MÔN HỌC

MÔ HÌNH HÓA MÔ PHỎNG

Đề tài: Tìm hiểu về phần mềm mô phỏng Matlab &

Simulink

Giảng viên hướng dẫn : Ths LÊ QUỐC DŨNG

Sinh viên thực hiện : CHU VĂN TUẤN

Hà Nội, tháng năm 2017

Trang 2

LỜI MỞ ĐẦU

Thời đại của công nghệ thông tin phát triển mạnh mẽ, cùng với nó là hàngloạt các phần mềm hỗ trợ kèm theo, thì MATLAB & SIMULINK là một phầnmềm mà ứng dụng của nó trong điều khiển tự động quả là không nhỏ MATLAB

& SIMULINK là một ngôn ngữ mô phỏng đa năng Nó tạo môi trường đểSIMULINK thực hiện và để liên kết SIMULINK với bên ngoài Trong lòngMATLAB đã tích hợp sẵn rất nhiều công cụ chuyên dùng để giải các bài toánkhác nhau như: nhận dạng các đối tượng động học, điều khiển tối ưu, điều khiểnbền vững, điều khiển mờ, xử lý số tín hiệu Do đó, việc tìm hiểu vầ nắm vữngkiến thức về cơ sở lý thuyết điều khiển tự động và công cụ phần mềm mô phỏngMATLAB & SIMULINK là hết sức cần thiết Với đề tài " Ứng dụng phần mềmMATLAB & SIMULINK để khảo sát các chỉ tiêu chất lượng của hệ thống điềukhiển tự động tuyến tính liên tục " , nhóm chúng em đã vận dụng được những ưuđiểm của phần mềm này trong việc giải quyết các yêu cầu của bài toán điềukhiển tự động, Đặc biệt, việc phân tích, đánh giá chất lượng của hệ thống vàthiết kế bộ điều khiển cho hệ thống với mục đích làm cho hệ thống có những đặctính như mong muốn là mục tiêu cuối cùng của các nhà kỹ thuật Sau quá trìnhhọc tập rèn luyện và nghiên cứu tại trường, chúng em đã tích luỹ được vốn kiếnthức để thực hiện đề tài của mình Đến nay chúng em đã hoàn thành đề tài nàyvới nội dung như sau:

- CHƯƠNG 1: LỊCH SỬ HÌNH THÀNH VÀ PHÁT TRIỂN CỦA MATLAB

- CHƯƠNG 2: CƠ SỞ SIMULINK

- CHƯƠNG 3: GIỚI THIỆU CÁC CHỨC NĂNG CHÍNH

- CHƯƠNG 4: CÁC VÍ DỤ MINH HỌA TÍNH NĂNG CỦA PHẦN MỀM

Hà Nội, ngày tháng năm 2016 Sinh viên

Trang 3

LỜI CẢM ƠN

Trong quá trình thực hiện đề tài mặc dù gặp phải rất nhiều những vấn đề

khó khăn song với sự hướng dẫn của thầy Ths LÊ QUỐC DŨNG cùng với sự

chỉ bảo của các thầy cô giáo Khoa Công Nghệ Tự Động và sự lỗ lực khôngngừng, đến nay em đã hoàn thành đề tài Tuy nhiên, do kiến thức của em cònhạn chế, nên không thể tránh khỏi những thiếu sót Vì vậy em rất mong nhận

được những ý kiến đóng góp chân thành từ phía thầy Ths LÊ QUỐC DŨNG

cùng với sự chỉ bảo của các thầy cô giáo Khoa Công Nghệ Tự Động và các bạnđọc để đề tài này của em ngày càng hoàn thiện và phát triển lên mức cao hơntrong thời gian gần nhất

Em xin chân thành cảm ơn!

Trang 4

Đánh giá và nhận xét của GV hướng dẫn

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Giáo viên hướng dẫn

Ths Lê Quốc Dũng

Trang 5

MỤC LỤC

CHƯƠNG 1: LỊCH SỬ HÌNH THÀNH VÀ PHÁT TRIỂN CỦA MATLAB 1

1.1 Lịch sử hình thành và phát triển của Matlab & Simulink 1

1.2 Ngôn ngữ lập trình 2

1.3 Phạm vi ứng dụng của Matlab 2

CHƯƠNG 2: GIỚI THIỆU CƠ BẢN VỀ MATLAB & SIMULINK 5

2.1 Các khái niệm cơ bản trong Matlab 5

2.1.1 Một số phím chuyên dụng và lệnh thông dụng 5

2.1.2 Biến trong MATLAB 5

2.1.3 Các phép toán trong MATLAB 7

2.1.4 Số phức và các phép toán về số phức 11

2.1.5 Sử dụng các lệnh file lệnh (lập trình m-file) 11

2.2 Cơ sở về Simulink 15

2.2.1 Khởi động Simulink 15

2.2.2 Các thao tác cơ bản với Simulink 17

2.2.3 Tín hiệu và các loại dữ liệu 18

2.2.4 Thư viện của Simulink 19

CHƯƠNG 3: CÁC CHỨC NĂNG CHÍNH CỦA MATLAB & SIMULINK 27

3.1 Giới thiệu một số toolbox về tính toán số, phân tích dữ liệu, hiển thị đồ thị… .27 3.1.1 Symbolic toolbox 27

3.1.2 Control system toolbox – Công cụ khảo sát, thiết kế hệ thống điều khiển .30 3.1.3 Optimization toolbox – Công cụ tính toán tìm tối ưu 31

3.1.4 Signal processing toolbox – Công cụ xử lý tín hiệu 31

3.2 Giới thiệu về lập trình Matlab 31

3.2.1 Sơ lược lập trình Matlab 31

CHƯƠNG 4: CÁC VÍ DỤ MINH HỌA 33

4.1 MÔ PHỎNG ĐỘNG CƠ MỘT CHIỀU KÍCH TỪ ĐỘC LẬP BẰNG PHẦN MỀM MATLAB/SIMULINK 33

4.2 ỨNG DỤNG BỘ ĐIỀU KHIỂN PID ĐIỀU KHIỂN ĐỘNG CƠ MỘT CHIỀU 36

4.2.1 Thông số động cơ 36

4.2.2 Xây dựng sơ đồ cấu trúc 36

4.2.3 Mô phỏng hệ thống 38

4.3 SỬ DỤNG CÔNG CỤ SISOTOOL THIẾT KẾ HỆ THỐNG 40 4.4 THIẾT KẾ BỘ ĐIỀU KHIỂN MỜ DẠNG PID ĐỂ ỔN ĐỊNH HỆ THỐNG ĐIỆN 44

Trang 6

4.4.2 Mô hình hệ thống 44

4.4.3 Thiết kế bộ điều khiển 45

4.4.4 Mô phỏng 49

DANH MỤC TÀI LIỆU THAM KHẢO 51

Trang 7

CHƯƠNG 1: LỊCH SỬ HÌNH THÀNH VÀ PHÁT TRIỂN CỦA MATLAB 1.1 Lịch sử hình thành và phát triển của Matlab & Simulink

MATLAB là 1 phần mềm ứng dụng chạy trong môi trường Windows dohãng MathWorks sản xuất và cung cấp Có thể coi Matlab là ngôn ngữ của kỹthuật Nó tích hợp các công cụ rất mạnh phục vụ tính toán, lập trình, thiết kế, môphỏng, trong một môi trường rất dễ sử dụng trong đó các bài toán và các lờigiải được biểu diễn theo các ký hiệu toán học quen thuộc

Matlab là viết tắt từ "MATrix LABoratory", được Cleve Moler phát minhvào cuối thập niên 1970, và sau đó là chủ nhiệm khoa máy tính tại Đại học NewMexico MATLAB, nguyên sơ được viết bởi ngôn ngữ Fortran, cho đến 1980 nóvẫn chỉ là một bộ phận được dùng nội bộ của Đại học Stanford

Năm 1983, Jack Little, một người đã học ở MIT và Stanford, đã viết lạiMATLAB bằng ngôn ngữ C và nó được xây dựng thêm các thư viện phục vụcho thiết kế hệ thống điều khiển, hệ thống hộp công cụ (tool box), mô phỏng Jack xây dựng MATLAB trở thành mô hình ngôn ngữ lập trình trên cơ sở matrận (matrix-based programming language) Steve Bangert là người đã viết trìnhthông dịch cho MATLAB Công việc này kéo dài gần 1½ năm Sau này, JackLittle kết hợp với Moler và Steve Bangert quyết định đưa MATLAB thành dự ánthương mại - công ty The MathWorks ra đời thời gian này - năm 1984

Phiên bản đầu tiên MATLAB 1.0 ra dời năm 1984 viết bằng C cho MS-DOS

PC được phát hành đầu tiên tại IEEE Conference on Design and Control (Hộinghị IEEE về thiết kế và điều khiển) tại Las Vegas, Nevada Ban đầu Matlabđược phát triển để hỗ trợ sinh viên sử dụng hai thư viện LINPACK vàEISPACK dùng cho đại số tuyến tính (viết bằng Fortran) mà không cần biết lậptrình Fortran

Năm 1986, MATLAB 2 ra đời trong đó hỗ trợ UNIX

Năm 1987, MATLAB 3 phát hành

Năm 1990 Simulink 1.0 được phát hành gói chung với MATLAB

Năm 1992 MATLAB 4 thêm vào hỗ trợ 2-D và 3-D đồ họa màu và các matrận truy tìm Năm này cũng cho phát hành phiên bản MATLAB Student Edition(MATLAB ấn bản cho học sinh)

Trang 8

Năm 1993 MATLAB cho MS Windows ra đời Đồng thời công ty này cótrang web là www.mathworks.com

Năm 1995 MATLAB cho Linux ra đời Trình dịch MATLAB có khả năngchuyển dịch từ ngôn ngữ MATLAB sang ngôn ngữ C cũng được phát hànhtrong dịp này

Năm 1996 MATLAB 5 bao gồm thêm các kiểu dữ liệu, hình ảnh hóa, bộ truysửa lỗi (debugger), và bộ tạo dựng GUI

Năm 2000 MATLAB 6 cho đổi mới môi trường làm việc MATLAB, thaythế LINPACK và EISPACK bằng LAPACK và BLAS

Năm 2002 MATLAB 6.5 phát hành đã cải thiện tốc độ tính toán, sử dụngphương pháp dịch JIT (Just in Time) và tái hỗ trợ MAC

Năm 2004 MATLAB 7 phát hành, có khả năng chính xác đơn và kiểunguyên, hỗ trợ hàm lồng nhau, công cụ vẽ điểm, và có môi trường phân tích sốliệu tương tác

Đến tháng 12, 2008, phiên bản 7.7 được phát hành với SP3 cải thiệnSimulink cùng với hơn 75 sản phẩm khác

Năm 2009 cho ra đời 2 phiên bản 7.8 (R2009a) và 7.9 (R2009b)

Năm 2010 phiên bản 7.10 (R2010a) cũng đã được phát hành

Matlab được dùng rộng rãi trong giáo dục, phổ biến nhất là giải các bài toán sốtrị (cả đại số tuyến tính lẫn giải tích) trong nhiều lĩnh vực kĩ thuật

1.2 Ngôn ngữ lập trình

Ngôn ngữ lập trình dùng trong hệ tính toán số cũng có tên gọi là Matlab Nó thuộc kiểu lập trình thủ tục (với một số đặc điểm của lập trình hướng đối tượng mớiđược bổ sung trong các phiên bản gần đây)

1.3 Phạm vi ứng dụng của Matlab

Các ứng dụng điển hình là:- Toán học và tính toán

- Phát triển thuật toán

- Tạo mô hình, mô phỏng và tạo giao thức

- Khảo sát, phân tích số liệu

- Đồ hoạ khoa học kỹ thuật

- Phát triển ứng dụng, gồm cả xây dựng giao diệnngười dùng đồ hoạ GUI

Trang 9

Matlab là một hệ thống tương tác mà phần tử dữ liệu cơ bản là một mảng(array) không cần khai báo kích thước Điều này cho phép bạn giải nhiều bàitoán tính toán kỹ thuật đặc biệt là các bài toán liên quan đến ma trận và véc tơ.Matlab là viết tắt của hai từ tiếng Anh Matrix Laboratory (Phòng thí nghiệm

ma trận) Ban đầu Matlab được viết chỉ để phục vụ cho việc tính toán ma trận.Trải qua thời gian dài, nó đã được phát triển thành một công cụ hữu ích, mộtngôn ngữ của kỹ thuật Trong môi trường đại học, nó là một công cụ chuẩn chocác khoá học mở đầu và cao cấp về toán học, khoa học và kỹ thuật Trong côngnghiệp, nó là công cụ được lựa chọn cho việc phân tích, phát triển và nghiên cứuhiệu suất cao

Matlab cung cấp một họ các giải pháp theo hướng chuyên dụng hoá được gọi

là các Toolbox (hộp công cụ) Các toolbox cho phép người sử dụng học và ápdụng các kỹ thuật chuyên dụng cho một lĩnh vực nào đó Toolbox là một tập hợptoàn diện các hàm của Matlab (M-file) cho phép mở rộng môi trường Matlab đểgiải các lớp bài toán cụ thể Các lĩnh vực trong đó có sẵn các toolbox bao gồm:

Xử lý tín hiệu, hệ thống điều khiển, logic mờ, mô phỏng,

Hệ thống Matlab gồm có 5 phần chính:

- Ngôn ngữ Matlab: là một ngôn ngữ ma trận/ mảng cấp cao với các câu lệnh,hàm, cấu trúc dữ liệu, vào/ ra, các tính năng lập trình hướng đối tượng Nó chophép lập trình các ứng dụng từ nhỏ đến các ứng dụng lớn và phức tạp

- Môi trường làm việc Matlab: Đây là một bộ các công cụ và phương tiện màbạn sử dụng với tư cách là người dùng hoặc người lập trình Matlab Nó bao gồmcác phương tiện cho việc quản lý các biến trong không gian làm việc Workspacecũng như xuất nhập khẩu dữ liệu Nó cũng bao gồm các công cụ phát triển, quản

lý, gỡ rối và định hình M-file, ứng dụng của Matlab

- Xử lý đồ hoạ: Đây là hệ thống đồ hoạ của Matlab Nó bao gồm các lệnh caocấp cho trực quan hoá dữ liệu hai chiều và ba chiều, xử lý ảnh, ảnh động, Nócũng cung cấp các lệnh cấp thấp cho phép bạn tuỳ biến giao diện đồ hoạ cũngnhư xây dựng một giao diện đồ hoạ hoàn chỉnh cho ứng dụng Matlab của mình

Trang 10

- Thư viện toán học Matlab: Đây là tập hợp khổng lồ các thuật toán tính toán từcác hàm cơ bản như cộng, sin, cos, số học phức, tới các hàm phức tạp hơn nhưnghịch đảo ma trận, tìm trị riêng của ma trận, phép biến đổi Fourier nhanh.

- Giao diện chương trình ứng dụng Matlab API (Application Program Interface):Đây là một thư viện cho phép bạn viết các chương trình C và Fortran tươngthích với Matlab

Simulink, một chương trình đi kèm với Matlab, là một hệ thống tương tácvới việc mô phỏng các hệ thống động học phi tuyến Nó là một chương trình đồhoạ sử dụng chuột để thao tác cho phép mô hình hoá một hệ thống bằng cách vẽmột sơ đồ khối trên màn hình Nó có thể làm việc với các hệ thống tuyến tính,phi tuyến, hệ thống liên tục theo thời gian, hệ gián đoạn theo thời gian, hệ đabiến,

Trang 11

CHƯƠNG 2: GI I THI U C B N V MATLAB & SIMULINKỚ Ệ Ơ Ả Ề

2.1 Các khái niệm cơ bản trong Matlab

2.1.1 Một số phím chuyên dụng và lệnh thông dụng

- ↑ Hoặc Ctrl + p : Gọi lại các lệnh đã thực hiện trước đó

- ↓ Hoặc Ctrl + n : Gọi lại lệnh vừa thực hiện trước đó

- → Hoặc Ctrl + f : chuyển con trỏ sang bên phải 1 ký tự

- ← hoặc Ctrl + b: chuyển con trỏ sang trái một ký tự

- Dấu “;” dùng trong […] để kết thúc một hàng của ma trận hoặc kết thúcmột biểu thức hoặc câu lệnh mà không hiển thị kết quả ra mà hình

- ↵ nhảy xuống dòng dưới

- Ctrl + A hoặc Home : chuyển con trỏ về đầu dòng

- Ctrl + E hoặc End: Chuyển con trỏ đến cuối dòng

- BackSpace: Xoá ký tự bên trái con trỏ

- Esc: xoá dòng lệnh

- Ctrl + K : Xoá từ vị trí con trỏ đến cuối dòng

- Ctrl + C : Dừng chương trình đang thực hiện

- Clc : lệnh xoá màn hình

- Clf: Lệnh xoá màn hình đồ hoạ

- Input: lệnh nhập dữ liệu vào từ bàn phím

- Demo: lệnh cho phép xem các chương trình mẫu

- Help: lệnh cho phép xem phần trợ giúp

- Ctrl – c: Dừng chương trình khi nó bị rơi vào trạng thái lặp không kếtthúc

- Dòng lệnh dài: Nếu dòng lệnh dài quá thì dùng … ↵ để chuyển xuốngdòng dưới

2.1.2 Biến trong MATLAB

Đặc điểm của biến trong Matlab:

- Không cần khai báo biến và kiểu của biến Tuy nhiên trước khi gán mộtbiến thành một biến khác thì cần đảm bảo rằng biến ở bên phải của phépgán có một giá trị xác định

Trang 12

- Bất kỳ một phép toán nào gán một giá trị vào một biến sẽ tạo ra biến đónếu cần (biến đó chưa xác định) hoặc ghi đè lên giá trị hiện tại nếu nó đãtồn tại trong Workspace.

- Tên biến bao gồm một chữ cái sau một số bất kỳ các chữ cái, chữ số vàdấu gạch dưới Matlab phân biệt chữ in hoa và chữ in thường, vì vậy X và

x là hai biến phân biệt

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 in hoa Các lệnh của Matlab nói chung thường sử dụng chữ cái thường Việcphân biệt đó có thể được bỏ qua nếu chúng ta thực hiện lệnh : >> casensen off

2.1.2.2 Một số lệnh với biến:

- clear: lệnh xoá tất cả các biến đã đ-ợc định nghĩa trước trong chươngtrình

- clear biến1, biến 2 : xoá các biến được liệt kê trong câu lệnh

- Who: hiển thị các biến đã được định nghĩa trong chương trình

- Whos: hiển thị các biến đã được định nghĩa trong chương trình cùng vớicác thông số về biến

- Size (tên biến đã được định nghĩa): cho biết kích cỡ của biến dưới dạng

ma trận với phần tử thứ nhất là số hàng của ma trận, phần tử thứ 2 là sốcột của ma trận

- Save: Lưu giữ các biến vào một File có tên là Matlab mat

- Load: Tải các biến đã được lưu giữ trong một File đưa vào vùng làm việc

2.1.2.3 Một số biến đã được định nghĩa trước:

- ans: Answer - tự động gán tên này cho kết quả của một phép tính mà takhông đặt tên VD >> [ 1 2] ↵

ans =

Trang 13

1 2

- pi π = 3.1415926535897

- realmax: đưa ra giá trị của số lớn nhất mà máy tính có thể tính toán được

- realmin: đưa ra giá trị của số nhỏ nhất mà máy tính có thể tính toán được

- i, j: Đơn vị ảo của số phức

- inf: infinity- vô cùng lớn

- NaN: Not a number – biểu diễn dạng 0/0, /

- eps: Độ chính xác tương đối của dấu phẩy động Đây là dung sai Matlab

sử dụng trong các tính toán của nó

2.1.2.4 Biến toàn cục (global variables)

Matlab cho phép sử dụng cùng một biến cho các hàm hoặc giữa các hàm vàchương trình chính của Matlab, điều này được thực hiện thông qua việc khai báo

biến toàn cục:

Global tên1 tên2 tên3 …

(Tên các biến cách nhau bắng dấu khoảng trống, không sử dụng dấu phẩy) Việc khai báo biến toàn cục phải đ-ợc thực hiện ở chương trình chính hoặc ởfile lệnh (script) hoặc ở file hàm (function) có sử dụng các biến Biến toàn cục

có tác dụng cho đến khi kết thúc quá trình tính toán hoặc khi toàn bộ Workspaceđược xoá Không được đưa tên biến toàn cục vào danh sách các đối số của hàm.Khi sử dụng biến toàn cục các lệnh sau tỏ ra rất cần thiết:

• Clear global : Lệnh này cho phép loại bỏ các biến toàn cục

• Isglobal(Tên biến) : Lệnh này cho phép kiểm tra xem một biến nào đó cóphải là biến toàn cục hay không Nếu là biến toàn cục thì giá trị trả về sẽ là 1

2.1.3 Các phép toán trong MATLAB

Trang 14

c(i,j) = a(i,j)b(i,j)

Để phân biệt giữa phép toán ma trận và phép toán mảng người ta đưa thêmvào

trước các toán tử một dấu chấm “.”

Thứ tự ưu tiên trong phép toán số học:

Các phép toán logic và, hoặc, đảo được thực hiện bởi các toán tử sau:

- Phép và( and): Ký hiệu là &

VD: phép & 2 ma trận cùng cỡ A, B là một ma trận có các phần tử bằng 1 nếucác phần tử tương ứng của cả 2 ma trận đầu đều khác 0 và bằng 0 nếu 1 trong 2phần tử tương ứng của 2 ma trận bằng 0

Trang 15

- Phép hoặc (or) : Ký hiệulà |

VD : phép or 2 ma trận cùng cỡ A,B là một ma trận có các phần tử bằng 0 nếucác phần tử tương ứng của cả 2 ma trận đầu đều bằng 0 và bằng 1 nếu 1 trong 2phần tử tương ứng của 2 ma trận khác 0

- Phép đảo( not): Ký hiệu là ~

Ví Dụ : phép đảo của một ma trận là một ma trận có cùng cỡ với các phần tử cógiá trị bằng 1 nếu các phần tử của ma trận đầu có giá trị bằng 0 và bằng 0 nếucác phần tử của ma trận đầu có giá trị khác 0

• Ví dụ 1: Giải phương trình bậc hai ax2 + bx + c = 0

Ta biết các nghiệm của ph-ơng trình này có dạng:

Trang 17

imag(x): tìm phần ảo của số phức x.

conj(x): tìm số phức liên hợp của số phức x

abs(x): Tìm giá trị tuyệt đối của số phức x ( độ lớn )

angle(x): góc tạo bởi giữa trục thực và ảo

Bước 1: File / New/ M-file, Môi trường soạn thảo Editor / Debugger sẽ xuất hiệnBước 2: Trên màn hình soạn thảo, ta gõ các lệnh của Matlab

Bước 3: Ghi lại nội dung tập tin với tên vidu.m rồi thoát khỏi môi trường soạn thảo

để trở về cửa sổ lệnh (Matlab Command window)

Trang 18

Bước 4: Tại cửa sổ lệnh ta gõ tên tập tin.

>>vidu.m ↵

2.1.6 Cách tạo một hàm

Mỗi một file hàm của Matlab (M - file) đều được khai báo như sau:

Function [Tên kết quả] = tên hàm (danh sách các biến)

Phần thân của chương trình trong hàm là các lệnh của Matlab thực hiện việc tínhtoán giá trị của đại lượng được nêu trong phần tên kết quả theo các biến đượcnêu trong phần danh sách biến Các biến chỉ có tác dụng nội trong hàm vừa đượckhai báo Tên của các biến được cách nhau bằnh dấu phẩy (,)

Ví dụ ta thành lập hàm đổi từ độ sang radian:

function rad = change(do)

rad = do*pi/180; % doi do sang radian

Trong Matlab các dòng ghi chú sau dấu % không có tác dụng thực thi, chúngđơn giản là những dòng nhắc để người đọc chương trình dễ hiểu mà thôi

File.m thường lấy tên là tên của hàm, ta đặt tên file hàm vừa lập là change.m.Nếu muốn đổi 450

Trang 19

• Lệnh if đơn:

Cú pháp: if <biểu thức logic>

Nhóm lệnh;

endNếu biểu thức logic đúng nhóm lệnh sẽ đ]ợc thực hiện Nếu biểu thức logicsai thì ch]ơng trình chuyển đến lệnh sau end

Sau đó ghi (save) vào file có tên là ht.m

Quay lại cửa sổ MatLab command Window, gõ vào dòng lệnh sau:

endNhóm lệnh 4;

Nếu biểu thức logic 1 đúng thì

- Thực hiện nhóm lệnh 1

- Kiểm tra biểu thức logic 2

- Nếu đúng thực hiện nhóm lệnh 2

Trang 20

- Nếu sai bỏ qua nhóm lệnh 2

- Thực hiện nhóm lệnh 3

Nếu biểu thức logic 1 sai thì

- Thực hiện nhóm lệnh 4

Trang 21

2.2 Cơ sở về Simulink

2.2.1 Khởi động Simulink

Để có thể làm việc với Simulink, trước hết ta phải khởi động Matlab Nếu

chạy dưới hệ điều hành Linux, sau khi thực hiện lệnh simulink ta sẽ thu được cửa sổ thư viện của Simulink Nếu làm việc dưới Windows, sau khi gọi simulink

ta có cửa sổ tra cứu thư viện như sau:

Các thư viện con Source (các khối nguồn tín hiệu), Sinks (các khối xuất tín hiệu), Math (các khối ghép nối toán học) và Signals & Systems (các khối tín

hiệu và hệ con) sẽ được giới thiệu trong phạm vi chương này

Tính chất của các khối chức năng

Tất cả các khối chức năng đều được xây dựng theo một mẫu giống nhau nhưsau:

Trang 22

Mỗi khối có một hay nhiều đầu vào/ra (trừ trường hợp ngoại lệ: các khối

thuộc hai thư viện con Source và Sinks), có tên và ở trung tâm của hình khối chữ

nhật có biểu tượng thể hiện đặc điểm riêng của khối Người sử dụng có thể tuỳ ýthay đổi tên của khối (nháy kép phím chuột trái vào vị trí tên), tuy nhiên, mỗitên chỉ có thể sử dụng một lần duy nhất trong phạm vi cửa sổ mô hình môphỏng Khi nháy kép phím chuột trái trực tiếp vào khối ta sẽ mở cửa sổ tham số

Block Parameters (trừ các khối Scope, Slider Gain, Subsystem) và có thể nhập

thủ công các tham số đặc trưng của khối Khi nhập xong, nháy chuột trái vào nút

OK hay nút Apply để Simulink chấp nhận các tham số vừa nhập Nếu nháy kép

phím chuột trái vào nút Help ta sẽ mở cửa sổ của tiện ích trợ giúp trực tuyến.

Nháy một lần phím chuột phải trực tiếp vào khối có tác dụng mở menu chứa cáclệnh cho phép soạn thảo và lập định dạng khối

Simulink phân biệt hai loại khối chức năng: Khối ảo (vitural) và khối thực

(not vitural) Các khối thực đóng vai trò quyết định khi chạy mô phỏng mô hình

Simulink Việc thêm hay bớt một khối thực sẽ thay đổi đặc tính động học của hệ

thống đang được mô hình Simulink mô tả Có thể nêu nhiều ví dụ về khối thực như: khối Sum hay khối Product của thư viện con Math Ngược lại các khối ảo

không có khả năng thay đổi đặc tính của hệ thống, chúng chỉ có nhiệm vụ thay

đổi diện mạo đồ hoạ của mô hình Simulink Đó chính là các khối như Mux,

Demux, hay Enable thuộc thư viện con Signal & System Một số khối chức năng

mang đặc tính ảo hay thực tuỳ thuộc theo vị trí hay cách thức sử dụng chúng

trong mô hình Simulink.

Mô hình Simulink

Từ cửa sổ thư viện khối (Library) hay từ cửa sổ truy cập thư viện (Library

Browser) ta có thể tạo ra các cửa sổ mô phỏng mới bằng cách đi theo menu File / New / Model, hoặc mở các File có sẵn qua menu File / Open Một File Simulink khi được cất giữ sẽ có đuôi mdl.

Trang 23

2.2.2 Các thao tác cơ bản với Simulink

 Sao chép: Bằng cách gắp và thả “Drag & Drop” nhờ phím chuột phải là có

thẻ sao chép một khối từ thư viện con (cũng có thể từ một cửa sổ khác ngoàithư viện)

 Di chuyển: Ta có thể dễ dàng di chuyển một khối trong phạm vi cửa sổ củakhối đó nhờ phím chuột trái

 Đánh dấu: Bằng cách nháy phím chuột trái vào khối ta có thể đánh dấu, lựachọn từng khối, hoặc kéo chuột đánh dấu nhiều khối một lúc

 Xóa: có thể xóa các khối và các đường nối đã bị đánh dấu bằng cách gọi

lệnh menu Edit / Clear Bằng menu Edit / Undo hoặc tổ hợp phím Ctrl+Z ta

có thể cứu vãn lại động tác xóa vừa thực hiện

 Hệ thống con: Bằng cách đánh dấu nhiều khối có quan hệ chức năng, sau

đó gom chúng lại thông qua menu Edit / Create Subsystem, ta có thể tạo ra

một hệ thống con mới

 Nối hai khối: Dùng phím chuột trái nháy vào đầu ra của một khối, sau đó dimũi tên của chuột tới đầu vào cần nối Sau khu thả ngón tay khỏi phímchuột, đường nối tự động được tạo ra Có thể rẽ nhánh tín hiệu bằng cáchnháy phím chuột phải vào một đường nối có sẵn và kéo đường nối mới xuấthiện tới đầu vào cần nối

 Di chuyển đường nối: Để lưu đồ tín hiệu thoáng và dễ theo dõi, nhiều khi taphải di chuyển, bố trí lại vị trí các đường nối Khi nháy chọn bằng chuột trái

ta có thể di chuyển tuỳ ý các điểm góc hoặc di chuyển song song từng đoạnthẳng của đường nối

 Tạo vector đường nối: Để dễ phân biệt giữa đường nối đơn và đường nốicác tín hiệu theo định dạng vector, hoặc ma trận, hoặc mảng, ta có thể chọn

menu Format / Wide nonscalar lines để tăng bề dầy của đường nối.

 Chỉ thị kích cỡ và dạng dữ liệu của tín hiệu: Lệnh chọn qua menu Format /

Signal dimensions sẽ hiện thị kích cỡ của tín hiệu đi qua đường nối Lệnh

menu Format / Port data types chỉ thị thêm loại dữ liệu của tín hiệu qua

đường nối

 Định dạng cho một khối: Sau khi nháy phím chuột phải vào một khối, cửa

Trang 24

sổ định dạng khối sẽ mở ra Tại mục Format ta có thể lựa chọn kiểu và kích

cỡ chữ, cũng như vị trí của tên khối, có thể lật hoặc xoay khối Hai mục

Foreground Color và Background Color cho phép ta đặt chế độ mầu bao

quang cũng như mầu nền của khối

 Định dạng cho đường nối: Sau khi nháy phím chuột phải vào một đườngnối, cửa sổ định dạng đường sẽ mở ra Tại đây có các lệnh cho phép cắt bỏ,chép hoặc xoá đường nối

 Hộp đối thoại về đặc tính của khối: Hoặc đi theo menu của cửa sổ mô

phỏng Edit / Block Properties, hoặc chọn mục Block Properties của cửa sổ

định dạng khối, ta sẽ thu được hộp đối thoại cho phép đặt một vài tham sốtổng quát về đặc tính của khối

 Hộp đối thoại về đặc tính của tín hiệu: Có thể tới được hộp thoại Signal

Properties của một đường nối hoặc bằng cách nháy chuột đánh dấu đường

nối trên cửa sổ mô phỏng, sau đó đi theo menu Edit / Signal Properties từ

cửa sổ định dạng đường Trong hộp đối thoại ta có thể đặt tên cho đườngnối một cách đơn giản hơn: Nháy kép phím chuột trái vào đường nối ta sẽ

tự động tới được chế độ nhập văn bản

2.2.3 Tín hiệu và các loại dữ liệu

2.2.3.1 Làm việc với tín hiệu

Trong Simulink ta phân biệt ba loại kích cỡ tín hiệu:

Khi tạo Simulink, các khối ảo sẽ tạo nên các đường tín hiệu ảo, duy nhấtnhằm mục đích làm cho sơ đồ cấu trúc trở nên đỡ rối mắt, người sử dụng dễquản lý hơn Tín hiệu ảo có thể được 51hem51à sự tập hợp hình ảnh của nhiều

Trang 25

tín hiệu ảo, không ảo, hay hỗn hợp cả hai loại Trong quá trình mô phỏng,

Simulink sử dụng một thủ tục tên signal propagation để nhận biết: Những tín

hiệu thực nào được ghép vào 51hem tín hiệu ảo

Đối với các tín hiệu ảo ta có thể mở hộp thoại Signal Properties và khai chọn Show propagated signals Sauk hi khai chọn tên của tín hiệu sẽ tự động

được bổ sung 51hem phần trong ngoặc < >, cho biết các tín hiệu chứa trong đó.Bus tín hiệu là tập hợp các tín hiệu ảo riêng rẽ Khi tách Bus bởi bộ phận phân

kênh Demux ta sẽ không thể truy cập vào từng phần tử của mỗi tín hiệu, mà chỉ

có thể truy cập vào từng tín hiệu

2.2.3.2 Làm việc với các loại số liệu

Bên cạnh các đặc điểm đã được giới thiệu, mỗi tín hiệu thuộc sơ đồ cấu trúcSimulink đều được gán một loại số liệu nhất định, và do đó quyết định đếndung lượng bộ nhớ dành cho một tín hiệu Simulink cũng hỗ trợ tất cả các loại

số liệu của Matlab

 double: chính xác cao, dấu phẩy động.

 single: chính xác vừa, dấu phẩy động.

 int8, uint8, int16, uint16, int32, uint32: số nguyên 8-, 16- hay 32-

bit có / không có dấu

 52oolean: biến logic 0 hoặc 1.

Loại số liệu mặc định sẵn của Simulink là double Trong quá trình mô

phỏng, Simulink sẽ kiểm tra xem việc đảo giữa các loại số liệu có đúng haykhông, nhằm loại trừ các kết quả sai lầm có thể xảy ra

Khả năng khai báo, xác định loại số liệu của tín hiệu cũng như của tham sốthuộc các khối chức năng trong Simulink là đặc biệt có ý nghĩa, nếu ta dự địnhtạo ra từ mô hình Simulink mã chạy cho các ứng dụng thời gian thực Nhu cầu

về bộ nhớ và tốc độ tính toán phụ thuộc vào loại số liệu được ta chọn

2.2.4 Thư viện của Simulink

Thư viện Sources

Trang 26

Trong thư viện này 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 từng khối

- Constant: Khối này 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à vector hay ma trận…ta có thể khaibáo tham số constant value là vector hàng hay cột với kích cỡ [n×1] hay[1×n] dưới dạng ma trận

- Step và Ramp: Nhờ hai khối này ta có thể tạo ra 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 Tronghộ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 mà giá trị xuất phát của tín hiệu đầu

ra Chú ý 2 khối Step và Ramp không chỉ tạo ra một tín hiệu mà có thểtạo ra một tập các tín hiệu được xử lý dưới dạng vector hoặc ma trận

- Signal Generator và Pulse Generator: Nhờ signal Generator ta tạo ra

các dạng tín iệu kích thích khác nhau

Cung cấp cho 4 dạng sóng khác nhau (giống như máy phát sóng):

+ Sóng sin

Trang 27

+ Sóng vuông (square).

+ Sóng răng cưa (sawtooth)

+ Sóng ngẫu nhiên (random)

Với Pluse Generator tạo chuỗi xung hình chữ nhật Biên độ và tần số có thể khaibáo tùy ý Đối với Pluse Generator ta còn có khả năng chọn tỉ lệ cho độ rộngxung (tính bằng phần trăm cho cả chu kỳ)

- Repeating Sequence: Khối này cho phép ta tạo nên một tín hiệu tuần

hoàn tùy ý 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ỡ chiều dài 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 của vector biến ra

- Sine Wave: Khối này được sử dụng để tạo tín hiệu hình sin cho cả 2 loại

mô hình liên tục (tham số Sample Time = 0) và gián đoạn (tham sốSample Time = 1)

Trang 28

- From Workspace: Có nhiệm vụ lấy số liệu từ cửa sổ Matlab Workspace

để cung cấp cho mô hình Simulink Các số liệu lấy có phải dạng của biểuthức Matlab khai báo tại dòng data

- From file: Bằng khối này ta có thể lấy số liệu từ 1 file có sẵn

Mat-file có thể là kết quả của một lần mô phỏng trước đó, đã được tạo nên vàcất đi nhờ khối To file trong sơ đồ Simulink

Thư viện Sinks

Thư viện này bao gồm các khối xuất của Simulink Ngoài khả năng hiển thịđơn giản bằng số, còn có các khối dao động kín để 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ệ tọa độ XY

- Scope: Nhờ khối này ta có thể thấy các tín hiệu trong quá trình mô

phỏng

Trang 29

- XY Graph: Khối này biểu diễn 2 tín hiệu đầu vào trên hệ tọa độ XY

dưới dạng đồ họa Matlab, đầu vào thứ nhất (bên trái) ứng với trục X, đầuvào thứ 2 ứng với trục Y

- To Workspace: Khối này gửi số liệu ở đầu vào của khối tới môi trường

Matlab Workspace dưới dạng mảng (Arry), Stracture with time và lấychuỗi kí tự khai tại Variable name để đặt tên cho tập số liệu được ghi

- To file: Khối này giúp ta cất tập số liệu (mảng hay ma trận) ở đầu vào

của khối cùng với vector thời gian dưới dạng Mat-file Arry định dạnggiống như định dạng mà khối From file cần vì vậy số liệu do To file cất

có thể được From file đọc trực tiếp mà không cần xử lí gì

Trang 30

Thư viện Math

Thư viện này có một số khối có chức năng ghép toán học các tín hiệu khácnhau, có những khối đơn giản chỉ nhằm cộng hay nhân tín hiệu còn có các hàmphức tạp như lượng giác và logic…Sau đây ta xét chức năng của một số khốiquan trọng trong thư viện này

- Sum: Tín hiệu ra của khối là tổng của các tín hiệu đầu vào (ví dụ như tín

hiệu đầu vào các tín hiệu hình sin thì tín hiệu ra cũng là các tín hiệu hìnhsin) Khối Sum cũng có thể tính tổng từng phần tử

Hình 3.20: Khối Sum

- Product và Dot Product:

+ Khối Product: Thực hiện phép nhân từng phần tử hay nhân ma trận cũng như

phép chia giữa các tín hiệu vào (dạng 1-D hay 2-D) của khối ví dụ nếu một khốiProduct có tham số Number of inputs = */*, với 3 tín hiệu vào là 5, sin(x) và [4

4 5 6] khi ấy tín hiệu đầu ra có dạng [20/sinx 20/sinx 25/sinx 30/sinx]

+ Khối Dot product: Tính tích vô hướng của các vector đầu vào.

- Math Function và Trigonometric Function: Cả 2 khối này đều có thể

xử lý tín hiệu 2-D Khối Math Function có một lượng lớn các hàm toán

đã được chuẩn bị sẵn cho phép ta lựa chọn theo nhu cầu sử dụng Cònkhối Trigonometric Function có tất cả các hàm lượng giác quan trọng

Ngày đăng: 01/07/2017, 11:20

HÌNH ẢNH LIÊN QUAN

Hình 3.20: Khối Sum - đồ án mô hình hóa mô phỏng
Hình 3.20 Khối Sum (Trang 28)
Hình 3.2: Mặt S trong không gian 3 chiều - đồ án mô hình hóa mô phỏng
Hình 3.2 Mặt S trong không gian 3 chiều (Trang 33)
Sơ đồ mô phỏng Simulink - đồ án mô hình hóa mô phỏng
Sơ đồ m ô phỏng Simulink (Trang 42)
Bảng 2: TWO-AREA POWER SYSTEM PARAMETERS - đồ án mô hình hóa mô phỏng
Bảng 2 TWO-AREA POWER SYSTEM PARAMETERS (Trang 54)

TỪ KHÓA LIÊN QUAN

w