MÔ HÌNH HÓA
Xây dựng mô hình toán
Nhóm chọn hệ bồn nước đơn để làm mô hình toán
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 (cm 2 ) h max : độ cao cực đại của bồn chứa (h max Pcm)
A max : tiết diện ngang cực đại (A max 0 cm 2 )
A min : tiết diện ngang cực tiểu (A min 0 cm 2 ) k: hệ số tỉ lệ với công suất máy bơm (k00 cm 3 /s)
Hình 1 1 Hệ bồn nước đơn
1.1.2 Xây dựng mô hình toán
Phương trình cân bằng: q in (t)- q out (t)= d ( A ( h) dt h (t ))
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áy bơm là 1V
Hì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
Nhậ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.
Xây dựng bộ điều khiển
Bộ điều khiển PID là bộ điều khiển hồi tiếp vòng kín sử dụng kết hợp ba bộ điều khiển tỉ lệ (P), tích phân (I) và vi phân (D) Nó tính toán lỗi giữa giá trị đo đạc và giá trị mong muốn, sau đó điều chỉnh đầu vào điều khiển để giảm thiểu lỗi Với sự lựa chọn thông số phù hợp, bộ điều khiển PID có khả năng loại bỏ lỗi ổn định, tăng tốc độ phản hồi và giảm quá mức.
Sự ảnh hưởng của các thông số PID Đáp ứng vào kín
Thời gian tăng Vọt lố Thời gian quá độ
K P Giảm Tăng Thay đổi nhỏ Giảm
K I Giảm Tăng Tăng Loại bỏ
K D Thay đổi nhỏ Giảm Giảm Thay đổi nhỏ
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
Hì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ông số phù hợp cho hệ thống để đáp ứng được ngõ ra
Hình 1 8 Thông số PID phù hợp
Hì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 50s
Sai số xác lập bằng 0
Ngoà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ơm khoảng 0.5V
NHẬN DẠNG HỆ THỐNG
Xây dựng mô hình toán
Nhóm em chọn hệ tay máy 1 bậc làm mô hình bài toán
Cá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/m 2 )
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) l C : khoảng cách từ trọng tâm cánh tay máy đến trục quay (l C =0.15 m)
B: hệ số ma sát nhớt( B=0.2 kg.m 2 /s) g: gia tốc trọng trường (g=9.81 m/s 2 )
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 l 2 Hình 2 1 Hệ tay máy bậc 1
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
Khai 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
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.
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
Hình 2 7 Mô hình để lấy thông số
Hì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
Sau khi bấm Run các dữ liệu này sẽ được đưa qua Workspace, như vậy các dữ 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ành phi1 để 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ậpHình 2 10 Dữ liệu đầu vào và ra của hệ thống
Lú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
Hình 2 14 Thông số của Timeseries
Sau khi bấm Run các dữ liệu này sẽ được đưa qua Workspace, như vậy các dữ 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ành `phi2` để thuận tiện cho việc nhận dạng tham số Ta nhập 2 câu lệnh sau:
Hình 2 16 Dữ liệu dùng để nhận dạng tham số
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
Hình 2 15 Ngõ ra cần nhận dạng
Hình 2 17 Giao diện ban đầu
Tiến hành nhập các thông số sau đó Import Để 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 Để 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%
Tiếp tục nghiên cứu nhiều trường hợp khác nhau về số cực và số không để tìm ra mô hình toán học có kết quả 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
Hình 2 200 Trường hợp 3 cực và 1 zero tf2: 98.06%
Hì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%
Sau 5 trường hợp, ta thấy trường hợp 6 cực và 2 zero có độ chính xác gần giố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
2.4.1 So sánh giữa hai mô hình
Hình 2 24 Sơ đồ 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
Hì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ớn khoảng 0.04 rad
Sử dụng Parameter estimation của Matlab để nhận dạng tham số cho hệ thống
=> Ta cần nhận dạng 6 thông số J, M_lon, m_nho, l, lC, B
Tạo 1 mô hình hệ cánh tay máy 1 bậc dùng để nhận dạng
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)
Hình 2 28 Thông số ban đầu ta cài đặt cho mô hình để nhận dạng
Hì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
Hì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
Ta 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
Sau đó 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
Hình 2 33 Giao diện sau khi xong quá trình nhận dạng
Hình 2 32 Thông số mới sau khi nhận dạng
2.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 sau khi 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
Hình 2 35 Sơ đồ so sánh
Hì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
Khi so sánh kết quả nhận dạng góc phi của mô hình với hệ cánh tay robot 1 bậc với thông số chuẩn, có thể thấy độ chênh lệch không đáng kể Sai số lớn nhất chỉ khoảng 0,016 rad tại thời điểm 180 giây.
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
Các thông số Ki, Kp, Kd phù hợp đáp ứng được ngõ ra sau khi hiệu chỉnh
Hình 2 39 Góc tay máy khi có bộ điều khiển
Hì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 30s
Sai 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 đến cánh tay khoảng 5.6.10 -3