Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 118 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
118
Dung lượng
5,75 MB
Nội dung
Nhận xét giáo viên hướng dẫn Cần Thơ, Ngày … Tháng ….năm 2019 GVHD Nhận xét giáo viên phản biện Cần Thơ, Ngày … Tháng ….năm 2019 GVPB CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC KỸ THUẬT – CÔNG NGHỆ CẦN THƠ Cán hướng dẫn: Ths ĐƯỜNG KHÁNH SƠN Luận văn đại học bảo vệ Trường Đại học Kỹ thuật – Công nghệ Cần Thơ ngày 21 tháng 07 năm 2019 Thành phần Ban chấm đánh giá luận văn đại học gồm: Trưởng ban: Uỷ viên phản biện: Thư ký ban chấm: Xác nhận Ban chấm đánh giá sau luận văn sửa chữa (nếu có) TRƯỞNG BAN UỶ VIÊN PHẢN BIỆN THƯ KÝ TRƯỜNG ĐẠI HỌC CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KỸ THUẬT - CÔNG NGHỆ CẦN THƠ Độc lập - Tự - Hạnh phúc KHOA KỸ THUẬT CƠ KHÍ NHIỆM VỤ LUẬN VĂN ĐẠI HỌC Họ tên sinh viên: TRẦN CHÍ NGUYỆN MSSV: 1501049 Ngày, tháng, năm sinh: 01/10/1997 Nơi sinh: Kiên Giang Họ tên sinh viên: TRƯƠNG TẤN THÀNH MSSV: 1500632 Ngày, tháng, năm sinh: 29/01/1997 Nơi sinh: Vĩnh Long Ngành: Công nghệ kỹ thuật điện tử Mã số: 7510203 số: 7510303 TÊN ĐỀ TÀI: THIẾT KẾ VÀ CHẾ TẠO ROBOTMã SCARA PHÂN LOẠI SẢN PHẨM NHIỆM VỤ VÀ NỘI DUNG Nhiệm vụ: Nghiên cứu thiết kế chế tạo robot Scara phân loại sản phẩm điều khiển máy tính Nội dung: - Thiết kế hồn chỉnh mơ hình 3D robot tiến hành mô 3D Matlab Simulink - Thiết kế, chế tạo mơ hình robot Scara phục vụ cho học tập, nghiên cứu - Xây dựng điều khiển PID cho robot, đồng thời xây dựng dựng giao diện quản lí điều khiển máy tính phần mềm Matlab - Xây dựng lập trình giải thuật giao tiếp I2C board Arduino CÁN BỘ HƯỚNG DẪN: ThS ĐƯỜNG KHÁNH SƠN THỜI GIAN GIAO ĐỀ TÀI: 25/02/2019 THỜI GIAN HOÀN THÀNH: 07/06/2019 CÁN BỘ HƯỚNG DẪN Cần Thơ, ngày 07 tháng 06 năm 2019 KHOA KỸ THUẬT CƠ KHÍ LỜI CẢM ƠN LỜI CẢM ƠN Đề tài hoàn thành hỗ trợ động viên nhiều từ gia đình, người thân, thầy bạn bè thân thuộc Cảm ơn ba mẹ ln suốt tháng ngày khó khăn qua Đặc biệt cảm ơn thầy Đường Khánh Sơn tạo điều kiện hướng dẫn em cách học tập nghiên cứu để hoàn thành tốt đề tài Chân thành cảm ơn người bạn ln đồng hành lúc khó khăn Cảm ơn quý thầy cô khoa Kỹ Thuật Cơ Khí Trường Đại học Kỹ Thuật - Công Nghệ Cần Thơ cảm thông tạo điều kiện tốt cho em suốt thời gian học tập trường Qua em mong nhận ý kiến đóng góp quý báu quý thầy hội đồng bảo vệ khóa luận tốt nghiệp Cuối xin chúc gia đình, người thân, quý thầy cô bạn bè nhiều sức khỏe thành công việc SVTH: Trần Chí Nguyện – Trương Tấn Thành Trang I LỜI CAM ĐOAN LỜI CAM ĐOAN Em xin cam đoan cơng trình nghiên cứu cho luận văn tốt nghiệp thực cá nhân em hỗ trợ hướng dẫn thầy Đường Khánh Sơn, có điều sai sót theo lời cam đoan em xin chịu hoàn toàn trách nhiệm SVTH: Trần Chí Nguyện – Trương Tấn Thành Trang II TÓM TẮT LUẬN VĂN TÓM TẮT LUẬN VĂN Đề tài luận văn “Thiết kế chế tạo mơ hình robot Scara phân loại sản phẩm” trình bày phương pháp, q trình thiết kế lắp đặt tạo mơ hình robot Scara bậc tự chuyển động linh hoạt xác, bên cạnh xây dựng điều khiển động điều khiển PID giúp động hoạt động xác theo mong muốn người điều khiển, xây dựng thêm giao diện quản lí điều khiển máy tính giúp người dùng dễ dàng thao tác vận hành robot SVTH: Trần Chí Nguyện – Trương Tấn Thành Trang III MỤC LỤC MỤC LỤC LỜI CẢM ƠN I LỜI CAM ĐOAN II TÓM TẮT LUẬN VĂN III MỤC LỤC i DANH MỤC HÌNH ẢNH v LỜI NÓI ĐẦU CHƯƠNG 1: TỔNG QUAN 1.1 Lí mục đích chọn đề tài: 1.1.1 Lí chọn đề tài: 1.1.2 Mục đích đề tài: 1.2 Giới thiệu sơ lược robot: 1.2.1 Lịch sử hình thành phát triển robot: 1.2.2 Tình hình phát triển robot giới: 1.2.3 Tình hình phát triển robot Việt Nam: 1.2.4 Các ứng dụng robot: 1.2.4.1 Các ưu điểm sử dụng robot: 1.2.4.2 Một số lĩnh vực ứng dụng: 1.3 Giới thiệu sơ lược Scara Robot: 11 1.4 Mơ hình robot Scara sinh viên đại học Nha Trang: 13 1.5 Mơ hình robot Scara sinh viên đại học Công Nghiệp Hà Nội: 14 1.6 Hướng giải nghiên cứu cho đề tài tới: 15 CHƯƠNG 2: ĐỐI TƯỢNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU 16 2.1 Đối tượng nghiên cứu: 16 SVTH: Trần Chí Nguyện – Trương Tấn Thành Trang i MỤC LỤC 2.1.1 Giới thiệu đề tài: 16 2.1.2 Tiêu chuẩn cho robot Scara: 17 2.1.3 Những ứng dụng mà robot Scara mang lại: 17 2.2 Phương pháp nghiên cứu: 17 2.2.1 Lí thuyết điều khiển PID: 17 2.2.2 Bộ điều khiển PID số: 19 2.2.3 Chỉnh định tham số điều khiển PID: 20 2.2.4 Arduino: 22 2.2.4.1 Khái niệm: 22 2.2.4.2 Phần cứng Arduino: 23 2.2.4.3 Ứng dụng Arduino: 24 2.2.4.4 Khả kết nối Arduino: 24 2.2.4.5 Các loại Arduino: 25 2.2.4.6 Ứng dụng Arduino đề tài: 26 2.2.5 Phần mềm Arduino: 26 2.2.5.1 Phần mềm viết chương trình biên dịch chương trình: 26 2.2.5.2 Cấu trúc chương trình: 28 2.2.6 Giới thiệu chung phần mềm Matlab: 28 2.2.6.1 Khái niệm Matlab: 28 2.2.6.2 Tổng quan cấu trúc liệu Matlab: 29 2.1.6.3 Hệ thống Matlab: 30 2.2.6.4 Giao diện làm việc Matlab: 31 2.2.6.5 Các cửa sổ làm việc Matlab: 32 2.2.7 Giao thức giao tiếp I2C: 34 SVTH: Trần Chí Nguyện – Trương Tấn Thành Trang ii MỤC LỤC 2.2.7.1 Giới thiệu giao tiếp I2C: 34 2.2.7.2 Đặc điểm: 34 2.2.7.3 Phần cứng: 34 2.2.7.4 Cách thức giao tiếp I2C hoạt động: 38 2.1.7.5 Các chế độ hoạt động I2C: 41 CHƯƠNG 3: TÍNH TỐN THIẾT KẾ ROBOT SCARA 42 3.1 Phân tích lựa chọn phương án thiết kế 42 3.2 Bài toán động học: 42 3.2.1 Bài toán động học thuận: 42 3.2.2 Bài toán động học nghịch: 44 3.3 Thiết kế mơ hình khí cho robot: 46 3.3.1 Cơ sở khoa học: 46 3.3.2 Thiết kế truyền động cho robot: 46 3.3.3 Chọn động cơ: 47 3.3.4 Bản thiết kế Solidworks: 49 3.3.5 Sơ lược linh kiện khí dùng để chế tạo robot: 53 3.3.6 Các bước lắp ráp mơ hình robot hồn chỉnh: 56 3.4 Thiết kế mạch điện điều khiển cho robot: 59 3.4.1 Lưu đồ giải thuật điều khiển robot: 59 3.4.2 Sơ đồ mạch điện điều khiển robot: 60 3.5 Xây dựng giải thuật điều khiển PID cho robot: 71 3.6 Lập trình truyền nhận liệu thư viện I2C: 72 3.7 Thiết kế giao diện điều khiển Guide Matlab: 73 3.7.1 Khái niệm: 73 SVTH: Trần Chí Nguyện – Trương Tấn Thành Trang iii CHƯƠNG 4: KẾT QUẢ VÀ ĐÁNH GIÁ 4.2 Đánh giá: - Giải thuật điều khiển PID tốt, đáp ứng nhanh sai số thấp 1.3 % - Chương trình mơ Matlab Simulink đạt yêu cầu, đáp ứng nhanh xác - Mơ hình thiết kế khí robot hoạt động tương đối ổn định, vận tốc đáp ứng nhanh mà robot đạt 0,2m/s khối lượng mà robot gắp tối đa khoảng 200-300g - Robot vận hành tốt, gắp thả vật xác vị trí đặt ban đầu SVTH: Trần Chí Nguyện – Trương Tấn Thành Trang 88 CHƯƠNG 5: KẾT LUẬN CHƯƠNG 5: KẾT LUẬN 4.1 Kết đạt được: • Dựa phần mềm đa Matlab Arduino xây dựng chương trình tính toán động học thuận động học ngược cho robot, điều khiển robot chuyển động dựa phép tốn • Tìm mối liên hệ biến khớp vị trí tọa độ điểm cuối, xây dựng quỹ đạo chuyển động từ tốn tính tốn động học thuận, động học nghịch • Mơ thành cơng mơ hình robot Matlab Simulink • Xây dựng giải thuật điều khiển vị trí PID giao diện phần mềm Arduino • Lập trình giải thuật giao tiếp com, I2C board Arduino với máy tính • Thiết kế hồn chỉnh mơ hình 3d Solidworks chế tạo thành cơng mơ hình robot Scara thực tế • Thiết kế giao diện người dùng quản lí điều khiển tính tốn phần mềm Matlab • Xây dựng sơ đồ mạch điện sơ đồ khối quản lí điều khiển robot • Robot Scara hoạt động tốt, xác đạt mục tiêu ban đầu đề 4.2 Những hạn chế mà đề tài gặp phải: • Giải thuật điều khiển robot xảy tượng nhiễu giật điều khiển với tốc độ nhanh • Lắp đặt chọn động cho mơ hình cịn nhỏ nên gặp khó gắp phân loại vật nặng • Thời gian làm đề tài tương đối nên cịn nhiều sai sót tính tốn thiết kế 4.3 Định hướng tương lai: - Xây dựng giải thuật điều khiển PID xác sai số cho robot bên cạnh cịn áp dụng thêm giải thuật điều nâng cao như: điều khiển mờ, LQR… SVTH: Trần Chí Nguyện – Trương Tấn Thành Trang 89 CHƯƠNG 5: KẾT LUẬN - Xây dựng khâu, khớp cánh tay nhằm tăng khối lượng vật mà robot vận chuyển - Chọn động có cơng suất cao ổn định cho giúp cho robot vận hành tốt hơn, sai số - Kết hợp thêm camera xử lý ảnh phân loại màu cho robot nhằm nâng cao khả phân loại sản phẩm - Kết hợp thêm robot di chuyển đa hướng đế robot nhằm nâng cao khả động, ứng dụng nhiều lĩnh vực khác SVTH: Trần Chí Nguyện – Trương Tấn Thành Trang 90 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO [1] Ts.Ngơ Quang Hiếu, PGS Ts Nguyễn Chí Ngơn (2016), Giáo trình kỹ thuật robot, Nhà xuất đại học Cần Thơ, Cần Thơ [2] Nguyễn Thị Phương Hà (2005), Lí thuyết điều khiển tự động, Nhà xuất đại học quốc gia TP.Hồ Chí Minh, TP.Hồ Chí Minh [3] Ts.Nguyễn Ngọc Phương (2004), Hướng dẫn thiết kế lắp ráp robot, Nhà xuất Đà Nẵng, TP Hồ Chí Minh [4] Nguyễn Phùng Quang (2004), MATLAP & Simulink dành cho kỹ sư điều khiển tự động, Nhà xuất khoa học kỹ thuật Hà Nội, Hà Nội [5] Ts.Nguyễn Mạnh Tiến (2007), Điều khiển robot công nghiệp, Nhà xuất khoa học kỹ thuật Hà Nội, Hà Nội [6] Reza N Jazar (2006), Theory of Applied robotics Springer New York Dordrecht Heidelberg, London Các website tham khảo: [7]https://ch.mathworks.com/matlabcentral/answers/325725-sending-values-frommatlab-to-Arduino-using-serial-communication [8]https://circuitdigest.com/microcontroller-projects/serial-communicationbetween-matlab-and-Arduino [9]https://www.quora.com/How-can-I-send-MATLAB-data-strings-to-Arduino [10]https://www.slideshare.net/LGJoel/tinhtoandonghocvadieukhienRobotScara [11]https://coccoc.com/search?query=m%C3%B4+h%C3%ACnh+c%C3%A1nh+ta y+Robot+Scara&tbm=vid [12]https://coccoc.com/search?query=m%C3%B4+h%C3%ACnh+c%C3%A1nh+ta y+Robot+Scara&tbm=vid [13]https://coccoc.com/search?query=h%E1%BB%8Dc+v%E1%BA%BD+solidwo rks+c%C6%A1+b%E1%BA%A3n SVTH: Trần Chí Nguyện – Trương Tấn Thành Trang 91 PHỤ LỤC A PHỤ LỤC A Code lập trình tổng hợp: https://drive.google.com/file/d/19FpxqL78S8IssDeyo1KnZJFIpDMXrHAU/view Video chạy thực tế mơ hình: SVTH: Trần Chí Nguyện – Trương Tấn Thành Trang 92 PHỤ LỤC B PHỤ LỤC B Code chu trình gắp vật robot: ModelName = 'robottest'; global var; fprintf(handles.serConn, 'ff'); fprintf(handles.serConn, 'a'); d1='3'; fprintf(handles.serConn, d1); pause(1); fprintf(handles.serConn, 'b'); tetha2='45'; fprintf(handles.serConn, tetha2); tetha2=str2num(tetha2); set_param([ModelName '/Slider Gain'],'Gain',num2str(tetha2)); fprintf(handles.serConn, 'c'); tetha3='45'; fprintf(handles.serConn, tetha3); tetha3=str2num(tetha3); set_param([ModelName '/Slider Gain1'],'Gain',num2str(tetha3)); fprintf(handles.serConn, 'a'); d1='0'; fprintf(handles.serConn, d1); pause(3); fprintf(handles.serConn, 'oo'); fprintf(handles.serConn, 'a'); d1='3'; fprintf(handles.serConn, d1); pause(3); fprintf(handles.serConn, 'b'); tetha2='-45'; SVTH: Trần Chí Nguyện – Trương Tấn Thành Trang 93 PHỤ LỤC B fprintf(handles.serConn, tetha2); tetha2=str2num(tetha2); set_param([ModelName '/Slider Gain'],'Gain',num2str(tetha2)); fprintf(handles.serConn, 'c'); tetha3='-45'; fprintf(handles.serConn, tetha3); tetha3=str2num(tetha3); set_param([ModelName '/Slider Gain1'],'Gain',num2str(tetha3)); pause(1); fprintf(handles.serConn, 'a'); d1='0'; fprintf(handles.serConn, d1); pause(2); fprintf(handles.serConn, 'ff'); pause(0.5); fprintf(handles.serConn, 'a'); d1='3'; fprintf(handles.serConn, d1); pause(2); fprintf(handles.serConn, 'b'); tetha2='0'; fprintf(handles.serConn, tetha2); tetha2=str2num(tetha2); set_param([ModelName '/Slider Gain'],'Gain',num2str(tetha2)); fprintf(handles.serConn, 'c'); tetha3='0'; fprintf(handles.serConn, tetha3); tetha3=str2num(tetha3); set_param([ModelName '/Slider Gain1'],'Gain',num2str(tetha3)); fprintf(handles.serConn, 'a'); SVTH: Trần Chí Nguyện – Trương Tấn Thành Trang 94 PHỤ LỤC B d1='0'; fprintf(handles.serConn, d1); fprintf(handles.serConn, 'oo'); Code động học thuận robot: fprintf(handles.serConn, 'a'); d1 = get(handles.tetha1, 'String'); fprintf(handles.serConn, d1); currList = get(handles.history_box, 'String'); set(handles.history_box, 'String', [currList ; ['Sent @ ' datestr(now) ': ' d1] ]); set(handles.history_box, 'Value', length(currList) + ); set(hObject, 'String', ''); fprintf(handles.serConn, 'b'); tetha2 = get(handles.tetha2, 'String'); fprintf(handles.serConn, tetha2); currList = get(handles.history_box, 'String'); set(handles.history_box, 'String', [currList ; ['Sent @ ' datestr(now) ': ' tetha2] ]); set(handles.history_box, 'Value', length(currList) + ); set(hObject, 'String', ''); fprintf(handles.serConn, 'c'); tetha3 = get(handles.tetha3, 'String'); fprintf(handles.serConn, tetha3); currList = get(handles.history_box, 'String'); set(handles.history_box, 'String', [currList ; ['Sent @ ' datestr(now) ': ' tetha3] ]); set(handles.history_box, 'Value', length(currList) + ); set(hObject, 'String', ''); ModelName = 'robottest'; global var; SVTH: Trần Chí Nguyện – Trương Tấn Thành Trang 95 PHỤ LỤC B d1=str2num(d1); tetha2=str2num(tetha2); tetha3=str2num(tetha3); set_param([ModelName '/Slider Gain2'],'Gain',num2str(d1))%set gia tri slider set_param([ModelName '/Slider Gain'],'Gain',num2str(tetha2)) set_param([ModelName '/Slider Gain1'],'Gain',num2str(tetha3)) d=[1 0 ; 0 ; 0 d1; 0 1]; Te1=[cosd(tetha2) -sind(tetha2) 115*cosd(tetha2) ;sind(tetha2) cosd(tetha2) 115*sind(tetha2) ;0 0;0 0 1]; Te2=[cosd(tetha3) -sind(tetha3) 130*cosd(tetha3) ;sind(tetha3) cosd(tetha3) 130*sind(tetha3) ;0 ;0 0 1]; c=d*Te1*Te2; px=c(1,4); py=c(2,4); pz=c(3,4); set(handles.editpx,'string',num2str(px)); set(handles.editpy,'string',num2str(py)); set(handles.editpz,'string',num2str(pz)); Code chạy động học nghịch robot: ModelName = 'robottest'; global var; px = get(handles.editpx, 'String'); px = str2num(px) py=get(handles.editpy, 'string'); py = str2num(py) pz=get(handles.editpz, 'string'); pz = str2num(pz) d=pz; l1=115; SVTH: Trần Chí Nguyện – Trương Tấn Thành Trang 96 PHỤ LỤC B l2=130; c=sqrt((px)^2+(py)^2); c3=(c^2-l1^2-l2^2)/(2*l1*l2); s3=sqrt(1-(c3)^2); tetha3=atan2d(s3,c3); cb=(c^2+l1^2-l2^2)/(2*c*l1); sb=sqrt(1-(cb)^2); be=atan2d(sb,cb); al=atan2d(py,px); if (tetha3>0) tetha2=al-be; if (tetha3