Đó là hướng sử dụng có máy tính.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àng loạt cácphần mềm hỗ trợ theo thì MATLAB và SIMULINK là một phần mềm mà ứng dụng c
Trang 1LỜI NÓI ĐẦUNhững năm 1970 trở về trước, công cụ để nghiên cứu mô phỏng còn thô sơ Tớinăm 1970 đã có một sự phát triển mới, đặc biệt trong lĩnh vực điều khiển vũ trụ, côngnghiệp và quốc phòng Sang thập kỷ 80 khi kỹ thuật vi xử lý và máy tính được ứng dụngrộng rãi trong nghiên cứu và ứng dụng của mô phỏng – mô hình hóa lại chuyển qua mộtcách mạng mới Đó là hướng sử dụng có máy tính.
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àng loạt cácphần mềm hỗ trợ theo thì MATLAB và SIMULINK là một phần mềm mà ứng dụng của
nó trong mô phỏng – mô hình hóa 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 long MATLAB
đã tích hợp sẵn rất nhiều công cụ chuyên dùng để giải các bài toán khác nhau như: nhậndạng các đối tượng động học, điều khiển tối ưu, điều khiển bền vững, điều khiển mờ, xử
lý tín hiệu… Mô phỏng các hệ thống điều khiển tự động trong MATLAB cho phép ta sửdụng các mô hình toán học khác nhau của hệ thống hoặc đối tượng cần khảo sát như:dùng hàm truyền đạt, dùng hàm trạng thái, dùng mô hình sơ đồ cấu trúc như trongSIMULINK MATLAB cho phép ta khảo sát cá hệ thống điều khiển tự động trong miềntần số và miền thời gian Việc thiết kế các bộ điều khiển cũng được tiến hành trong miềnthời gian và bằng cả phương pháp tần số MATLAB còn cho phép liên kết tối đa môitrường để có thể tổ chức mô phỏng với mô hình bán tự nhiên, mô phỏng trong thời gianthực, và mô phỏng các hệ thống lớn
Một kỹ sư tự động hóa cần phải có khả năng phân tích và thiết kế hệ thống Do đó,việc tìm hiểu và nắm vững kiế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ỏng MATLAB & SIMULNIK là hết sức cần thiết
Với để tài “ Tìm hiểu các phần mềm mô phỏng MATLAB & SIMULINK” 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ầucủa bài toán Đặ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
Trang 2khiển cho hệ thống với mục đích làm cho hệ thống có những đặc tính như mong muốn làmục tiêu cuối cùng của các nhà kỹ thuật.
Với sự giúp đỡ nhiệt tình của thầy Lê Quốc Dũng cùng các thầy cô trong trường
đến nay đồ án môn học của em đã hoàn thành Vì kinh nghiệm năng lực còn nhiều hạnchế nên đồ án không tránh khỏi những thiếu sót Em kính mong được sự góp ý của cácthầy cô trong khoa, nhà trường để đồ án của em hoàn thiện hơn
Em xin chân thành cảm ơn!
Hà Nội, tháng 3 năm 2015 Sinh viên: Nguyễn Thị Minh Thúy
Trang 3CHƯƠNG I
SỰ HÌNH THÀNH VÀ PHÁT TRIỂN CỦA MATLAB-SIMULINK
1.1 Giới thiệu chung
Mô hình hóa- Mô phỏng là kĩ thuật cho phép xây dựng mô hình của hệ vật lí vàthực hiện thực nghiệm trên mô hình đó.Nó có vai trò quan trọng là cho phép quan sát quátrình, đáp ứng động của hệ thống thiết kế trước khi thực nghiệm trên thiết bị thực, là công
cụ hữu hiệu với chi phí thấp cho nghiên cứu, dễ sử dụng, dễ thay đổi phương án…Cónhiều phướng pháp để mô phỏng và mô hình hóa.Phương pháp mô phỏng được ứng dụngvào nhiều lĩnh vực khác nhau Ngày nay người ta đã phát triển nhiều phần mềm chyêndụng dùng cho mô hình hóa và mô phỏng Một trong những phần mềm được ứng dụngrộng rãi nhất hiện nay là MATLAB – SIMULINK được dùng để mô phỏng các hệ thốngđộng học Phần mềm này cung cấp cho các kĩ sư, các cán bộ kĩ thuật công cụ tính toánmạnh, một phương tiện mô phỏng, phân tích và tổng hợp các hệ thống động học
MATLAB (Matrix Laboratory) là một môi trường tính toán trên ma trận rất mạnh.Matlab được tích hợp một số Toolbox, đó là thư viện của các hàm hỗ trợ cho Matlab giảicác ứng dụng riêng biệt như: hệ thống điều khiển, xử lí tín hiệu, tối ưu hóa, nhận dạng,điều khiển bền vững v.v…
SIMULINK( trước đây gọi là SIMULAB) là một môi trường mô phỏng dựa trênnền Matlab và các Toolbox hệ thống điều khiển (Control System) và xử lí tín hiệu( Signal Processing) Vì vậy Simulink được coi là phần mở rộng của Matlab được dùng
để mô phỏng hệ thống động học Simulink cho phép lập trình ở dạng sơ đồ cấu trúc chonên rất thuận tiện trong việc mô phỏng và khảo sát các hệ thống điều khiển tự động
1.2 Lịch sử của sự hình thành và phát triển
MATLAB là viết tắt từ "Matrix Laboratory", được Cleve Moler phát minh vàocuối thập niên 1970, và sau đó là chủ nhiệm khoa máy tính tại Đại học New Mexico
Trang 4MATLAB, 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ại MATLABbằ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ở ma trận (matrix-based programming
language).
Steve Bangert là người đã viết trình thông dịch cho MATLAB Công việc này kéo dàigần 1½ năm Sau này, Jack Little kết hợp với Moler và Steve Bangert quyết định đưaMATLAB thành dự án thươ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ội nghị 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ếtbằng Fortran) mà không cần biết lập trì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 ma trậ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)
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ăng chuyển dịch
từ ngôn ngữ MATLAB sang ngôn ngữ C cũng được phát hành trong 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ộ truy sửa lỗi, và
Trang 5Năm 2000 MATLAB 6 cho đổi mới môi trường làm việc MATLAB, thay thế LINPACK
và EISPACK bằng LAPACK và BLAS.[1]
Năm 2002 MATLAB 6.5 phát hành đã cải thiện tốc độ tính toán, sử dụng phươ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ểu nguyê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ện Simulink cùng vớihơ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
CHƯƠNG II
CƠ SỞ VỀ MATLAB VÀ SIMULINK
MATLAB là một chương trình phần mềm lớn về lĩnh vực toán số Tên bộ chươngtrình chính là chữ viết tắt của MATrix LABoratory, thể hiện định hướng của chươngtrình là những phép tính vector và ma trận Phần cốt lõi của chương trình bao gồm một sốhàm toán, các chức năng nhập/xuất cũng như các khả năng điều khiển chu trình mà nhờ
đó có thể dựng lên các Scripts
Trong phần này bao gồm các Toolbox liên quan đến Điều khiển – Tự động hóanhư: Control system toolbox, Signal processing toolbox, Optimization toolbox, Stateflowblockset, Power system blockset, Real – Time workshop và Simulink Simulink là mộttoolbox có vai trò đặc biệt quan trọng, vai trò của một công cụ mạnh phục vụ mô hìnhhóa và mô phỏng các hệ thống kĩ thuật – vật lý trên cơ sở sơ đồ cấu trúc dạng khối Cùng
Trang 6với Simulink, Stateflow Blockset tạo cho ta khả năng mô hình hóa và mô phỏng cácautomat trạng thái hữu hạn.
2.1 Những bước đi đầu tiên với Matlab
2.1.1 Giới thiệu chương trình Matlab:
Hình 2.1: Giao diện của MatlabChương trình Matlab là một chương trình viết cho máy tính PC nhằm hỗ trợ chocá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 là do hai từ MATRIX và LABOORATORY ghép lại Chươngtrì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àitoá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ínhiệ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 chophé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ệnhhay 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ầnToolsbox (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
Trang 7quan trên Toolbox 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 va tiện lợi.
Matlab 3.5 trở xuống hoạt động trong môi trường MS-DOS
Matlab 4.0,4.2,5.1,5.2,… hoạt động trong môi trường Windows Các version4.0,4.2 muốn hoạt động tốt phảo sử dụng cùng với Window 6.0 Hiện tại đã có version5.31 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 caonhư C, C++, Fortran… Việc cài đặt Matlab thật dễ dàng và ta cần chú ý đến việc dùngthê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 khác thì làm việc trên hệ điều hành UNIX
Việc khởi động MATLAB trên mỗi hệ thống là khác nhau Trong môi trường
WINDOW hay MACINTOSH, chương trình thường được khởi động thông qua việc nhắpchuộ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, MSDOS, việckhởi động thông qua dòng lệnh:
:\ MATLAB enter
Sau khi khởi động Matlab, môi trường tích hợp với những cửa sổ chính như hìnhdưới:
Trang 8Hình 2.2: Màn hình Matlab
Cửa sổ thư mục hiện tại Curent Directory Browser: Nhờ cửa sổ này người sử dụng
nhanh chóng nhận biết, chuyển đổi thư mục hiện tại của môi trường công tác, mở File,tạo thư mục mới
Cửa sổ môi trường công tác Workspace Browser: Tất cả các biến, các hàm tồn tại
trong môi trường công tác đều được hiển thị tại cửa sổ này với đầy đủ các thông tin như:tên loại biến/ hàm, kích thước tùy theo byte và loại dữ liệu Ngoài ra còn có thể cất vàocác bộ nhớ các dữ liệu đó, hoặc sử dụng các chức năng Array Editor (soạn thảo mảng) đểthay đổi các biến
Cửa sổ Command Windows: Đây là cửa sổ chính của Matlab Tại đây ta thực hiện
toàn bộ việc nhập dữ liệu và xuất kết quả tính toán Dấu nhấp nháy “>>” báo hiệu chươngtrình sắp hoạt động
Mỗi lần nhập dữ liệu được kết thúc bằng động tác nhấn phím ENTER Nguyên tắc “nhân, chia thực hiện trước cộng, trừ” và thức tự ưu tiên của dấu ngoặc vẫn như thường
Số có giá trị lớn thường được nhập với hàm e mũ (có thể viết E) Có thể kết thúc chương
trình bằng cách đóng màn hình Matlab, hoặc gọi lệnh Quit, Exit hoặc nhấn tổ hợp phím
Trang 9Cửa sổ quá khứ Command History: Tất cả các lệnh đã sử dụng trong Command
Windows được lưu trữ và hiển thị tại đây, có thể lặp lại lệnh cũ bằng cách nháy đúp chuộtvào lệnh đó Cũng có thể cắt, sao hoặc xóa cả nhóm lệnh hoặc từng lệnh riêng rẽ
2.1.2 Các dạng File sử dụng trong Matlab
Làm việc với Matlab rất đơn giản và thuận tiện Có hai các làm việc: làm việc cửa
sổ lệnh và làm việc với các M-file Khi làm việc với của sổ lệnh, sau dấu nhắc củaMatlab “>>” người sử dụng đưa vào các công thức, các hàm, các lệnh để tính toán vàMatlab trả lời ngay sau mỗi lệnh Cách làm việc này giống như tính toán trên trang giấy,cho phép người sử dụng thử các phép tính các thuật toán rất thuận tiện
Làm việc với M-file: Matlab cho phép lập trình, chương trình là một dãy lệnh thựchiện một số nhiệm vụ tính toán nhất định Chương trình thực được ghi thành file mở rộnglag m với tên file tự đặt trước gọi là M.file Để chạy chương trình, sau dấu nhắc “>>” ta
gõ tên file không có phần mở rộng Lúc này Matlab M.file như command file hay scriptfile và chương trình được thực hiện theo tuần tự các lện đã xác định Bình thường khichạy chương trình các lệnh sẽ không hiển thị trên màn hình
Matlab có các lệnh cơ bản sau:
+ Các lệnh chung và gỡ rối
+ Các lệnh làm việc với ma trận và vecto
+ Các lệnh làm việc với hàm và đa thức
+ Các lệnh đồ họa 2D và 3D
+ Các lệnh xử lí tín hiệu và phân tích hệ thống
Ngữ pháp lập trình của Matlab rất đơn giản và gần giống các ngôn ngữ bậc caokhác như C, Basic và Fortran Sau đây là một số lệnh, hàm và cấu trúc thường dùng tronglập trình
+ Các phép toán quan hệ:
“<” nhỏ hơn “<=” nhỏ hơn hoặc bằng “==” bằng
“>” lớn hơn “>=” lớn hơn hoặc bằng “~=” không bằng
+ Các phép toán logic: AND, OR và NOT
+ Các lệnh điều kiện và vòng lặp: for, while và if-else
Trang 10Lệnh vòng lặp for có cú pháp như sau:
For biến = biểu thức, lệnh, lệnh,…,end
Các vòng for…end có thể lồng vào nhau
Lệnh vòng lặp while có cú pháp như sau:
While biểu thức, lệnh, lệnh,…end
Lệnh rẽ nhánh có điều kiện if…else…end Có ba dạng cấu trúc rẽ nhánh và có cú phápnhư sau:
If biểu thức, lệnh, lệnh,…,end
If biểu thức, lệnh, lệnh,…else lệnh, lệnh,…end
If biểu thức 1, lệnh, lệnh,…elseif biểu thức 2, lệnh, lệnh,…end
+ M-file: Script file và Function file
Hai dạng của M-file là Script file và Function file:
+ Script file chứa chương trình gồm một số lệnh để thực hiện nhiệm vụ tính toán đã định.khi chạy chương trình chỉ cần gõ tên file không có đuôi mở rộng m
+ Function file là lệnh mở rộng của matlab, tất cả các lệnh trong toolbox đều có dạngfunction Function có cú pháp như sau:
Function [biến ra1, biến ra 2,…] = filename( biến vào 1, biến vào 2,…)
Khác nhau cơ bản giữa Script và Function là Function chỉ dùng biến riêng của mình vàkhông tác động tới toàn bộ chương trình Dòng đầu tiên của Function file phải có chứ
“function”
2.2 Khái quát về Simulink
2.2.1 Giới thiệu chung về Simulink
Simulink được coi là phần mở rộng của Matlab Simulink được dùng để môphỏng, mô hình hóa, phân tích các hệ động học 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 từ 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
Trang 11Để mô hình hóa 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 dựng 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ácphần mềm trước đó mà người sử dụng phải đưa vào các phương trình vi phân và cácphương trình sai phân bằng một ngôn ngữ lập trình.
Điểm nhấn mạnh trong việc mô phỏng một quá trình là việc xây dựng đượ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ềukhiển, xây dựng mô hình hóa theo quan điểm của lí thuyết điều khiển và từ đó thành lậpnên mô hình của bài toán
Người sử dụng có thể thay đổi hoặc tạo ra khối riêng của mình và bổ xung vào thưviện như một khối ứng dụng mới Simulink có các thư viện sau: Sources, Sink, Linear,Nonlinear, Discrete, Connections, Extras
Mô hình simulink được xây dựng theo kiểu phân cấp điều đó cho phép người sửdụng có thể xây dựng mô hình theo hướng từ dưới lên trên hoặc từ trên xuống dưới.Dùng chức năng tạo mặt nạ của Simulink người ta có thể xây dựng các hệ con bằng cáchtạo hộp thoại và biểu tượng mới cho khối Ứng dụng quan trọng của mặt nạ là tạo ra hộpthoại để tiếp nhận thông số của các khối trong hệ con, ngoài ra mặt nạ còn làm cho môhình đơn giản, rõ ràng và bảo vệ nội dung của khối khỏi sự xâm nhập của người lạ Khithực hiện mô phỏng bằng Simulink người sử dụng vừa có thể quan sát hệ thống ở mứctổng quan, có thể xem chi tiết hoạt động của từng khối bằng cách nháy đúp chuột vàokhối đó Các khối Scope và khối hiển thị khác cho phép người sử dụng quan sát kết quảtrong khi đang chạy mô phỏng để biết được ảnh hưởng của các thông số đó đối với kếtquả các mô phỏng
Simulink có một đặc tính quan trọng là khi ta xây dựng mô hình dạng sơ đồ khốithì Simulink tự động tạo ra một M.file cho mô hình đó Hàm này được gọi là S- function.Cũng giống như các hàm khác trong Matlab, hàm S- function là một file mở, người sửdụng có thể truy cập và soạn thảo Lệnh để mở một S-function là sfun Điều đó có nghĩa
là để có thể soạn thảo chương trình mô phỏng mà không cần thông qua giao diện đồ thị
Trang 12Mặt khác Simulink cho phép chuyển đổi từ S- function sang sơ đồ khối và ngược lại.Như vậy rất thuận tiện cho người sử dụng
2.2.2 Khởi động Sinulink
Khởi động vào Matlab, sau đó có hai cách vào cửa sổ Simulink
Cách 1: Vào trực tiếp Simulink bằng cách nhấp chuột vào biểu tượng của MatlabCách 2: gõ lệnh
Trang 13Hình 2.3: Màn hình cửa sổ thư viện Simulink
Có các thư viện chính của Simulink được phân loại như sau:
Continuous: Hệ thống tuyến tính và liên tục
Discrete : Hệ thống tuyến tính gián đoạn
Discontinuities: Hệ thống gián đoạn
Logic and Bit Operations: Hoạt động Logic và Bit
Sinks: Các khối thu thập tín hiệu
Lookup Table:
Trang 14 Math Operations
Model Verification
Model Wide Utilities…
Thư viện 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…
2.3 Thư viện của Simulink
2.3.1 Thư viện Sources
Trong thư viện này bao gồm các nguồn dữ liệu, các khối cho phép nhập số liệu từ mộtFile, hay từ Matlab Workspace Sau đây ta lần lượt điểm qua ý nghĩa từng khối
a, Clock
Cung cấp vector theo thời gian
Mở trong suốt quá trình 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ốihiển thị thời gian mô phỏng Được kết nối với To Workspace để chuyển vector thời gianvào trong Matlab
b, Constant
Khối này tạo nên một hằng số (không phụ thuộc thời gian) thực hoặc phức Hằng số đó
có thể là vector hay ma trận… Ta có thể khai báo tham số Constant value là vector hànghay cột với kích cỡ [1 x n] hay [n x 1] dưới dạng ma trận
c, Step và Ramp
Trang 15Hai khối này 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 Đốivớ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.
Hai khối này không chỉ tạo ra một tín hiệu mà còn có thể tạo ra một tập các tínhiệu được xử lý dưới dạng vector hoặc ma trận
d, Signal Generator và Pulse Generator
Nhờ Signal Generator ta tạo ra các dạng tín hiệu kích thước 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
- Sóng vuông (Square)
- Sóng răng cưa (Sawtood)
- Sóng ngẫu nhiên (Random)
Với Pulse Generator tạo chuỗi xung hình chữ nhật Biên độ và tần số có thể khai báo tùy
ý Đối với Pulse Generator ta còn có khả năng chọn tỉ lệ cho bề rộng xung ( tính bằngphần tram cho cả chu kì)
e, Repeating sequence
Trang 16Khối này cho phép tạo nên một tín hiệu tuần hoàn tùy ý Tham số Time valuesphải là một vector thời gian với các giá trị đơn điệu tăng
Vector biến ra Output values phải có kích cỡ phù hợp với chiều dài của tham sốTime values Giá trị lớn nhất của vector thời gian quyết định chu kỳ lặp lại của vectorbiến ra
h, From File
Bằng khối này ta có thể lấy số liệu từ một MAT – File có sẵn MAT – File có thể
là kết quả của một lần mô phỏng trước đó, đã tạo nên và cất đi nhờ khối To File trong sơ
đồ Simulink
Trang 172.3.2.Thư viện Sinks
Thư viện này bao gồm các khối xuất chuẩn 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í để biểu diễn các tín hiệu phụ thuộc thờigian hay biểu diễn hai tín hiệu trên hệ tọa độ OXY
d, To File
Lưu trữ dữ liệu dưới dạng file
Những thông số: Tên file, tên ma trận
Trang 18Dữ liệu ở đây là một ma trận, hàng đầu tiên là một vecto thời gian, những cột khácnhau là biến ngõ ra.
e, Stop Simulation
Ngừng cuộc mô phỏng lập tức ngay 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 sẽ ngừng ngay lập tức
2.3.3.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ác nhau,
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àm phức tạp hơnnhư lượng giác và logic…
a, Sum và Subtract
Tín hiệu ra của khối Sum là tổng các tín hiệu đầu vào Khối Sum cũng có thể tínhtổng từng phần tử
b, Product và Dot Product
Khi 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
Trang 19Khối Dot Product tính tích vô hướng của các vector đầu vào Giá trị đầu ra củakhối tương đương với lệnh Mtalab y = Sum(conj(u1)*u2)
c, Math Function và Trigonometric Function
Hai khối này đều có thể xử lý tín hiệu 2D Khối Math Function có một lượng lớncác hàm toán đã được chuẩn bị sẵn cho phép ta lực chọn theo nhu cầu sử dụng Còn khôiTrigonometric Function có tất cả các hàm lượng giác quan trọng
d, Gain và Slider Gain
Khối Gain có tác dụng khuếch đại tín hiệu đầu vào bằng biểu thức khai báo tại ôGain Biểu thức đó chỉ có thể là một biến hay một số biến Biến đó phải tồn tại trong môitrường Matlab Workspace thì khi ấy Simulink mới tính toán được với biến
Khối Slider Gain cho phép thay đổi khuếch đại vô hướng trong quá trình môphỏng
2.2.4.Thư viện Constinuous
a, Integrator
Khối này lấy tích phân tín hiệu đầu vào của khối
Trang 20Các thông số là điều kiện vào
b, Derivative
Khối này cho phép tính đạo hàm tín hiệu đầu vào Tín hiệu tìm được ở đầu ra códạng Δuu/£t với £ là biến thiên của đại lượng cần tính kể từ bước tích phân liền trước đó.Giá trị đầu ra ban đầu là 0
c, Tranfer Fcn và Zero – Pole
Khối Tranfer Fcn cho phép mô hình hóa hàm truyền đạt của một hệ tuyến tính.Tham số của các khối là các hệ số của các đa thức tử số và mẫu số, khai báo theo thứ tự
số mũ giảm dần Bậc của mẫu số phải lớn hơn hoặc bằng bậc của tử số
Khối Zero – Pole sẽ tạo nên từ cá tham số Zeros, Poles và Gain một hàm truyềnđạt dưới dạng hệ số hóa theo điểm không, điểm cực
d, Transport Delay và Variable Transport Delay
Khối Transport Delay làm trễ tín hiệu vào khoảng thời gian ≥ 0 khai báo tại ôTime Delay trước khi xuất tới đầu ra Chỉ đến khi thời gian mô phỏng bắt đầu vượt quáthời gian trễ (so với lúc bắt đầu mô phỏng), khối Transport Delay mới xuất hiện giá trịkhai tại Initial Input tới đầu ra
Trang 21Bằng khối Variable Transport Delay có thể điều khiển trễ tín hiệu một cách rấtlinh hoạt: tín hiệu chứa thời gian trễ được đưa tới đầu vào thứ hai ( đầu vào phía dưới)của khối Tại ô Maxmum Delay ta phải khai một giá trị trễ tối đa, có tác dụng giới hạn(chặn trên) giá trị của tín hiệu điều khiển thời gian trễ
CHƯƠNG III ỨNG DỤNG CỦA MATLAB – SIMULINK
3.1 Ứng dụng Matlab – Simulik để phân tích và khảo sát hệ thống điều khiển tự động
trong miền thời gian và tần số
Trong phần này tôi sẽ trình bày một số lệnh của Matlab dùng để phân tích các hệ điềukhiển kinh điển, các hệ này cũng có trong Control System Toolbox của Matlab
Cho hàm truyền của một hệ điều khiển tự động G(s) = B(s)/A(s)
Trong đó: B(s) – biểu thức tử số (numerator)
A(s) – biểu thức mẫu số (denominator)Chúng ta quan tâm đáp ứng của hệ thống trong miền thời gian cũng như trongmiền tần số đối với các tín hiệu vào khác nhau như hàm xung, hàm bước nhảy, hàm điềuhòa,…
a, Miền thời gian
Chất lượng của các hệ thống tự điều khiển thường được đánh giá dựa trên đáp ứngthời gian ứng với các tín hiệu vào khác nhau Vì vậy đáp ứng thời gian có vai trò quantrọng trong việc phân tích và tổng hợp hệ thống
Để tìm đáp ứng của hệ G(s) khi tín hiệu vào là hàm bậc thang 1(t) Matlab dùng lệnh “STEP” Cú pháp như sau:
>> y = step(num,den,t)
Trang 22Trước tiên ta phải xác định trục thời gian t là một vectơ Giá trị đáp ứng ra cũng làmột vecto có cùng kích thước với vecto t Có thể dùng cá lệnh sau để tìm đáp ứng thờigian của hệ thống như:
Độ quá hiệu chỉnh (Percent Overshoot)