Đang tải... (xem toàn văn)
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINHKHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN -⸙∆⸙ -
BÁO CÁO CUỐI KỲ
MÔ HÌNH HÓA VÀ NHẬN DẠNG HỆ THỐNG
GVHD: TS Vũ Văn Phong
Tp Hồ Chí Minh tháng 12 năm 2022
Trang 2HỌC KỲ 1 NĂM 2022-20231 Mã môn học: MOIS333546.
2 Giảng viên hướng dẫn: TS Vũ Văn Phong3 Danh sách sinh viên thực hiện đề tài:
Ghi chú: Tỷ lệ % = 100%: mức độ phần trăm của từng học sinh tham gia được đánh
giá bởi nhóm trưởng và thống nhất giữa các thành viên trong nhóm.
Nhận xét của giáo viên
Giảng viên chấm điểm
Trang 3Thay mặt nhóm thực hiện báo cáo môn học Mô hình hóa và nhận dạng hệthống xin được gửi lời cảm ơn chân thành đến các thầy cô khoa Chất lượng cao bộmôn Mô hình hóa và nhận dạng hệ thống của trường đã truyền đạt cho chúng emnhiều kiến thức bổ ích trong suốt thời gian học trên lớp Đặc biệt nhóm cũng xinchân thành cám ơn thầy Vũ Văn Phong đã nhiệt tình hướng dẫn hướng dẫn nhómhoàn thành tốt bài báo cáo cuối kì môn học Mô hình hóa và nhận dạng hệ thống.
Trong quá trình làm bài báo cáo môn học khó tránh khỏi sai sót, kính mongthầy bỏ qua Đồng thời do kiến thức cũng như kinh nghiệm thực tiễn còn hạn chếnên bài báo cáo không thể tránh khỏi những thiếu sót không mong muốn, nhóm rấtmong nhận được sự đóng góp ý kiến của thầy để báo cáo môn học của nhóm em sẽđược hoàn thiện hơn đồng thời các thành viên trong nhóm sẽ tích luỹ được nhiềukinh nghiệm và bổ sung kiến thức.
Chúng em xin chân thành cảm ơn !
Trang 4Bài 1: MÔ HÌNH HÓA 1
1.1 Xây dựng mô hình toán 1
1.1.1 Mô hình bài toán 1
1.1.2 Xây dựng mô hình toán 1
1.2 Mô phỏng hệ thống với Matlab/Simulink 2
1.3 Xây dựng bộ điều khiển 4
1.3.1 Giới thiệu về PID 4
1.3.2 Thiết kế PID cho bồn nước 4
Bài 2: NHẬN DẠNG HỆ THỐNG 8
2.1 Xây dựng mô hình toán 8
2.1.1 Mô hình bài toán 8
2.1.2 Xây dựng mô hình toán 8
2.2 Mô phỏng với Matlab/Simulink 9
2.3 Xây dựng bộ dữ liệu 11
2.3.1 Thu thập dữ liệu để tìm mô hình toán 11
2.3.2 Thu thập dữ liệu để nhận dạng tham số 14
2.4 Tìm mô hình toán bằng tool Identification Matlab 16
2.4.1 So sánh giữa hai mô hình 22
2.4.2 Nhận dạng mô hình 23
2.4.3 Thực hiện so sánh giữa mô hình hệ xe con lắc ngược và mô hình sau khi nhận dạng 28
2.5 Thiết kế bộ điều khiển 31
TÀI LIỆU THAM KHẢO 34
PHỤ LỤC HÌNH ẢHình 1 1 Hệ bồn nước đơn 1
Hình 1 2 Bên trong hệ bồn nước đơn 2
Hình 1 3 Sơ đồ mô phỏng hệ bồn nước 2
Hình 1 4 Độ cao mực nước trong bồn 3
Hình 1 5 Bộ điều khiển PID 4
Hình 1 6 Bên trong bộ điều khiển PID 5
Hình 1 7 Sơ đồ điều khiển hệ bồn nước đơn bằng PID 5
Hình 1 8 Thông số PID phù hợp 5
Hình 1 9 Độ cao mức nước trong bồn khi có bộ điều khiển 6
Trang 5Hình 2 5 Thông số ban đầu cho hệ cánh tay máy 10
Hình 2 6 Ngõ ra góc phi và vận tốc cánh tay máy 11
Hình 2 7 Mô hình để lấy thông số 11
Hình 2 8 Thông số To Workspace ngõ vào u và ngõ ra phi 12
Hình 2 9 Model Configuration Parameter 12
Hình 2 10 Dữ liệu đầu vào và ra của hệ thống 13
Hình 2 11 Câu lệnh cần nhập 13
Hình 2 12 Bảng giá trị đầu vào 13
Hình 2 13 Dữ liệu dùng để tìm mô hình toán 14
Hình 2 14 Thông số của Timeseries 15
Hình 2 27 Thông số chuẩn của cánh tay máy ( Thông số chuẩn của nhà sản xuất) 23
Hình 2 28 Thông số ban đầu ta cài đặt cho mô hình để nhận dạng 24
Hình 2 29 Mô hình dùng để nhận dạng 24
Hình 2 30 Giao diện ban đầu của công cụ nhận dạng 25
Hình 2 31 Các thông số cần nhận dạng 26
Hình 2 32 Giao diện sau khi xong quá trình nhận dạng 28
Hình 2 33 Thông số mới sau khi nhận dạng 28
Hình 2 34 Bên trong khối hệ cánh tay máy bậc 1 sau khi nhận dạng 29
Hình 2 35 Sơ đồ so sánh 29
Hình 2 36 Kết quả mô phỏng ngõ ra giữa mô hình hệ cánh tay máy bậc 1 và mô hình nhận dạng 30
Hình 2 37 Sai số giữa mô hình hệ cánh tay máy bậc 1 và mô hình nhận dạng 30
Hình 2 38 Sơ đồ điều khiển hệ cánh tay máy bậc 1 bằng PID 31
Hình 2 39 Góc tay máy khi có bộ điều khiển 32
Hình 2 40 Ngõ ra của tín hiệu điều khiển momen 32
Trang 6Bài 1: MÔ HÌNH HÓA1.1 Xây dựng mô hình toán
1.1.1 Mô hình bài toán
Nhóm chọn hệ bồn nước đơn để làm mô hình toán
Trong đó:
Các thông số cho mô hình hệ bồn nước đơn:
u(t): điện áp điều khiển máy bơm(giới hạn từ 0-12V)h(t): độ cao mực nước trong bồn (cm)
A(h): tiết diện ngang của bồn chứa (cm2)hmax: độ cao cực đại của bồn chứa (hmax=50cm)Amax: tiết diện ngang cực đại (Amax=200 cm2)Amin: tiết diện ngang cực tiểu (Amin=100 cm2)
k: hệ số tỉ lệ với công suất máy bơm (k=300 cm3/s)
Hình 1 1 Hệ bồn nước đơn
Trang 71.1.2 Xây dựng mô hình toán
Dòng vào: qin(t)= k.u(t)Dòng ra: qout(t)= CD.a.√2 gh(t)
Phương trình cân bằng: qin(t)- qout(t)=d ( A(h) h (t))dt=> h’(t)=A (h)1 (k.u(t)- CD.a.√2 gh(t))
Với A(h)=Amax−Amin
hmax h(t)+ Amin
1.2 Mô phỏng hệ thống với Matlab/Simulink
Mô phỏng phương trình vi phân biểu diễn hệ bồn nước đơn
Hình 1 2 Bên trong hệ bồn nước đơn
Sơ đồ mô phỏng hệ bồn nước, giả sử ta cho điện áp đầu vào cấp cho máybơm là 1V
Trang 8Hình 1 3 Sơ đồ mô phỏng hệ bồn nước
Khai báo các thông số cho hệ bồn nước
Kết quả mô phỏng
Trang 9Nhận xét: Ta thấy khi điện áp cấp cho máy bơm là 1V lúc này số lượng nước được
đưa vào so với số lượng nước bồn nước xả ra chênh lệch nhau rất nhiều nên ta thấyđồ thị độ cao mực nước trong khoảng thời gian từ 0-500s có xu hướng tăng lên.
1.3 Xây dựng bộ điều khiển
1.3.1 Giới thiệu về PID
PID là bộ điều khiển hồi tiếp vòng kín, là sự kết hợp của 3 bộ điều khiển tỉ lệ,tích phân, vi phân Bộ điều khiển PID sẽ tính toán giá trị sai số là hiệu số giữa giátrị đo thông số biến đổi và giá trị đặt mong muốn Bộ điều khiển sẽ thực hiện giảmtối đa sai số bằng cách điều chỉnh giá trị điều khiển đầu vào Bộ điều khiển PID cókhả năng triệt tiêu sai số xác lập, tăng tốc độ đáp ứng, giảm độ vọt lố nếu thông sốcủa bộ điều khiển được lựa chọn thích hợp.
Sự ảnh hưởng của các thông số PIDĐáp ứng vào
Thời gian tăngVọt lốThời gian quáđộ
Sai số xác lập
1.3.2 Thiết kế PID cho bồn nước
Giả sử mực nước mong muốn trong bồn là 30cm
Hình 1 5 Bộ điều khiển PID
Trang 10Hình 1 6 Bên trong bộ điều khiển PID
Hình 1 7 Sơ đồ điều khiển hệ bồn nước đơn bằng PID
Sau nhiều lần thử với các thông số Kp,Ki,Kd khác nhau, ta tìm được thôngsố phù hợp cho hệ thống để đáp ứng được ngõ ra
Hình 1 8 Thông số PID phù hợp
Kết quả mô phỏng
Trang 11Hình 1 9 Độ cao mức nước trong bồn khi có bộ điều khiển
Hình 1 10 Ngõ ra của tín hiệu điều khiển máy bơm
Nhận xét: Ta thấy khi có bộ điều khiển PID thì đáp ứng ngõ ra được cải thiện
nhiều hơn
Không có độ vọt lố
Thời gian mực nước đạt 30cm khoảng 50sSai số xác lập bằng 0
Trang 12Ngoài ra ta thấy mực nước trong bồn bắt đầu ổn định khi điện áp cấp cho máy bơmkhoảng 0.5V
Trang 13Bài 2: NHẬN DẠNG HỆ THỐNG2.1 Xây dựng mô hình toán
2.1.1 Mô hình bài toán
Nhóm em chọn hệ tay máy 1 bậc làm mô hình bài toánCác thông số cho mô hình hệ cánh tay máy 1 bậc:u(t): momen tác động lên trục quay của cánh tay máyΦ(t): góc quay vị trí của cánh tay máy
J: momen quán tính của cánh tay máy (J=0.05 kg/m2)M: khối lượng của cánh tay máy (M=1 kg)
m: khối lượng vật nặng (m=0.1 kg)
lC: khoảng cách từ trọng tâm cánh tay máy đến trục quay (lC=0.15 m)B: hệ số ma sát nhớt( B=0.2 kg.m2/s)
g: gia tốc trọng trường (g=9.81 m/s2)
2.1.2 Xây dựng mô hình toán
Phương trình vi phân mô tả cánh tay máy
(J+m.l2) Φ’’(t)+B Φ’(t)+(ml+MlC).g.sin Φ(t)=u(t)
=> Φ’’(t)=−B Φ ’(t )−(ml+Ml C ) g sin Φ (t )+u(t )
J +m l2
Hình 2 1 Hệ tay máy bậc 1
Trang 142.2 Mô phỏng với Matlab/Simulink
Mô phỏng phương trình vi phân biểu diễn cánh tay máy
Hình 2 2 bên trong cánh tay máy bậc 1
Giả sử momen tác động lên trục tay của cánh tay máy bằng 0.5
Hình 2 3 Sơ đồ mô phỏng hệ cánh tay máy bậc 1
Lực momen tác dụng vào ta dùng hàm Step để thuận tiện cho việc thu nhập dữ liệu
tìm mô hình toán
Trang 15Khai báo thông số ban đầu cho hệ cánh tay máy
Hình 2 5 Thông số ban đầu cho hệ cánh tay máy
Kết quả mô phỏng
Hình 2 6 Ngõ ra góc phi và vận tốc cánh tay máy
Nhận xét: Khi chịu tác động của momen 0.5, thời gian để cho cánh tay ổn định tại
góc 0.28 rad là rất lâu khoảng 400s.
2.3 Xây dựng bộ dữ liệu
2.3.1 Thu thập dữ liệu để tìm mô hình toán
Ta tiến hành thu nhập số liệu ngõ vào,ngõ ra ta dùng khối To Workspace,ngõ vào đặt tên biến là u còn ngõ ra là phi, đều để dạng Array
Trang 16Hình 2 7 Mô hình để lấy thông số
Trang 17Hình 2 8 Thông số To Workspace ngõ vào u và ngõ ra phi
Ta vào Model Configuration Parameter chọn Fixed step sau đó chỉnh
sample time 0.1
Hình 2 9 Model Configuration Parameter
Trang 18Sau khi bấm Run các dữ liệu này sẽ được đưa qua Workspace, như vậy cácdữ liệu ngõ vào và ngõ ra đã được lưu vào Workspace
Sau đó, ta lưu lại file dữ liệu ngõ vào u thành u1 và file dữ liệu phi thànhphi1 để thuận tiện cho việc tìm mô hình toán, ta nhập 2 câu lệnh
Hình 2 11 Câu lệnh cần nhập
Hình 2 10 Dữ liệu đầu vào và ra của hệ thống
Trang 19Lúc này trên Workspace sẽ xuất hiện 2 file dữ liệu dùng để tìm mô hình toán
Hình 2 13 Dữ liệu dùng để tìm mô hình toán
2.3.2 Thu thập dữ liệu để nhận dạng tham số
Để nhận dạng được mô hình cánh tay máy 1 bậc ta tiến hành thu nhập lại dữ
liệu 1 lần nữa, cả ngõ vào và ngõ ra đều để dưới dạng Timeseries
Hình 2 12 Bảng giá trị đầu vào
Trang 20Hình 2 14 Thông số của Timeseries
Trang 21Sau khi bấm Run các dữ liệu này sẽ được đưa qua Workspace, như vậy cácdữ liệu ngõ vào và ngõ ra đã được lưu vào Workspace
Sau đó, ta lưu lại file dữ liệu ngõ vào u thành u2 và file dữ liệu phi thànhphi2 để thuận tiện cho việc nhận dạng tham số, ta nhập 2 câu lệnh
Hình 2 16 Dữ liệu dùng để nhận dạng tham số
2.4 Tìm mô hình toán bằng tool Identification Matlab
Ta click vào System Identification sau đó vào Import data chọn Time
Domain Data
Hình 2 15 Ngõ ra cần nhận dạng
Trang 22Hình 2 17 Giao diện ban đầu
Tiến hành nhập các thông số sau đó Import
Trang 23Để tìm mô hình toán ta nhấn vào Estimate chọn Transfer Function Model
Tiếp theo, ta chọn số cực và số zero, mô hình toán đầu tiên tf1 ta chọn 2 cực
và 1 zero, sau đó Estimate để bắt đầu tìm mô toán
Trang 24Để xem được ngõ ra và độ chính xác của mô hình toán so với mô hình ban
đầu ta click vào Model Output
Ta có thể thấy ngõ ra của 2 mô hình và độ chính xác giữa 2 mô hình là97.3%
Ta tiếp tục khảo sát nhiều trường hợp số cực và số zero khác nhau để tìmđược mô hình toán có ngõ ra gần giống với mô hình ban đầu
Trường hợp 3 cực và 1 zero tf2: 98.06%
Hình 2 19 Kết quả mô hình toán cần tìm
Trang 26Hình 2 200 Trường hợp 3 cực và 1 zero tf2: 98.06%
Trang 27Hình 2 23 Trường hợp 6 cực 2 zero tf5: 98.38%Hình 2 22 Trường hợp 5 cực và 2 zero tf4: 97.64%
Trang 28Sau 5 trường hợp, ta thấy trường hợp 6 cực và 2 zero có độ chính xác gầngiống so với mô hình ban đầu , sau đó ta có thể biết được hàm truyền mô hình toán
Sau khi có được hàm truyền, ta tiếp tục so sánh với mô hình ban đầu
Trang 292.4.1 So sánh giữa hai mô hình
Hình 2 24 Sơ đồ so sánh
Kết quả so sánh
Hình 2 25 Ngõ ra giữa mô hình toán và mô hình cánh tay máy
Trang 30Hình 2 26 So sánh sai số
Nhận xét: Ta thấy trong khoảng thời gian từ 100-150s sai số giữa mô hình cánh
tay máy và mô hình toán có sự chênh lệch lớn nhất, sai số lớn nhất có độ lớnkhoảng 0.04 rad
Trang 32Hình 2 29 Mô hình dùng để nhận dạng
Để nhận dạng ta click vào Parameter Estimator, lúc này cửa sổ làm việc
hiện ra
Trang 33Hình 2 30 Giao diện ban đầu của công cụ nhận dạng
Ta click vào Select Parameters sau đó chọn Select parameters
Trang 34Ta chọn 6 thông số cần nhận dạng J, M_lon, m_nho, l, lC, B
Cả 6 thông số này đều là giá trị dương nên ta lần lượt click vào các thông sốchỉnh Mininum =0
Ta vào New Experiment sau đó chọn Select Measured Output Signals, ta
click vào ngõ ra của mô hình
Hình 2 31 Các thông số cần nhận dạng
Trang 35Sau đó ta copy dữ liệu ngõ ra phi2 theo mô hình của nhà sản xuất đã lưu lại
gán vào, sau đó Estimate
Để xem được kết quả các thông số mới sau khi nhận dạng ta click vào
EstimateParams
Trang 36Hình 2 33 Giao diện sau khi xong quá trình nhận dạngHình 2 32 Thông số mới sau khi nhận dạng
Trang 372.4.3 Thực hiện so sánh giữa mô hình hệ cánh tay máy 1 bậc và mô hình saukhi nhận dạng
Mô hình sau khi nhận dạng
Hình 2 34 Bên trong khối hệ cánh tay máy bậc 1 sau khi nhận dạng
Cài đặt thông số cho mô hình sau khi nhận dạng
Mô hình so sánh giữa mô hình hệ cánh tay máy 1 bậc và mô hình nhận dạng
Trang 38Hình 2 35 Sơ đồ so sánh
Kết quả so sánh
Trang 40Hình 2 37 Kết quả mô phỏng ngõ ra giữa mô hình hệ cánh tay máy bậc 1 và mô hình nhận dạng
Nhận xét kết quả so sánh: Ta thấy ngõ ra góc phi của mô hình sau khi nhận dạng
so với mô hình hệ cánh tay máy 1 bậc với thông số chuẩn của nhà sản xuất khôngcó sự chênh lệch đáng kể, sai số lớn nhất có độ lớn khoảng 0.016 rad tại thời gian180s.
2.5 Thiết kế bộ điều khiển
Giả sử vị trí canh tay máy mong muốn là góc thẳng đứng pi ( 180 độ)
Hình 2 36 Sai số giữa mô hình hệ cánh tay máy bậc 1 và môhình nhận dạng
Trang 41Các thông số Ki, Kp, Kd phù hợp đáp ứng được ngõ ra sau khi hiệu chỉnh
Kết quả mô phỏng
Hình 2 39 Góc tay máy khi có bộ điều khiển
Trang 42Hình 2 40 Ngõ ra của tín hiệu điều khiển momen
Nhận xét: Ta thấy khi có bộ điều khiển PID thì đáp ứng ngõ ra được cải thiện
nhiều hơn
Không có độ vọt lố
Thời gian cánh tay máy đạt vị trí thẳng đứng khoảng 30sSai số xác lập bằng 0
Tốc độ góc của cánh tay có sự dao động rất nhiều gần như bằng 0
Ngoài ra ta thấy cánh tay máy ổn định tại vị trí 180 độ khi momen tác động đếncánh tay khoảng 5.6.10-3
Trang 43TÀI LIỆU THAM KHẢO
- Huỳnh Thái Hoàng, Hệ thống điều khiển thông minh, NXB ĐHQG TPHCM