III. Sử dụng SIMULINK trong mô phỏng các hệ động lực
2. Chức năng và thao tác trên các khối thông dụng
2.2. Nhóm các khối thực hiện việc gọi hàm từ Matlab và hàm truyền
từ Matlab và hàm truyền
1) Khối Look-Up Table (nhận tín hiệu từ vectơ đã có)
- Khối Look-Up Table được sử dụng rộng rãi khi tín hiệu vào có những điều kiện giá trị đặc biệt tại từng thời điểm. Nó gồm 2 tín hiệu: 1 tín hiệu vào (thơng thường là thời gian) và 1 tín hiệu ra. Ví dụ, nếu chúng ta đã có dữ liệu về các thời điểm vận tốc (véc tơ "vv") được xác định tại các thời điểm (véctơ "tt") thì tín hiệu vào là thời gian (khối "clock") và các thông số khai báo của khối Look-up table được chỉ ra trong hình dưới
2) Khối Matlab Fcn (các hàm sẵn có của Matlab )
Thơng số trong khối này được chỉ ra trong ô "Matlab function": nó cho phép chúng ta sử dụng các hàm chuẩn sẵn có trong Matlab (hình dưới). Chú ý phân biệt khi nhập lệnh (tên hàm) phải là hàm sẵn có trong Matlab.
3) Khối Fcn (khai báo 1 hàm theo qui cách của MATLAB)
- Đây là 1 khối cho phép mô tả công thức toán học một cách đơn giản mà trong thư viện chuẩn của Matlab chưa có, nó cũng gồm 1 tín hiệu vào và 1 tín hiệu ra. Thơng số của hàm (định nghĩa hàm) được khai báo trong ơ "Expression" như hình vẽ dưới
2.2. Nhóm các khối thực hiện thao tác toán học (Math)
1) Khối Sum (Cộng)
Khối này thực hiện phép cộng các đại lượng, được thể hiện thơng qua các tín hiệu vào (có 2 hoặc nhiều tín hiệu vào), kết quả đưa ở 1 tín hiệu ra. Khi nhấp đúp chuột vào khối sẽ cho ra bảng thông số như hình vẽ dưới cho phép người dùng định dạng số tín hiệu vào và hình thức thể hiện khối.
- Trong dịng "Icon shape": lựa chọn hình thức thể hiện là hình trịn (round) hoặc hình chữ nhật (rectangular) tuỳ theo ý muốn của người dùng.
- Trong ô "List of signs": nhập số lượng và phép tính (cộng/trừ). Ví dụ trên hình vẽ nếu cần 2 đại lượng cộng với nhau thì ta cần nhập 2 dấu "+".
2) Khối Gain (nhân với 1 hằng số)
Khối này gồm 2 tín hiệu (1 vào, 1 ra), thực hiện phép nhân đại lượng vào với 1 hằng số "x" được khai báo trong khối, giá trị của x có thể được nhập trực tiếp hoặc là 1 hằng số được khai báo sẵn khi chạy trong cửa sổ lệnh của Matlab. Cách nhập thông số của khối thể hiện bên dưới.
3) Khối Math Function (các hàm cơ bản trong Matlab)
Đây là khối cho phép thực hiện 1 số hàm cơ bản trong Matlab, ý nghĩa cũng giống như Matlab function. Ưu điểm là người sử dụng lựa chọn trong danh sách các hàm có sẵn mà không cần nhớ tên hàm. Nhược điểm là số lượng hàm cịn ít.
Để gọi hàm cần lựa chọn hàm trong ơ "Function" như hình vẽ dưới đây.
4) Khối Dot Product (thực hiện phép nhân tích vơ hướng của 2 vectơ)
Khối này có 2 tín hiệu vào là 2 vẽ tơ và 1 tín hiệu ra là giá trị vô hướng
5) Khối Product (thực hiện phép nhân 2 vectơ)
Khối này thực hiện phép nhân các phần tử tương ứng của 2 vectơ (giống như tốn tử "."). Nó có thể có 2 hoặc nhiều tín hiệu vào và 1 tín hiệu ra. Số lượng tín hiệu vào được khai báo trong ơ "Number of inputs" như hình dưới đây
Ngồi ra, trong nhóm Math cịn có nhiều khối hàm tốn học khác: abs, sin, ... Trên đây chỉ là một số khối cơ bản hay sử dụng nhất mà thơi.
2.4. Nhóm các khối xử lý tín hiệu
1) Khối Sub System (môđun con)
Sub system là một hệ thống nhánh (môđun con) trong cả bài tốn cụ thể. Subsystem có thể được tạo ra theo 2 cách:
- Cách 1: Trong 1 ô cửa sổ đang mở của Simulink, đánh dấu tất cả các khối, sau đó bấm chuột phải, rồi lựa chọn "Creat subsystem". - Cách 2: Sử dụng khối "Sub System"
Khối Subsystem có thể có nhiều cổng (tín hiệu) vào hoặc ra, tuỳ theo ý muốn của người sử dụng. Các tín hiệu vào (Input) và các tín hiệu ra
(Output) được qui định khi đặt các cổng (In và Out) (xem thêm phần nhóm Sinks, cổng vào, ra)
2) Khối In (khai báo cổng vào trong Subsystem)
Đây là khối thực hiện việc khai báo cổng vào cho Subsystem. Mỗi tín hiệu vào Subsystem cần phải có 1 khối In3) Khối Out (khai báo
cổng ra trong Subsystem)
Đây là khối thực hiện việc khai báo cổng ra cho Subsystem. Mỗi tín hiệu ra Subsystem cần phải có 1 khối Out.
4) Khối Mux (Trộn tín hiệu)
Khối Mux cho phép trộn nhiều tín hiệu vào thành 1 tín hiệu ra tổng hợp. Số tín hiệu vào được khai báo khi nhấp đúp chuột vào biểu tượng khối.
5) Khối Demux (Phân rã tín hiệu)
Ngược với khối Mux là khối Demux, nó cho phép phân rã 1 tín hiệu vào tổng hợp thành nhiều tín hiệu ra. Chú ý khi trộn tín hiệu vào là bao nhiêu tín hiệu riêng lẻ hay tổng hợp thì khi phân rã cũng bấy nhiêu tín hiệu như vậy.
7) Khối Goto (Ghi lại tín hiệu với tên định sẵn)
Khối Goto cho phép ghi lại tên tín hiệu với tên định sẵn tuỳ theo người sử dụng. Khối này thường sử dụng khi không muốn lưu trữ nhiều Subsystem, cũng như để tránh việc nối chồng chéo các tín hiệu giữa các Subsystem với nhau. Sự kết hợp của 2 khối Goto và From sẽ rất hiệu quả, giúp cho người sử dụng dễ quan sát và liên kết các khối được chính xác. Tên của tín hiệu được định tuỳ theo người sử dụng, cho ở trong ơ "Tag" như hình vẽ dưới:
8)
Khối From (Nhận tín hiệu với tên định sẵn)
Như đã trình bày ở trên, khi tín hiệu có tên định trước, có thể gọi chính xác tín hiệu đó làm đầu vào mà khơng cần nối tín hiệu. Tên của tín hiệu được định tuỳ theo người sử dụng bằng cách lựa chọn các tín hiệu đã có sẵn tên trong bảng (được định ra sau khi sử dụng khối Goto), cho ở trong ô "Tag" hoặc lựa chọn khi bấm "Select tag" như hình vẽ dưới:
2.4. Nhóm các khối thực hiện chức năng xuất kết quả (Sinks)
1) Khối Display (hiển thị kết quả ra màn hình)
Khối này cho phép hiển thị các kết quả của quá trình mơ phỏng ra màn hình, kết quả được đưa vào từ 1 tín hiệu vào.
2) Khối Out (đưa tín hiệu ra)
Chức năng của khối này đã trình bày ở trên.
3) Khối Scope (hiển thị kết quả bằng đồ thị trong Simulink)
Khối này thể hiện kết quả tính tốn theo thời gian mơ phỏng. Kết quả tính sẽ được thể hiện như hình dưới đây. Trong đó khi nhấp đúp vào biểu tượng "Autoscale" cho phép chúng ta quan sát một cách tổng thể toàn bộ kết quả. Các nút Zoom in và zoom out cho phép phóng to, thu nhỏ để quan sát các kết quả thu được từ q trình mơ phỏng
4) Khối To Workspace (đưa kết quả tính tốn lưu trữ vào bộ nhớ chương trình)
Khối này thực hiện việc đưa tín hiệu vào mơi trường làm việc (bộ nhớ) của chương trình Matlab. Kết quả được lưu trữ trong bộ nhớ tạm thời khi Matlab đang hoạt động. Từ đó có thể có tác động tiếp theo đến tín hiệu (kết quả) xuất ra (như vẽ đồ thị, lưu trữ, xuất dữ liệu...). Khi nhấp đúp vào biểu tượng khối, tên của biến (tín hiệu xuất ra được nhập trong ơ "Variable name" như hình vẽ dưới đây.
2.5. Nhóm các khối thực hiện chức năngnhập dữ liệu (Sources) nhập dữ liệu (Sources)
1) Khối Constant (tín hiệu nhập vào là hằng số)
Khối này đưa tín hiệu (kích động) đầu vào là hằng số theo thời gian. Khi nhấp đúp vào biểu tượng của khối, cho phép nhập giá trị của tín hiệu trong ô "Constant value" như hình vẽ dưới.
2) Khối In (nhập tín hiệu vào qua cổng vào)
Chức năng của khối này đã trình bày ở trên
3) Khối Clock (nhập tín hiệu vào là thời gian)
Tín hiệu vào được nhập là thời gian, tương ứng với thời điểm tích phân, rất hiệu quả khi tín hiệu vào là một hàm thời gian hay quá trình nội suy theo thời gian.
4) Khối From Workspace (nhập tín hiệu từ biến trạng thái trong bộ nhớ)
Dữ liệu nhập vào là tên biến đang lưu trữ trong bộ nhớ của matlab trong quá trình chạy. Khi nhấp đúp chuột vào biểu tượng khối, tên của
biến được nhập trong ơ "Data" như hình vẽ dưới đây
5) Khối Signal Buider (nhập tín hiệu dạng đặc biệt)
Tín hiệu vào được nhập dưới dạng đặc biệt nhờ khối signal buider. Khi nhấp đúp chuột vào biểu tượng khối sẽ hiện ra cửa sổ như hình vẽ dưới. Chúng ta có thể thêm, bớt hoặc thay thế kiểu dạng tín hiệu khi bấm vào menu signal như trên hình đề có được tín hiệu dạng hàm sin, hình thang hay các hằng số…
Để điều khiển các thông số thực hiện q trình mơ phỏng, nhấp chuột vào "Simulation\Configuration Parameters", khi đó sẽ hiện ra cửa sổ cho phép điều khiển các thơng số cho q trình mơ phỏng.
Trong hộp thoại xác lập chế độ mơ phỏng, chúng ta có thể nhập các thơng số điều khiển q trình tính tốn:
- Ơ "Start time": thời gian bắt đầu mơ phỏng - Ô "Stop time": thời gian kết thúc mơ phỏng - Ơ "Relative tolerance": sai số tương đối - Ô "Absolute tolerance": sai số tuyệt đối
- Ô "Type": xác lập kiểu chia bước tích phân: "Variable-Step"; chia bước tự động do máy tính, "Fixed-Step" chia bước do người sử dụng qui định.
- Trong "Solver option" có thể lựa chọn kiểu tích phân (thông thường lựa chọn kiểu ode45, ode15s hoặc ode113)
…
Trong các thơng số của q trình mơ phỏng, thơng thường hay điều khiển thời điểm kết thúc q trình tích phân và các sai số tính tốn. Khi
chọn sai số tính càng nhỏ thì kết quả tính càng chính xác, tuy nhiên thời gian tính tốn càng lâu. Do đó việc lựa chọn thông số nên để ở thời gian mặc định, nếu thời gian tính tốn nhanh thì có thể tăng độ chính xác để kiểm tra giá trị tính tốn
4. Cấu trúc của một sơ đồ Simulink
Sơ đồ Simulink được cấu trúc bằng các khối chức năng và các đường truyền tín hiệu liên kết chúng lại với nhau. Các khối chức năng được tích hợp sẵn trong các thư viện. Trong đồ án này sử dụng các khối thư viện như sau:
a. Thư viện các khối Sources (Khối phát tín hiệu):
Thư viện này gồm các khối tạo nguồn tín hiệu khác nhau
Trong thư viện Sources có các khối được thể hiện như trong bảng 1
Bảng 1. Một số khối chức năng trong thư viện nhóm Sources của Matlab Simulink
b. Thư viện các khối Sinks:
Trong thư viện này có các khối của để thể hiện hoặc xuất kết quả các tín hiệu ra. Thư viện Sinks gồm một số khối chức năng được thể hiện ở bảng 2:
Bảng 2. Một số khối chức năng trong thư viện nhóm Sinks
c. Thư viện các khối Continuous:
Trong thư viện này có các khối của hệ thống liên tục tuyến tính, các khối biểu diễn các hàm tuyến tính chuẩn được thể hiện ở bảng 3
Bảng 3. Một số khối chức năng trong thư viện nhóm Continuous
d. Thư viện các khối Signal & System:
Thư viện các khối Signal & System có các khối biểu diễn tín hiệu và hệ thống. Các khối chính như trong bảng 4.
Bảng 4. Một số khối chức năng trong thư viện nhóm Signal & System
e. Thư viện các khối Math:
Thư viện Math có các khối biểu diễn hàm tốn học được thể hiện bảng 5.
Bảng 5. Một số khối chức năng trong thư viện nhóm Math
g. Thư viện các khối Funtion & Tables:
Khi thực hành mô phỏng hệ thống phức tạp có nhiều phần tử nối ghép lại với nhau, có thể tạo ra các mơ đun độc lập để mơ phỏng các hệ thống con trong sơ đồ chung rồi nối ghép các mơ đun đó lại. Việc cấu trúc thành các mô đun mô phỏng độc lập như vậy làm cho sơ đồ mơ phỏng có tính hệ thống, dễ theo dõi, quan sát, kiểm tra cũng như dễ dàng thay đổi các giá trị thơng số trong q trình khảo sát.
5. Trình tự thực hiện q trình mơ phỏng
-Xây dựng hệ phương trình vi phân mơ tả sự hoạt động và thể hiện các quy luật chung về tính chất vật lý của hệ thống được gọi là xây dựng mơ hình toán học của hệ thống. Các phương trình này mơ tả được quan hệ ràng buộc giữa các thông số cấu trúc, các thông số trạng thái của hệ thống với các tham số của tác động bên ngoài
-Bước tiếp theo để giải mơ hình tốn là xây dựng sơ đồ mơ phỏng trên máy tính bằng cơng cụ Simulink trong mơi trường Matlab theo trình tự các bước sau:
- Lựa chọn các khối chức năng phù hợp trong thư viện của các khối chính để mơ phỏng các thành phần trong hệ phương trình vi phân đã được xây dựng.
- Sau khi đã có các khối chức năng, tiến hành các đường truyền tín hiệu bằng cách nối chúng lại với nhau theo đúng trình tự và chức năng trong cấu trúc của hệ thống cần khảo sát. - Nhập giá trị các thông số vào các khối chức năng của mơ hình.
- Thiết lập các điều kiện trong q trình mơ phỏng: Đó là các điều kiện đầu cho các bước tính tốn, các khối chức năng.
- Xác định các thông số điều khiển q trình mơ phỏng: Cần chú ý đến các thơng số điều chỉnh như: thời gian mơ phỏng, thuật tốn tích phân, độ lớn của bước lấy tích phân, sai số cho phép và các tuỳ chọn xuất kết quả - Chạy chương trình và xuất kết quả mơ phỏng, có thể dùng khối Scope để hiển thị hoặc dùng lệnh vẽ đồ thị “plot” của Matlab.
- Đánh giá, nhận xét: sau khi chạy chương trình nhận được kết quả, căn cứ vào kết quả mô phỏng để so sánh với kết quả khảo nghiệm. Nếu khơng đúng thì phải kiểm tra lại từng bước, từ các phương trình vi phân mơ tả tốn học của q trình đến việc lựa chọn các khối chức năng, nhập xuất dữ liệu và sự liên kết giữa các khối. Đến khi kết quả phù hợp với
ý nghĩa vật lý của quá trình khảo sát thì quá trình mơ phỏng thành cơng.
PHẦN 3: ỨNG DỤNG
ỨNG DỤNG SIMULINK ĐIỀU KHIỂN HỆ THỐNG LÒ NHIỆT
1.ỨNG DỤNG SIMULINK ĐIỀU KHIỂN HỆ
THỐNG LÒ NHIỆT 1.1. Mục đích
SIMULINK là một cơng cụ rất mạnh của Matlab để xây dựng các mơ hình một cách trực quan và dễ hiểu. Để mô tả hay xây dựng hệ thống ta chỉ cần liên kết các khối có sẵn trong thư viện của SIMULINK lại với nhau. Sau đó, tiến hành mơ phỏng hệ thống để xem xét ảnh hưởng của bộ điều khiển đến đáp ứng quá độ của hệ thống và đánh giá chất lượng hệ thống.
1.2. Giới thiệu Simulink
Để thực hiện các yêu cầu trong bài thí nghiệm này, sinh viên cần phải chuẩn bị kỹ và hiểu rõ các khối cơ bản cần thiết trong thư viện của SIMULINK. Sau khi khởi động Matlab 7.0,
ta gõ lệnh simulink hoặc nhấn vào nút simulink trên thanh cơng cụ thì cửa sổSIMULINK hiện ra:
1.2.1. Các khối sử dụng trong bài thí nghiệm
Khối nguồn tín hiệu vào Sources
Khối Step (ở thư viện Simulink\Sources) có chức năng xuất ra tín hiệu hàm nấc. Double click vào khối này để cài đặt các thông số:
Step time: khoảng thời gian ngõ ra chuyển sang mức Final value kể từ lúc bắt đầu mô phỏng. Cài đặt giá trị này bằng 0. - Initial value: Giá trị đầu. Cài đặt bằng 0.
Final value: Giá trị cuối. Cài đặt theo giá trị ta muốn tác động tới
hệ thống. Nếu là hàm nấc đơn vị thì giá trị này bằng 1. - Sample time: thời gian lấy mẫu. Cài đặt bằng 0
Khối Repeating Sequence (ở thư viện Simulink\Sources) là khối phát tín hiệu lặp lại. Tuỳ theo giá trị lập trình mà nó có thể phát ra tín hiệu xung vng, tam giác hay răng cưa với biên độ và tần số thay đổi được.
Ví dụ: để phát xung tam giác có biên độ 5V, chu
kỳ10s, ta khai báo như sau.
Time values: [0 2.5 5 7.5 10] Output values: [0 5 0 -5 0]
Khối tải– Thiết bị khảo sát ngõ ra (Sink).
Khối Mux (ở thư viện Simulink\Signals Routing) là bộ ghép kênh nhiều ngõ vào 1 ngõ ra, từ ngõ ra này ta đưa vào Scope để xem nhiều tín hiệu trên cùng một cửa sổ. Double click vào khối này để thay đổi số kênh đầu vào (trong mục Number of inputs) Khối Scope (ở thư viện Simulink\Sinks) là cửa sổ xem các tín hiệu theo thời gian, tỉ lệ xích của các trục được điều chỉnh tự động để quan sát tín hiệu một cách đầy đủ
Các khối xử lý – Khối động học.
Khối Sum (ở thư viện Simulink\Math Operations) là bộ tổng (cộng hay trừ) các tín hiệu,