Báo cáo bài 5 Simulink:Khái niệm cơ bản và Hướng dẫn Simulink là một phần mở rộng đồ họa để MATLAB để mô hình hóa và mô phỏng hệ thống Trong Simulink, hệ thống này được vẽ trên màn hình
Trang 1Báo cáo bài 5 Simulink:
Khái niệm cơ bản và Hướng dẫn
Simulink là một phần mở rộng đồ họa để MATLAB để mô hình hóa và mô phỏng
hệ thống
Trong Simulink, hệ thống này được vẽ trên màn hình như sơ đồ khối Nhiều yếu
tố của sơ đồ khối có sẵn, chẳng hạn như các chức năng chuyển giao, nút giaothông tổng hợp, vv, cũng như đầu vào ảo và các thiết bị đầu ra như chức năngmáy phát và máy hiện song
Trang 2Mô hình tập tin
Trong Simulink, một mô hình là một tập hợp các khối mà, nói chung, đại diện chomột hệ thống Ngoài ra, để vẽ một mô hình thành một cửa sổ mô hình trống, mô
hình các tập tin đã lưu trước đó có thể được nạp hoặc từ các tập tin trình đơn
hoặc từ dấu nhắc lệnh MATLAB Như một ví dụ, tải về các tập tin mô hình sauđây bằng cách nhấp vào liên kết sau và lưu các tập tin trong thư mục mà ta đangchạy MATLAB từ
simple.mdl
Mở tập tin này trong Simulink bằng cách nhập vào lệnh sau trong cửa sổ lệnh
MATLAB (Ngoài ra, ta có thể tải tập tin này bằng cách sử dụng mở tùy chọn trong các file trình đơn trong Simulink, hoặc bằng cách nhấn Ctrl-O trong
Simulink)
đơn giản
Các cửa sổ mô hình sau sẽ xuất hiện
Một mô hình mới có thể được tạo ra bằng cách chọn New từ các tập tin trình
đơn trong bất kỳ cửa sổ Simulink (hoặc bằng cách nhấn Ctrl-N)
Các yếu tố cơ bản
Trang 3Có hai loại chính của các mục trong Simulink: khối và đường Khối được sử
dụng để tạo, chỉnh sửa, kết hợp, đầu ra, và hiển thị tín hiệu Dòng được sử dụng
để truyền tín hiệu từ một khối này sang khối khác
Blocks
Có một số các dạng khối trong thư viện Simulink:
Sources: được sử dụng để tạo ra các tín hiệu khác nhau
Sinks: được dùng để xuất hoặc biểu diễn tín hiệu
Continuous : các yếu tố hệ thống liên tục theo thời gian
Discrete: tuyến tính, các yếu tố hệ thống rời rạc theo thời gian (hàm truyềnrời rạc, các mô hình không gian trạng thái rời rạc, vv)
Operations Math: chứa nhiều hoạt động toán học phổ biến (Nhân, Tổng,kết quả, giá trị tuyệt đối, vv)
Đường
Đường truyền tín hiệu theo hướng chỉ của mũi tên Đường dây phải luôn luôntruyền tín hiệu từ các thiết bị đầu cuối đầu ra của một khối đến các thiết bị đầucuối đầu vào của khối khác Có một ngoại lệ là một dòng có thể là ngõ tắt củamột dòng khác, tách tín hiệu với nhau của hai khối đích, như hình dưới đây (bấmvào đây để tải về các mô hình tập tin gọi là split.mdl)
Trang 4Sửa Blocks
Một khối có thể được sửa đổi bằng cách nhấp đúp vào nó Ví dụ, nếu ta
double-click vào Transfer Function block trong Simple model, ta sẽ thấy hộp thoại sau.
Hộp thoại này chứa các thong số cho tử số và mẫu số của hàm truyền củakhối Bằng cách nhập vào một vector chứa các hệ số của tử số mong muốnhoặc đa số mẫu thức, hàm truyền mong muốn có thể được nhập vào Ví dụ, đểthay đổi mẫu số thành :
nhập đoạn mã sau vào Denominator :
[1 2 4]
và nhấn nút OK, cửa sổ Simulink sẽ thay đổi như sau:
Trang 5trong đó phản ánh sự thay đổi trong mẫu số của hàm truyền.
Phức tạp nhất trong ba khối là khối Scope Kích đúp chuột vào này sẽ trả về một
màn hình dao động trống
Trang 6Khi một mô phỏng được thực hiện, các tín hiệu mà nguồn cấp dữ liệu vào Scope
sẽ được hiển thị trong cửa sổ này Hoạt động chi tiết về Scope sẽ không được
đề cập trong hướng dẫn này Chức năng duy nhất, ta sẽ sử dụng là nútautoscale, xuất hiện như một cặp ống nhòm ở phần phía trên của cửa sổ
Chạy mô phỏng
Để chạy một mô phỏng, ta sẽ làm việc với các tập tin mô hình sau đây:
simple2.mdl
Tải về và mở file này trong Simulink Ta sẽ thấy cửa sổ mô hình sau đây
Trước khi chạy một mô phỏng của hệ thống này, đầu tiên mở cửa sổ Scopebằng cách kích đúp vào khối Scope Sau đó, để bắt đầu mô phỏng, hoặc
chọn Start từ Simulink menu, nhấn vào play ở phía trên cùng của màn hình,
hoặc nhấn Ctrl-T
Trang 7Các mô phỏng chạy rất nhanh và những cửa sổ Scope sẽ xuất hiện như hìnhdưới đây.
Lưu ý rằng các mô phỏng đầu ra (được tô màu vàng) đang ở mức rất thấp so với
các trục của các Scope Để khắc phục điều này, nhấn autoscale (ống nhòm)
Trang 8Lưu ý rằng các đáp ứng bước không bắt đầu cho đến khi t = 1 Điều này có thể
được thay đổi bằng cách nhấn đúp chuột vào các khối Step Bây giờ, ta sẽ thay
đổi các thông số của hệ thống và mô phỏng hệ thống một lần nữa Double-click
vào Transfer Function block trong cửa sổ mô hình và thay đổi mẫu số thành :
[1 20 400]
Chạy lại mô phỏng (nhấn Ctrl-T) và ta sẽ thấy những gì xuất hiện như một đường bằng phẳng trong Scope Nhấn autoscale , và ta sẽ thấy những điều
sau đây trong cửa sổ Scope
Chú ý rằng các nút autoscale chỉ thay đổi trục thẳng đứng Kể từ khi hàm
truyền mới có một đáp ứng rất nhanh, nó nén vào một phần rất nhỏ của các cửa
Trang 9sổ Scope Simulink mô phỏng hệ thống cho đầy đủ 10 giây ngay cả khi hệ thống
đã đạt đến trạng thái ổn định trong thời gian ngắn sau một hoặc hai giây
Để khắc phục điều này, ta cần phải thay đổi các thông số của mô phỏng chính
nó Trong cửa sổ simulink, chọn tham số cấu hình từ simulink menu Ta sẽ
thấy hộp thoại sau
Có rất nhiều tùy chọn tham số mô phỏng ta chỉ có thể thay đổi thời gian bắt đầu
và thời gian dừng Thay đổi Thời gian bắt đầu từ 0.0 đến 0,8 (kể từ khi bước không xảy ra cho đến khi t = 1,0) Thay đổi thời gian dừng từ 10,0 - 2,0, mà
phải là một thời gian ngắn sau khi hệ thống ổn định Đóng hộp thoại và chạy mô
phỏng Sau khi nhấn nút autoscale , cửa sổ Scope cung cấp một màn hình hiển
thị tốt hơn nhiều của các đáp ứng bước như hình dưới đây
Trang 10Xây dựng Hệ thống
Trong phần này, ta sẽ tìm hiểu làm thế nào để xây dựng các hệ thống trong
Simulink sử dụng các khối trong Thư viện khối của Simulink Ta sẽ xây dựng
các hệ thống sau đây
Trang 11Đầu tiên, ta sẽ thu thập tất cả các khối cần thiết từ thư viện Sau đó, ta sẽ sửađổi các khối để chúng tương ứng với các khối trong mô hình mong muốn Cuốicùng, ta sẽ kết nối các khối với đường để tạo thành hệ thống hoàn chỉnh Saucùng, ta sẽ mô phỏng các hệ thống hoàn chỉnh để kiểm tra rằng nó hoạt động.
Gathering Blocks
Thực hiện theo các bước dưới đây để thu thập các khối cần thiết:
Tạo một mô hình mới (New từ File hoặc nhấn Ctrl-N) Ta sẽ nhận được
một cửa sổ simulink trống
Click vào Sources bảng liệt kê trong cửa sổ Simulink chính.
Điều này sẽ mang đến những nguồn tin thư viện khối Nguồn được sử
dụng để tạo ra tín hiệu
Trang 12 Kéo Khối Step từ các nguồn vào phía bên trái của cửa sổ mô hình.
Nhấp chuột vào các Math Operations liệt kê trong cửa sổ Simulink
chính
Trang 13 Từ thư viện này, kéo một khối Sum và khối Gain vào cửa sổ simulink và đặt chúng vào bên phải của Khối Step theo thứ tự đó.
Click vào Continuous danh sách trong cửa sổ Simulink chính.
Đầu tiên, từ thư viện này, kéo một bộ điều khiển PID khối vào cửa sổ mô hình và đặt nó vào bên phải của khối Gain
Từ cùng một thư viện, kéo một khối Transfer Function vào cửa sổ mô hình
và đặt nó vào bên phải của khối điều khiển PID
Click vào Sinks
liệt kê trong cửa sổ
Simulink chính
Kéo Khối Scope
vào phía bên phải
của cửa sổ mô
Double-click vào Khối Gain Thay đổi tăng lên 2,5 và đóng hộp thoại.
Double-click vào bộ điều khiển PID và thay đổi tăng theo tỷ lệ 1 và đạt
được khâu tích phân là 2 Đóng các hộp thoại
Double-click vào Transfer Function block Để lại tử số [1], nhưng thay đổi
các mẫu thức thành [1 2 4] Đóng hộp thoại Mô hình này sẽ xuất hiện nhưsau:
Trang 14 Thay đổi tên của khối điều khiển PID để PI điều khiển bằng cách nhấn đúp chuột vào từ điều khiển PID.
Tương tự như vậy, thay đổi tên của Chuyển Chức năng khối tĩnh Bây giờ,
tất cả các khối được nhập đúng Mô hình của ta sẽ xuất hiện như:
Trang 15Kết nối Đường với các Khối
Thực hiện theo các bước sau
Kéo chuột từ các thiết bị đầu cuối đầu ra của Khối Step với đầu vào
của Sum đầu vào Một lựa chọn khác là nhấp vào Khối Step và sau đó Click vào khối Sum để kết nối Ta sẽ thấy sau đây.
Ctrl- Các đường dây nên có một mũi tên Nếu các đầu mũi tên được mở và đỏ,như hình dưới đây, nó có nghĩa là nó không được kết nối với bất cứ điều gì
Trang 16 Ngoài ra, nếu ta muốn vẽ lại đường, hoặc nếu đường dây nối vào terminalsai, ta nên xóa các đường và vẽ lại nó Để xóa một dòng (hoặc bất kỳ đốitượng khác), chỉ cần nhấp vào nó để chọn nó và nhấn phím delete.
Vẽ một đường ngang nối Khối Sum đầu ra cho Gain đầu vào Cũng vẽ một đường từ Gain để điều khiển PI, một đường từ khối điều khiển PI cho các khối chấp hành, và một đường từ khối chấp hành đến khối Scope Bây
giờ ta sẽ có như sau :
Các đường còn lại được rút ra là tín hiệu phản hồi kết nối đầu ra của khối
chấp hành vào đầu vào hiệu của Khối Sum Kéo một đường tắt phần âm
Trang 17của Khối Sum thẳng xuống và thả chuột để đường là không đầy đủ Từ điểm cuối của đường này, hãy nhấp và kéo vào đường giữa khối tĩnh và các
Scope Mô hình này sẽ xuất hiện như sau
Cuối cùng, nhãn sẽ được đặt trong mô hình để xác định các tín hiệu Đểđặt một nhãn bất cứ nơi nào trong mô hình, double-click vào điểm mà tamuốn nhãn được đặt Bắt đầu bằng cách nhấn đúp chuột lên trên đường dẫn
từ các khối Step Ta sẽ nhận được một hộp văn bản trống với một con trỏ
chỉnh sửa như hình dưới đây
Trang 18 Gõ r trong hộp này, ghi nhãn các tín hiệu tham chiếu và bấm vào bên
ngoài nó để kết thúc chỉnh sửa
Nhãn sai số xác lập (e, điều khiển tín hiệu(u), và đầu ra tín hiệu(y) trong
cùng một cách thức Mô hình cuối cùng của ta sẽ xuất hiện như:
Để lưu mô hình của ta, chọn Save As trong file menu và gõ vào tên bất kỳ mô hình mong muốn Các mô hình đã hoàn thành có thể được tìm thấy ở đây.
Trang 19Mô phỏng
Bây giờ các mô hình đã hoàn tất, ta có thể mô phỏng các mô
hình Chọn Start từ Simulink menu để chạy mô phỏng Double-click vào _Scope_block để xem đầu ra của nó Nhấn nút autoscale (ống nhòm) và ta sẽ
thấy như sau:
Lấy biến từ MATLAB
Đóng hộp thoại này Thông báo bây giờ mà Khối Gain trong mô hình Simulink
cho thấy các biến K chứ không phải là một con số
Trang 20Bây giờ, ta có thể chạy lại mô phỏng và xem các đầu ra trên Scope Kết quả sẽđược giống như trước đây.
Bây giờ, nếu có các tính toán được thực hiện trong MATLAB để thay đổi bất kỳcác biến sử dụng trong mô hình Simulink, mô phỏng sẽ sử dụng các giá trị mớitrong thời gian kế nó được chạy Để thử điều này, trong MATLAB, thay đổi độlợi, K, bằng cách nhập vào lệnh sau tại dấu nhắc lệnh
K = 5
Bắt đầu mô phỏng Simulink một lần nữa, đưa lên cửa sổ Scope, và nhấn
nút autoscale Ta sẽ thấy đầu ra sau đây thu được cao hơn
Trang 21Bên cạnh đó các biến và tín hiệu, thậm chí toàn bộ hệ thống có thể được trao đổigiữa MATLAB và Simulink.