Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 94 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
94
Dung lượng
3,39 MB
Nội dung
LUẬN VĂN THẠC SỸ KHOA HỌC MỤC LỤC MỤC LỤC LỜI CAM ĐOAN DANH MỤC HÌNH VẼ MỞ ĐẦU CHƢƠNG I: ĐO LƢỜNG BIÊNDẠNG BỀ MẶT BẰNG PHƢƠNG PHÁP QUÉTLASER3D 1.1 Giới thiệu máy quét3D 1.2 Cấu tạo nguyên lý máy quét3Dlaser 11 1.2.1 Quét điểm quét đƣờng 11 1.2.2 Quét mặt phẳng quét vật quay 13 1.3 Một số máy đo laser3D .15 1.4 Cơ sở thiết kế máy 18 CHƢƠNG II: CƠ SỞ THIẾT KẾ ĐẦU ĐO LASER VÀ HỆ DỊCH CHUYỂN QUANG CƠ 20 2.1 Nguyên lý phƣơng pháp đo dạng điểm dạng đƣờng .20 2.1.1 Nguyên lý đo dạng điểm 20 2.1.2 Nguyên lý đầu đo laserdạng đƣờng 21 2.1.3 Xây dựng hàm truyền đạt 22 2.1.4 Khảo sát thông số ảnh hƣởng đến hàm truyền đạt 24 2.2 Một số yếu tố ảnh hƣởng tới kết đo 28 2.2.1 Ảnh hƣởng cƣờng độ tia laser 30 2.2.2 Ảnh hƣởng đƣờng kính tia laser 30 2.2.3 Ảnh hƣởng độ nhám bề mặt vật đo 31 2.2.4 Ảnh hƣởng mầu sắc bề mặt vật đo 32 PHẠM NGỌC LINH 11BCTM.KH LUẬN VĂN THẠC SỸ KHOA HỌC 2.2.5 Ảnh hƣởng góc nghiêng bề mặt điểm đo .32 2.3 Hệ dẫn động 33 2.4 Sơ đồ hệ thống điều khiển 35 CHƢƠNG III: XÂY DỰNG MÔ HÌNH THỰC NGHIỆM 40 3.1 Đầu đo 40 3.2 Hệ thống điều khiển 42 3.2.1 Chọn hệ thống điều khiển 42 3.2.2 Các linh kiện điện tử dùng hệ thống điều khiển .42 3.2.3 Động 46 3.3 Phần mềm điều khiển .47 3.3.1 Phần mềm CCS 4.078 47 3.3.2 Phần mềm matlab 50 3.3.3 Các thuật toán sử dụng luận văn 53 3.4 Lƣu đồ điều khiển 56 3.4.1 Lƣu đồ điểu khiển đo biêndạngchitiết phẳng .56 3.4.2 Lƣu đồ điều khiển đo biêndạngchitiết quay 57 CHƢƠNG IV: THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ 59 4.1 Mô hình thực nghiệm .59 4.2 Kết thực nghiệm 61 4.3 Calip máy đo 64 KẾT LUẬN 66 TÀI LIỆU THAM KHẢO 67 PHỤ LỤC 68 PHẠM NGỌC LINH 11BCTM.KH LUẬN VĂN THẠC SỸ KHOA HỌC LỜI CAM ĐOAN Tôi xin cam đoan luận văn với đề tài “Nghiên cứuchếtạothiếtbịquétbiêndạngchitiết3D laser” công trình nghiêncứu riêng chƣa đƣợc công bố công trình khác Các số liệu nêu luận văn trung thực Hà Nội, ngày 30 tháng 09 năm 2013 Tác giả luận văn Phạm Ngọc Linh PHẠM NGỌC LINH 11BCTM.KH LUẬN VĂN THẠC SỸ KHOA HỌC DANH MỤC HÌNH VẼ Hình 1.1: Sơ đồ nguyên lý đo theo phản xạ 12 Hình 1.2: Sơ đồ nguyên lý đo theo phương pháp tạo ảnh 12 Hình 1.3: Nguyên lý quét vệt bề mặt chitiết đo sử dụng hệ quang 13 Hình 1.4: Sơ đồ nguyên lý quét mặt phẳng .14 Hình 1.5: Sơ đồ nguyên lý quét vật quay 15 Hình 1.6: Máy quét hãng Faro 16 Hình1.7: Thiếtbịquét3D cầm tay hãng Creaform 16 Hình 1.8: Máy quét Vituoso Konica 17 Hình1.9: Máy quétlaser 100HSX Surphaser 18 Hình 2.1: Sơ đồ nguyên lý đo theo phương pháp tán xạ(tạo ảnh) 20 Hình 2.2: Nguyên lý quét3Dlaser theo đường 21 Hình 2.3: Sơ đồ tạo ảnh 23 Hình 2.4: Biểu đồ quan hệ L ΔZ 25 Hình 2.5: Biểu đồ quan hệ H ΔZ 26 Hình 2.6: Biểu đồ mối quan hệ f ΔZ 27 Hình 2.7: Cấu tạo cụm đầu đo 28 Hình 2.8: Mô hình thực nghiệm 29 Hình 2.9: Đồ thị ảnh hưởng cường độ tia laser đến đường đặc tuyến 30 Hình 2.10: Đồ thị ảnh hưởng đường kính tia laser tới đường đặc tuyến 30 Hình 2.11: Đồ thị ảnh hưởng độ nhám bề mặt vật đo đến đường đặc tuyến .31 Hình 2.12: Đồ thị ảnh hưởng mầu sắc bề mặt vật đo đến đường đặc tuyến 32 Hình 2.13: Đồ thị ảnh hưởng góc nghiêng bề mặt điểm đo 32 Hình 2.14: Sơ đồ hệ thống điều khiển số .36 Hình 2.15: Sơ đồ hệ thống điều khiển số .37 Hình 2.16: Sơ đồ hệ thống điều khiển số .38 PHẠM NGỌC LINH 11BCTM.KH LUẬN VĂN THẠC SỸ KHOA HỌC Hình 3.1: Cụm đầu đo laser 41 Hình 3.2: Sơ đồ hệ thống điều khiển số 42 Hình 3.3 : Vi điều khiển PIC16F877A 43 Hình 3.4: Driver 2H504 45 Hình 3.5: Sơ đồ chân Driver 2H504 điều khiển động 45 Hình 3.6: Hệ thống điều khiển động bước dùng Microstep Driver 2H504 máy tính 46 Hình 3.7: Ảnh mạch điều khiển thử nghiệm 47 Hình 3.8: Giao diện khởi động phần mềm CCS 48 Hình 3.9: Cửa sổ làm việc phần mềm CCS 48 Hình 3.10 : Biên dịch chương trình điều khiển CCS 49 Hình 3.11: Các file thu sau biên dịch 49 Hình 3.12: Giao diện khởi động phần mềm Matlab 50 Hình 3.13: Viết chương trình matlab 51 Hình 3.14: Giao diện điều khiển đo quétlaser 51 Hình 3.15: Giao diện modul đo bề mặt .52 Hình 3.16: Giao diện modul đo tròn xoay 52 Hình 3.17: Xây dựng bề mặt Mesh 54 Hình 3.18: Xây dựng bề mặt Surface 55 Hình 3.19: Lưu đồ điều khiển đo biêndạngchitiết phẳng 56 Hình 3.20: Lưu đồ điều khiển đo biêndạngchitiết quay 57 Hình 4.1: Cụm đầu đo .59 Hình 4.2:Mạch điều khiển 59 Hình 4.3: Hệ truyền động 60 Hình 4.4: Máy đo 60 Hình 4.5: Phần mềm đo quét 61 PHẠM NGỌC LINH 11BCTM.KH LUẬN VĂN THẠC SỸ KHOA HỌC Hình 4.6: Chitiếtquét .61 Hình 4.7: Mô hình quét .62 Hình 4.8: Kết quét thu qua phần mềm 62 Hình 4.9: Biêndạng vật mô lại .63 Hình 4.10: Một số kích thước chitiết thu 63 Hình 4.11: Xác định sai số mẫu 64 PHẠM NGỌC LINH 11BCTM.KH LUẬN VĂN THẠC SỸ KHOA HỌC MỞ ĐẦU Lý chọn đề tài: Quét3DLaser phƣơng pháp đo không tiếp xúc biêndạng bề mặt chitiết đƣợc nghiêncứu ứng dụng nhiều lĩnh vực kỹ thuật đời sống Phép đo theo phƣơng pháp có thời gian đo nhanh, đến hàng chục ngàn phép đo giây hiệu đo quétbiêndạngchitiết khí Hiện nay, nƣớc phát triển máy quétlaser3D đƣợc sử dụng nhiều, nhiên giá thành máy đo quét đắt Vì vậy, việc nghiên cứu, thiết kế, chếtạothiếtbịquétbiêndạngchitiết3Dlaser phù hợp với điều kiện kinh tế, xã hội nƣớc yêu cầu đặt với nhà khoa học Việt Nam Mục đích nghiêncứu luận văn Nghiêncứu số vấn đề cần giải thiết kế chếtạo lại thiếtbị đo để đảm bảo đƣợc yêu định độ phân giải độ xác, tìm phƣơng pháp tối ƣu xây dựng thiếtbịquétbiêndạngchitiết3Dlaser phù hợp với điều kiện kinh tế nhƣng đảm vảo đƣợc độ ổn định xác cao, đánh giá kết nhanh chóng thuận tiện theo tiêu chuẩn đặt áp dụng rộng rãi sản xuất kiểm tra Các nội dung luận văn Nội dung trình bày sở lý thuyết, nguyên lý đo, phƣơng pháp thiết kế đầu đo nhƣ hệ dịch chuyển quang Khảo sát số yếu tố ảnh hƣởng đến độ xác xây dựng mô hình thực nghiệm Ngoài phần giới thiệu tổng quan kết luận, luận văn bao gồm chƣơng sau: Chương 1: Đo biêndạng bề mặt phương pháp quétlaser 3D: Trong chƣơng trình bày phƣơng pháp đo laser3D đƣợc sử dụng sở để thiết kế máy đo 3Dlaser PHẠM NGỌC LINH 11BCTM.KH LUẬN VĂN THẠC SỸ KHOA HỌC Chương 2: Cơ sở thiết kế đầu đo hệ dịch chuyển quang cơ: Trong chƣơng trình bày các sở lý thuyết thiết kế đầu đo phƣơng pháp dịch chuyển quang Chương 3: Xây dựng mô hình thực nghiệm: Nội dung chủ yếu chƣơng trình bày sở xây dựng mô hình thực nghiệm nhƣ: hệ dịch chuyển quang cơ, đầu đo, phần mềm thu thập xử lý tín hiệu đo Chương 4: Thực nghiệm đánh giá kết quả: Nội dung chủ yếu chƣơng trình bày kết thử nghiệm máy đo, đánh giá kết máy đo Kết luận: Sản phẩm luận văn thiếtbịquétbiêndạngchitiết3Dlaser với linh kiện sẵn có thị trƣờng với quy trình chếtạo khả thi phù hợp với điều kiện kinh phí công nghệ nƣớc, hệ thống đo biêndạng3D hoạt động ổn định, giá thành thấp nhiều so với chí phí nhập từ nƣớc Một số kết thiếtbị đo đạt đƣợc: - Phạm vi do: 600x400 mm - Độ phân giải: 0.01 mm - Độ xác đo chuyển động: 0.05mm Luận văn tổng hợp tổng hợp kiến thức nhiều lĩnh vực nhƣ Cơ khí, laser, kỹ thuật điện – điên tử, công nghệ thông tin đƣợc hoàn thành thời gian tƣơng đối ngắn, tránh khỏi sai sót Rất mong nhận đƣợc ý kiến đóng góp quý báu thày cô đồng nghiệp để đề tài đƣợc hoàn thiện Cuối cho phép đƣợc chân thành cảm ơn TS Nguyễn Văn Vinh tận tình hƣớng dẫn trình làm luận văn Cảm ơn thầy cô giáo Bộ môn Cơ khí xác & Quang học - Viện Cơ khí – Trƣờng đại học Bách Khoa Hà Nội nhiệt tình giúp đỡ hoàn thành nội dung luận văn PHẠM NGỌC LINH 11BCTM.KH LUẬN VĂN THẠC SỸ KHOA HỌC CHƢƠNG I: ĐO LƢỜNG BIÊNDẠNG BỀ MẶT BẰNG PHƢƠNG PHÁP QUÉTLASER3D 1.1 Giới thiệu máy quét3D Kỹ thuật đồ họa phát triển khoa học máy tính trợ giúp đáng kể cho ngƣời việc thết kế mô công nghiệp Cho đến năm đầu thập kỷ 90 máy đo tọa độ ba chiều đƣợc đƣa vào dây truyền sản xuất nhằm kiểu tra, đáng giá chất lƣợng sản phẩm Tiếp đó, hàng loạt hệ máy đo quang học đời mở rộng nhiều khả ứng dụng giải pháp 3D không công nghiệp, với độ xác ngày cao thiếtbị đo quang học, ứng dụng máy quét3D đƣợc mở rộng nhiều lĩnh vực khác nhƣ: y học, kiến trúc, khảo cổ học, điêu khắc, phim hoạt hình… Ngày nay, máy đo ba toạ độ(CMM) đƣợc sử dụng rộng rãi công nghiệp khí để đo kích thƣớc, vị trí hình dạng phận khí Trong công nghiệp ô tô CMM đƣợc sử dụng để đo kiểm tra phận ô tô Chính mà CMM đóng vai trò quan trọng công nghiệp ngày Nhƣng máy CMM có độ xác cao nhƣng đo tốc độ đo chậm nên khó đo chitiết có bề mặt phức tạp Hiện nay, công nghệ quétlaser3D khắc phục đƣợc nhƣợc điểm máy quétlaser3D thuộc dòng máy đo ba tọa độ không tiếp xúc, có khả ứng dụng rộng rãi lĩnh vực nhƣ khí, ô tô, đo lƣờng … đo với tốc độ nhanh đạt độ xác cao Phƣơng pháp đo không tiếp xúc có ƣu điểm: đo đƣợc chitiết có bề mặt mềm, dễ biến dạng, chiều dày mỏng, tốc độ đo cao không tiếp xúc trực tiếp với chitiết Đặc biệt ứng dụng để đo đạc môi trƣờng có nhiệt độ cao, chitiết động gia công cắt gọt mà đảm bảo kết đo xác Một ƣu điểm vƣợt trội máy quét3D không tiếp xúc đo đạc nơi mà ngƣời chạm tới đƣợc nhƣ bên đƣờng ống dẫn PHẠM NGỌC LINH 11BCTM.KH LUẬN VĂN THẠC SỸ KHOA HỌC dầu, mối hàn thân tàu thuỷ, công nghiệp luyện thép … Có thể tự động hoá trình đo Các máy quét3D dựa vào nguyên tắc: Bề mặt chitiết đƣợc chia thành lƣới điểm đo gồm điểm có toạ độ (x, y, z), máy đo lấy toạ độ điểm để xử lý Các điểm đƣợc lấy toạ độ nhờ đầu đo không tiếp xúc chuyển động liên tục, ta gọi chuyển động chuyển động quét bề mặt Các phương pháp quét3D sử dụng: Dùng sóng siêu âm: Nguyên lý đo 3D sử dụng sóng siêu âm đo khoảng cách thời gian lan truyền sống siêu am không khí, phƣơng pháp phát sóng siêu am phát xung siêu âm, xung siêu âm đến tiếp xúc với bề mặt đo phản xạ lại, xung siêu am phản xạ đƣợc thu lai thu siêu âm, thời gian phát thu xung siêu âm cho ta biết đƣợc khoảng cách bề mặt vật đo với đầu đo Tuy nhiên, nhƣợc điểm phƣơng pháp dùng sóng siêu âm khoảng cách độ phân tán sóng đo xa lan truyền kích thƣớc chùm siêu âm lớn Dùng laser: Nguyên tắc sử dụng đầu đo laser để đo khoảng cách có ƣu điểm so với phƣơng pháp dùng sóng siêu âm tia laser có độ định hƣớng cao kích thƣớc nhỏ nên khoảng cách điểm đo nhỏ Trong thực tế, bề mặt chitiết thƣờng nhấp nhô, tính phản xạ bề mặt chitiếtbị giảm dùng ánh sáng thƣờng Cƣờng độ phản xạ lúc thay đổi theo độ dốc bề mặt chitiết Đối với bề mặt có độ nhấp nhô cao cƣờng độ tia phản xạ thu đƣợc yếu Hiện nay, phƣơng pháp đo laser3D đƣợc nghiêncứu ứng dụng ngày rộng rãi 10 PHẠM NGỌC LINH 11BCTM.KH LUẬN VĂN THẠC SỸ KHOA HỌC function com5_Callback(hObject, eventdata, handles) % hObject handle to com5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global com com='COM5'; % -function com6_Callback(hObject, eventdata, handles) % hObject handle to com6 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global com com='COM6'; % -function com7_Callback(hObject, eventdata, handles) % hObject handle to com7 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global com com='COM7'; % -function com8_Callback(hObject, eventdata, handles) % hObject handle to com8 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global com com='COM8'; % -function com9_Callback(hObject, eventdata, handles) % hObject handle to com9 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global com com='COM9'; % -function com10_Callback(hObject, eventdata, handles) 80 PHẠM NGỌC LINH 11BCTM.KH LUẬN VĂN THẠC SỸ KHOA HỌC % hObject handle to com10 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global com com='COM10'; % -function conectcom_OffCallback(hObject, eventdata, handles) % hObject handle to conectcom (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global s conect com com=0; conect=0; fclose(s); set(handles.conectcom,'Tooltipstring','Conect'); % -function conectcom_OnCallback(hObject, eventdata, handles) % hObject handle to conectcom (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global s conect com if com == msgbox('Chua chon COM','ERROR','error'); set(handles.conectcom,'state','off'); else s = serial(com); s.Baudrate=9600; s.InputBufferSize=8000; s.Terminator=''; baoloi(s); if com==0 set(handles.conectcom,'state','off'); set(handles.conectcom,'Tooltipstring','Conect'); string=get(handles.thongsoht,'string'); string{3}=strcat('COM :','Ch-a kХt nиi'); set(handles.thongsoht,'String',string); 81 PHẠM NGỌC LINH 11BCTM.KH LUẬN VĂN THẠC SỸ KHOA HỌC else set(handles.conectcom,'Tooltipstring','Diconect'); string=get(handles.thongsoht,'string'); string{3}=strcat('COM :',num2str(com)); set(handles.thongsoht,'String',string); conect=1; end end % -function conectcam_ClickedCallback(hObject, eventdata, handles) % hObject handle to conectcam (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global vid duongdan path i cam camconect imaqhwinfo; camconect=1; i=0; vid=0; duongdan=0; if cam==0 msgbox('Hay Chon CAMERA','ERROR CAMERA','error'); else vid=videoinput('winvideo',cam,'YUY2_640x480'); bat_camera_trong_axes(vid,handles.axes1); ve_tam_ngam_muc_tieu(355,240) if duongdan==0 [path,duongdan]=tao_thu_muc_luu_anh(); end cd(path); string=get(handles.thongsoht,'string'); string{4}=strcat('CAMERA :',num2str(cam)); set(handles.thongsoht,'String',string); end % -function restart_ClickedCallback(hObject, eventdata, handles) % hObject handle to restart (see GCBO) 82 PHẠM NGỌC LINH 11BCTM.KH LUẬN VĂN THẠC SỸ KHOA HỌC % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global s duongdan xvatfull yvatfull zvatfull xvat yvat phi rzphi xyzvat path thongso nguong dolony sobuocy sobuocx cla(handles.axes1,'reset'); %clears the axes cla(handles.axes2,'reset'); %clears the axes axis(handles.axes1,'off'); axis(handles.axes2,'off'); set(handles.xcando,'Enable','on'); set(handles.sobuocx,'Enable','on'); set(handles.ycando,'Enable','on'); fclose(s); clear global; global reset; clear s; reset=0 % - Executes during object creation, after setting all properties function thongsoht_CreateFcn(hObject, eventdata, handles) % hObject handle to thongsoht (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % - Executes on button press in pan function pan_Callback(hObject, eventdata, handles) % hObject handle to pan (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) rotate3d off; zoom off; pan on; % - Executes on button press in rotate function rotate_Callback(hObject, eventdata, handles) % hObject handle to rotate (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) rotate3d on; zoom off; 83 PHẠM NGỌC LINH 11BCTM.KH LUẬN VĂN THẠC SỸ KHOA HỌC pan off; % - Executes on button press in zoom function zoom_Callback(hObject, eventdata, handles) % hObject handle to zoom (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) rotate3d off; zoom on; pan off; function dich_chuyen(truc,solan) global s conect if conect==0 msgbox('Chua ket noi COM','ERROR','error'); else if truc==1||truc==2||truc==3||truc==4||truc==5||truc==6 for j=1:solan if truc == for i=1:4 fwrite(s,192); %dich chuyen truc x len end end if truc== for i=1:4 fwrite(s,128);%dich chuyen truc x xuong end end if truc==3 for i=1:4 fwrite(s,48);%dich chuyen truc z len end end if truc==4 for i=1:4 84 PHẠM NGỌC LINH 11BCTM.KH LUẬN VĂN THẠC SỸ KHOA HỌC fwrite(s,32);%dich chuyen truc z xuong end end if truc==5 for i=1:5 fwrite(s,12);%dich chuyen truc y trai end end if truc==6 for i=1:5 fwrite(s,8);%dich chuyen truc y phai end end end end if truc==7||truc==8 for j=1:solan for i=1:10 if truc==7 fwrite(s,2);% quay goc phi cung chieu kim dong ho end if truc==8 fwrite(s,3);%quay goc phi nguoc chieu kim dong ho end end end end end clear ijtrucsolan % -function choncamqs_Callback(hObject, eventdata, handles) % hObject handle to choncamqs (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % -function camqs1_Callback(hObject, eventdata, handles) 85 PHẠM NGỌC LINH 11BCTM.KH LUẬN VĂN THẠC SỸ KHOA HỌC % hObject handle to camqs1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global camqs camqs=1; % -function camqs2_Callback(hObject, eventdata, handles) % hObject handle to camqs2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global camqs camqs=2; % -function camqs3_Callback(hObject, eventdata, handles) % hObject handle to camqs3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global camqs camqs=3; % -function camqs4_Callback(hObject, eventdata, handles) % hObject handle to camqs4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global camqs camqs=4; % -function camqs5_Callback(hObject, eventdata, handles) % hObject handle to camqs5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global camqs camqs=5; % -function chuanhc_Callback(hObject, eventdata, handles) % hObject handle to chuanhc (see GCBO) 86 PHẠM NGỌC LINH 11BCTM.KH LUẬN VĂN THẠC SỸ KHOA HỌC % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global zchuan zchuan1=Chuanduongkinh(); zchuan=zchuan1; string=get(handles.thongsoht,'string'); string{6}=strcat('D chuИn:',num2str(zchuan1),'mm'); set(handles.thongsoht,'String',string); clear zchuan1; function sobuocy_Callback(hObject, eventdata, handles) % hObject handle to sobuocy (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of sobuocy as text % str2double(get(hObject,'String')) returns contents of sobuocy as a double % - Executes during object creation, after setting all properties function sobuocy_CreateFcn(hObject, eventdata, handles) % hObject handle to sobuocy (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 % - Executes on button press in laygoc function laygoc_Callback(hObject, eventdata, handles) % hObject handle to laygoc (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global toadoX toadoY demx demy toadoX=[] toadoY=[] demx=1 demy=1 87 PHẠM NGỌC LINH 11BCTM.KH LUẬN VĂN THẠC SỸ KHOA HỌC toadoX(demx)=0 toadoY(demy)=0 % - Executes on button press in chaycheo function chaycheo_Callback(hObject, eventdata, handles) % hObject handle to chaycheo (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global toadoX toadoY demx demy xx=str2num(get(handles.XX,'String')); yy=str2num(get(handles.YY,'String')); demx=demx+1; demy=demy+1; toadoX(demx)=toadoX(demx-1)+xx; toadoY(demy)=toadoY(demy-1)+yy; duongthang1(toadoX(demx-1),toadoY(demy1),toadoX(demx),toadoY(demy),0.00125); set(handles.xcando,'string',toadoX(demx)); set(handles.ycando,'string',toadoY(demy)); % - Executes on button press in phicungchieu function phicungchieu_Callback(hObject, eventdata, handles) % hObject handle to phicungchieu (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) dich_chuyen(7,10); % - Executes on button press in phinguocchieu function phinguocchieu_Callback(hObject, eventdata, handles) % hObject handle to phinguocchieu (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) dich_chuyen(8,10); % - Executes on button press in ysangphai function ysangphai_Callback(hObject, eventdata, handles) % hObject handle to ysangphai (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) 88 PHẠM NGỌC LINH 11BCTM.KH LUẬN VĂN THẠC SỸ KHOA HỌC global toadoX toadoY demx demy buocdichuyen=str2num(get(handles.buocdich,'String')); dich_chuyen(6,buocdichuyen*100); demx=demx+1; demy=demy+1; toadoX(demx)=toadoX(demx-1); toadoY(demy)=toadoY(demy-1)+buocdichuyen; set(handles.xcando,'string',toadoX(demx)); set(handles.ycando,'string',toadoY(demy)); % - Executes on button press in ysangtrai function ysangtrai_Callback(hObject, eventdata, handles) % hObject handle to ysangtrai (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global toadoX toadoY demx demy buocdichuyen=str2num(get(handles.buocdich,'String')); dich_chuyen(5,buocdichuyen*10); demx=demx+1; demy=demy+1; toadoX(demx)=toadoX(demx-1); toadoY(demy)=toadoY(demy-1)-buocdichuyen; set(handles.xcando,'string',toadoX(demx)); set(handles.ycando,'string',toadoY(demy)); % - Executes on button press in xsangtrai function xsangtrai_Callback(hObject, eventdata, handles) % hObject handle to xsangtrai (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global toadoX toadoY demx demy buocdichuyen=str2num(get(handles.buocdich,'String')); dich_chuyen(2,buocdichuyen*100); demx=demx+1; demy=demy+1; toadoX(demx)=toadoX(demx-1)-buocdichuyen; toadoY(demy)=toadoY(demy-1); set(handles.xcando,'string',toadoX(demx)); 89 PHẠM NGỌC LINH 11BCTM.KH LUẬN VĂN THẠC SỸ KHOA HỌC set(handles.ycando,'string',toadoY(demy)); % - Executes on button press in zdilen function zdilen_Callback(hObject, eventdata, handles) % hObject handle to zdilen (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global toadoX toadoY demx demy buocdichuyen=str2num(get(handles.buocdich,'String')); dich_chuyen(4,buocdichuyen*10); % - Executes on button press in xsangphai function xsangphai_Callback(hObject, eventdata, handles) % hObject handle to xsangphai (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global toadoX toadoY demx demy buocdichuyen=str2num(get(handles.buocdich,'String')); dich_chuyen(1,buocdichuyen*100); demx=demx+1; demy=demy+1; toadoX(demx)=toadoX(demx-1)+buocdichuyen; toadoY(demy)=toadoY(demy-1); set(handles.xcando,'string',toadoX(demx)); set(handles.ycando,'string',toadoY(demy)); % - Executes on button press in zdixuong function zdixuong_Callback(hObject, eventdata, handles) % hObject handle to zdixuong (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global toadoX toadoY demx demy buocdichuyen=str2num(get(handles.buocdich,'String')); dich_chuyen(3,buocdichuyen*100); function buocdich_Callback(hObject, eventdata, handles) % hObject handle to buocdich (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) 90 PHẠM NGỌC LINH 11BCTM.KH LUẬN VĂN THẠC SỸ KHOA HỌC % Hints: get(hObject,'String') returns contents of buocdich as text % str2double(get(hObject,'String')) returns contents of buocdich as a double % - Executes during object creation, after setting all properties function buocdich_CreateFcn(hObject, eventdata, handles) % hObject handle to buocdich (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 XX_Callback(hObject, eventdata, handles) % hObject handle to XX (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of XX as text % str2double(get(hObject,'String')) returns contents of XX as a double % - Executes during object creation, after setting all properties function XX_CreateFcn(hObject, eventdata, handles) % hObject handle to XX (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 YY_Callback(hObject, eventdata, handles) % hObject handle to YY (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of YY as text 91 PHẠM NGỌC LINH 11BCTM.KH LUẬN VĂN THẠC SỸ KHOA HỌC % str2double(get(hObject,'String')) returns contents of YY as a double % - Executes during object creation, after setting all properties function YY_CreateFcn(hObject, eventdata, handles) % hObject handle to YY (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 [loi]=xulyanh(i,j) global vid zchuan zv dolony sobuocy sobuocx dolonx nguong L H f loi=0; if vid==0 GUI_haybatcamera; else nguong1=nguong/256; end if zchuan==0 msgbox('Chua chon Z chuan','ERROR','error'); else if dolony==0|| sobuocy==0 || sobuocx==0 || dolonx==0 msgbox('Chua cai dat thong so do','ERROR','error'); else rgb = getsnapshot(vid); rgb1=ycbcr2rgb(rgb); bw=rgb2nhiphan(rgb1,nguong1); giatri=kiem_tra_co_vet_hay_khong(bw); if giatri==1 [xc,yc]=xu_ly_anh_1(bw); end if giatri> [xc,yc]=xu_ly_anh(rgb1,bw); end 92 PHẠM NGỌC LINH 11BCTM.KH LUẬN VĂN THẠC SỸ KHOA HỌC if giatri