Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.14 MB, 67 trang )
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:
Maxstepsize =
Stoptime − startime
50
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