ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ Đề tài: THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN CHO ROBOT SCARA

67 1 0
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ Đề tài: THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN CHO ROBOT SCARA

Đ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

link file code : https:www.mediafire.comfileyj22xiebjy1emjcSCARA_model.zipfileĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ Đề tài: THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN CHO ROBOT SCARACHƯƠNG 1: TỔNG QUAN VỀ ROBOT SCARA 1.1 Tổng quan về robot Scara 1.1.1 Khái niệm robot SCARA SCARA là từ viết tắt từ những chữ cái đầu của Selective Compliance Assembly Robot Arm hoặc Selective Compliance Articulated Robot Arm. Robot SCARA là robot có khớp nối ngang 4 bậc tự do. Nhờ bố trí khớp trục song song, những robot này thường được sử dụng để lắp ráp theo phương thẳng đứng và các hoạt động khác trong các mặt phẳng song song. 1.1.2 Các mục tiêu thiết kế Mục tiêu của đồ án này là thiết kế robot SCARA công nghiệp với sự cân bằng tối ưu về kinh tế và hiệu suất. Sử dụng động cơ bước hoặc động cơ servo và các mạch điều khiển có sẵn. Sử dụng phần mềm có sẵn để điều khiển robot trên máy tính cá nhân. Phần mềm này sử dụng Gcode để điều khiển robot. 1.1.3 Các yêu cầu về hiệu suất của robot công nghiệp Robot được thiết kế để trở thành máy móc chính xác và linh hoạt cao. Robot nói chung và robot SCARA nói riêng, được sử dụng làm vật thay thế cho người vận hành. Điều này có thể vì nhiều lý do, nhưng một tính năng quan trọng của việc sử dụng robot là chúng hầu như luôn làm công việc tốt hơn so với người vận hành. Để đạt được mục tiêu quan trọng này, robot cần tuân thủ các tiêu chuẩn hiệu suất tối thiểu nhất định. Để đưa ra ý tưởng, một số thông số kỹ thuật của robot Adept One XL SCARA được mô tả như sau.

