1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Điều khiển chống rung cho cầu trục ba chiều bằng phương pháp hybrid shape

96 275 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 96
Dung lượng 1,74 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - TƯỞNG XUÂN THƯỜNG ĐIỀU KHIỂN CHỐNG RUNG CHO CẦU TRỤC BA CHIỀU BẰNG PHƯƠNG PHÁP HYBRID SHAPE LUẬN VĂN THẠC SĨ KHOA HỌC KỸ THUẬT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA HÀ NỘI – Năm 2016 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - TƯỞNG XUÂN THƯỜNG ĐIỀU KHIỂN CHỐNG RUNG CHO CẦU TRỤC BA CHIỀU BẰNG PHƯƠNG PHÁP HYBRID SHAPE Chuyên ngành : Kỹ thuật điều khiển tự động hóa LUẬN VĂN THẠC SĨ KHOA HỌC Kỹ thuật điều khiển tự động hóa NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Dương Minh Đức Hà Nội – Năm 2016 CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ Họ tên tác giả luận văn: Tưởng Xuân Thường Đề tài luận văn: Điều khiển chống rung cho cầu trục ba chiều phương pháp Hybrid Shape Chuyên ngành: Kỹ thuật điều khiển tự động hóa Mã số HV: CB141065 Tác giả, Người hướng dẫn khoa học Hội đồng chấm luận văn xác nhận tác giả sửa chữa, bổ sung luận văn theo biên họp Hội đồng ngày 21/04/2016 với nội dung sau: - Trang 12: “Chiều dài l dây tời” sửa thành “ dây tời có chiều dài l không đổi ” - Trang 18: “Hình 2.2 Mô hình dao động cầu trục” bổ sung thêm lực tác động đầu vào f x f y Ngày 25 tháng 04 năm 2016 Giáo viên hướng dẫn Tác giả luận văn TS Dương Minh Đức Tưởng Xuân Thường CHỦ TỊCH HỘI ĐỒNG PGS TS Nguyễn Văn Liễn LỜI CAM ĐOAN Tôi xin cam đoan luận văn: “Điều khiển chống rung cho cầu trục ba chiều phương pháp Hybrid Shape” tự thiết kế hướng dẫn thầy giáo TS Dương Minh Đức Các số liệu kết hoàn toàn với thực tế chưa công bố Để hoàn thành luận văn này, sử dụng tài liệu ghi danh mục tài liệu tham khảo không chép hay sử dụng tài liệu khác Nếu phát có chép xin chịu hoàn toàn trách nhiệm Hà Nội, ngày 25 tháng 03 năm 2016 Học viên thực Tưởng Xuân Thường MỤC LỤC Trang DANH MỤC TỪ VIẾT TẮT i DANH MỤC BẢNG SỐ LIỆU ii DANH MỤC HÌNH VẼ iii LỜI MỞ ĐẦU Chương - TỔNG QUAN 1.1 Khái niệm cầu trục 1.2 Cấu tạo cầu trục 1.3 Phân loại cầu trục 3 1.3.1 Phân loại theo tải trọng 1.3.2 Phân loại theo đặc điểm công tác 1.4 Đặc điểm cầu trục 1.4.1 Hệ thống cấp điện cho cầu trục 1.4.2 Môi trường làm việc cầu trục 9 1.5 Hiện tượng rung động cầu trục 1.6 Lựa chọn phương pháp chống rung cho cầu trục 10 10 Chương - XÂY DỰNG MÔ HÌNH TOÁN HỌC CỦA CẦU TRỤC BA CHIỀU 2.1 Giới thiệu mô hình cầu trục ba chiều 4.2 Xây dựng mô hình toán học cầu trục ba chiều 2.3 Mô cầu trục ba chiều có chiều dài dây không thay đổi 12 12 13 17 Chương - PHƯƠNG PHÁP HYBRID SHAPE 21 3.1 Khái niệm phương pháp Hybrid Shape 3.2 Nội dung phương pháp Hybrid Shape 3.2.1 Bộ điều khiển PID 3.2.2 Bộ lọc thông thấp 3.2.3 Bộ lọc Notch 3.3 Tối ưu hóa điều khiển Hybrid Shape 3.3.1 Các điều kiện chặn 3.3.2 Hàm tối ưu thời gian 21 21 23 24 25 29 29 31 Chương - ỨNG DỤNG PHƯƠNG PHÁP HYBRID SHAPE CHO CẦU TRỤC BA CHIỀU 34 4.1 Cấu trúc điều khiển hệ thống 34 4.2 Kết mô 4.2.1 Mô điều khiển phương pháp PID 35 35 4.2.2 Mô điều khiển phương pháp Hybrid Shape 4.2.3 Mô điều khiển phương pháp Input Shaping 4.2.4 So sánh kết mô phương pháp 4.3 Nhận xét 38 42 47 49 Chương - KẾT LUẬN VÀ KIẾN NGHỊ 5.1 Kết luận 5.2 Kiến nghị 50 50 50 TÀI LIỆU THAM KHẢO 52 DANH MỤC CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ 54 PHỤ LỤC 55 Danh mục từ viết tắt DANH MỤC TỪ VIẾT TẮT PID Proportional Integral Derivative HS Hybrid Shape IP Input Shaping Tạo dạng tín hiệu đầu vào GA Genetic algorithm Thuật toán di truyền 3D Three Dimension i Danh mục bảng số liệu DANH MỤC BẢNG SỐ LIỆU Trang Bảng 2.1 Các tham số cầu trục 3D 18 Bảng 4.1 Các tham số đối tượng điều khiển 34 Bảng 4.2 Các tham số tối ưu điều khiển PID .35 Bảng 4.3 Các tham số điều khiển Hybrid Shape 39 Bảng 4.4 Các tham số tạo dạng tín hiệu đầu vào 43 Bảng 4.5 Các tham số điều khiển R(s) 44 ii Danh mục hình vẽ DANH MỤC HÌNH VẼ Trang Hình 1.1 Cầu trục nhà máy giấy Hình 1.2 Cầu trục rót kim loại nóng chảy .5 Hình 1.3 Cầu trục nhà máy khí .6 Hình 1.4 Cầu trục nhà máy xử lý cuộn thép Hình 1.5 Cầu trục giàn bánh lốp Hình 1.6 Cầu trục giàn chạy đường ray Hình 2.1 Mô hình cầu trục ba chiều .12 Hình 2.2 Mô hình dao động cầu trục 18 Hình 2.3 Vị trí x .18 Hình 2.4 Vị trí y .19 Hình 2.5 Góc  x .19 Hình 2.6 Góc  y .19 Hình 3.1 Sơ đồ cấu trúc hệ thống 21 Hình 3.2 Sơ đồ cấu trúc điều khiển Hybrid Shape 22 Hình 3.3 Sơ đồ cấu trúc điều khiển PID 23 Hình 3.4 Đồ thị Bode lọc thông thấp .24 Hình 3.5 Đồ thị Bode lọc Notch với ξ = 0.01 𝜔n = 10 [rad/s] 25 Hình 3.6 Đồ thị Bode lọc Notch với ξ= 0.0001 ωn = 10 [rad/s] 26 Hình 3.7 So sánh đồ thị Bode lọc Notch thay đổi ξ 26 Hình 3.8 Đồ thị Bode lọc Notch với ξ = 0.001 ωn = 10 [rad/s] 27 Hình 3.9 Đồ thị Bode lọc Notch với ξ = 0.001 ωn = 100 [rad/s] 27 Hình 3.10 So sánh đồ thị Bode lọc Notch thay đổi ωn 28 Hình 3.11 Đồ thị Bode khâu dao động bậc hai 29 iii Danh mục hình vẽ Hình 3.12 Minh họa cách xác định hàm TS 32 Hình 4.1 Đồ thị điện áp điều khiển ux ứng với PID .36 Hình 4.2 Đồ thị vị trí x ứng với PID 36 Hình 4.3 Đồ thị góc  x ứng với PID .37 Hình 4.4 Đồ thị điện áp điều khiển uy ứng với PID .37 Hình 4.5 Đồ thị vị trí y ứng với PID 38 Hình 4.6 Đồ thị góc  y ứng với PID .38 Hình 4.7 Đồ thị điện áp điều khiển ux ứng với HS 39 Hình 4.8 Đồ thị vị trí x ứng với HS .40 Hình 4.9 Đồ thị góc  x ứng với HS .40 Hình 4.10 Đồ thị điện áp điều khiển uy ứng với HS 41 Hình 4.11 Đồ thị vị trí y ứng với HS .41 Hình 4.12 Đồ thị góc  y ứng với HS .42 Hình 4.13 Sơ đồ cấu trúc phương pháp Input Shaping 42 Hình 4.14 Đồ thị điện áp điều khiển ux phương pháp IP 44 Hình 4.15 Đồ thị vị trí x phương pháp IP .45 Hình 4.16 Đồ thị góc  x phương pháp IP .45 Hình 4.17 Đồ thị điện áp điều khiển uy phương pháp IP 46 Hình 4.18 Đồ thị vị trí y phương pháp IP 46 Hình 4.19 Đồ thị góc  y phương pháp IP .47 Hình 4.20 Đồ thị so sánh vị trí x .47 Hình 4.21 Đồ thị so sánh vị trí y .48 Hình 4.22 Đồ thị so sánh góc  x .48 Hình 4.23 Đồ thị so sánh góc  y .49 iv Phụ lục p = rand(); tt=0; for k=1:+1:Ncathe tt = tt + kq(k)/tkq; if ( tt > p ) vt1= vt(k); break; end end % p = rand(); tt=0; for k=1:+1:Ncathe tt = tt + kq(k)/tkq; if ( tt > p ) vt2 = vt(k); break; end end end %************************************************************************ Hàm lai khuôn %************************************************************************ % Ham lai khuon %************************************************************************ function [y21 y22] = lai(sb, y11, y12) y21 = ''; y22 = ''; % Khuon lai ngau nhien y = dec2bin(floor(rand*2^sb),sb); for i=1:1:sb if (y(i) == '1') y21 = strcat(y21,y12(i)); y22 = strcat(y22,y11(i)); else y21 = strcat(y21,y11(i)); y22 = strcat(y22,y12(i)); end 72 Phụ lục end end %************************************************************************ Hàm lấy giá trị %************************************************************************ % Ham lay gia tri thap phan %************************************************************************ function [y1,y2,y3,y4] = laygiatri(x,cx,sbx,xmin,xmax) x1=''; x2=''; x3=''; x4=''; for i=1:+1:sbx(1) x1 = strcat(x1,x(i)); end % for i=sbx(1)+1:+1:sbx(1)+sbx(2) x2 = strcat(x2,x(i)); end % for i=sbx(1)+sbx(2)+1:+1:sbx(1)+sbx(2)+sbx(3) x3 = strcat(x3,x(i)); end % for i=sbx(1)+sbx(2)+sbx(3)+1:+1:sbx(1)+sbx(2)+sbx(3)+sbx(4) x4 = strcat(x4,x(i)); end % y1 = bin2dec(x1) /( 2^sbx(1) - )*(xmax(1)-xmin(1))+ xmin(1) ; y2 = bin2dec(x2) /( 2^sbx(2) - )*(xmax(2)-xmin(2))+ xmin(2) ; y3 = bin2dec(x3) /( 2^sbx(3) - )*(xmax(3)-xmin(3))+ xmin(3) ; y4 = bin2dec(x4) /( 2^sbx(4) - )*(xmax(4)-xmin(4))+ xmin(4) ; % y1 = round(y1/cx(1))*cx(1); y2 = round(y2/cx(2))*cx(2); y3 = round(y3/cx(3))*cx(3); y4 = round(y4/cx(4))*cx(4); return end %************************************************************************ Hàm tính thời gian xác lập %************************************************************************ % Ham tinh thoi gian xac lap bang Runger-Kutta %************************************************************************ function [J] = rungerkuta(Kp, Ki, Kd, T) [ktr,A,B,C,D,h2] = loainghiem(Kp, Ki, Kd, T); % Thoi gian trich mau h = 0.001; % Thoi gian quy dao 2-1-2 tod = 1; tc = 5; 73 Phụ lục % Vi tri dau va cuoi qo = 0; qc = 0.6; % Van toc dq = qc/tod; % n = tc/h + 1; x1 = zeros(h2, 1); zz = zeros(n, 1); i = 1; zz(1) = 0; % for t = 0:h:tc [q] = Ramp(qo, qc, dq, tod, t); u = q; k1 = A*x1 + B*u; k2 = A*(x1 + 0.5*h*k1) + B*(u + 0.5*h); k3 = A*(x1 + 0.5*h*k2) + B*(u + 0.5*h); k4 = A*(x1 + k3*h) + B*(u + h); x2 = x1 + h/6*(k1 + 2* k2 + 2* k3 + k4); zz(i) = C*x2 + D*u; x1 = x2; i = i+1; end % -% Tinh ham phat y = 0; for t = 0:h:tc y = y + (Ramp(qo, qc, dq, tod, t) - zz(fix((t+h)/h)))^2; end % if (ktr == 0) for ts = 0:h:tc if (abs(zz(fix((ts+h)/h)) - Ramp(qo, qc, dq, tod, t))10) || (Vmax>0.8) % 0.5 [m/s] ktr = ktr + 1; end % Kiem tra qua dieu chinh lon hon 0.001 [m] if (Zmax>0.001) || (Amax>2) ktr = ktr + 1; end end %************************************************************************ Hàm tính độ điều chỉnh điện áp điều khiển %************************************************************************ % Ham tinh dien ap dieu khien va qua dieu chinh %************************************************************************ function [u, Zmax, Vmax, Amax] = max10V(a,b,c,d,A,B,C,D,h1,h2) % Thoi gian trich mau h = 0.001; % Thoi gian quy dao 2-1-2 tod = 1; tc = 5; % Vi tri dau va cuoi qo = 0; qc = 0.7; % van toc dq = qc/tod; % Ket qua Runge Kutta n = tc/h + 1; X1 = zeros(h2, 1); % Vi tri thuc cua xe Z = zeros(n, 1); x1 = zeros(h1, 1); % Dien ap dieu khien z = zeros(n, 1); i = 1; Z(1) = 0; z(1) = 0; for t = 0:h:tc q = Ramp(qo, qc, dq, tod, t); U = q; K1 = A*X1 + B*U; K2 = A*(X1 + 0.5*h*K1) + B*(U + 0.5*h); K3 = A*(X1 + 0.5*h*K2) + B*(U + 0.5*h); K4 = A*(X1 + K3*h) + B*(U + h); X2 = X1 + h/6*(K1 + 2* K2 + 2* K3 + K4); Z(i) = C*X2 + D*U; X1 = X2; % Tin hieu sai lech e = q-Z(i); k1 = a*x1 + d*e; k2 = a*(x1 + 0.5*h*k1) + b*(e + 0.5*h); 76 Phụ lục k3 = a*(x1 + 0.5*h*k2) + b*(e + 0.5*h); k4 = a*(x1 + k3*h) + b*(e + h); x2 = x1 + h/6*(k1 + 2* k2 + 2* k3 + k4); z(i) = c*x2 + d*e; x1 = x2; i = i+1; end u = max(abs(z)); Zmax = max(Z) - qc; % Tinh dao ham cua vi tri-> Van toc % h = 0.001; % trich mau [s] dZ = zeros(n, 1); dZ(1) = 0; for j = 2:n dZ(j) = (Z(j) - Z(j-1))/h; end % ddZ = zeros(n, 1); ddZ(1) = 0; for k = 2:(n) ddZ(k) = (dZ(k) - dZ(k-1))/h ; end % Vmax = max(abs(dZ)); Amax = max(abs(ddZ)); end %************************************************************************ Hàm giá trị nhỏ %************************************************************************ % Ham tim gia tri nho nhat %********************************************************************** function[kqmin, k] = nhonhat(kq, Ncathe) i = 1; kqmin = kq(i); k = 1; for i=2:1:Ncathe if (kq(i) < kqmin) kqmin = kq(i); k = i; end end end %************************************************************************ Hàm quỹ đạo Ramp %************************************************************************ % Ham quỹ đạo Ramp 77 Phụ lục %********************************************************************** function[q] = Ramp(qo, qc, dq, tod, t) if t p ) vt1= vt(k); break; end end % p = rand(); tt=0; for k=1:+1:Ncathe tt = tt + kq(k)/tkq; if ( tt > p ) vt2 = vt(k); break; end end end %************************************************************************ 80 Phụ lục Hàm lai khuôn %************************************************************************ % Ham lai khuon %************************************************************************ function [y21 y22] = lai(sb, y11, y12) y21 = ''; y22 = ''; % Khuon lai ngau nhien y = dec2bin(floor(rand*2^sb),sb); for i=1:1:sb if (y(i) == '1') y21 = strcat(y21,y12(i)); y22 = strcat(y22,y11(i)); else y21 = strcat(y21,y11(i)); y22 = strcat(y22,y12(i)); end end end %************************************************************************ Hàm lấy giá trị %************************************************************************ % Ham lay gia tri thap phan %************************************************************************ ** function [y1,y2,y3,y4] = laygiatri(x,cx,sbx,xmin,xmax) x1=''; x2=''; x3=''; x4=''; for i=1:+1:sbx(1) x1 = strcat(x1,x(i)); end % for i=sbx(1)+1:+1:sbx(1)+sbx(2) x2 = strcat(x2,x(i)); end % for i=sbx(1)+sbx(2)+1:+1:sbx(1)+sbx(2)+sbx(3) x3 = strcat(x3,x(i)); end % for i=sbx(1)+sbx(2)+sbx(3)+1:+1:sbx(1)+sbx(2)+sbx(3)+sbx(4) x4 = strcat(x4,x(i)); end 81 Phụ lục % y1 = bin2dec(x1) /( 2^sbx(1) y2 = bin2dec(x2) /( 2^sbx(2) y3 = bin2dec(x3) /( 2^sbx(3) y4 = bin2dec(x4) /( 2^sbx(4) % y1 = round(y1/cx(1))*cx(1); y2 = round(y2/cx(2))*cx(2); y3 = round(y3/cx(3))*cx(3); y4 = round(y4/cx(4))*cx(4); return end - 1 1 )*(xmax(1)-xmin(1))+ )*(xmax(2)-xmin(2))+ )*(xmax(3)-xmin(3))+ )*(xmax(4)-xmin(4))+ xmin(1) xmin(2) xmin(3) xmin(4) ; ; ; ; %************************************************************************ Hàm tính thời gian xác lập %************************************************************************ % Ham tinh thoi gian xac lap bang Runger-Kutta %************************************************************************ function [J] = rungerkuta(Kp, Ki, Kd, T) [ktr,A,B,C,D,h2] = loainghiem(Kp, Ki, Kd, T); % Thoi gian trich mau h = 0.001; % Thoi gian quy dao 2-1-2 tod = 1; tc = 5; % Vi tri dau va cuoi qo = 0; qc = 0.35; % Van toc dq = qc/tod; % Ket qua Runge Kutta n = tc/h + 1; x1 = zeros(h2, 1); zz = zeros(n, 1); i = 1; zz(1) = 0; % for t = 0:h:tc [q] = Ramp(qo, qc, dq, tod, t); u = q; k1 = A*x1 + B*u; k2 = A*(x1 + 0.5*h*k1) + B*(u + 0.5*h); k3 = A*(x1 + 0.5*h*k2) + B*(u + 0.5*h); k4 = A*(x1 + k3*h) + B*(u + h); x2 = x1 + h/6*(k1 + 2* k2 + 2* k3 + k4); zz(i) = C*x2 + D*u; x1 = x2; i = i+1; end % -% Tinh ham phat y = 0; for t = 0:h:tc y = y + (Ramp(qo, qc, dq, tod, t) - zz(fix((t+h)/h)))^2; end % 82 Phụ lục if (ktr == 0) for ts = 0:h:tc if (abs(zz(fix((ts+h)/h)) - Ramp(qo, qc, dq, tod, t))10) || (Vmax>0.5) ktr = ktr + 1; end % Kiem tra qua dieu chinh lon hon 0.001 [m] if (Zmax>0.001) || (Amax>1) ktr = ktr + 1; end end %************************************************************************ Hàm tính độ điều chỉnh điện áp điều khiển %************************************************************************ % Ham tinh dien ap dieu khien va qua dieu chinh %************************************************************************ function [u, Zmax, Vmax, Amax] = max10V(a,b,c,d,A,B,C,D,h1,h2) % Thoi gian trich mau h = 0.001; % Thoi gian quy dao 2-1-2 tod = 1; tc = 5; % Vi tri dau va cuoi qo = 0; 84 Phụ lục qc = 0.35; % van toc dq = qc/tod; % Ket qua Runge Kutta n = tc/h + 1; X1 = zeros(h2, 1); % Vi tri thuc cua xe Z = zeros(n, 1); x1 = zeros(h1, 1); % Dien ap dieu khien z = zeros(n, 1); i = 1; Z(1) = 0; z(1) = 0; for t = 0:h:tc q = Ramp(qo, qc, dq, tod, t); U = q; K1 = A*X1 + B*U; K2 = A*(X1 + 0.5*h*K1) + B*(U + 0.5*h); K3 = A*(X1 + 0.5*h*K2) + B*(U + 0.5*h); K4 = A*(X1 + K3*h) + B*(U + h); X2 = X1 + h/6*(K1 + 2* K2 + 2* K3 + K4); Z(i) = C*X2 + D*U; X1 = X2; % Tin hieu sai lech e = q-Z(i); k1 = a*x1 + d*e; k2 = a*(x1 + 0.5*h*k1) + b*(e + 0.5*h); k3 = a*(x1 + 0.5*h*k2) + b*(e + 0.5*h); k4 = a*(x1 + k3*h) + b*(e + h); x2 = x1 + h/6*(k1 + 2* k2 + 2* k3 + k4); z(i) = c*x2 + d*e; x1 = x2; i = i+1; end u = max(abs(z)); Zmax = max(Z) - qc; % dZ = zeros(n, 1); dZ(1) = 0; for j = 2:n dZ(j) = (Z(j) - Z(j-1))/h; end % ddZ = zeros(n, 1); ddZ(1) = 0; for k = 2:(n) ddZ(k) = (dZ(k) - dZ(k-1))/h ; end % Vmax = max(abs(dZ)); Amax = max(abs(ddZ)); % end %************************************************************************ Hàm giá trị nhỏ 85 Phụ lục %************************************************************************ % Ham tim gia tri nho nhat %************************************************************************ function[kqmin, k] = nhonhat(kq, Ncathe) i = 1; kqmin = kq(i); k = 1; for i=2:1:Ncathe if (kq(i) < kqmin) kqmin = kq(i); k = i; end end end %************************************************************************ Hàm quỹ đạo Ramp %************************************************************************ % Ham quỹ đạo Ramp %********************************************************************** function[q] = Ramp(qo, qc, dq, tod, t) if t

Ngày đăng: 19/07/2017, 22:10

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w