MỤC LỤCLỜI MỞ ĐẦU...3BÀI THỰC HÀNH 1: MÔ HÌNH HOÁ PHƯƠNG TRÌNH/HỆ PHƯƠNG TRÌNH VI PHÂN, SAI PHÂN TRÊN MATLAB/SIMULINK...4BÀI THỰC HÀNH 2: MÔ HÌNH HOÁ HỆ THỐNG ĐIỀU KHIỂN TRÊN MATLAB/SIMU
Trang 1TRƯỜNG ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ -
BÁO CÁO THỰC HÀNH MÔN ĐIỀU KHIỂN QUÁ
TRÌNH
Giảng viên hướng dẫn : TS Dương Đình Tú
Sinh viên thực hiện : Nguyễn Huy Phong
Mã số sinh viên : 205752021610009
Lớp : 61K – KTĐK & TĐH
Lớp học phần : Điều khiển quá trình
Trang 2MỤC LỤC
LỜI MỞ ĐẦU 3BÀI THỰC HÀNH 1: MÔ HÌNH HOÁ PHƯƠNG TRÌNH/HỆ PHƯƠNG TRÌNH VI PHÂN, SAI PHÂN TRÊN MATLAB/SIMULINK 4BÀI THỰC HÀNH 2: MÔ HÌNH HOÁ HỆ THỐNG ĐIỀU KHIỂN TRÊN MATLAB/SIMULINK 18BÀI THỰC HÀNH 3: MÔ HÌNH HOÁ LÝ THUYẾT 33BÀI THỰC HÀNH 4 THIẾT KẾ VÀ CHỈNH ĐỊNH THAM SỐ BỘ ĐIỀU KHIỂN PID 50KẾT LUẬN 64
Trang 3LỜI MỞ ĐẦU
Trong bối cảnh công nghiệp hóa và hiện đại hóa đất nước, các hệ thống điều khiểnquá trình đóng vai trò vô cùng quan trọng trong việc nâng cao hiệu quả sản xuất vàchất lượng sản phẩm Môn học "Điều Khiển Quá Trình" không chỉ cung cấpnhững kiến thức nền tảng về lý thuyết điều khiển tự động mà còn giúp người họcnắm vững các phương pháp và công cụ để áp dụng vào thực tiễn
Báo cáo thực hành này là kết quả của quá trình học tập và thực hiện các thí nghiệmtrong khuôn khổ môn học "Điều Khiển Quá Trình" Mục tiêu của báo cáo nhằmcủng cố kiến thức đã học, phát triển kỹ năng thực hành sử dụng phần mềm matlab,
tư duy sáng tạo và phân tích của sinh viên
Báo cáo gồm 4 phần chính là các bài tập thực hành trong tài liệu thực hành môn
“Điều khiển quá trình” của thầy Dương Đình Tú Em hy vọng rằng qua bài báo cáonày, không chỉ kiến thức và kỹ năng của bản thân được củng cố mà còn góp phầnvào phát triển nghề nghiệp trong tương lai Em xin cảm ơn thầy!
Trang 4BÀI THỰC HÀNH 1: MÔ HÌNH HOÁ PHƯƠNG TRÌNH/HỆ PHƯƠNG
TRÌNH VI PHÂN, SAI PHÂN TRÊN MATLAB/SIMULINK
Bài toán 1.1 Trong vật lý, phương trình của một vật rơi được mô tả như sau:
𝑣(𝑡) = 𝑣0 + 𝑔𝑡, trong đó 𝑡 là thời gian, 𝑣(𝑡) là vận tốc tức thời của vật, 𝑣0 = 1m/s là vận tốc ban đầu và 𝑔 = 9.81 m/s2 là gia tốc trọng trường Hãy mô phỏngcác mối liên hệ giữa thời gian 𝑡 và độ dịch chuyển 𝑥(𝑡) sử dụng SIMULINK
- Thiết lập mô hình trên simulink:
- Kết quả mô phỏng nhận được
Sử dụng khối Out thay thế khối Scope Sau đó nhập dòng lệnh sau trên của sổ Command Window của MATLAB, ta được kết quả tương tự:
Trang 5Bài 1.2 Xét lại Bài toán 1, nếu điểm rơi cách mặt đất 15m thì vật rơi xuống đất
trong bao lâu?
Xây dựng mô hình trên SIMULINK
Kết qủa mô phỏng nhận được:
Trang 6Chạy mô hình, sau đó thực hiện lệnh sau trên giao diện Commad Window của MATLAB để nhận được thời gian kết thúc mô phỏng:
Bài 1.3 sử dụng SIMULINK để giải phương trình vi phân bậc nhất sau:
với điều kiện ban đầu 𝑦(0) = 𝑒 và 𝑧(0) = 1 Biết rằng, nghiệm giải tích của phương trình vi phân là:
- Mô hình trên SIMULINK:
Sơ đồ hàm plot() có thể được sử dụng để vẽ hai trạng
thái như sau:
Trang 7Kết quả mô phỏng:
Bài 1.4 Tìm nghiệm số chính xác của phương trình vi phân trong Bài toán 1.3
So sánh các kết quả và đánh giá độ chính xác của kết quả mô phỏng
Bài 1.5 Giải Bài toán 1.3 bằng phương pháp điều khiển dòng lệnh (the
command-line driven method) trên MATLAB Sau đó, thiết lập mô hình
SIMULINK bằng phương pháp vector hoá
Trang 8Thực hiện đoạn lệnh sau trên giao diện Command Window của MATLAB
ta có kết quả như các giải pháp trước:
Bài 1.6 Thiết lập mô hình SIMULINK cho phương trình vi phân Lorenz sau:
Trang 9trong đó 𝛽 = 8/3, 𝜌 = 10, 𝜎 = 28 và các giá trị ban đầu là 𝑥1(0) = 𝑥2(0) = 0,𝑥3(0) = 𝜖, với 𝜖 giá trị nhỏ (ví dụ, 𝜖 = 1010).
Sử dụng khối mathlab funtion để mô hình hoá:
Kết quả mô phỏng như sau:
Trang 10Bài 1.7 Thực hiện lại Bài toán 1.3, sử dụng các khối hàm.
Mô hình trên simulink:
Bài 1.8 giải phương trình vi phân tuyến tính bất biến theo thời gian như sau:
Mô hình trên simulink:
Trang 12Kết quả mô phỏng như sau:
Bài 1.11 cho phương trình ODE bậc cao không tuyến tính:
Thiết lập mô hình trên simulink:
Trang 13Kết quả chạy mô phỏng 10s:
Bài 1.12 giải phương trình vi phân ẩn sau đây:
Mô hình trên simulink:
Trang 14Kết quả mô phỏng:
Bài 1.13 Mô hình hoá ODE không liên tục sau đây:
Trang 15Mô hình trên simulink:
Kết quả mô phỏng:
Bài 1.14 toạ độ vị trí (𝑥, 𝑦) của phi thuyền Apollo được mô tả bằng hệ phương trình vi phân sau:
với 𝜇 = 1/82.45, 𝜇* = 1 – 𝜇 và:
Trang 16Các giá trị khởi tạo: 𝑥(0)=1.2, 𝑥′(0)=0, 𝑦(0)=0, 𝑦′(0)=-1.04935751 Giải hệ phương trình trên và vẽ quỹ đạo (𝑥, 𝑦) của phi thuyền Apollo.
Thiết lập mô hình trên simulink:
Trên giao diện Commad Window của MATLAB, thực hiện lệnh sau để vẽ quỹ đạo (x,y) của phi thuyền Apollo:
Kết quả mô phỏng:
Bài 1.15 Giải hệ phương trình vi phân có trễ sau:
Trang 17Mô hình hoá trên simulink:
Kết quả mô phỏng:
Trang 18BÀI THỰC HÀNH 2: MÔ HÌNH HOÁ HỆ THỐNG ĐIỀU KHIỂN TRÊN
MATLAB/SIMULINK
Bài toán 2.1 Khai báo hàm truyền
Bài toán 2.2 Hãy khai báo trên MATLAB quá trình có mô hình trạng thái như
sau
Trang 19Bài toán 2.3 Xét mạch điện trở, tụ điện và cuộn cảm như trong hình sau:
Vẽ đường cong đáp ứng của mạch
Thực hiện code trên Command Window của MATLAB ta nhận được đáp ứng của mạch:
Trang 20.Trên simulink ta thực hiện như sau:
Khai báo các ma trận E,A,B,C,D như sau:
Ta có đáp ứng của mạch:
Trang 21Bài toán 2.4 xây dựng lại mô hình SIMULINK cho Bài toán 1.8 ở Bài thực
hành số 1, sử dụng mô hình hàm truyền với điều kiện ban đầu khác không
Thiết lập mô hình simulink:
Trang 23Kết quả mô phỏng đáp ứng của hàm truyền:
Bài toán 2.7 Cho hệ thống ở bài toán 2.4 Hãy rời rạc hoá hệ thống này với các
thời gian lấy mẫu khác nhau: 𝑇=0.1s, 𝑇=0.01s So sánh đáp ứng bước của các
mô hình này:
Trang 24Bài toán 2.8 Mô hình hoá trên simulink:
Kết quả mô phỏng:
Trang 25Bài toán 2.9: Đối với hệ thống ở Bài toán 2.7, đặt 𝑇=0.1s, sau đó hãy rời rạc hoá mô hình Phân tích ảnh hưởng của các thông số điều khiển đến kết quả
Thực hiện lệnh trên Command Window:
Kết quả mô phỏng nhận được:
Trang 26Bài toán 2.11 sử dụng khối 1-D Lookup Table để mô tả tính phí tuyến của hệ
thống như sau:
Mô hình trên simulink:
Kết quả mô phỏng:
Trang 27
Bài toán 2.12 Xây dựng mô hình SIMULINK để mô tả tính phi tuyến có
giá trị kép như sau:
Thiết lập mô hình simulink:
Khai báo thông số trong khối 1-D Lookup Table:
Trang 28
Bài toán 2.13: Xây dựng mô hình SIMULINK để mô tả tính phi tuyến có giá trị
kép như sau:
Thiết lập mô hình simulink:
Thiết lập khối 1-D Lookup Table:
Trang 29
Bài toán 2.14: Xét hàm hai chiều như sau:
Hãy vẽ bề mặt 3 chiều của hàm bằng cách sử dụng SIMULINK
Thiết lập mô hình simulink:
Trên mathlab nhập dòng lệnh: plot3(out.yout(:,2),out.yout(:,1),out.yout(:,3),'.')
ta có đồ thị 3D thu được khi sử dụng code mathlab và simulink:
Nhận xét: các đồ thị tạo ra giống nhau
Trang 30Ta thực hiện lệnh trên Command Window của MATLAB:
Trang 31Sử dụng dòng lệnh trên MATLAB để tuyến tính hoá mô hình phi tuyếnnày, và nhận được hàm truyền của mô hình tuyến tính như sau:
Sử dụng lệnh mathlab để so sánh mô hình phi tuyến và mô hình tuyến tính
Nếu tăng độ rộng của Dead Zone, tức là tăng mức độ phi tuyến thì sự phù
Trang 32Bài toán 2.17 Tuyến tính hoá mô hình phi tuyến có hàm truyền như sau và và so
sánh sự phù hợp của mô hình gốc và mô hình gần đúng thông qua phản hồi bước
Thiết lập mô hình trên simulink
Kết quả mô phỏng:
Trang 33BÀI THỰC HÀNH 3: MÔ HÌNH HOÁ LÝ THUYẾT
Bài toán 3.2 Cho quá trình gồm 2 bồn chứa tương tác như sau:
Mô hình trạng thái biểu diễn động học của hệ thống:
Thiết lập mô hình trên simulink
Thực hiện lệnh trên matlab:
Trang 34Nhận xét: mô hình phi tuyến và tuyến tính gần như trùng nhau.
Bài toán 3.3 Cho mô hình quá trình khuấy trộn chất lỏng đẳng nhiệt như hình
vẽ:
Trang 35Quá trình khuấy là lí tưởng, giả thiết khối lượng riêng là đồng nhất: 𝜌0 = 𝜌𝑖=𝜌.
Mô hình trên simuink:
Trang 36So sánh w0 tuyến tính và w0 phi tuyến:
So sánh L phi tuyến và tuyến tính:
Trang 37Mô hình điều khiển vòng kín sử dụng bộ điều khiển tỉ lệ
Mô hình simulink:
Đáp ứng của mô hình :
Trang 38Sử dụng hàm linmod để mô phỏng tuyến tính hoá của quá trình:
Thiết lập mô hình simulink:
Nhập lệnh sau vào Command Window mathlab:
Trang 39Kết quả mô phỏng:
Bài toán 3.4 hãy mô hình hoá quá trình khuấy trộn không đẳng nhiệt (mục
2.9.2, trang 73-76, giáo trình điều khiển các quá trình công nghệ, Nguyễn Văn Chí)
Trang 40Thiết lập mô hình trên simulink
Trang 41Vẽ lại mô hình trên simulink:
Kết quả mô phỏng:
Bài toán 3.5 Cho quá trình gia nhiệt có khuấy trộn có các g iá trị tại điểm làm
việc là V = 1.5 m 3,p = 1.1 kg /m 3, C = 12.5 Giả thiêì tại điểm làm việc cân bằng có các thông sô'trạng thái của quá trình là w = 0.2 m3 / phút, T = 30 °C,Q
= 150 kcal / phút Xác định mô hình tuyến tính của hệ, so sánh đáp ứng giữa mô
Trang 42- Thiết lập mô hình Phi tuyến trên simulink:
Trên màn hình Command Window nhập dòng lệnh sau để tìm các ma trận A,B,C,D:
Trang 43Kết quả mô phỏng:
Đáp ứng của 2 mô hình phi tuyến và tuyến tính gần như trùng nhau chênh lệch nhau 1oC
Bài toán 3.6 Hãy mô hình hoá quá trình của bồn phản ứng khuấy trộn liên tục
(mục 2.9.4, trang 83-86, giáo trình điều khiển các quá trình công nghệ, Nguyễn Văn Chí) trên SIMULINK
Ta có mô hình trên simulink hệ phi tuyến:
Trang 44Sau khi tuyến tính hoá ta có mô hình tuyến tính trên simulink:
Đáp ứng của hệ phi tuyến:
Trang 45Đáp ứng của CB
Trang 46Đáp ứng của H
Bài toán 3.8 hãy mô hình hoá quá trình trao đổi nhiệt chất lỏng (mục 2.9.6,
trang 88-92, giáo trình điều khiển các quá trình công nghệ, Nguyễn Văn Chí) trên SIMULINK
Trang 47Mô hình phi tuyến trên simulink:
Tìm các thông số A, B, C,D ta đượcA= [-2.6000 1.6000; 1.6000 -2.5033]B= [1 0; 0 0.9033]
C=[2.0000 0; 0 2.0000]
D=[-1 0; 0 -1]
Mô hình phi tuyến và tuyến tính trên simulink:
Trang 48So sánh đáp ứng của mô hình phi tuyến và mô hình tuyến tính:
Ta thấy mô hình phi tuyến và tuyến tính gần như trùng nhau
Bài toán 2.9 hãy mô hình hoá quá trình trao đổi nhiệt bằng hơi (mục 2.9.7,
trang 92-97, giáo trình điều khiển các quá trình công nghệ, Nguyễn Văn Chí) trên SIMULINK
Trang 49Ta có mô hình phi tuyến trên simulink:
Kết quả mô phỏng:
Trang 50BÀI THỰC HÀNH 4 THIẾT KẾ VÀ CHỈNH ĐỊNH THAM SỐ BỘ ĐIỀU
KHIỂN PID
Bài toán 4.1 Cho một quá trình có trễ với hàm truyền:
Thiết kế bộ điều khiển ON-OFF trên SIMULINK với các tham số 𝑢𝑚𝑎𝑥=2V,𝑢𝑚𝑖𝑛=0 V, giá trị đặt là 1 Xuất dạng tín hiệu điều khiển thể hiện tính rung trong các trường hợp: lý tưởng và có khâu rơ-le
Thiết kế hệ thống trên simulink:
Đáp ứng đầu ra:
Thiết kế hệ thống trên SIMULINK trong trường sử dụng khâu rơ-le như sau:
Trang 51Đáp ứng đầu ra:
Bài toán 4.2 Cho một quá trình có trễ với hàm truyền:\
hiết kế bộ điều khiển PI trên SIMULINK với cấu hình reset tự động 1/(𝑠 + 1) đóng vai trò là tín hiệu bù cho thành phần tỉ lệ 𝐾𝑝 = 0.2, tín hiệu đặt là 2.Thiết kế hệ thống trên SIMULINK trong trường hợp lý tưởng như sau:
Đáp ứng hệ thống:
Trang 52Bài toán 4.3 Cho một quá trình bậc 3 với hàm truyền:
Phân tích chất lượng của bộ điều khiển P với các giá trị khác nhau của 𝐾𝑝, 𝐾𝑝
từ 0.1 đến 1 (step = 0.1) Phân tích chất lượng của bộ điều khiển PI với 𝐾𝑝 = 1,
𝐾𝑖 từ 1 đến 1.5 (step = 0.1) Phân tích chất lượng của bộ điều khiển PID với
𝐾𝑝 = 1, 𝐾𝑖 = 1, 𝐾𝑑 từ 0.1 đến 2 (step = 0.1)
Ta đánh lệnh vào Command Window MATHLAB:
Đáp ứng đầu ra và quỹ đạo nghiệm số:
Trang 53Thực hiện dòng lệnh sau trên giao diện Command Window của MATLAB để phân tích chất lượng của bộ điều khiển PI với 𝐾𝑝 = 1, 𝐾𝑖 từ 1 đến 1.5 (step = 0.1).
Đáp ứng của quá trình:
Trang 54Thực hiện dòng lệnh sau trên giao diện Command Window của MATLAB
Đáp ứng của quá trình:
Trang 56Bài toán 4.4 Cho một quá trình có hàm truyền:
Thiết kế bộ điều khiển tỉ lệ P cho hệ thống này với 𝐾𝑝= 8 và 𝐾𝑝= 80 So sánh đáp ứng đầu ra Rút ra nhận xét về bộ điều khiển P
Thông số trong các bộ điều khiển PID là:
PID 1:
PID 2:
Đáp ứng của hệ như sau:
Trang 57Bài toán 4.5 Cho một quá trình có hàm truyền:
Thiết kế bộ điều khiển tỉ lệ PI cho hệ thống này với 𝐾𝑐= 8, 𝜏𝐼=3 và 𝜏𝐼=0.5 Hãy thiết kế theo 3 dạng mô hình: dạng mô hình tổng quát (Hình 4.1), dạng mô hình khối SIMULINK có sẵn (Hình 4.2) và dạng theo hàm truyền (Hình 4.5) So sánh đáp ứng đầu ra khi 𝜏𝐼=3 và 𝜏𝐼=0.5, rút ra nhận xét
B1:Thiết kế hệ thống trên simulink:
Kết quả mô phỏng:
Trang 58Thiết kế mô hình trên SIMULINK theo dạng mô hình khối có sẵn trên SIMULINK:
Kết quả mô phỏng tương tự B1
Trang 59Bài toán 4.6 Cho một quá trình có hàm truyền:
Thiết kế bộ điều khiển tỉ lệ PID cho hệ thống này với 𝐾𝑐= 0.56, 𝜏𝐼=8,
𝜏𝐷=0.5 và 𝜏𝐷=1 Hãy thiết kế theo 3 dạng mô hình: dạng mô hình tổng quát (Hình 4.1), dạng mô hình khối SIMULINK có sẵn (Hình 4.2) và dạng theo hàm truyền (Hình 4.6, chọn 𝛽=0.1) So sánh đáp ứng đầu ra khi 𝜏𝐷=0.5 và 𝜏𝐷=1, rút ra nhận xét
Thiết kế mô hình trên simulink:
Đáp ứng của đầu ra khi 𝜏𝐷=0.5 và 𝜏𝐷=1:
Trang 60Bài toán 4.7 Cho một quá trình có hàm truyền:
Hãy chỉnh định các tham số cho bộ điều khiển PI và PID theo phương pháp Ziegler-Nichols
- B1: thiết kế mô hình trên SIMULINK với bộ điều khiển P như sau:
- B2: bắt đầu chỉnh định bằng cách thay đổi các giá trị của 𝐾𝑐 từ -1 đến -8, bước nhảy là 0.5 Chúng ta thấy rằng, tại 𝐾𝑐= -7.5, đáp ứng đầu ra như sau có dạng chu kỳ hình sin, vậy 𝐾𝑜 = 𝐾𝑐 Trên Scope, chúng ta vào
Tools→measurements→cursor measurements Chọn 2 điểm đầu và cuối 1 chu
kỳ, ta đo được giá trị 𝑃𝑜 = 3.35s
B3: dựa vào bảng tra theo phương pháp Ziegler-Nichols cho đối tượng không trễbên dưới, chúng ta xác định được các tham số của bộ điều khiển PI và PID như sau:
Trang 61+) bộ điều khiển PI:
+) bộ điều khiển PID:
- B4: thiết lập mô hình PI và PID đã chỉnh định trên SIMULINK như sau:
Kết quả mô phỏng:
Trang 62Bài toán 4.8 Cho một quá trình có hàm truyền:
Hãy chỉnh định các tham số cho bộ điều khiển PI và PID theo công cụ PID tunercủa MATLAB
- B1: Thiết lập mô hình trên SIMULINK như sau, đối với bộ điều khiển PID và
PI chọn tham số bất kỳ
Vào Khối PID controller ấn vào Tune
Màn hình tuner hiện ra:
Trang 63Ta có thể chỉnh định bằng tay theo tiêu chí điều khiển của mình bằng cách sử dụng các thanh kéo Response time (điều chỉnh thời gian đáp ứng nhanh hay chậm) và Transient Behavior (điều chỉnh mức độ đáp ứng mạnh hay yếu).
Sau khi lựa chọn phương án cuối chúng, chúng ta nhấp vào Update block để cậpnhật các tham số đã chỉnh định vào mô hình Lúc này ở bộ điều khiển PID các tham số đã được cập nhật:
Mô phỏng ta nhận được đáp ứng so sánh 2 bộ PID và PI:
Trang 65KẾT LUẬN
Qua học phần điện Điều khiển quá trình và thực hành em đã thực hiện tính toán,
mô phỏng các quá trình sản xuất và quá trình công nghệ, mô phỏng các quá trìnhtrên phần mềm MATLAB Simulink Em xin cám ơn thầy Dượng Đình Tú đã giúp
đỡ em trong quá trình học tập của học phần Điều khiển qua trình