Thiết kế hệ thống điều khiển cho robot SCARA TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CƠ KHÍ - - ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ Đề tài: THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN CHO ROBOT SCARA GVHD : TS Mạc Thị Thoa Mã đề : VCK05-31_1 Sinh viên thực : Nguyễn Hoàng Anh MSSV : 20160133 Hà Nội – 2020 Thiết kế hệ thống điều khiển cho robot SCARA MỤC LỤC MỤC LỤC DANH MỤC HÌNH ẢNH CHƯƠNG 1: TỔNG QUAN VỀ ROBOT SCARA 1.1 Tổng quan robot Scara 1.1.1 Khái niệm robot SCARA 1.1.2 Các mục tiêu thiết kế 1.1.3 Các yêu cầu hiệu suất robot công nghiệp 1.1.4 Hệ thống khí 1.1.5 Hệ thống điện tử 1.1.6 Phần mềm điều khiển 1.2 Phân tích nguyên lý hoạt động thông số kỹ thuật robot Scara 1.2.1 Nguyên lý hoạt động hệ thống điều khiển 1.2.2 Xác định thành phần hệ thống điều khiển CHƯƠNG 2: MÔ TẢ ĐỐI TƯỢNG ROBOT SCARA 10 2.1 Động học robot SCARA 10 2.1.1 Động học thuận 10 2.1.2 Động học nghịch 14 2.2 Động lực học robot SCARA 16 CHƯƠNG 3: THIẾT KẾ QUỸ ĐẠO CHUYỂN ĐỘNG CỦA ROBOT SCARA 25 3.1 Các khái niệm quỹ đạo chuyển động robot 25 3.2 Thiết kế quỹ đạo không gian thao tác 25 3.2.1 Bài toán tổng quát 25 3.2.2 Bài toán cụ thể 27 CHƯƠNG 4: THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN 32 4.1 Cơ sở lý thuyết 32 4.2 Mô phần mềm Matlab 33 CHƯƠNG 5: MÔ PHỎNG VÀ ĐIỀU KHIỂN ROBOT SCARA 39 5.1 Mô chuyển động robot Scara 39 5.1.1 Kết nối phầm mềm CAD SimMechanics Link Matlab 39 5.1.2 Mô động học robot Scara 40 Thiết kế hệ thống điều khiển cho robot SCARA 5.2 Lựa chọn thiết bị cho hệ thống điều khiển 45 KẾT LUẬN 50 PHỤ LỤC 51 TÀI LIỆU THAM KHẢO 67 Thiết kế hệ thống điều khiển cho robot SCARA DANH MỤC HÌNH ẢNH Hình 1-1 Mơ hình robot Scara Hình 1-2 Sơ đồ bố trí cảm biến robot Scara Hình 1-3 Mạch điều khiển động Hình 1-4 Sơ đồ tổng thể mạch điều khiển robot Scara Hình 2-1 Thơng số khâu 10 Hình 2-2 Mơ hình động học robot Scara 12 Hình 2-3 Mơ khơng gian làm việc robot Matlab 14 Hình 2-4 Mơ hình động lực học robot Scara 20 Hình 3-1 Quỹ đạo với quy luật vận tốc hình thang 26 Hình 3-2 Quỹ đạo chuyển động điểm công tác theo tọa độ x 28 Hình 3-3 Quỹ đạo chuyển động điểm công tác theo tọa độ y 29 Hình 3-4 Quỹ đạo chuyển động điểm cơng tác theo tọa độ z 29 Hình 3-5 Quỹ đạo chuyển động điểm công tác khơng gian 29 Hình 3-6 Vận tốc điểm công tác theo x 30 Hình 3-7 Vận tốc điểm công tác theo y 30 Hình 3-8 Vận tốc điểm công tác theo z 30 Hình 3-9 Đồ thị vị trí biến khớp theo thời gian 31 Hình 3-10 Đồ thị vị trí biến khớp theo thời gian 31 Hình 3-11 Đồ thị vị trí biến khớp theo thời gian 31 Hình 4-1 Sơ đồ hệ thống điều khiển robot Scara 34 Hình 4-2 Sơ đồ khối hệ thống Matlab Simulink 34 Hình 4-3 Khối QUY DAO DAT 34 Hình 4-4 Khối KHOI PD 35 Hình 4-5 Khối KHOI PHAN TU PHI TUYEN 35 Hình 4-6 Khối KHOI ROBOT 35 Hình 4-7 Khối KET QUA 36 Hình 4-8 Đáp ứng vị trí khớp theo thời gian 36 Hình 4-9 Đáp ứng vị trí khớp theo thời gian 37 Hình 4-10 Đáp ứng vị trí khớp theo thười gian 37 Hình 4-11 Sai lệch vị trí khớp theo thời gian 37 Thiết kế hệ thống điều khiển cho robot SCARA Hình 4-12 Sai lệch vị trí khớp theo thời gian 37 Hình 4-13 Sai lệch vị trí khớp theo thời gian 38 Hình 4-14 Sai lệch vận tốc khớp theo thời gian 38 Hình 4-15 Sai lệch vận tốc khớp theo thời gian 38 Hình 4-16 Sai lệch vận tốc khớp theo thời gian 38 Hình 5-1 Thiết kế gắn hệ tọa độ cho khâu robot Scara 39 Hình 5-2 Sơ đồ khối robot Scara Simulink 40 Hình 5-3 Mơ hình robot Scara Simulink 40 Hình 5-4 Trình GUIDE mở cửa sổ soạn thảo GUI với layout rỗng 41 Hình 5-5 Object Browser Property Inspector GUI 41 Hình 5-6 Giao diện soạn thảo (trái) giao diện người dùng (phải) GUI 42 Hình 5-7 Sơ đồ khối robot Scara thực mô 43 Hình 5-8 Robot Scara vị trí Home 43 Hình 5-9 Robot Scara vị trí biến khớp (-30; 90; 300) 44 Hình 5-10 Khảo sát động học ngược robot Scara 44 Hình 5-11 Mơ chạy quỹ đạo robot Scara 45 Hình 5-12 Sơ đồ cấu trúc bên Atmega16 46 Hình 5-13 Động DC Servo 47 Hình 5-14 Nguyên lý hoạt động Encoder 48 Hình 5-15 Sơ đồ điện mạch cầu H 48 Hình 5-16 Module L298 49 Thiết kế hệ thống điều khiển cho robot SCARA CHƯƠNG 1: TỔNG QUAN VỀ ROBOT SCARA 1.1 Tổng quan robot Scara 1.1.1 Khái niệm robot SCARA SCARA từ viết tắt từ chữ đầu Selective Compliance Assembly Robot Arm Selective Compliance Articulated Robot Arm Robot SCARA robot có khớp nối ngang bậc tự Nhờ bố trí khớp trục song song, robot thường sử dụng để lắp ráp theo phương thẳng đứng hoạt động khác mặt phẳng song song 1.1.2 Các mục tiêu thiết kế Mục tiêu đồ án thiết kế robot SCARA công nghiệp với cân tối ưu kinh tế hiệu suất Sử dụng động bước động servo mạch điều khiển có sẵn Sử dụng phần mềm có sẵn để điều khiển robot máy tính cá nhân Phần mềm sử dụng G-code để điều khiển robot 1.1.3 Các yêu cầu hiệu suất robot công nghiệp Robot thiết kế để trở thành máy móc xác linh hoạt cao Robot nói chung robot SCARA nói riêng, sử dụng làm vật thay cho người vận hành Điều nhiều lý do, tính quan trọng việc sử dụng robot chúng làm công việc tốt so với người vận hành Để đạt mục tiêu quan trọng này, robot cần tuân thủ tiêu chuẩn hiệu suất tối thiểu định Để đưa ý tưởng, số thông số kỹ thuật robot Adept One XL SCARA mơ tả sau Hình 1-1 Mơ hình robot Scara Thiết kế hệ thống điều khiển cho robot SCARA Tầm với: 950 mm Khoảng làm việc khớp - Joint 1: ±150° Joint 2: ±140° Joint 3: 203 mm Joint 4: ±270° Tốc độ tối đa khớp - Joint 1: 650°/giây Joint 2: 920°/giây Joint 3: 1200 mm/giây Joint 4: 3300°/giây Độ xác lặp - (x, y): ±0,025 mm (z): ±0,038 mm Theta: ±0,05° Tải trọng lớn kg 1.1.4 Hệ thống khí SCARA cấu hình tiêu chuẩn robot Ở giai đoạn thiết kế sơ bộ, có điểm sau đây: - Robot SCARA bậc tự Tải trọng kg Tầm với 950 cm Độ xác lặp: (x, y) = ±0,025 mm, (z) = ±0,038 mm mm Vận tốc cực đại khâu tác động cuối Gia tốc cực đại khâu tác động cuối Sử dụng truyền vít me – đai ốc cho khâu tịnh tiến 1.1.5 Hệ thống điện tử Các thiết bị điện tử liên quan phụ thuộc hoàn toàn vào loại động sử dụng Để đạt độ xác cao, sử dụng động bước động servo truyền động chung Do đó, phần hệ thống điện tử liên quan đến việc thiết kế mạch điều khiển động bước (servo) thích hợp Ngồi phần mềm điều khiển sử dụng, yếu tố quan trọng nhất, ảnh hưởng lớn đến hiệu suất robot Ở đây, tập trung vào trình điều khiển động bước (servo) Một số lựa chọn ban đầu cần phải ý là: - Loại động cơ: Đơn cực lưỡng cực Nguyên lý ổ đĩa: L/R PWM Thiết kế hệ thống điều khiển cho robot SCARA - Chế độ hoạt động: Nửa bước tồn bước Đặc trưng mơ-men xoắn - tốc độ 1.1.6 Phần mềm điều khiển Phần mềm điều khiển cần thực nhiệm vụ sau: - Đường dẫn liên tục không gian Chuyển động xen kẽ (Joint-interpolated motion) Nội suy cung trịn Nội suy tuyến tính Phối hợp chuyển động tuyến tính: tất trục khởi động dừng bước chuyển động thời gian 1.2 Phân tích nguyên lý hoạt động thông số kỹ thuật robot Scara 1.2.1 Nguyên lý hoạt động hệ thống điều khiển Đầu tiên, phận cảm biến tiếp nhận thông tin, đặc điểm đối tượng cần tác động dựa lập trình ban đầu Chẳng hạn thơng tin màu sắc, trọng lượng, khoảng cách với đối tượng cần tác động Dựa vào thông tin này, phần mềm robot tiến hành tính tốn thơng số, viết lệnh gửi đến hệ thống điều khiển để tiến hành thao tác tay máy cách chuẩn xác 1.2.2 Xác định thành phần hệ thống điều khiển - Động cơ: phân tích động lựa chọn từ đồ án thiết kế hệ thống khí (có thể chọn lại động để đảm bảo tính điều khiển tốt hơn) Cảm biến: cảm biến góc quay (ví dụ: SR-1, SR-2), cảm biến dịch chuyển dài (ví dụ: SP-3), cảm biến lực (ví dụ: SF-4), … Hình 1-2 Sơ đồ bố trí cảm biến robot Scara - Bộ nguồn Thiết kế hệ thống điều khiển cho robot SCARA - Mạch dẫn động động (ví dụ L298) Bộ điều khiển động (ví dụ L297) Hình 1-3 Mạch điều khiển động Hình 1-4 Sơ đồ tổng thể mạch điều khiển robot Scara - Phần mềm điều khiển robot: sử dụng phần mềm có sẵn LinuxCNC viết chương trình phần mềm MatLab/Simulink Thiết kế hệ thống điều khiển cho robot SCARA CHƯƠNG 2: MÔ TẢ ĐỐI TƯỢNG ROBOT SCARA 2.1 Động học robot SCARA Thao tác phần công tác robot trình làm việc phải định vị định hướng xác khơng gian Phần động học giải lớp toán: - Lớp toán thuận vào khâu khớp để xác định vùng làm việc phần công tác mô tả chuyển động phần công tác vùng làm việc - Lớp toán ngược, xác định biến khớp để đảm bảo chuyển động cho trước phần công tác Sau phân tích lớp tốn 2.1.1 Động học thuận Bài tốn thuận nhằm mơ tả (vị trí hướng) phần cơng tác dạng hàm số biến khớp a) Phương pháp Denavit-Hartenberg Một thuật giải cho toán tổng quát xuất phát từ quy tắc DenavitHartenberg Denavit Hartenberg xây dựng vào năm 1955 Đó quy tắc thiết lập hệ thống tọa độ cặp khâu – khớp tay máy Dựa hệ tọa độ mơ tả cặp hệ thống tham số, biến khớp áp dụng dạng phương trình tổng qt cho tốn động học tay máy Hình 2-1 Thơng số khâu Giả sử chuỗi động học tay máy có n khâu, khâu thứ i nối khớp thứ i với khớp thứ i+1 Theo quy tắc Denavit-Hartenberg hệ tọa độ gắn lên khâu, khớp sau: 10 Thiết kế hệ thống điều khiển cho robot SCARA % % % % % % % % % % % % % % % view(3); %3 chieu hold on %giu cac ket qua truoc tren thi grid on for k=1:length(t1) plot3(x1(k),y1(k),z1(k),'b+') pause(1/30) end for k=1:length(t2) plot3(x2(k),y2(k),z2(k),'g+') pause(1/30) end for k=1:length(t3) plot3(x3(k),y3(k),z3(k),'y+') pause(1/30) end %van toc vx1 = -a*t1; vx2 = -a*t4; vx3 = -a*(tf-t3); plot(t1,vx1,'r-',t2,vx2,'r-',t3,vx3,'r-'),grid on,xlabel('T(s)'),ylabel('vEx(mm/s)') pause vy1 = vx1.*(yb-ya)/(xb-xa); vy2 = vx2.*(yb-ya)/(xb-xa); vy3 = vx3.*(yb-ya)/(xb-xa); plot(t1,vy1,'g-',t2,vy2,'g-',t3,vy3,'g-'),grid on,xlabel('T(s)'),ylabel('vEy(mm/s)') pause vz1 = vx1.*(zb-za)/(xb-xa); vz2 = vx2.*(zb-za)/(xb-xa); vz3 = vx3.*(zb-za)/(xb-xa); plot(t1,vz1,'b-',t2,vz2,'b-',t3,vz3,'b-'),grid on,xlabel('T(s)'),ylabel('vEz(mm/s)') pause d1 = 530; a1 = 500; a2 = 450; xE=[x1 x2 x3]; yE=[y1 y2 y3]; zE=[z1 z2 z3]; q3 = d1-zE; cq2 = (xE.^2+yE.^2-a1^2-a2^2)/(2*a1*a2); sq2 = sqrt(1-cq2.^2); q2 = atan2(sq2,cq2); D = sqrt(xE.^2+yE.^2); cosA = (D.^2+a1^2-a2^2)/(2.*D*a1); sinA = (a2.*sq2)./D; A = atan2(sinA,cosA); B = atan2(yE,xE); q1 = B - A; t5 = [t1 t2 t3]; 53 Thiết kế hệ thống điều khiển cho robot SCARA plot(t5,q1,'b-'),grid on,xlabel('T[s]'),ylabel('q1[rad]') pause plot(t5,q2,'r-'),grid on,xlabel('T[s]'),ylabel('q2[rad]') pause plot(t5,q3,'g-'),grid on,xlabel('T[s]'),ylabel('q3[rad]') Code khối MATLAB Function quydao(time): function out = quydao(time) t = time; qd = zeros(3, 1); q = zeros(9, 1); %vi tri: q(1:3), van toc: q(4:6), giatoc: q(7:9) if (t 1) && (t 4) && (t =0)&&(t=0.001) dqd = Jte\vE; %end out = [qd; dqd]; Code khối phần tử phi tuyến: function U = fcn(in) U = zeros(3,1); q = in(1:3); dq = in(4:6); ddq = in(7:9); q2 = q(2); dq1 = dq(1); dq2 = dq(2); %cac thong so khau: m1 = 5; m2 = 5; m3 = 5; a1 = 500; a2 = 450; L1 = 250; L2 = 225; I1z = m1*L1^2/12; I2z = m2*L2^2/12; I3z = 0; g = 9.81; 55 Thiết kế hệ thống điều khiển cho robot SCARA %ma tran khoi luong: m11 = m1*L1^2 + m2*(2*a1*a2*cos(q2)2*a1*L2*cos(q2)+a1^2+a2^2+L2^2-2*a2*L2) + m3*(2*a1*a2*cos(q2)+a1^2+a2^2) + I1z + I2z + I3z; m12 = m2*(a2^2-2*a2*L2+L2^2+a1*a2*cos(q2)-a1*L2*cos(q2)) + m3*(a2^2+a1*a2*cos(q2)) + I2z + I3z; m21 = m12; m13 = 0; m31 = 0; m23 = 0; m32 = 0; m33 = m3; m22 = m2*(a2^2-2*a2*L2+L2^2) + m3*a2^2 + I3z; M = [m11 m12 m13; m21 m22 m23; m31 m32 m33]; %ma tran Coriolis: c11 = (m2*(a1*L2*sin(q2)-a1*a2*sin(q2))-a1*a2*sin(q2)*m3)*dq2; c12 = (m2*(a1*L2*sin(q2)-a1*a2*sin(q2))a1*a2*sin(q2)*m3)*(dq1+dq2); c21 = (m2*(a1*a2*sin(q2)-a1*L2*sin(q2))+a1*a2*sin(q2)*m3)*dq1; C = [c11 c12 0; c21 0; 0 0]; %ma tran G: G = [0; 0; -m3*g]; U = M*ddq + C*dq + G; Code khối Robot: function ddq = fcn(in) ddq = zeros(3,1); q = in(1:3); dq = in(4:6); U = in(7:9); q2 = q(2); dq1 = dq(1); dq2 = dq(2); %cac thong so khau: m1 = 5; m2 = 5; m3 = 5; a1 = 500; a2 = 450; L1 = 250; L2 = 225; I1z = m1*L1^2/12; I2z = m2*L2^2/12; I3z = 0; g = 9.81; %ma tran khoi luong: m11 = m1*L1^2 + m2*(2*a1*a2*cos(q2)2*a1*L2*cos(q2)+a1^2+a2^2+L2^2-2*a2*L2) + m3*(2*a1*a2*cos(q2)+a1^2+a2^2) + I1z + I2z + I3z; m12 = m2*(a2^2-2*a2*L2+L2^2+a1*a2*cos(q2)-a1*L2*cos(q2)) + m3*(a2^2+a1*a2*cos(q2)) + I2z + I3z; m21 = m12; m13 = 0; m31 = 0; m23 = 0; m32 = 0; m33 = m3; 56 Thiết kế hệ thống điều khiển cho robot SCARA m22 = m2*(a2^2-2*a2*L2+L2^2) + m3*a2^2 + I3z; M = [m11 m12 m13; m21 m22 m23; m31 m32 m33]; %ma tran Coriolis: c11 = (m2*(a1*L2*sin(q2)-a1*a2*sin(q2))-a1*a2*sin(q2)*m3)*dq2; c12 = (m2*(a1*L2*sin(q2)-a1*a2*sin(q2))a1*a2*sin(q2)*m3)*(dq1+dq2); c21 = (m2*(a1*a2*sin(q2)-a1*L2*sin(q2))+a1*a2*sin(q2)*m3)*dq1; C = [c11 c12 0; c21 0; 0 0]; %ma tran G: G = [0; 0; -m3*g]; %phuong trinh vi phan chuyen dong: ddq = inv(M)*(U - C*dq - G); Code khối robot/Trajectory mô chuyển động function y = fcn(u) y = zeros(3,1); d1 = 530; a1 = 500; a2 = 450; xt = u(1); yt = u(2); zt = u(3); %Input: xa=u(1); ya=-u(2); za=u(3); xb=u(4); yb=-u(5); zb=u(6); tc=u(7); tf=u(8); quydao=u(9); t=u(10); t1 = tc; t2 = tf-tc; %kiem tra dang quy dao: switch quydao case %line a = (xb-xa)/(tf*tc-tc^2); if (t>=0)&&(t

Ngày đăng: 22/06/2023, 11:57

Tài liệu cùng người dùng

Tài liệu liên quan