Đề tài: Điều khiển mức chất lỏng hai bình thông nhau
Mục lục
ABTRACT................................................................................................................................... 2
GVHD: KS. Đinh Văn Nam
1
Đề tài: Điều khiển mức chất lỏng hai bình thông nhau
TÓM TẮT
Đề tài này sử phần mềm MATLAB và các công cụ trong MATLAB và
SIMULINK để nghiên cứu về hệ thống hai bình thông nhau, mô hình toán
học của và thiết kế bộ điều khiển PID để điều khiển mức chất lỏng trong
bình.
Chương 1, tìm hiểu chung về MATLAB và SIMULINK. Ở ph ần này ta
đi tìm hiểu về cách khởi động, cách sử dụng của phần m ềm MATLAB,
SIMULINK và công cụ Control System Toolbox.
Chương 2, nghiên cứu về hai bình thông nhau. Ở ph ần này ta đi tìm
hiểu về sơ đồ , nguyên lý làm việc của hệ thống bình thông nhau. Tiếp
theo đi xây dựng mô hình toán học , kh ảo sát tính ổn đ ịnh c ủa h ệ th ống
bằng Nyquist và tìm hàm truyền, đáp ứng xung, bước nhảy, các ch ỉ tiêu
chất lượng, vẽ đồ thị Bode và đồ thị Nyquist. Sau đó dùng SIMULINK để
kiểm tra lại .
Chương 3, thiết kế bộ điều khiển PID theo một phương pháp bất kỳ.
Ở phần này ta đi nghiên cứu về bộ điều khiển PID h ồi ti ếp âm, tìm m ột
phương pháp thích hợp để thiết kế bộ điều khiển PID cho hệ th ống , đi tìm
các hệ số Kp, Ti, Td,… của bộ điều khiển PID và mô phỏng hệ thống bằng
SIMULINK.
ABTRACT
This topic using MATLAB software and tools in MATLAB and
SIMULINK to study the two-tank systems, mathematical modeling and
design of PID controller to control the liquid level in the bottle.
Chapter 1, the general understanding of MATLAB and SIMULINK. In
this section, we go to learn about how to start, how to use the software
MATLAB, SIMULINK and Control System Toolbox tools.
Chapter 2, the study of two-tank. In this section, we seek to
understand the diagram, working principle of communicating vessels
system. Next go to build mathematical models and surveys of system
stability by Nyquist and find the transfer function, impulse response, jumps,
quality indicators, plotting Bode and Nyquist plot. Then use SIMULINK to
check.
Chapter 3, PID controller design method according to any one. In this
section, we go study of PID controller negative feedback, find a suitable
method for PID controller design for the system, to find the coefficients Kp,
Ti, Td, ... of the PID controller and system simulation by SIMULINK.
GVHD: KS. Đinh Văn Nam
2
Đề tài: Điều khiển mức chất lỏng hai bình thông nhau
Mở đầu
Trong thực tế công nghiệp ngày nay việc kiểm soát m ức chất l ỏng
trong bể chứa và chảy giữa các bể chứa là một vấn đề c ơ bản trong quá
trình công nghiệp. Trong ngành công nghiệp quan trọng nh ư các ngành
công nghiệp hoá dầu, công nghiệp giấy, công nghiệp xử lý n ước,… có b ể
chứa tương tác đó là quá trình xử lý hóa học hoặc tr ộn x ảy ra trong quá
trình trong bể. Do đó, mức độ chất lỏng trong bể và t ương tác gi ữa các b ể
phải được kiểm soát. Ở hai bình thông nhau yêu cầu kỹ thu ật quan tr ọng
nhất là phải điều chỉnh và khống chế được mức nước và l ưu l ượng vào ra
giữa các bình. Chúng em chọn đề tài “ điều chỉnh mức ch ất l ỏng hai bình
thông nhau dùng PID” trên cơ sở những lý thuy ết đã học ch ủ y ếu trong
môn học Lý thuyết điều khiển tuyến tính, Kỹ thuật đo lường và cảm biến,
… Vì lý do kiến thức còn hạn hẹp nên trong quá trình làm chúng em còn
gặp nhiều khó khăn, khúc mắc chưa rõ và chưa giải quyết được. Đề tài
được chia làm 3 chương như sau:
Chương 1: Tổng quan chung về Matlab, Simulink và Control system
toolbox.
Chương 2: Điều chỉnh mức chất lỏng của hai bình thông nhau
Chương 3: Thiết kế bộ điều khiển mức chất lỏng bằng PID.
GVHD: KS. Đinh Văn Nam
3
Đề tài: Điều khiển mức chất lỏng hai bình thông nhau
Chương 1: Tổng quan chung về Matlab, Simulink và Control system
toolbox.
I.
Khái quát về Matlab và Simulink
Matlab
MATLAB (Matrix Laboratory) là một phần mềm khoa học được thiết
kế để cung cấp việc tính toán số và hiển thị đồ họa bằng ngôn ngữ lập
trình cấp cao. MATLAB cung cấp các tính năng tương tác tuy ệt v ời cho
phép người sử dụng thao tác dữ liệu linh hoạt dưới dạng mảng ma tr ận
để tính toán và quan sát. Các dữ liệu vào của MATLAB có th ể đ ược nh ập t ừ
"Command line" hoặc từ "mfiles", trong đó tập lệnh được cho tr ước bởi
MATLAB.
1.
MATLAB cung cấp cho người dùng các toolbox tiêu chu ẩn tùy ch ọn.
Người dùng cũng có thể tạo ra các hộp công cụ riêng c ủa mình g ồm các
"mfiles" được viết cho các ứng dụng cụ thể. Chúng ta có th ể s ử d ụng các
tập tin trợ giúp của MATLAB cho các chức năng và các lệnh liên quan v ới
các toolbox có sẵn (dùng lệnh help).
Ví dụ: Command Window: >> helpplot
Màn hình tiêu chuẩn sau khi khởi động Matlab:
Hình 1.1: Màn hình làm việc của Matlab.
GVHD: KS. Đinh Văn Nam
4
Đề tài: Điều khiển mức chất lỏng hai bình thông nhau
Simulink
Simulink là một công cụ trong Matlab dùng để mô hình, mô phỏng và
phân tích các hệthống động với môi trường giao diện sử dụng bằng đ ồ
họa. Việc xây dựng mô hình đượcđơn giản hóa bằng các ho ạt đ ộng nh ấp
chuột và kéo thả. Simulink bao gồm một bộ thư viện khối với các hộp công
cụ toàn diện cho cả việc phân tích tuyến tính và phi tuyến.
2.
Hướng dẫn sử dụng Simulink:
-
Click vào biểu tượng như hình dưới (Simulink icon)
Hình 1.2: Khởi động Simulink.
Cửa sổ thư viện Simulink sẽ hiển thị:
Hình 1.3: Cửa sổ Simulink.
II.
Control system toolbox:
Control System Toolbox là một thư viện của Matlab dùng trong lĩnh
vực điều khiển tự động. Cùng với các lệnh của Matlab, tập lệnh của
Control System Toolbox sẽ giúp ta thiết kế, phân tích và đánh giá các
chỉ tiêu chất lượng của một hệ thống tuyến tính.
GVHD: KS. Đinh Văn Nam
5
Đề tài: Điều khiển mức chất lỏng hai bình thông nhau
1.
Lệnh ltiview
a.
Cú pháp:
ltiview
ltiview(sys1,sys2,...,sysn)
ltiview( plottype ,sys)
ltiview( plottype ,sys,extras)
ltiview('clear',viewers)
ltiview('current',sys1,sys2,...,sysn,viewers)
ltiview(plottype ,sys1,sys2,...sysN)
ltiview( plottype ,sys1,PlotStyle1,sys2,PlotStyle2,...)
l tiview( plottype ,sys1,sys2,...sysN,extras)
Mô tả:
b.
ltiview khi mà không có đối số đầu vào, khởi tạo một LTI Viewer cho
hệ thống LTI phân tích đáp ứng mới.
ltiview (sys1, sys2, ..., sysn) sẽ mở ra một Viewer LTI có chứa bước
đáp ứng của các mô hình LTI sys1, sys2, ..., sysn .
ltiview ( plottype , sys) khởi tạo một Viewer LTI có chứa các loại đáp
ứng LTI được chỉ định bởi plottype cho mô hình LTI sys . Chuỗi plottype có
thể có được từ bất kỳ một trong các cách sau:
'Bước'; 'Xung'; 'Ban đầu'; 'Lsim'; 'Pzmap'; 'Điềm'; 'Nyquist'; 'Nichols'
'Sigma'
hoặc,
hiển thị được nội dung của cả hai loại đáp ứng cho một hệ th ống sys .
ltiview ( plottype , sys, extras)
cho phép các đối số đầu vào bổ sung hỗ tr ợ b ởi ch ức năng c ủa mô hình
LTI thông qua lệnh ltiview .
GVHD: KS. Đinh Văn Nam
6
Đề tài: Điều khiển mức chất lỏng hai bình thông nhau
Extras là một hoặc nhiều đối số đầu vào.
Tuy nhiên, nếu plottype là 'initial', các tính năng bổ sung đối số phải
có các điều kiện ban đầu x0 và có thể chứa các lập luận khác, chẳng hạn
như Tfinal .
ltiview ('ban đầu', sys, x0, Tfinal)
Ltiview('clear',viewers) sẽ xóa sạch các ô và dữ liệu từ viewers LTI
với xử lý viewers.
Ltiview('current',sys1,sys2,...,sysn,viewers) cho biết thêm các câu tr ả
lời của các hệ thống sys1, sys2, ..., sysn với xử lý viewers.
Ltiview ( plottype , sys1, sys2, ... sysN) khởi tạo một Viewer LTI có
chứa các câu trả lời của nhiều mô hình LTI.
Ltiview ( plottype , sys1, PlotStyle1, sys2, PlotStyle2, ...) khởi cho
người xem với các tình tiết quy định.
Ví dụ: Đầu tiên tạo ra 2 hàm đơn giản là 2 hàm truyền đạt:
Code:
>> s = tf('s');
G1 = 0.5/(10*s+1);
G2 = G1;
set(G2,'InputDelay',2);
Sau đó, bạn khởi động LTIViewer bằng lệnh:
Code:
>> ltiview
Chúng ta làm các bước như sau:
GVHD: KS. Đinh Văn Nam
7
Đề tài: Điều khiển mức chất lỏng hai bình thông nhau
Hình 1.4: Giao diện LTI View
Hình 1.6: chọn các hàm truyền
hàm
Hình 1.5: Vào File -> Inport
Hình 1.7: Đáp ứng b ước nh ảy c ủa 2
trong workspace
truy ền
Ta có thể chọn biểu diễn 4 hình trên 1 giao diện, m ỗi figure hiển th ị
1 đặc tính như step, bode, nyquist,..
vào Edit -> Plot Configuration như hình dưới:
GVHD: KS. Đinh Văn Nam
8
Đề tài: Điều khiển mức chất lỏng hai bình thông nhau
Hình 1.8: Biểu diễn 4 hình trên 1 giao diện
2.
Lệnh Stepplot
a.
Cú pháp
h = plotoptions) stepplot (..., dataoptions)
b.
Mô tả
h = stepplot (sys) là bước đáp ứng của mô hình hệ thống sys . Nó
cũng trả về các giá trị xử lý h .Ta có thể sử dụng xử lý này để tùy chỉnh các
giá trị với các lệnh getoptions và setoptions . Loại “Help timeoptions “ cho
ta một danh sách các tùy chọn có sẵn.
stepplot (sys, Tfinal) mô phỏng bước đáp ứng từ t = 0 đến thời điểm
chính thức t = Tfinal.
stepplot (sys, t) cung cấp thời gian t cho vector mô phỏng. Đối với
mô hình thời gian rời rạc, t nên có dạng Ti: Ts: Tf , với Ts là thời gian
mẫu. Đối với mô hình thời gian liên tục, t nên có dạng Ti: dt: Tf , với dt là
thời gian mẫu. Các lệnh stepplot luôn luôn áp dụng tại t = 0 , bất kể Ti .Để
vẽ đáp ứng bước của nhiều mô hình sys1 , sys2 , ... trên một giá trị duy
nhất, sử dụng:
stepplot (sys1, sys2, ..., sysN)
stepplot (sys1, sys2, ..., sysN, Tfinal)
stepplot (sys1, sys2, ..., sysN, t)
stepplot (..., plotoptions) tùy chọn sự xuất hiện của giá trị
plotoptions . Sử dụng time options để tạo ra các tùy chọn.
stepplot (..., dataoptions) quy định cụ thể các tùy chọn như biên độ
bước và đầu vào bù đắp bằng cách sử dụng tùy chọn thiết
lập, dataoptions .
Ví dụ
GVHD: KS. Đinh Văn Nam
9
Đề tài: Điều khiển mức chất lỏng hai bình thông nhau
Tạo ra một giá trị đáp ứng bước cho hai hệ thống.
sys1 = rss (3);
sys2 = rss (3);
Hình 1.9
h = stepplot (sys1, sys2);
3. Lệnh Impluse
a. Cú pháp
impulse(sys)
impulse(sys,Tfinal)
impulse(sys,t)
impulse(sys1,sys2,...,sysN)
impulse(sys1,sys2,...,sysN,Tfinal)
impulse(sys1,sys2,...,sysN,t)
[y,t] = impluse(sys)
[y, t] = impluse (sys, Tfinal)
y = impluse (sys, t)
[y, t, x] = impluse(sys)
[y, t, x, YSD] = impluse (sys )
b.
Mô tả
Đối với hệ thống thời gian liên tục, đáp ứng xung là đáp ứng v ới m ột
đầu vào Dirac δ ( t ). Đối với hệ thống thời gian rời rạc, đáp ứng xung là
đáp ứng với một xung đơn vị diện tích của chiều dài Ts và chiều cao 1 / Ts .
Impluse(sys) là đáp ứng xung của mô hình hệ thống năng
động sys. Mô hình này có thể liên tục hoặc rời rạc. Đáp ứng xung của hệ
thống đa đầu vào là tập hợp các phản ứng xung cho mỗi kênh đ ầu
vào. Thời gian mô phỏng được xác định tự động để hiển th ị các hành vi
tạm thời của phản ứng.
GVHD: KS. Đinh Văn Nam
10
Đề tài: Điều khiển mức chất lỏng hai bình thông nhau
Impluse (sys, Tfinal) mô phỏng đáp ứng xung từ t = 0 đến thời điểm
chính thức t = Tfinal .
Impluse (sys, t) cung cấp thời gian t cho vector mô phỏng. Đối với
mô hình thời gian rời rạc, t nên có dạng Ti: Ts: Tf , Ts là thời gian mẫu. Đối
với mô hình thời gian liên tục, t nên có dạng Ti: dt: Tf , dt là thời gian
mẫu. Các xung lệnh luôn luôn áp dụng tại t = 0 , bất kể Ti .
Để vẽ các đáp ứng xung của một số mô hình sys1 , ..., sysN trên một
con số duy nhất, sử dụng:
impluse (sys1, sys2, ..., sysN)
impluse (sys1, sys2, ..., sysN, Tfinal)
impluse (sys1, sys2, ..., sysN, t)
Khi được gọi với đối số đầu ra:
[Y, t] = impluse (sys)
[Y, t] = impluse (sys, Tfinal)
y = impluse (sys, t)
xung trả về phản ứng đầu ra y và vector thời gian t được sử dụng để mô
phỏng. Đối với hệ thống đơn đầu vào, y có nhiều hàng nh ư các m ẫu th ời
gian (chiều dài của t ), và nhiều cột như kết quả đầu ra. Trong trường hợp
nhiều đầu vào, các đáp ứng xung của mỗi kênh đầu vào đ ược x ếp ch ồng
lên nhau dọc theo chiều thứ ba của y .
Đối với mô hình không gian trạng thái chỉ:
[Y, t, x] = impluse (sys)
(Chiều dài của t ) x (số kết quả đầu ra) x (số lượng đầu
vào)
và y (:,:, j) cho đáp ứng với một xáo trộn xung vào j thứ kênh đầu vào.
GVHD: KS. Đinh Văn Nam
11
Đề tài: Điều khiển mức chất lỏng hai bình thông nhau
[Y, t, x, YSD] = impluse (sys) trả về độ lệch chuẩn YSD của đáp
ứng Y của một hệ thống xác định SYS . YSD là trống rỗng nếu SYS không
chứa thông tin tham số.
Ví dụ
Vẽ đáp ứng xung của bậc hai mô hình không gian trạng thái:
=+
y=
Ta có:
>> a = [2, 1; 3,0];
b = [1, -1; 0,2];
c = [1.9691,6.4493];
sys = ss (a, b, c, 0);
step (sys)impulse (sys)
Hình 1.10
4. Lệnh Lsim
a.
Cú pháp
Lsim
lsim (sys, u, t)
lsim (sys, u, t, x0)
lsim (sys, u, t, x0, 'zoh')
lsim (sys );
lsim (sys, u, t, x0, 'FOH');
b.
Mô tả
Lsim mô phỏng đáp ứng của hệ thống tuy ến tính liên tục hoặc r ời
rạc với đầu vào tùy ý.
GVHD: KS. Đinh Văn Nam
12
Đề tài: Điều khiển mức chất lỏng hai bình thông nhau
lsim (sys, u, t) tạo ra một giá trị của thời gian đáp ứng của mô hình
hệ thống năng động sys với đầu vào là thời gian t , u . Các mô hình
LTI sys có thể liên tục hoặc rời rạc. Trong thời gian rời rạc, u phải được
lấy mẫu ở mức tương tự như hệ thống .Trong thời gian liên tục, th ời gian
lấy mẫu dt = t (2) -t (1) được sử dụng để rời rạc hóa mô hình liên tục.
lsim (sys, u, t, x0) xác định một điều kiện ban đầu x0 cho các hệ
thống. Cú pháp này chỉ áp dụng cho mô hình không gian trạng thái.
lsim (sys, u, t, x0, 'zoh') hoặc lsim (sys, u, t, x0, 'FOH') quy định một
cách rõ ràng cụ thể như thế nào là các giá trị đầu vào ph ải đ ược n ội suy
giữa các mẫu.
Ví dụ :
Mô phỏng và vẽ đáp ứng của hệ thống sau đây đ ể m ột làn sóng
vuông với thời hạn bốn giây:
H=
Tạo chức năng chuyển nhượng, và tạo ra các sóng vuông v ới gensig . Mẫu
mỗi 0,1 giây trong 10 giây.
H = [tf ([2 5 1], [1 2 3]); tf ([1 -1], [1 1 5])];
[u, t] = gensig ( 'vuông' , 4,10, 0.1);
Sau đó mô phỏng với lsim .
lsim (H, u, t)
GVHD: KS. Đinh Văn Nam
13
Đề tài: Điều khiển mức chất lỏng hai bình thông nhau
Hình 1.11
5. Lệnh Step
a.
Cú pháp
step(sys)
step(sys,Tfinal)
step(sys,t)
step(sys1,sys2,...,sysN)
step(sys1,sys2,...,sysN,Tfinal)
step(sys1,sys2,...,sysN,t)
y = step (sys, t)
[y, t] = step (sys)
[y, t] = step (sys, Tfinal)
[y, t, x] = step (sys)
[y, t, x, YSD] = step (sys)
[y, ...] = step (sys, ..., options)
b.
Miêu tả
step tính toán bước đáp ứng của một hệ thống năng động.
GVHD: KS. Đinh Văn Nam
14
Đề tài: Điều khiển mức chất lỏng hai bình thông nhau
step (sys) là bước đáp ứng của mô hình hệ thống sys . Mô hình này có
thể liên tục hoặc rời rạc. Bước đáp ứng của hệ thống đa đầu vào là tập
hợp các đáp ứng bước cho mỗi kênh đầu vào.
step (sys, Tfinal) mô phỏng bước đáp ứng từ t = 0 đến thời điểm
chính thức t = Tfinal .
step (sys, t) cung cấp thời gian t cho vector mô phỏng. Đối với mô
hình thời gian rời rạc, t nên
có dạng Ti: Ts: Tf , với Ts là thời gian
mẫu. Đối với mô hình thời gian liên tục, t nên có dạng Ti: dt: Tf , với dt là
thời gian mẫu.Các bước lệnh luôn luôn áp dụng với bước đầu vào tại t =
0 , bất kể Ti .
Để vẽ bước đáp ứng của một số mô hình sys1 , ..., sysN trên một con
số duy nhất, sử dụng
step (sys1, sys2, ..., sysN)
step (sys1, sys2, ..., sysN, Tfinal)
step (sys1, sys2, ..., sysN, t)
Khi được gọi với đối số đầu ra:
y = step (sys, t)
[Y, t] = step (sys)
[Y, t] = step (sys, Tfinal)
[Y, t, x] = step (sys)
step trả về đáp ứng đầu ra y , các vector thời gian t được sử dụng để
mô phỏng (nếu không được cung cấp như một tham số đầu vào), và quá
trình trạng thái x (chỉ mô hình không gian trạng thái). Đối với hệ thống
đơn đầu vào, y có nhiều hàng như các mẫu thời gian (chiều dài của t ), và
nhiều cột như kết quả đầu ra. Trong trường hợp nhiều đầu vào, các đáp
ứng bước của mỗi kênh đầu vào được xếp chồng lên nhau dọc theo chi ều
thứ ba của y .
GVHD: KS. Đinh Văn Nam
15
Đề tài: Điều khiển mức chất lỏng hai bình thông nhau
[y, t, x, YSD] = step (sys) cũng tính độ lệch chuẩn YSD của phản ứng
y
[Y, ...] = step (sys, ..., options) quy định cụ thể tùy chọn bổ sung cho
máy tính bước đáp ứng, chẳng hạn như biên độ bước hoặc bù đầu vào. Sử
dụng stepDataOptions để tạo ra các tùy chọn thiết lập tùy chọn .
Ví dụ:
Vẽ đáp ứng bước thứ hai để mô hình không gian trạng thái sau đây:
=+
Ta có:
a = [-0,5572, -0,7814; 0.7814,0];
b = [1, -1; 0,2];
c = [1.9691,6.4493];
sys = ss (a, b, c, 0);
step (sys)
Hình 1.12
6. Lsiminfo
a.
Cú pháp
S = lsiminfo (y, t, yfinal)
S = lsiminfo (y, t)
S = lsiminfo (..., 'SettlingTimeThreshold', ST)
b.
Miêu tả
S = lsiminfo (y, t, yfinal) lấy dữ liệu đáp ứng (t, y) và một giá trị trạng
thái ổn định yfinal và trả về một cấu trúc S có chứa các chỉ số hoạt động
sau đây:
SettlingTime - Giải quyết thời gian
Min - Giá trị tối thiểu của Y
GVHD: KS. Đinh Văn Nam
16
Đề tài: Điều khiển mức chất lỏng hai bình thông nhau
MinTime - Thời gian mà tại đó các giá trị min đạt được
Max - Giá trị tối đa của Y
MaxTime - Thời gian mà tại đó giá trị tối đa đạt được
S = lsiminfo (y, t) sử dụng các giá trị mẫu cuối cùng của y là giá trị
trạng thái ổn định yfinal . s = lsiminfo (y) giả định t = 1: NS .
S = lsiminfo (..., 'SettlingTimeThreshold', ST) cho phép ta chỉ định các
ngưỡng ST được sử dụng trong việc tính toán thời gian giải quy ết.
Ví dụ: Tạo ra một chức năng chuyển giao và xác định đặc điểm đáp
ứng.
sys = tf ([1 -1], [1 2 3 4]);
[Y, t] = xung (sys);
s = lsiminfo (y, t, 0)% giá trị cuối cùng là 0
s=
SettlingTime: 22,8626
Min: -,4270
MinTime: 2,0309
Max: 0,2845
MaxTime: 4,0619
7. Stepinfo
a.
Cú pháp
S = stepinfo (y, t, yfinal)
S = stepinfo (y, t)
S = stepinfo (y)
GVHD: KS. Đinh Văn Nam
17
Đề tài: Điều khiển mức chất lỏng hai bình thông nhau
S = stepinfo (sys)
S = stepinfo (..., 'SettlingTimeThreshold', ST)
S = stepinfo (.. ., 'RiseTimeLimits', RT)
Miêu tả
S = stepinfo (y, t, yfinal) lấy mất dữ liệu đáp ứng bước (t, y) và một
giá trị trạng thái ổn định yfinal và trả về một cấu trúc S có chứa các chỉ số
hoạt động sau đây:
RiseTime - tăng thời gian
SettlingTime - Giải quyết thời gian
SettlingMin - Giá trị tối thiểu của y một lần đáp ứng đã tăng
lên
SettlingMax - Giá trị tối đa của y một lần đáp ứng đã tăng lên
Vượt qua - Tỷ lệ vượt qua (so với yfinal )
Hụt - Tỷ lệ undershoot
Đỉnh - giá trị tuyệt đối Đỉnh của y
PeakTime - Thời điểm đỉnh
S = stepinfo (y, t) sử dụng các giá trị mẫu cuối cùng của y là giá trị
trạng thái ổn định yfinal . S = stepinfo (y) giả định t = 1: ns .
S = stepinfo (sys) tính toán các đặc điểm đáp ứng bước cho một mô
hình LTI
S = stepinfo (..., 'SettlingTimeThreshold', ST) cho phép ta chỉ định các
ngưỡng ST được sử dụng trong việc tính toán thời gian giải quy ết.
S = stepinfo (..., 'RiseTimeLimits', RT) cho phép ta chỉ định các
ngưỡng thấp hơn và được sử dụng trong việc tính toán th ời gian tăng.
Ví dụ: Tạo ra một hệ thống và xác định đặc điểm đáp ứng.
sys = tf ([1 5], [1 2 5 7 2]);
GVHD: KS. Đinh Văn Nam
18
Đề tài: Điều khiển mức chất lỏng hai bình thông nhau
S = stepinfo (sys, 'RiseTimeLimits', [0.05,0.95])
Những lệnh này trả về kết quả sau đây:
S=
RiseTime: 7,4454
SettlingTime: 13,9378
SettlingMin: 2,3737
SettlingMax: 2,5201
Vượt qua: 0,8032
Hụt: 0
Peak: 2,5201
PeakTime: 15,1869
GVHD: KS. Đinh Văn Nam
19
Đề tài: Điều khiển mức chất lỏng hai bình thông nhau
Chương 2: Điều chỉnh mức chất lỏng của hai bình thông nhau
1.
Yêu cầu vẽ lại sơ đồ hệ thống:
Hình 2.1: Sơ đồ mô hình hệ thống
3.
Trong đó:
LT: Cảm biến đo mực nước.
LC:Bộ điều chỉnh.
Qin: Là lưu lượng vào của hệ thống ( lưu lượng chảy vào bình th ứ
nhất).
Qout: Là lưu lượng chảy ra khỏi hệ thống (lưu lượng chảy ra kh ỏi bình
thứ 2).
: Là lưu lượng chảy vào bình thứ 2.
,:van xả
,: Độ cao mực nước trong bình 1 và 2.
,: Là tiết diện cắt ngang của bình chứa.
2. Giải thích hệ thống điều khiển:
Khi bơm vào bình thứ nhất 1 lượng vào là Qin thì thì c ảm bi ến LT sẽ đo
lượng đó và đem so sánh với giá trị đặt vào ban đầu h1 và bộ đi ều ch ỉnh
LC sẽ điều chỉnh lượng vào Qin sao cho phù h ợp v ới tr ị s ố h1. Còn đ ối v ới
bình 2 thì khi có 1 lượng vào q1 thì c ảm bi ến LT sẽ đo m ực n ước trong
bình 2 và đem so sánh với giá trị đặt h2 và bộ điều ch ỉnh LC sẽ đi ều
chỉnh van xả R1 để điều chỉnh q1 sao cho phù h ợp v ới trị số h2 còn n ếu
quá thì xả Qout qua van xả R2, đồng thời cảm biến LC sẽ điều ch ỉnh thêm
hoặc bớt lượng vào Qin sao cho khi ta điều khiển m ực n ước ở bình 2 lên
giá trị h2 thì bình 1 sẽ lên giá trị h1.
Mô hình hóa hệ thống và mô hình hàm truy ền:
GVHD: KS. Đinh Văn Nam
20
Đề tài: Điều khiển mức chất lỏng hai bình thông nhau
Hệ thống
h
Phương trình cân bằng vật chất:
(1)
Trong đó: A là tiết diện cắt ngang của bình chứa
Với bình 1:
(2)
Lưu lượng dòng chảy:
(3)
Thay (2) ta có:
(4)
(5)
Gọi , là hằng số thời gian: = ; = thay vào (5) ta được :
(6)
Laplace 2 vế với điều kiện 0 ban đầu ta được :
(7)
(8)
Với bình 2:
(9)
Lưu lượng dòng chảy:
(10)
Thay (9) ta có:
(11)
(12) Thay = vào (11) ta được :
(13)
GVHD: KS. Đinh Văn Nam
21
Đề tài: Điều khiển mức chất lỏng hai bình thông nhau
Laplace 2 vế với điều kiện 0 ban đầu ta được :
(14)
(15)
Để có được hàm truyền G(s)=, ta khử trong công thức (8) và (15) ta
được:
(16)
<=> +
++)=
(17)
(18)
Với hằng số thời gian = của bình 1 thay vào (18) ta được:
++)=
=>
Vậy hàm truyền của hệ thống là :
(19)
G(s)=
Thay A1 =A2=4.m2 ; R1= R2=9. m2 ; g=9.81 m/s2 ta đ ược:
Khảo sát tính ổn định bằng tiêu chuẩn Nyquist:
Tiêu chuẩn nyquist: + Hệ thống ổn định ở trạng thái hở, sẽ ổn định ở
trạng thái kín nếu biểu đồ Nyquist không bao điểm (-1+i0) trên mặt
phẳng phức.
+ H ệ th ống không ổn đ ịnh ở tr ạng thái h ở, sẽ ổn
định ở trạng thái kín nếu biểu đồ Nyquist bao điểm (-1+i0) p lần ngược
chiều kim đồng hồ (p là số cực GH nằm ở phải mặt phẳng ph ức).
Áp dụng ta có:
Xét hàm truyền đạt:
Hàm truyền tần số:
(21)
tách phần thực và phần ảo:
với phần thực:R(=
GVHD: KS. Đinh Văn Nam
(22)
22
Đề tài: Điều khiển mức chất lỏng hai bình thông nhau
với phần ảo:I(
(23)
cho I(0 ta được giá trị tần số mà ở đó dặc tính biên độ pha của h ệ th ống
hở cắt trục thực. Từ (23) ta có:
=0 =>
thay vào (22) ta được ta được tọa độ điểm cắt: R(= >
Như vậy đặc tính tần số biên độ pha của hệ
thống hở cắt trục thực trong khoảng
-1
độ pha của hệ thống không bao điểm (-1+j0).
-1
Theo tiêu chuẩn Nyquist
Hệ kín ổn định ( Hình vẽ bên)
Đáp ứng xung, bước nhảy của hệ thống:
Phương trình hàm truyền của hệ thống:
5.
Hàm quá độ:
=>h(t)=
Hàm trọng lượng :
w(t)==-1,44..
Viết scrip vẽ đáp ứng xung, bước nhảy của hệ thống :
Clear all;
Clc;
Close;
num=0.009;
GVHD: KS. Đinh Văn Nam
23
Đề tài: Điều khiển mức chất lỏng hai bình thông nhau
den=[0.000000001296 0.000108 1];
w=tf(num,den);
subplot(211)
step(w)
title('dap ung buoc nhay')
grid;
subplot(212)
impulse(w)
title('dap ung xung')
grid;
Ta được đồ thị đáp ứng xung và bước nhảy của hệ thống:
A
m
p
litu
d
e
d
a
pu
n
gb
u
o
cn
h
a
y
0
.0
1
0
.0
0
5
0
0
1
2
3
4
5
6
7
8
-4
T
im
e(se
co
n
d
s)
x1
0
A
m
p
litu
d
e
d
a
pu
n
gxu
n
g
8
0
6
0
4
0
2
0
0
0
1
2
3
4
5
6
T
im
e(se
co
n
d
s)
Hình 2.2: Đồ thị đáp ứng bươc nhảy và đáp ứng xung
6.
Tìm các chỉ tiêu chất lượng của hệ thống:
Ta dùng phương pháp quỹ đạo nghiệm số.
Ta có code:
GVHD: KS. Đinh Văn Nam
24
7
-4
x1
0
Đề tài: Điều khiển mức chất lỏng hai bình thông nhau
clear all;
clc;
close;
num=0.009;
den=[0.000000001296 0.000108 1];
w=tf(num,den);
stepinfo(w)
Sau khi chạy chương trình ta được chất lượng của hệ th ống nh ư sau:
ans =
RiseTime: 2.1090e-04
SettlingTime: 3.8357e-04
SettlingMin: 0.0081
SettlingMax: 0.0090
Overshoot: 0
Undershoot: 0
Peak: 0.0090
PeakTime: 9.3594e-04
7.
Vẽ đồ thị bode, nyquist của hệ thống:
clear all;
clc;
close;
num=0.009;
den=[0.000000001296
w=tf(num,den);
figure(1)
bode(W)
grid
GVHD: KS. Đinh Văn Nam
0.000108
25
1];