BÀI TẬP LỚN BỘ MÔN CƠ SỞ HỆ THỐNG TỰ ĐỘNG Mô hình hóa và khảo sát chất lượng, và thiết kế bộ điều khiển của hệ thống con lắc ngược Việc mô tả các chuyển động của động lực học con lắc ngƣợc dựa vào định luật của Newton về chuyển động. Các hệ thống cơ khí có hai trục: chuyển động của xe con lắc ở trên trục X và chuyển động quay của thanh con lắc trên mặt phẳng XY. Phân tích sơ đồ của hệ thống con lắc ngược ta có được sơ đồ lực tác động vào xe con lắc và thanh con lắc theo hình 1.1.
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA: CƠ KHÍ - - BÀI TẬP LỚN BỘ MÔN CƠ SỞ HỆ THỐNG TỰ ĐỘNG Chủ đề: Mơ hình hóa khảo sát chất lượng, thiết kế điều khiển hệ thống lắc ngược Giáo viên hướng dẫn: TS.Bùi Thanh Lâm Sinh viên thực hiện: Dương Minh Hiếu Mã SV: 2020600291 Lớp: Cơ điện tử 1-K15 HÀ NỘI, 2021 CƠ SỞ HỆ THỐNG TỰ ĐỘNG GVHD: TS.BÙI THANH LÂM PHIẾU HỌC TẬP CÁ NHÂN/NHĨM I Thơng tin chung Tên lớp: Khóa: Tên nhóm (nếu giao phiếu học tập nhóm) Họ tên thành viên nhóm: II Nội dung học tập Tên chủ đề: Mơ hình hóa khảo sát chất lượng, thiết kế điều khiển hệ thống M Khối lượng xe 0.5 kg m Khối lượng lắc 0.2 kg b Hệ số ma sát xe 0.1 N/m/sec l Chiều dài lắc 0.3 m I Mơmen qn tính lắc 0.006 kg*m^2 F Lực tác dụng vào xe x Tọa độ vị trí xe θ Góc lắc so với phương thẳng đứng Hoạt động sinh viên - Nội dung 1: Mơ hình hóa hệ thống, tìm đáp ứng hệ thống theo thời gian - Mục tiêu/chuẩn đầu ra: L1 - Nội dung 2: Khảo sát phụ thuộc đáp ứng hệ thống theo khối lượng xe đẩy thay đổi từ 0.5 đến kg - Mục tiêu/chuẩn đầu ra: L2 CƠ SỞ HỆ THỐNG TỰ ĐỘNG GVHD: TS.BÙI THANH LÂM - Nội dung 3: Thiết lập điều khiển trễ pha khảo sát phụ thuộc chất lượng điều khiển vị trí theo tham số điều khiển sớm trễ pha - Mục tiêu/chuẩn đầu ra: L3 Sản phẩm nghiên cứu: Bài thu hoạch chương trình mơ Matlab III Nhiệm vụ học tập Hoàn thành tiểu luận, tập lớn, đồ án/dự án theo thời gian quy định (từ ngày / /2020 đến ngày / /2020) Báo cáo sản phẩm nghiên cứu theo chủ đề giao trước giảng viên sinh viên khác IV Học liệu thực tiểu luận, tập lớn, đồ án/dự án Tài liệu học tập: Sách Cơ sở hệ thống tự động, tài liệu Matlab Phương tiện, nguyên liệu thực tiểu luận, tập lớn, đồ án/dự án (nếu có): Máy tính KHOA/TRUNG TÂM TS Nguyễn Anh Tú GIÁO VIÊN HƯỚNG DẪN TS Bùi Thanh Lâm CƠ SỞ HỆ THỐNG TỰ ĐỘNG GVHD: TS.BÙI THANH LÂM MỤC LỤC MỤC LỤC .4 MỞ ĐẦU Chương : KẾT QUẢ NGHIÊM CỨU 1.1: Nội dung 1: Mô hình hóa hệ thống, tìm đáp ứng hệ thống theo thời gian .6 1.1.1: Phân tích mơ hình hóa theo hệ phi tuyến: 1.1.2: Phân tích mơ hình hóa theo hệ tuyến tính 1.2: Nội dung 2: Khảo sát phụ thuộc đáp ứng hệ thống theo khối lượng xe đẩy thay đổi từ 0.5 đến 5kg 12 1.2.1: Phân tích mơ hình hóa theo hệ phi tuyến .12 1.2.2: Phân tích mơ hình hóa theo hệ tuyến tính: 12 1.3: Nội dung III Thiết lập điều khiển trễ pha khảo sát phụ thuộc chất lượng điều khiển trị trí theo tham số điều khiển sớm trễ pha 15 Chương : KẾT LUẬN .23 CƠ SỞ HỆ THỐNG TỰ ĐỘNG GVHD: TS.BÙI THANH LÂM MỞ ĐẦU Con lắc ngược vấn đề kinh điển điều khiển hệ thống phi tuyến đặc tính khơng ổn định điểm cân bằng, sử dụng Trường đại học khắp giới Đây hệ thống SIMO điển hình ( ngõ vào nhiều ngõ ) mơ hình lý tưởng thường dùng để kiểm tra thuật toán điều khiển ( LQR, PID, fuzzy logic, điều khiển mờ, mạng nơron …) Hệ thống lắc ngược có hai điểm cân : ổn định không ổn định Ở trạng thái cân ổn định lắc hướng xuống phía khơng có lực tác động hệ thống trạng thái Ở trạng thái cân khơng ổn định vị trí lắc hướng lên cần lực tác động để trì trạng thái Vì mục tiêu điều khiển lắc ngược quay trì trạng thái đứng cân hướng lên lắc Đây vấn đề quan trọng cần nghiên cứu tập lớn CƠ SỞ HỆ THỐNG TỰ ĐỘNG Chương : GVHD: TS.BÙI THANH LÂM KẾT QUẢ NGHIÊM CỨU 1.1: Nội dung 1: Mơ hình hóa hệ thống, tìm đáp ứng hệ thống theo thời gian Việc mô tả chuyển động động lực học lắc ngƣợc dựa vào định luật Newton chuyển động Các hệ thống khí có hai trục: chuyển động xe lắc trục X chuyển động quay lắc mặt phẳng XY Phân tích sơ đồ hệ thống lắc ngược ta có sơ đồ lực tác động vào xe lắc lắc theo hình 1.1 Hình 1: phân tích lực tác dụng vào xe Tiến hành tổng hợp lực tác động vào xe lắc theo phương ngang ta phương trình chuyển động: 𝑀𝑥̈ + 𝑏𝑥̇ + 𝑁 = 𝐹 (1.1) Chúng ta tổng hợp lực theo phương thẳng đứng khơng hữu ích chuyển động hệ thống lắc ngược không chuyển động theo hướng trọng lực Trái Đất cân với tất lực thẳng đứng Tổng hợp lực lắc theo chiều ngang ta được: 𝑚𝑥̈ + 𝑚𝑙𝜃̈ cos 𝜃 − 𝑚𝑙𝜃̇ sin 𝜃 = 𝑁 Trong chiều dài từ tâm lắc tới điểm gốc là: 𝑙= (1.2) 𝐿 Từ phương trình (1.1) (1.2) ta được: CƠ SỞ HỆ THỐNG TỰ ĐỘNG GVHD: TS.BÙI THANH LÂM (𝑀 + 𝑚)𝑥̈ + 𝑏𝑥̇ + 𝑚𝑙𝜃̈ cos 𝜃 − 𝑚𝑙𝜃̇ sin 𝜃 = 𝐹 (1.3) Tổng hợp lực vng góc với lắc: 𝑃 sin 𝜃 + 𝑁 cos 𝜃 − 𝑚𝑔 sin 𝜃 = 𝑚𝑙𝜃̈ + 𝑚𝑥̈ cos 𝜃 (1.4) Để làm triệt tiêu hai điều kiện P N ta tiến hành tổng hợp moment trọng tâm lắc: −𝑃𝑙 sin 𝜃 − 𝑁𝑙 cos 𝜃 = 𝐼 𝜃̈ (1.5) Từ (1.4) (1.5) ta được: (𝐼 + 𝑚𝑙2 )𝜃̈ + 𝑚𝑔𝑙 sin 𝜃 = −𝑚𝑙𝑥̈ cos 𝜃 (1.6) Ta thu hệ phương trình mơ tả đặc tính động học phi tuyến hệ thống: (𝑀 + 𝑚)𝑥̈ + 𝑏𝑥̇ + 𝑚𝑙𝜃̈ cos 𝜃 − 𝑚𝑙𝜃̇ sin 𝜃 = 𝐹 (𝐼 + 𝑚𝑙2)𝜃̈ + 𝑚𝑔𝑙 sin 𝜃 = −𝑚𝑙𝑥̈ cos 𝜃 (1.7) (1.8) 1.1.1: Phân tích mơ hình hóa theo hệ phi tuyến: Ta biến đổi (1.7) (1.8) sau: 𝑥̈ = 𝐹−𝑏𝑥̇ −𝑚𝑙𝜃̈ cos 𝜃+𝑚𝑙𝜃̇ sin 𝜃 𝑀+𝑚 (1.9) −𝑚𝑙𝑥̈ cos 𝜃−𝑚𝑙𝑔 sin 𝜃 𝜃̈ = (1.10) 𝐼+𝑚𝑙 Thay phương trình (1.9) (1.10) vào phương trình (1.7) (1.8) ta hệ phương trình tốn hệ lắc ngược phi tuyến: 𝑥̈ = (𝐼+𝑚𝑙)(𝐹−𝑏𝑥̇ −𝑚𝑙𝜃̇ sin 𝜃)+𝑚2 𝑙 𝑔 sin 𝜃 cos 𝜃 (𝐼+𝑚𝑙 )(𝑀+𝑚)−𝑚2 𝑙 cos 𝜃 (1.11) ̇2 𝑚𝑙(𝑏𝑥̇ cos 𝜃−𝐹 cos 𝜃−𝑚𝑙𝜃 sin 𝜃 cos 𝜃+(𝑀+𝑚)𝑔 sin 𝜃) 𝜃̈ = (𝐼+𝑚𝑙 )(𝑀+𝑚)−𝑚2 𝑙 cos 𝜃 (1.12) Mô tả hệ thống phi tuyến matlab simulink: Ta cần khảo sát biến theta x cần đặt khối đo biến theta, x, đo tín hiệu vào, thời gian khảo sát: 200s CƠ SỞ HỆ THỐNG TỰ ĐỘNG GVHD: TS.BÙI THANH LÂM • Đáp ứng hệ thống theo thời gian hệ trạng thái nằm bên dưới, cân bằng, 𝜃0=0, x0 = Hình 2: mơ hệ thống matlad simulink -Tín hiệu vào hàm xung 1N: Hình 3: mô hệ thống đầu vào hàm xung Bảng 1: mô chuyển động xe lắc CƠ SỞ HỆ THỐNG TỰ ĐỘNG GVHD: TS.BÙI THANH LÂM Nhận xét: - Xe bị lực tác dụng dịch chuyển đoạn 1.4m dừng lại - Con lắc bị xung tác động vị trí cần dao động quanh vị trí 𝜃0=0 (tức vị trí cân phía dưới) Sau thời gian, lắc tiếp tục dao động với biên độ nhỏ dần vị trí cân 1.1.2: Phân tích mơ hình hóa theo hệ tuyến tính Vì góc , góc lệch 𝜃 xét nhỏ đặt 𝜃 = 𝜙 + 𝜋 sử dụng cơng thức gần sau: cos 𝜃 = cos(𝜙 + 𝜋) = -1 sin 𝜃 = sin(𝜙 + 𝜋) = - 𝜙 𝜃̇ = 𝜙 = Từ (1.7) (1.8) ta có: (𝐼 + 𝑚𝑙2 )𝜙̈ − 𝑚𝑔𝑙𝜙 = 𝑚𝑙𝑥̈ (1.13) (𝑚 + 𝑀)𝑥̈ + 𝑏𝑥̇ − 𝑚𝑙𝜃̈ = 𝑢 (1.14) * Biến đổi Laplace vế phương trình (1.13) (1.14) ta có: (𝐼 + 𝑚𝑙2 )Φ(𝑠)𝑠 − 𝑚𝑔𝑙Φ(s) = mlX(s)𝑠 (1.15) (𝑀 + 𝑚)𝑋(𝑠)𝑠 + 𝑏𝑋 (𝑠)𝑠 − 𝑚𝑙Φ(𝑠)𝑠 = 𝑈(𝑠) (1.16) ⟹ 𝑋(𝑠) = (𝐼+𝑚𝑙 )𝑠2 −𝑚𝑔𝑙 𝑚𝑙𝑠2 𝑚𝑙𝑠 Φ(𝑠) = (𝐼+𝑚𝑙2)𝑠2 −𝑚𝑔𝑙 Φ(𝑠) (1.17) 𝑋(𝑠) (1.18) Thay (1.17) (1.18) vào phương trình (1.5), (1.6) ta có: Φ(𝑠) 𝑈(𝑠) X(𝑠) = 𝑈(𝑠) = 𝑚𝑙 𝑠 𝑞 𝑏(𝐼+𝑚𝑙2 ) (𝑀+𝑚)𝑚𝑔𝑙 𝑏𝑚𝑔𝑙 𝑠3 + 𝑠 − 𝑠− 𝑞 𝑞 𝑞 (𝐼 + 𝑚𝑙2 )𝑠 − 𝑔𝑚𝑙 𝑏(𝐼 + 𝑚𝑙2 ) (𝑀 + 𝑚)𝑚𝑔𝑙 𝑏𝑚𝑔𝑙 𝑠4 + 𝑠 − 𝑠 − 𝑠 𝑞 𝑞 𝑞 CƠ SỞ HỆ THỐNG TỰ ĐỘNG GVHD: TS.BÙI THANH LÂM q = [(M + m)(I + ml2 ) − (ml)2 ] Với = [(0.5 + 0.2)(0.006 + 0.2 × 0.32) – (0.2 × 0.3)2 ] = 0.0132 Thay số vào hàm truyền ta có: Φ(s) 𝑈(𝑠) = 0.2×0.3 𝑠 0.0132 0.1(0.006+0.2×0.32 ) (0.2+0.5)0.2×9.8×0.3 0.1×0.2×9.8×0.3 𝑠3 + 𝑠 − 𝑠− 0.0132 𝑜.0132 0.0132 Φ(s) 4.545𝑠 = 𝑈(𝑠) 𝑠 + 0.182𝑠 − 31.18𝑠 − 4.455 ⟺ 𝑋(𝑠) 𝑈(𝑠) = (0.006+0.2×0.32)𝑠2− 0.2×9.8×0.3 𝑠4 + 0.1(0.006+0.2×0.32 ) (0.2+0.5)0.2×9.8×0.3 0.1×0.2×9.8×0.3 𝑠 − 𝑠 − 𝑠 0.0132 0.0132 0.0132 ⟺ 𝑋(𝑠) 𝑈(𝑠) = 0.024𝑠2 − 0.588 𝑠4 + 0.182𝑠3 − 31.18𝑠2 − 4.455𝑠 Biểu diễn hàm truyền vòng hở Φ(s) matlab: M = 0.5; m = 0.2; b = 0.1; i = 0.006; g = 9.8; l = 0.3; q = (M+m) * (i+m*l^2)-(m*l)^2; num = [m*l/q 0]; den = [1 b*(i+m*l^2)/q - (M+m)*m*g*l/q - b*m*g*l/q]; pend = tf(num,den) t = 0:0.01:5; impulse(pend,t) axis([0 10 600]) Biểu diễn hàm truyền vòng hở X(s) matlab: 10 CƠ SỞ HỆ THỐNG TỰ ĐỘNG GVHD: TS.BÙI THANH LÂM M = 0.5; m = 0.2; b = 0.1; I = 0.006; g = 9.8; l = 0.3; q = (M+m) * (I+m*l^2) - (m*l)^2; s = tf('s') P_cart = (((I+m*l^2)/q)*s^2 - (m*g*l/q))/(s^4 + (b*(I + m*l^2))*s^3/q - ((M + m)*m*g*l)*s^2/q - b*m*g*l*s/q); T = 0:0.01:5; impulse(P_cart,t) axis([0 10 600]) Hình 4: mô hàm truyền xe lắc Nhận xét: - Lúc lắc vị trí cân phía trên, đồ thị tăng vọt Φ(s) xét mức nhỏ, bị lực tác dụng lắc bị rơi xuống khiến góc Φ(s) lớn Hệ thống ổn định có lực tác động vào - 𝑒𝑥𝑙 độ vọt lố lắc lớn 11 CƠ SỞ HỆ THỐNG TỰ ĐỘNG GVHD: TS.BÙI THANH LÂM Kết luận : - Khi chưa có điều khiển, có lực tác động vào, lắc không giữ vị trí cân phía tức 𝜃 = 𝜋 Vậy nên yêu cầu cần có điều khiển để hệ thống ổn định 1.2: Nội dung 2: Khảo sát phụ thuộc đáp ứng hệ thống theo khối lượng xe đẩy thay đổi từ 0.5 đến 5kg 1.2.1: Phân tích mơ hình hóa theo hệ phi tuyến Bảng 2: Biểu diễn thay dổi xe lắc thay đổi khối lượng xe Nhận xét: - Khi khối lượng xe tăng lên biên độ dịch chuyển xe bé dần lại, cần lắc bị lệch phía sau với biên độ giảm từ 0.1 rad đến 0.01rad, thời gian ổn định khối lượng tăng từ 0.5 đến 5kg 1.2.2: Phân tích mơ hình hóa theo hệ tuyến tính: Sự thay đổi vị trí xe: code matlab k = [0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5]; M = 0.5; m = 0.2; b = 0.1; I = 0.006; 12 CƠ SỞ HỆ THỐNG TỰ ĐỘNG GVHD: TS.BÙI THANH LÂM g = 9.8; l = 0.3; for i = k; M = M + i; q = (M+m)*(I+m*l^2)-(m*l)^2; s = tf('s') P_cart = (((I+m*l^2)/q)*s^2 - (m*g*l/q))/(s^4 + (b*(I + m*l^2))*s^3/q - ((M + m)*m*g*l)*s^2/q - b*m*g*l*s/q); hold on; t=0:0.01:5; impulse(P_cart,t) axis([0 60]) end legend('M = 0.5' , 'M = 1' , 'M = 1.5' , 'M = 2' , 'M = 2.5' , 'M = 3' , 'M = 3.5' ,'M = 4' ,'M = 4.5' ,'M = 5') ; grid Hình 5: mô độ lệch xe thay dổi khối lượng Nhận xét: độ lệch xe đẩy chậm dần khối lượng lắc tăng lên 13 CƠ SỞ HỆ THỐNG TỰ ĐỘNG GVHD: TS.BÙI THANH LÂM Sự thay đổi vị trí lắc: code matlab k = [0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5]; M = 0.5; m = 0.2; b = 0.1; I = 0.006; g = 9.8; l = 0.3; for i = k; M = M + i; q = (M+m)*(I+m*l^2)-(m*l)^2; s = tf('s') % P_cart = (((I+m*l^2)/q)*s^2 - (m*g*l/q))/(s^4 + (b*(I + m*l^2))*s^3/q - ((M + m)*m*g*l)*s^2/q - b*m*g*l*s/q); num = [m*l/q 0]; den = [1 b*(i+m*l^2)/q -(M+m)*m*g*l/q -b*m*g*l/q]; pend=tf(num,den) hold on; t=0:0.01:5; impulse(pend,t) axis([0 60]) end legend('M = 0.5' , 'M = 1' , 'M = 1.5' , 'M = 2' , 'M = 2.5' , 'M = 3' , 'M = 3.5' ,'M = 4' ,'M = 4.5' ,'M = 5'); grid 14 CƠ SỞ HỆ THỐNG TỰ ĐỘNG GVHD: TS.BÙI THANH LÂM Hình 6: Mô độ lệch lắc thay đổi khối lượng xe Nhận xét: Độ lệch lắc chậm dần khối lượng lắc tăng lên Con lắc ổn định 1.3: Nội dung III Thiết lập điều khiển trễ pha khảo sát phụ thuộc chất lượng điều khiển trị trí theo tham số điều khiển sớm trễ pha Bước 1: Dùng phương pháp quỹ đạo nghiệm số cách sử dụng lệnh rlocus() phần mềm Matlab Code matlab: M = 0.5; m = 0.2; b = 0.1; i = 0.006; g = 9.8; l = 0.3; q = (M+m)*(i+m*l^2)-(m*l)^2; num = [m*l/q 0]; 15 CƠ SỞ HỆ THỐNG TỰ ĐỘNG den = [1 GVHD: TS.BÙI THANH LÂM b*(i+m*l^2)/q -(M+m)*m*g*l/q -b*m*g*l/q]; rlocus(pend); Hình 7: Quỹ đạo hiệu số hệ Ta thấy nhánh quỹ đao nghiệm số khơng nằm hồn tồn bên phải mặt phẳng phức nên hệ kín khơng ổn định Ở điều khiển ta cần thêm cực zero để hệ thống ổn định Bước 2: Ta cần thêm điều khiển trễ pha khảo sát cực, zero hệ thống có dạng: C(s) = 𝑘 𝑠+𝑧1 𝑠+𝑝1 với z1 = 1, p1 = 0.001 Code matlab: M = 0.5; m = 0.2; b = 0.1; i = 0.006; g = 9.8; l = 0.3; q = (M+m)*(i+m*l^2)-(m*l)^2; 16 CƠ SỞ HỆ THỐNG TỰ ĐỘNG GVHD: TS.BÙI THANH LÂM num = [m*l/q 0];den = [1 b*(i+m*l^2)/q -(M+m)*m*g*l/q b*m*g*l/q];contr=tf([1 1],[1 0.0001]); rlocus(contr*pend); [z,k] = pzmap(pend*contr); Trả lời matlab: k= z= 5.5651 -5.6041 -0.1428 Hình 8: Quỹ đạo hiệu số hệ sau thêm điều khiển trễ pha Bước 3: Ta thấy nhánh quỹ đạo nghiệm số hồn tồn bên phải, hệ thống không ổn định sau thêm điều khiển trễ pha Điều hoàn toàn phù hợp với đồ thị đáp ứng xung (hình 1.4) Vì điều khiển trễ pha làm cho hệ thống ổn định Đề xuất: ta cần thêm điều khiển sớm pha để giảm 𝑒𝑥𝑙 hệ thống Vậy điều khiển ta có dạng: 17 CƠ SỞ HỆ THỐNG TỰ ĐỘNG C(s) = 𝑘 GVHD: TS.BÙI THANH LÂM 𝑠+𝑧1 𝑠+𝑧2 𝑠+𝑝1 𝑠+𝑝2 Chọn thông số sau: z1 = 1, p1 = 0.0001, z2 = 1, p2 = 50 code matlab: M = 0.5; m = 0.2; b = 0.1; i = 0.006; g = 9.8; l = 0.3; q = (M+m)*(i+m*l^2)-(m*l)^2; num = [m*l/q 0]; den = [1 b*(i+m*l^2)/q -(M+m)*m*g*l/q -b*m*g*l/q]; pend=tf(num,den); z1 = 1; p1 = 0.0001; z2 = 1; p2 = 50; num1 = [1 z1]; den1 = [1 p1]; num2 = [1 z2]; den2 = [1 p2]; numc = conv(num1, num2); denc = conv(den1, den2); contr=tf(numc,denc); rlocus(contr*pend); 18 CƠ SỞ HỆ THỐNG TỰ ĐỘNG GVHD: TS.BÙI THANH LÂM Hình 9: Quỹ đạo hiệu số hệ sau thêm điều khiển sớm pha Ta phóng to phần đồ thị để xem xét dễ dàng hơn, tiếp tục viết vào code: axis([0 60]) Hình 10: Phóng to đoạn quỹ đạo Bước : Ta chọn hệ số tỉ lệ k cho hệ thống cực zero hợp lý, hệ thống ổn định lệnh sisotool() 19 CƠ SỞ HỆ THỐNG TỰ ĐỘNG GVHD: TS.BÙI THANH LÂM Code matlab: Sisotool(pend*contr); Chọn K = 300 Viết tiếp tục vào code matlab: M = 0.5; m = 0.2; b = 0.1; i = 0.006; g = 9.8; l = 0.3; q = (M+m)*(i+m*l^2)-(m*l)^2; num = [m*l/q 0]; den = [1 b*(i+m*l^2)/q -(M+m)*m*g*l/q -b*m*g*l/q]; pend=tf(num,den); k = 300; z1 = 1; p1 = 0.0001; z2 = 1; p2 = 50; num1 = [1 z1]; 20