ĐIỀU KHIỂN TAY MÁY BA BẬC TỰ DO DÙNG THỊ GIÁC MÁY TÍNH MỤC LỤC GIỚI THIỆU: 1. Nhận xét của giáo viên hướng dẫn. 2. Nhận xét của giáo viên phản biện. 3. Mục lục. PHẦN A: MỞ ĐẦU 1 PHẦN B: NỘI DUNG 3 Chương 1: Cở sở lý thuyết 4 1.1 Lý thuyết PLC S7200 4 1.1.1 Giới thiệu PLC S7200 4 1.1.2 Bộ nhớ PLC S7200 6 1.1.3 Bộ điều rộng xung (PTOPWM) 7 1.1.4 Bộ đếm xung tốc độ cao 11 1.2 Tổng quan về Robot 18 1.2.1 Lịch sử phát triển 18 1.2.2 Hệ thống Robot 20 1.2.3 Phân loại Robot 20 1.2.4 Các khái niệm cơ bản 22 1.3 Khảo sát tay máy 3 bậc tự do 29 1.3.1 Quy tắc DenavitHartenberg 29 1.3.2 Động học và động lực học thuận 30 1.3.3 Động học ngược 39 1.4 Ứng dụng MATLAB 41 1.4.1 Xử lý ảnh trong MATLAB 41 1.4.2 OPC Toolbox 50 1.5 Sơ lược các bộ truyền động 55 1.5.1 Bộ truyền động bánh răng thẳng 55 1.5.2 Bộ truyền động bánh vít 56 1.6 Động cơ DC 57 1.6.1 Cấu tạo 57 1.6.2 Nguyên tắc hoạt động 58 1.6.3 Các phương pháp điều khiển 58 1.7 Rotary Encoder 59 1.7.1 Cấu tạo 59 1.7.2 Nguyên tắc hoạt động 60 1.8 Van khí nén 61 1.9 Xi lanh khí nén 62 Chương 2: Thiết kế và thi công phần cứng 63 2.1 Thiết kế mạch 63 2.1.1 Mạch nguồn 63 2.1.2 Mạch chuyển đổi áp 64 2.1.3 Mạch công suất 64 2.1.4 Mạch đảo chiều động cơ 65 2.1.5 Mạch lấy tín hiệu xung Encoder 65 2.1.6 Relay đóng mở van khí 66 2.2 Thông số khâu, khớp của tay máy 68 2.2.1 Thông số khâu 68 2.2.2 Góc ban đầu 68 2.2.3 Thông số encoder 68 2.2.4 Cách tính xung từ góc của khớp 68 2.3 Thi công 69 2.3.1 Mạch điều khiển 69 2.3.2 Hộp điều khiển 70 2.3.3 Không gian làm việc 70 2.3.4 Tay máy 71 Chương 3: Xây dựng phần mềm 72 3.1 Lưu đồ giải thuật cho toàn hệ thống 72 3.2 Lưu đồ giải thuật cho xử lý ảnh 73 3.3 Lưu đồ giải thuật cho chương trình PLC 74 3.3.1 Lưu đồ giải thuật cho chương trình chính 74 3.3.2 Lưu đồ giải thuật cho chương trình con 75 3.4 Giao diện điều khiển bằng MATLAB 77 PHẦN C: ĐÁNH GIÁ VÀ KẾT LUẬN 78 Phụ lục 80 Tài liệu tham khảo 110
Đồ án tốt nghiệp GVHD: ThS Trần Văn Trinh BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP HCM KHOA CÔNG NGHỆ ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: ĐIỀU KHIỂN TAY MÁY BA BẬC TỰ DO DÙNG THỊ GIÁC MÁY TÍNH GVHD : ThS TRẦN VĂN TRINH SVTH : VÕ HỒNG TRƠVI NGUYỄN SĨ BÍCH LỚP : DHDT1B KHĨA : 2005 – 2009 TP Hồ Chí Minh, tháng năm 2009 Võ Hồng Trơvi – Nguyễn Sĩ Bích Đồ án tốt nghiệp GVHD: ThS Trần Văn Trinh Sau năm học Đại học chúng em có ngày hôm nhờ giúp đỡ, động viên lớn từ nhiều phía Chúng em xin chân thành cảm ơn: Gia đình ln ủng hộ, giúp đỡ chúng em vượt qua khó khăn thử thách suốt thời gian qua Quý Thầy cô khoa Công nghệ Điện tử giúp chúng em có kiến thức tốt để thực đề tài Thầy Trần Văn Trinh tận tình hướng dẫn chúng em trình chuẩn bị thực đề tài Cùng tất bạn giúp dỡ cho chúng tơi Võ Hồng Trơvi Nguyễn Sĩ Bích NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN: Võ Hồng Trơvi – Nguyễn Sĩ Bích Đồ án tốt nghiệp GVHD: ThS Trần Văn Trinh Tp Hồ Chí Minh, ngày tháng năm 2009 Chữ ký giáo viên: NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN: Võ Hoàng Trơvi – Nguyễn Sĩ Bích Đồ án tốt nghiệp GVHD: ThS Trần Văn Trinh Tp Hồ Chí Minh, ngày tháng năm 2009 Chữ ký giáo viên: MỤC LỤC GIỚI THIỆU: Nhận xét giáo viên hướng dẫn Nhận xét giáo viên phản biện Võ Hồng Trơvi – Nguyễn Sĩ Bích Đồ án tốt nghiệp GVHD: ThS Trần Văn Trinh Mục lục PHẦN A: MỞ ĐẦU PHẦN B: NỘI DUNG Chương 1: Cở sở lý thuyết .4 1.1 Lý thuyết PLC S7-200 1.1.1 Giới thiệu PLC S7-200 1.1.2 Bộ nhớ PLC S7-200 .6 1.1.3 Bộ điều rộng xung (PTO/PWM) 1.1.4 Bộ đếm xung tốc độ cao .11 1.2 Tổng quan Robot 18 1.2.1 Lịch sử phát triển .18 1.2.2 Hệ thống Robot 20 1.2.3 Phân loại Robot 20 1.2.4 Các khái niệm 22 1.3 Khảo sát tay máy bậc tự .29 1.3.1 Quy tắc Denavit-Hartenberg .29 1.3.2 Động học động lực học thuận 30 1.3.3 Động học ngược 39 1.4 Ứng dụng MATLAB 41 1.4.1 Xử lý ảnh MATLAB 41 1.4.2 OPC Toolbox .50 1.5 Sơ lược truyền động 55 1.5.1 Bộ truyền động bánh thẳng 55 1.5.2 Bộ truyền động bánh vít .56 1.6 Động DC 57 1.6.1 Cấu tạo .57 1.6.2 Nguyên tắc hoạt động 58 1.6.3 Các phương pháp điều khiển 58 1.7 Rotary Encoder 59 1.7.1 Cấu tạo 59 1.7.2 Nguyên tắc hoạt động 60 1.8 Van khí nén 61 1.9 Xi lanh khí nén 62 Chương 2: Thiết kế thi công phần cứng 63 2.1 Thiết kế mạch 63 Võ Hồng Trơvi – Nguyễn Sĩ Bích Đồ án tốt nghiệp GVHD: ThS Trần Văn Trinh 2.1.1 Mạch nguồn .63 2.1.2 Mạch chuyển đổi áp 64 2.1.3 Mạch công suất 64 2.1.4 Mạch đảo chiều động 65 2.1.5 Mạch lấy tín hiệu xung Encoder 65 2.1.6 Relay đóng mở van khí 66 2.2 Thông số khâu, khớp tay máy .68 2.2.1 Thông số khâu 68 2.2.2 Góc ban đầu .68 2.2.3 Thông số encoder .68 2.2.4 Cách tính xung từ góc khớp 68 2.3 Thi cơng 69 2.3.1 Mạch điều khiển 69 2.3.2 Hộp điều khiển 70 2.3.3 Không gian làm việc 70 2.3.4 Tay máy .71 Chương 3: Xây dựng phần mềm 72 3.1 Lưu đồ giải thuật cho toàn hệ thống 72 3.2 Lưu đồ giải thuật cho xử lý ảnh 73 3.3 Lưu đồ giải thuật cho chương trình PLC 74 3.3.1 Lưu đồ giải thuật cho chương trình 74 3.3.2 Lưu đồ giải thuật cho chương trình 75 3.4 Giao diện điều khiển MATLAB 77 PHẦN C: ĐÁNH GIÁ VÀ KẾT LUẬN 78 Phụ lục 80 Tài liệu tham khảo 110 Võ Hồng Trơvi – Nguyễn Sĩ Bích Đồ án tốt nghiệp GVHD: ThS Trần Văn Trinh PHẦN A Võ Hồng Trơvi – Nguyễn Sĩ Bích Đồ án tốt nghiệp T GVHD: ThS Trần Văn Trinh rong thời đại ngày nay, ngành công nghiệp đóng vai trò quan trọng kinh tế Từ ngành sản xuất, chế biến lương thực thực phẩm, nước uống ngành công nghệ chế tạo máy, công nghệ chế tạo ôtô, ngành cơng nghệ cao v.v…Tất ngành có hiệu kinh tế cao khơng nhờ vào hệ thống sản xuất tự động, Robot tự động, tay máy công nghiệp, chúng thay sức lao động người cách hiệu Robot sử dụng rộng rãi từ nơi mà môi trường có tính độc hại, nguy hiểm, độ xác cao công nghiệp công việc ngày Do Robot có tầm quan trọng lớn lĩnh vực nghiên cứu hàng đầu thời đại ngày Là sinh viên chuyên ngành điện tử tự động, để bổ sung kiến thức học nghiên cứu vấn đề lĩnh vực điều khiển nên chúng em định chọn đề tài “Điều khiển tay máy bậc tự dùng thị giác máy tính” Thơng qua luận văn chúng em khảo sát, nghiên cứu điều khiển tay máy bậc tự để gắp vật cố định mặt phẳng nhờ trợ giúp Camera xác định tọa độ vật Để điều khiển tay máy dùng vi xử lý, vi điều khiển PLC kết hợp với mạch công suất, mạch cảm biến Song thực tế cho thấy xử lý ảnh dùng Camera số vi điều khiển PLC khó thực hiện, tốc độ xử ảnh chậm giá thành cao Chúng em chọn phương pháp dùng máy tính để xử lý ảnh điều khiển tay máy thông qua PLC Mọi việc dễ dàng nhiều MATLAB trở thành phần mềm hữu hiệu để thực theo cách MATLAB tích hợp nhiều cơng cụ cho nhiều lĩnh vực có hai Toolbox cần thiết là: Image Processing Toolbox cho việc xử lý ảnh OPC Toolbox cho việc kết nối PLC Mặc dù cố gắng hoàn thành luận văn thời hạn q trình thực khơng tránh khỏi thiếu sót Chúng em mong nhận đóng góp ý kiến từ q Thầy bạn để đề tài chúng em ngày hoàn thiện Võ Hồng Trơvi – Nguyễn Sĩ Bích Đồ án tốt nghiệp GVHD: ThS Trần Văn Trinh PHẦN B Võ Hồng Trơvi – Nguyễn Sĩ Bích Đồ án tốt nghiệp GVHD: ThS Trần Văn Trinh CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Lý thuyết PLC S7-200 Lý thuyết PLC rộng nên chương chúng em trình bày khái niệm phần lý thuyết liên quan PLC S7-200 loại CPU 224 sử dụng luận văn 1.1.1 Giới thiệu PLC S7-200: Trong hệ thống tự động thường gặp thiết bị làm việc theo nguyên tắc tuần tự, tuân theo quy luật thiết kế sẵn với tín hiệu vào nằm hai mức có khơng contact, relay, mạch định thời Các hệ thống có sơ đồ phức tạp, độ tin cậy kém, đáp ứng không nhanh, dễ hỏng v.v…Từ năm 70 để đáp ứng nhu cầu thực tế sản xuất, mạch điều khiển relay, định thời khơng phù hợp, điều khiển logic khả trình (Programmable Logic Controller – PLC) đời Các PLC đời đầu thực phép tính logic, tín hiệu vào tín hiệu rời rạc Hiện PLC thực phép tính số học, logic làm việc với tín hiệu vào tín hiệu liên tục PLC S7-200 PLC mạnh hãng Siemens PLC S7-200 gồm phần sau: - Khối CPU - Khối nhớ RAM, ROM, EPROM, EEPROM - Khối vào – - Khối nguồn - Khối mở rộng Power Supply Input Interface Central Processing Unit ( CPU) Output Interface Memory Hình 1.1: Cấu tạo chung PLC Võ Hồng Trơvi – Nguyễn Sĩ Bích 10 Đồ án tốt nghiệp GVHD: ThS Trần Văn Trinh end function edit_dat3_Callback(hObject, eventdata, handles) % - Executes during object creation, after setting all properties function edit_dat3_CreateFcn(hObject, eventdata, handles) % Hint: edit controls usually have a white background on Windows % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit_d1_Callback(hObject, eventdata, handles) % - Executes during object creation, after setting all properties function edit_d1_CreateFcn(hObject, eventdata, handles) % hObject handle to edit_d1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit_d2_Callback(hObject, eventdata, handles) % - Executes during object creation, after setting all properties function edit_d2_CreateFcn(hObject, eventdata, handles) % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit_d3_Callback(hObject, eventdata, handles) % - Executes during object creation, after setting all properties function edit_d3_CreateFcn(hObject, eventdata, handles) % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % - Executes on button press in cmd_manual function cmd_manual_Callback(hObject, eventdata, handles) % hObject handle to cmd_manual (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global bit_manual manual if bit_manual==1 bit_manual=0 writeasync(manual,0) set(handles.text_manual,'string','Automatic') else bit_manual=1 writeasync(manual,1) set(handles.text_manual,'string','Manual') end Võ Hồng Trơvi – Nguyễn Sĩ Bích 101 Đồ án tốt nghiệp GVHD: ThS Trần Văn Trinh % - Executes on button press in cmd_kep function cmd_kep_Callback(hObject, eventdata, handles) % hObject handle to cmd_kep (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global van_khi writeasync(van_khi,1) % - Executes on button press in cmd_tha function cmd_tha_Callback(hObject, eventdata, handles) % hObject handle to cmd_tha (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global van_khi writeasync(van_khi,0) % - Executes on button press in cmd_dung function cmd_dung_Callback(hObject, eventdata, handles) % hObject handle to cmd_dung (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global dung writeasync(dung,1) writeasync(dung,0) % - Executes on button press in cmd_reset function cmd_reset_Callback(hObject, eventdata, handles) % hObject handle to cmd_reset (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global goc1 goc2 goc3 % GOC BAN DAU goc1=0%12 goc2=180%130; goc3=90%49 % - Executes on button press in cmd_stop function cmd_stop_Callback(hObject, eventdata, handles) % hObject handle to cmd_stop (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global start control writeasync(start,0) writeasync(control,10) % - Executes on button press in exit function exit_Callback(hObject, eventdata, handles) % hObject handle to exit (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global run run = 0; close all % - Executes on button press in cmd_begin function cmd_begin_Callback(hObject, eventdata, handles) % hObject handle to cmd_begin (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global control start writeasync(start,0) writeasync(control,11) Võ Hồng Trơvi – Nguyễn Sĩ Bích 102 Đồ án tốt nghiệp GVHD: ThS Trần Văn Trinh 2.Code chương trình PLC: Đặt tên cho Bit: 2.1 Chương trình MAIN: Võ Hồng Trơvi – Nguyễn Sĩ Bích 103 Đồ án tốt nghiệp Võ Hồng Trơvi – Nguyễn Sĩ Bích GVHD: ThS Trần Văn Trinh 104 Đồ án tốt nghiệp Võ Hồng Trơvi – Nguyễn Sĩ Bích GVHD: ThS Trần Văn Trinh 105 Đồ án tốt nghiệp Võ Hồng Trơvi – Nguyễn Sĩ Bích GVHD: ThS Trần Văn Trinh 106 Đồ án tốt nghiệp Võ Hồng Trơvi – Nguyễn Sĩ Bích GVHD: ThS Trần Văn Trinh 107 Đồ án tốt nghiệp Võ Hồng Trơvi – Nguyễn Sĩ Bích GVHD: ThS Trần Văn Trinh 108 Đồ án tốt nghiệp Võ Hồng Trơvi – Nguyễn Sĩ Bích GVHD: ThS Trần Văn Trinh 109 Đồ án tốt nghiệp Võ Hồng Trơvi – Nguyễn Sĩ Bích GVHD: ThS Trần Văn Trinh 110 Đồ án tốt nghiệp Võ Hồng Trơvi – Nguyễn Sĩ Bích GVHD: ThS Trần Văn Trinh 111 Đồ án tốt nghiệp GVHD: ThS Trần Văn Trinh 2.2 Chương trình khởi tạo chế độ điều xung cho Q00,Q01: Võ Hồng Trơvi – Nguyễn Sĩ Bích 112 Đồ án tốt nghiệp GVHD: ThS Trần Văn Trinh 2.3 Chương trình Reser Counter: 2.4 Chương trình khởi tạo motor: 2.5 Chương trình vị trí ban đầu: Võ Hồng Trơvi – Nguyễn Sĩ Bích 113 Đồ án tốt nghiệp Võ Hồng Trơvi – Nguyễn Sĩ Bích GVHD: ThS Trần Văn Trinh 114 Đồ án tốt nghiệp GVHD: ThS Trần Văn Trinh TÀI LIỆU THAM KHẢO [1] Nguyễn Đức Thành, MATLAB ứng dụng điều khiển , nhà xuất bản: Đại Học Quốc Gia TP.Hồ Chí Minh [2] Trần Thế San biên dịch, Cở sở nghiên cứu sáng tạo ROBOT , nhà xuất Thống Kê [3] Nguyễn Đức Thành, Đo lường điều khiển máy tính, nhà xuất bản: Đại Học Quốc Gia TP.Hồ Chí Minh [4] Lương Mạnh Bá, Nguyễn Thanh Thủy, Nhập môn xử lý ảnh số, nhà xuất Khoa học Kỹ thuật [5] Nguyễn Hữu Lộc, Cơ sở thiết kế máy, nhà xuất bản: Đại học quốc gia Tp Hồ Chí Minh [1] Nguyễn Đức Thành, MATLAB ứng dụng điều khiển, nhà xuất bản: Đại Học Quốc Gia TP.Hồ Chí Minh [2] Trần Thế San biên dịch, Cở sở nghiên cứu sáng tạo ROBOT , nhà xuất Thống Kê [3] Nguyễn Đức Thành, Đo lường điều khiển máy tính, nhà xuất bản: Đại Học Quốc Gia TP.Hồ Chí Minh [4] Lương Mạnh Bá, Nguyễn Thanh Thủy, Nhập môn xử lý ảnh số, nhà xuất Khoa học Kỹ thuật [5] Nguyễn Hữu Lộc, Cơ sở thiết kế máy, nhà xuất bản: Đại học quốc gia Tp Hồ Chí Minh [6] http://www.ebookee.com/Digital-Image-Processing-UsingMatlab_157277.html [7] http://www.mathworks.com/products/image/ [8] http://www.mathworks.com/products/opc/ [9] http://www.softwaretoolbox.com/Prod_Services/OPC/opc.asp [10].http://www.mathworks.de/products/opc/functionlist.html [11].http://www.learnaboutrobots.com/inverseKinematics.htm Võ Hồng Trơvi – Nguyễn Sĩ Bích 115 ... vấn đề lĩnh vực điều khiển nên chúng em định chọn đề tài Điều khiển tay máy bậc tự dùng thị giác máy tính Thơng qua luận văn chúng em khảo sát, nghiên cứu điều khiển tay máy bậc tự để gắp vật... có bậc tự Robot có bậc tự dư mà Võ Hồng Trơvi – Nguyễn Sĩ Bích 26 Đồ án tốt nghiệp GVHD: ThS Trần Văn Trinh bậc tự thiếu Robot có số bậc tự lớn đơi dùng để di chuyển Trong số trường hợp bậc tự. .. tiếp điều khiển Một số điều khiển có khả tự học, tự tương tác với máy tính Robot Điều khiển Hồi tiếp Camera Tín hiệu quan sát Hồi tiếp Máy tính Bộ điều khiển Lệnh Hình 1.13 : Minh họa hệ thống