Nghiên cứu độ chính xác khi đo profil bề mặt chi tiết máy bằng phương pháp quét laser

87 335 1
Nghiên cứu độ chính xác khi đo profil bề mặt chi tiết máy bằng phương pháp quét laser

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - LÊ THANH ĐỀ TÀI: NGHIÊN CỨU ĐỘ CHÍNH XÁC KHI ĐO PROFIL BỀ MẶT CHI TIẾT MÁY BẰNG PHƯƠNG PHÁP QUÉT LASER LUẬN VĂN THẠC SĨ KHOA HỌC NGÀNH:CÔNG NGHỆ CƠ KHÍ NGƯỜI HƯỚNG DẪN KHOA HỌC: TS NGUYỄNVĂN VINH HÀ NỘI - 2010 Nghiên cứu độ xác đo Profil bề mặt chi tiết máy phương pháp quét Laser MỤC LỤC Mục lục……………………………………………………………………… Danh mục hình vẽ……………………………………………… .4 Lời mở đầu…………………………………………………………… CHƯƠNG PHƯƠNG PHÁP VÀ THIẾT BỊ QUÉT LASER 3D…… … 1.1 Giới thiệu máy quét 3D .8 1.2 Sơ đồ nguyên lý máy quét laser 3D ……………… .10 1.3 Nguyên lý làm việc máy quét laser 3D ……………… ………… 11 1.4 Ưu, nhược điểm công nghệ Scan laser 3D…………….…… …… 13 1.5 Ứng dụng công nghệ Scan Laser 3D……………………… …….…….15 Kết luận…………………………………………………………… ……….18 CHƯƠNG CÁC YẾU TỐ ẢNH HƯỞNG ĐẾN ĐỘ CHÍNH XÁC CỦA PHÉP ĐO……………………………………………………………………19 2.1 Kích thước chùm laser…………………………………………… 20 2.2 Hệ quang hội tụ…………… 21 2.2.1 Quang sai cầu sai .22 2.2.2 Quang sai coma………………….…………………………… 23 2.2.3 Quang sai loạn thị…………………………………………… 24 2.2.4 Quang sai méo ảnh…………………………………………… 25 2.2.5 Quang sai sai sắc……………………………………………….26 2.2.6 Quang sai thấu kính trụ………………………………….…26 2.3 Sai số độ phân giải CCD……………………………………… 27 CHƯƠNG THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG ĐẦU ĐO VÀ CHƯƠNG TRÌNH XỬ LÝ SỐ LIỆU ĐO………………………………….29 3.1 Xây dựng hàm truyền .…………….29 3.1.1 Sơ đồ tạo ảnh thấu kính hội tụ…………………………….29 Học viên: LÊ THANH Cao học CNCK khóa 2008 - 2010 Nghiên cứu độ xác đo Profil bề mặt chi tiết máy phương pháp quét Laser 3.1.2 Lựa chọn hệ tọa độ hệ thống đo………………………… 30 3.1.3 Hàm truyền…………………………………………………….30 3.2 Thiết kế xây dựng cụm khí đầu đo……………… 35 3.2.1 Bộ phận thay đổi khoảng cách Z0 .36 3.2.2 Bộ phận thay đổi góc ω 38 3.3 Lựa chọn nguồn laser………………………………………………… 39 3.4 Lựa chọn camera (webcam)…………… …………………………… 42 3.5 Xây dựng chương trình xử lý số liệu đo……………………………… 43 3.5.1 Thu hình từ Camera (webcam)……………………………… 44 3.5.2 Xử lý ảnh số………………………………………………… 45 3.5.3 Xử lý số liệu đo……………………………………………… 52 3.5.4 Mô bề mặt vật đo………………………………………55 CHƯƠNG THỰC NGHIỆM VỀ PHƯƠNG PHÁP ĐO…… 57 4.1 Mô hình thực nghiệm 57 4.2 Tạo chùm sáng dạng đường……………………………………………59 4.3 Đánh giá sai lệch kích thước khối hộp 60 4.3.1 Đánh giá sai lệch thay đổi Z0 .60 Đánh giá sai lệch theo trục X .63 Đánh giá sai lệch theo trục Y .65 4.3.2 Đánh giá sai lệch thay đổi ω 66 Đánh giá sai lệch theo trục X 67 Đánh giá sai lệch theo trục Y………………………………… 67 4.4 Đánh giá sai lệch kích thước khối trụ Φ20(mm) .67 4.4.1 Đánh giá sai lệch thay đổi Z0 67 Đánh giá sai lệch theo trục X 67 Học viên: LÊ THANH Cao học CNCK khóa 2008 - 2010 Nghiên cứu độ xác đo Profil bề mặt chi tiết máy phương pháp quét Laser Đánh giá sai lệch theo trục Y 68 4.4.2 Đánh giá sai lệch thay đổi ω .69 Đánh giá sai lệch theo trục X 69 Đánh giá sai lệch theo trục Y……………………………………69 4.5 Đánh giá sai lệch kích thước khối trụ Φ15(mm) .70 4.5.1 Đánh giá sai lệch thay đổi Z0 70 Đánh giá sai lệch theo trục X 70 Đánh giá sai lệch theo trục Y 70 4.5.2 Đánh giá sai lệch thay đổi ω .71 Đánh giá sai lệch theo trục X 71 Đánh giá sai lệch theo trục Y……………………………………71 KẾT LUẬN Kết đạt 72 Hướng phát triển ứng dụng 72 TÀI LIỆU THAM KHẢO 74 TÓM TẮT 75 PHỤ LỤC 77 Phụ lục A: Một số hình ảnh mô hình…………………………… ………….77 Phụ lục B: Mã nguồn chương trình tìm vết sáng 79 Phụ lục C: Mã nguồn chương trình xử lý kết đo 84 Học viên: LÊ THANH Cao học CNCK khóa 2008 - 2010 Nghiên cứu độ xác đo Profil bề mặt chi tiết máy phương pháp quét Laser DANH MỤC CÁC HÌNH VẼ Hình 1.1: Phương pháp quét laser 3D……………………………………………….9 Hình 1.2: Sơ đồ nguyên lý máy quét laser 3D………………………………… …10 Hình 1.3: Quan hệ dịch chuyển vật dịch chuyển ảnh………………………… 11 Hình 1.4: Hình ảnh số máy quét Laser……………………………………… 13 Hình 1.5: Ứng dụng thiết kế ngược kiểm tra sản phẩm………………… 15 Hình 1.6: Ứng dụng khảo cổ y học……………………………………….17 Hình 1.7: Ứng dụng việc cải tiến kiểu dáng……………………………… 17 Hình 2.1: Cấu trúc đầu đo Laser………………………………………………19 Hình 2.2 Mặt phẳng laser…………………………………………………………20 Hình 2.3: Quang sai cầu sai…………………………………………………….…22 Hình 2.4: Ảnh hưởng cầu sai tới vị trí tiều điểm………………………… …22 Hình 2.5: Đo quang sai cầu sai……………………………………………………23 Hình 2.6: Quang sai coma…………………………………………………………23 Hình 2.7: Quang sai loạn thị…………………………………………………… 24 Hình 2.8: Quang sai méo mặt ảnh……………………………………………… 25 Hình 2.9: Quang sai méo ảnh…………………………………………………… 25 Hình 2.10: Quang sai sai sắc…………………………………………………… 26 Hình 2.11: Chùm tía Laser sau qua thấu kính trụ…………………… … 26 Hình 2.12: Quan hệ khoảng cách quang sai thấu kính trụ……… …27 Hình 2.13: Sai số độ phân giải CCD…………………………………… 28 Hình 3.1: Sơ đồ tạo ảnh qua thấu kính hội tụ…………………………………… 29 Hình 3.2: Mô hình tạo ảnh lên CCD vết sang……………………………… 31 Hình 3.3: Tọa độ điểm P1 CCD…………………………………………… 35 Hình 3.4: Các chi tiết phận thay đổi khoảng cách Z0……………….… 37 Hình 3.5: Hệ thống thay đổi khoảng cách Z0…………………………………… 38 Hình 3.6: Chi tiết gá camera (webcam)……………………………………………38 Hình 3.7: Bộ phận thay đổi góc ω…………………………………………………39 Hình 3.8: Chùm tia tới hội thấu kính trụ………………………………………40 Hình 3.9: Form chương trình……………………………………………43 Hình 3.10: Thuật toán thu hình từ camera (webcam)…………………………… 44 Hình 3.11: Thu ảnh từ camera (webcam)………………………………………….45 Hình 3.12 Ảnh vết sáng 47 Học viên: LÊ THANH Cao học CNCK khóa 2008 - 2010 Nghiên cứu độ xác đo Profil bề mặt chi tiết máy phương pháp quét Laser Hình 3.13: Ảnh vệt sáng sau tìm đường cong đặc trưng .48 Hình 3.14: Sơ đồ thuật toán xác định đường đặc trưng……………………………50 Hình 3.15: Sơ đồ thuật toán so sánh sai lệch theo phương X…………………… 54 Hình 3.16: Bề mặt cầu…………………………………………………………… 56 Hình 4.1: Mô hình thực nghiệm………………………………………………… 57 Hình 4.2: Chi tiết đo .57 Hình 4.3: Mô hình kiểm tra độ vuông góc chùm laser với bề mặt chi tiết đo 62 Hình 4.4: Mô hình kiểm tra độ vuông góc mặt phẳng tạo quang trục Webcam chùm tia laser với mặt trước vật đo 62 Hình 4.5 Form chương trình 63 Hình 4.6: Kết đánh giá sai số theo trục X thay đổi Z0 .64 Hình 4.7: Sơ đồ thể mối quan hệ ∆X Z0 65 Hình 4.8: Kết đánh giá sai số theo trục Y thay đổi Z0 .65 Hình 4.9: Kết đánh giá sai số theo trục X thay đổi ω 66 Hình 4.10: Kết quải đánh giá sai số theo trục Y thay đổi ω .67 Hình 4.11: Kết quải đánh giá sai số theo trục X thay đổi Z0 khối trụ Φ20(mm) 68 Hình 4.12: Kết quải đánh giá sai số theo trục Y thay đổi Z0 khối trụ Φ20(mm) 68 Hình 4.13: Kết quải đánh giá sai số theo trục X thay đổi ω khối trụ Φ20(mm) 69 Hình 4.14: Kết quải đánh giá sai số theo trục Y thay đổi ω khối trụ Φ20(mm) 69 Hình 4.15: Kết quải đánh giá sai số theo trục X thay đổi Z0 khối trụ Φ15(mm) 70 Hình 4.16: Kết quải đánh giá sai số theo trục Y thay đổi Z0 khối trụ Φ15(mm) 70 Hình 4.17: Kết quải đánh giá sai số theo trục X thay đổi ω khối trụ Φ15(mm) 71 Hình 4.18: Kết quải đánh giá sai số theo trục Y thay đổi ω khối trụ Φ15(mm) 71 Hình A.1: Góc Phải mô hình………………………………………………… 77 Hình A.2: Góc trái mô hình………………………………………………… 78 Học viên: LÊ THANH Cao học CNCK khóa 2008 - 2010 Nghiên cứu độ xác đo Profil bề mặt chi tiết máy phương pháp quét Laser LỜI NÓI ĐẦU Sự đời Laser vào năm 60 kỉ XX với phát triển khoa học kĩ thuật tính mở nhiều ứng dụng lớn lĩnh vực khác nhau: đo lường, y tế, in ấn, truyền thông Trong đo lường điều khiển đại, việc thu thập xử lý thông tin qua ảnh để nhận biết đối tượng điều khiển đối tượng quan tâm ứng dụng rộng rãi, phương pháp giúp ta thu nhận nhiều thông tin từ đối tượng mà không cần tác động trực tiếp đến đối tượng Việc kết hợp Laser thiết bị kiểm tra đo đạc cho phép đạt độ xác cao, thời gian lấy mẫu nhanh đạt hàng ngàn lần giây Ngoài ra, 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 từ kích thước đo sản phẩm Thị giác máy tính phần thay nhãn quan người việc nhận dạng ảnh tự động xử lý liệu Cho đến năm đầu thập kỷ 90, 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ết bị đo quang học, ứng dụng máy quét 3D 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… Trong công nghiệp, máy quét 3D laser số hoá tức thời hình dáng chi tiết công nghiệp khác nhau… Các liệu số hoá mô cách xác thể hình máy tính Bằng cách so sánh liệu quét sử dụng phần mềm ứng dụng, đưa báo cáo đo kiểm cách nhanh chóng dựa phân tích sai số tổng thể, độ dày cạnh đường kính hình học Việc cho phép cải tiến tốc độ chất lượng trình sản xuất cách rõ rệt Điều đặc biệt hiệu cho việc đo kiểm, lấy liệu vật có chiều sâu Học viên: LÊ THANH Cao học CNCK khóa 2008 - 2010 Nghiên cứu độ xác đo Profil bề mặt chi tiết máy phương pháp quét Laser Với ứng dụng thiết thực hiệu đó, đề tài đưa ý tưởng nghiên cứu chế tạo thiết bị đo dựa công nghệ đo không tiếp xúc ứng dụng cảm biến Laser Việt nam Nhiệm vụ luận văn nghiên cứu yếu tố ảnh hưởng đến độ xác đo Profin bề mặt chi tiết phương pháp quét 3D laser Hướng thiết bị đo ứng dụng xử lí ảnh để đưa kết đo Phương pháp xử lí có phức tạp giải việc đo đồng thời nhiều thông số mô hình học bề mặt chi tiết Tuy nhiên vấn đề trình bày luận văn có nhiều hạn chế sai sót Tôi mong nhận góp ý chân thành thầy cô bạn để giúp Tôi hoàn thiện mặt thiết kế cho thiết bị sở lý thuyết tính toán phương pháp phục vụ cho công việc chế tạo thiết bị đo hoàn chỉnh sau Một lần nữa, Tôi xin chân thành cảm ơn tới thầy giáo hướng dẫn Ts Nguyễn Văn Vinh thầy giáo, cô giáo Bộ môn Cơ khí xác Quang học – trường ĐHBK Hà Nội nhiệt tình giúp đỡ Tôi trình học tập hoàn thành luận văn Hà nội, tháng 10 năm 2010 Học viên Lê Thanh Học viên: LÊ THANH Cao học CNCK khóa 2008 - 2010 Nghiên cứu độ xác đo Profil bề mặt chi tiết máy phương pháp quét Laser CHƯƠNG 1: PHƯƠNG PHÁP VÀ THIẾT BỊ QUÉT LASER 3D 1.1 Giới thiệu máy quét 3D 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 đưa vào dây truyền sản xuất nhằm kiểm tra, đánh 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ết bị đo quang học, ứng dụng máy quét 3D 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) 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í 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 đo tốc độ đo chậm nên khó đo chi tiếtbề mặt phức tạp khả tự động hóa trình đo khó khăn Đó nhược điểm lớn máy đo tọa độ Sự đời máy quét 3D thuộc dòng máy đo ba toạ độ không tiếp xúc giải vấn đề khó khăn máy đo ba tọa độ (CMM).Máy quét 3D có khả ứng dụng rộng rãi nhiều lĩnh vực ôtô, thiết kế khuôn, đo lường Phương pháp có tất ưu điểm phương pháp đo không tiếp xúc: đo chi tiếtbề 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 chi tiết Đặc Học viên: LÊ THANH Cao học CNCK khóa 2008 - 2010 Nghiên cứu độ xác đo Profil bề mặt chi tiết máy phương pháp quét Laser biệt ứng dụng để đo đạc môi trường có nhiệt độ cao, chi tiế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ét 3D dùng cảm biến CCD đo đạc nơi mà người chạm tới bên đường ống dẫn dầu, mối hàn thân tàu thuỷ… Có thể tự động hoá trình đo Các máy quét 3D phổ biến ngày gồm: máy quét 3D sử dụng sóng siêu âm, máy quét 3D laser Các máy quét 3D dựa theo nguyên tắc: Bề mặt chi tiết 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 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 CCD Thấu kính Chi tiết Nguồn laser Hình 1.1: Phương pháp quét laser 3D Hình 1.1 cho ta thấy phương pháp quét laser 3D sử dụng tia Laser có phận phát phận thu Học viên: LÊ THANH Cao học CNCK khóa 2008 - 2010 Nghiên cứu độ xác đo Profil bề mặt chi tiết máy phương pháp quét Laser KẾT LUẬN Kết đạt Phương pháp đo dựa vào phương pháp quét laser 3D bề mặt chi tiết đo phương pháp Việt Nam Vì tài liệu nghiên cứu phương pháp hạn chế, khó sưu tập Tuy nhiên với hướng dẫn nhiệt tình thầy giáo hướng dẫn nỗ lực thân Tôi xây dựng tương đối hoàn chỉnh sở lý thuyết phương pháp quét laser, xây dựng cụm đầu đo cho phép thay đổi thông số hình học Z0, ω chương trình xử lý số liệu để kiểm tra mức độ ảnh hưởng thông số hình học cụm đầu đo Phần thực nghiệm dựa việc xây dựng mô hình thiết bị đo cho phép thay đổi thông số hình học đầu đo Nó cho phép thay đổi kích thước quan hệ nguồn laser Camera (webcam) như: khoảng cách quang tâm thấu kính Camera đường tâm nguồn laser Z0; góc hợp mặt phẳng CCD Camera với phương thẳng đứng ω Xây dựng thuật toán thu ảnh vết sáng tìm điểm thuộc đường đặc trưng vết sáng Đánh giá độ sai lệch kích thước theo hai trục X Y thay đổi thông số Z0, ω đầu đo Hướng phát triển ứng dụng Phương pháp đo dựa vào phương pháp quét laser lên vật thể đo phương pháp đo với tốc độ đo nhanh độ xác đo cao Các tìm hiểu nghiên cứu luận văn dùng để làm sở để đánh giá mức độ ảnh hưởng thông số hình học cụm đầu đo, qua ta đưa thông số hình học phù hợp cụm đầu đo để có độ xác cao ứng dụng phương pháp quét laser để đo kích thước chi tiết Học viên: LÊ THANH 72 Cao học CNCK khóa 2008 - 2010 Nghiên cứu độ xác đo Profil bề mặt chi tiết máy phương pháp quét Laser Ngoài có sở lý thuyết, phương pháp xử lý ảnh, hàm truyền chương trình xử lý số liệu đo mở nhiều hướng nghiên cứu khác liên quan đến phương pháp quét laser ứng dụng đo lường Học viên: LÊ THANH 73 Cao học CNCK khóa 2008 - 2010 Nghiên cứu độ xác đo Profil bề mặt chi tiết máy phương pháp quét Laser TÀI LIỆU THAM KHẢO Tiếng Việt Lương Mạnh Bá, Nguyễn Thanh Thủy (2002), Nhập môn xử lý ảnh số, Nhà xuất khoa học kỹ thuật Lưu Thủy Chung (2009), Xử lý số liệu đo kích thước chi tiết phương pháp quét laser - Luận văn thạc sĩ Dương Đức Hiếu, Vũ Hoàng Tuấn, Nguyễn Dương Hùng (2010), Nghiên cứu chế tạo máy quét lazer 3D – Đồ án tốt nghiệp Đinh Thế Thìn (2009), Nghiên cứu xây dựng sở thiết kế thiết bị đo thông số hình học chi tiết dạng phương pháp chụp ảnh vết chiếu laser – Luận văn thạc sĩ Nguyễn Tiến Thọ, Nguyễn Xuân Bảy (2005), Kỹ Thuật Đo Lường Kiểm Tra Trong Chế Tạo Cơ Khí, Nhà xuất khoa học kỹ thuật Ninh Đức Tốn (2004), Dung sai lắp ghép, Nhà xuất khoa học kỹ thuật Trần Đình Tường, Hoàng Hồng Hải (2006), Quang kỹ thuật, Nhà xuất khoa học kỹ thuật Tiếng Anh Joseph R.Bietry (2000), Laser line generator system, US Patent number 6069748 S.G Hoggar, Mathematics of Digital Image, Cambridge University Press Học viên: LÊ THANH 74 Cao học CNCK khóa 2008 - 2010 Nghiên cứu độ xác đo Profil bề mặt chi tiết máy phương pháp quét Laser PHỤ LỤC Phụ lục A: Một số hình ảnh mô hình Hình A.1: Góc phải mô hình Học viên: LÊ THANH 75 Cao học CNCK khóa 2008 - 2010 Nghiên cứu độ xác đo Profil bề mặt chi tiết máy phương pháp quét Laser Hình A.21: Góc trái mô hình Học viên: LÊ THANH 76 Cao học CNCK khóa 2008 - 2010 Nghiên cứu độ xác đo Profil bề mặt chi tiết máy phương pháp quét Laser Phụ lục B: Mã nguồn chương trình tìm vết sáng Đoạn mã chương trình xác định đường trung bình vết sáng Chương trình viết theo ngôn ngữ Visual Basic.net 2008 Imports System.IO.File Imports System.IO Imports System.Math Public Class MainForm Structure ArrPoints Public x As Double Public y As Double 'Public zz0 As Integer 'Public goc0 As Integer End Structure Structure ArrXZ Public x As Double Public Z As Double 'Public zz0 As Integer 'Public goc0 As Integer End Structure Structure ArrYZ Public y As Double Public Z As Double 'Public zz0 As Integer 'Public goc0 As Integer End Structure Dim X0 As Integer Dim Y0 As Integer '///////////////////////////////////////////////// Dim Z0 As Double ' Khoang cach Z0 Dim b As Double ' Khoang cach giua quang tam thau kinh va CCD Dim goc As Double Dim dpg As Double ' Do phan giai cua CCD '////////////////////////////////////////////////// Dim m_image As Long Dim r_image As Long '////////////////////////////////////////////////// Public Zxarr(100) As ArrXZ Public Zyarr(100) As ArrYZ Dim listp(640) As ArrPoints Dim nump As Integer ' so dem cua listP Public numX, numY As Integer ' so dem cua Zxarr va Zyarr '//////////////////// Học viên: LÊ THANH 77 Cao học CNCK khóa 2008 - 2010 Nghiên cứu độ xác đo Profil bề mặt chi tiết máy phương pháp quét Laser Dim numc As Integer Const pi = 3.1415 Private Sub Run_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Run.Click Dim x, y As Integer ' So pixel theo phuong x va y Dim xt, yt As Double ' Toa thuc cua diem sang Dim xc, yc As Double ' Toa cua diem sang tren CCD Dim ytb As Integer Dim i As Integer Dim c As Color Dim bm As Bitmap Dim strg As String Timer1.Enabled = False i = nump = ytb = bm = PictureBox1.Image For x = To bm.Width - For y = To bm.Height - c = bm.GetPixel(x, y) If c.R = 255 Then i = i + ytb = ytb + y End If Next y If i >= Then ytb = Int(ytb / i) 'bp.SetPixel(x, ytb, Color.FromArgb(20, 20, 20)) xc = (x - X0) * dpg yc = (ytb - Y0) * dpg 'xt = xc * Z0 / (b * Cos(goc * pi / 180) - yc * Sin(goc * pi / 180)) 'yt = Z0 * (b * Sin(goc * pi / 180) + yc * Cos(goc * pi / 180)) / (b * Cos(goc * pi / 180) - yc * Sin(goc * pi / 180)) xt = (-dpg * 640 / + x * dpg) * Z0 / (-b * Sin(goc * pi / 180) + Cos(goc * pi / 180) * dpg * 480 / - ytb * dpg * Sin(goc * pi / 180)) yt = (-b * Cos(goc * pi / 180) - Sin(goc * pi / 180) * dpg * 480 / + ytb * dpg * Sin(goc * pi / 180)) * Z0 / (-b * Sin(goc * pi / 180) + Cos(goc * pi / 180) * dpg * 480 / - ytb * dpg * Sin(goc * pi / 180)) listp(nump).x = xt listp(nump).y = yt nump = nump + strg = Str(xt) + ";" + Str(yt) ListBox1.Items.Add(strg) End If i = ytb = Next x ' xac dinh chieu dai theo phuong X va Y Học viên: LÊ THANH 78 Cao học CNCK khóa 2008 - 2010 Nghiên cứu độ xác đo Profil bề mặt chi tiết máy phương pháp quét Laser numc = numc + Label4.Text = Str(numc) LongXY() If numc = 15 Then Run.Enabled = False End If End Sub Private Sub LongXY() Dim i, j As Integer Dim ytg, xtg, ymax As Double Dim x(2) As Double ytg = listp(0).y xtg = listp(0).x j = For i = To nump If Abs(listp(i).y - ytg) > Then j = j + If j Then Zxarr(numX).x = Abs(x(1) - x(2)) Zxarr(numX).Z = Z0 numX = numX + End If ymax = ytg = listp(0).y For i = To nump If ymax < Abs(listp(i).y - listp(i - 1).y) Then ymax = Abs(listp(i).y - listp(i - 1).y) End If Next Zyarr(numY).y = ymax Zyarr(numY).Z = Z0 numY = numY + End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click AxVideoOCX1.Stop() AxVideoOCX1.Close() End End Sub Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Học viên: LÊ THANH 79 Cao học CNCK khóa 2008 - 2010 Nghiên cứu độ xác đo Profil bề mặt chi tiết máy phương pháp quét Laser X0 = 320 Y0 = 220 '///////////////////////// Z0 = 80 b = 21 goc = 60 dpg = 0.0375 '///////////////////////// numX = numY = '//////////////////////// numc = End Sub Private Sub Cam_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cam.Click Timer1.Enabled = True End Sub Private Sub Init_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Init.Click AxVideoOCX1.SetErrorMessages(False) If Not AxVideoOCX1.Init Then MsgBox(AxVideoOCX1.GetLastErrorString) Else m_image = AxVideoOCX1.GetGrayImageHandle r_image = AxVideoOCX1.GetGrayImageHandle If Not AxVideoOCX1.Start Then MsgBox(AxVideoOCX1.GetLastErrorString) End If End If Timer1.Enabled = True Timer1.Interval = 40 Cam.Enabled = True Run.Enabled = True End Sub Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick Dim show_result As Boolean If (AxVideoOCX1.Capture(m_image)) Then If (AxVideoOCXTools1.Threshold(m_image, 150, r_image)) Then ' Display result later show_result = True End If ' If a Tool was used, display the resulting image, otherwise show original AxVideoOCX1.Capture(m_image) AxVideoOCX1.Show(m_image) Học viên: LÊ THANH 80 Cao học CNCK khóa 2008 - 2010 Nghiên cứu độ xác đo Profil bề mặt chi tiết máy phương pháp quét Laser PictureBox1.Image = AxVideoOCX1.ToPicture(r_image) End If End Sub Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click AxVideoOCX1.Stop() AxVideoOCX1.Close() End End Sub Private Sub SaveToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveToolStripMenuItem.Click Dim save As New SaveFileDialog 'Khai bao chuoi loc tap tin Dim chuoi As String Dim i As Integer chuoi = "Text files(*.txt)" chuoi += "|*.txt|All files(*.*)|*.*" save.Filter = chuoi save.Title = "Luu Tap Tin" save.ShowDialog() If save.FileName "" Then 'luu tap tin vua chon Dim taptin As TextWriter taptin = CreateText(save.FileName) For i = To ListBox1.Items.Count - taptin.WriteLine(ListBox1.Items.Item(i)) Next taptin.Flush() taptin.Close() End If End Sub Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click SaveToolStripMenuItem_Click(sender, e) End Sub Private Sub ChartToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ChartToolStripMenuItem.Click Chart.ShowDialog() End Sub Private Sub ToolStripButton5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton5.Click AxVideoOCX1.Stop() AxVideoOCX1.Close() Học viên: LÊ THANH 81 Cao học CNCK khóa 2008 - 2010 Nghiên cứu độ xác đo Profil bề mặt chi tiết máy phương pháp quét Laser End End Sub Private Sub ComboBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.TextChanged Z0 = CDbl(ComboBox1.Text) numc = Run.Enabled = True 'Label3.Text = Str(Z0) End Sub Private Sub ComboBox2_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox2.TextChanged goc = CDbl(ComboBox2.Text) numc = Run.Enabled = True End Sub End Class Phụ lục C: Mã nguồn chương trình xử lý kết đo Imports System.Windows.Forms Imports System.Drawing.Drawing2D Imports System.Math Public Class Chart Dim CacDiemTrenDoThi(359) As PointF, BienDem As Integer Dim KhoangChiaDo As Double, ViTriTrucHoanh As Double Dim gNoiVe As Graphics 'Dim pDuongBieuDien As Pen = New Pen(Color.Blue, 1) Dim pTrucHoanh As Pen = New Pen(Color.Red, 1) Dim pmau As Pen = New Pen(Color.Blue, 1) Dim pluoi As Pen = New Pen(Color.DarkGray, 1) Dim pduong As Pen = New Pen(Color.DarkViolet, 1) Dim pdiem As Pen = New Pen(Color.Chocolate, 4) Private Sub truc() Dim i As Integer Dim xi, yi As Integer With (gNoiVe) Clear(Panel1.BackColor) 'New SolidBrush(Color.Green), 120, 20) DrawLine(pmau, 30, CInt(ViTriTrucHoanh) - 150, _ Panel1.Width - 5, CInt(ViTriTrucHoanh) - 150) xi = For i = To CInt(Panel1.Width / 10) DrawLine(pluoi, xi, 1, _ xi, Panel1.Height - 1) xi = xi + 10 Next yi = Học viên: LÊ THANH 82 Cao học CNCK khóa 2008 - 2010 Nghiên cứu độ xác đo Profil bề mặt chi tiết máy phương pháp quét Laser For i = To CInt(Panel1.Height / 10) DrawLine(pluoi, 1, yi, _ Panel1.Width - 1, yi) yi = yi + 10 Next DrawLine(pTrucHoanh, 5, CInt(ViTriTrucHoanh), _ Panel1.Width - 5, CInt(ViTriTrucHoanh)) DrawLine(pTrucHoanh, Panel1.Width - 15, CInt(ViTriTrucHoanh) - 3, _ Panel1.Width - 5, CInt(ViTriTrucHoanh)) DrawLine(pTrucHoanh, Panel1.Width - 15, CInt(ViTriTrucHoanh) + 3, _ Panel1.Width - 5, CInt(ViTriTrucHoanh)) ' ve truc tung DrawLine(pTrucHoanh, 30, 10, _ 30, Panel1.Height - 10) DrawLine(pTrucHoanh, 27, 20, _ 30, 10) DrawLine(pTrucHoanh, 33, 20, _ 30, 10) End With End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Label1.Text = "" Label1.Visible = False Label2.Visible = False Close() End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim i As Integer Dim x, xx As Integer Dim y, yy As Integer Dim z As Double Label1.Text = "X" Label1.Visible = True Label2.Visible = True truc() For i = To 14 DataGridView1.Rows.Item(0).Cells(i).Value = Str(Form1.Zxarr(i).x) Next With (gNoiVe) For i = To 13 x = 30 * i + 30 xx = 30 * i + 60 y = CInt(ViTriTrucHoanh) - 150 - CInt(100 * (Form1.Zxarr(i).x - 20)) yy = CInt(ViTriTrucHoanh) - 150 - CInt(100 * (Form1.Zxarr(i + 1).x - 20)) DrawLine(pdiem, x - 2, y, x + 2, y) Học viên: LÊ THANH 83 Cao học CNCK khóa 2008 - 2010 Nghiên cứu độ xác đo Profil bề mặt chi tiết máy phương pháp quét Laser pduong = New Pen(Color.DarkBlue, 1) DrawLine(pduong, x, y, _ xx, yy) DrawLine(pdiem, xx - 2, yy, xx + 2, yy) z = Form1.Zxarr(i).Z Next DrawLine(pduong, Panel1.Width - 60, 10, Panel1.Width - 10, 10) DrawLine(pdiem, Panel1.Width - 37, 10, Panel1.Width - 33, 10) DrawString("Z0=" + Str(z), New Font("Times New Roman", 8), _ New SolidBrush(Color.DarkBlue), Panel1.Width - 100, 4) '/////////////////////////////////////////////////////////// For i = To 14 DataGridView1.Rows.Item(1).Cells(i).Value = Str(Form1.Zxarr(i + 15).x) Next For i = 15 To 28 x = 30 * (i - 15) + 30 xx = 30 * (i - 15) + 60 y = CInt(ViTriTrucHoanh) - 150 - CInt(100 * (Form1.Zxarr(i).x - 20)) yy = CInt(ViTriTrucHoanh) - 150 - CInt(100 * (Form1.Zxarr(i + 1).x - 20)) DrawLine(pdiem, x - 2, y, x + 2, y) pduong = New Pen(Color.Brown, 1) DrawLine(pduong, x, y, _ xx, yy) DrawLine(pdiem, xx - 2, yy, xx + 2, yy) z = Form1.Zxarr(i).Z Next DrawLine(pduong, Panel1.Width - 60, 25, Panel1.Width - 10, 25) DrawLine(pdiem, Panel1.Width - 37, 25, Panel1.Width - 33, 25) DrawString("Z0=" + Str(z), New Font("Times New Roman", 8), _ New SolidBrush(Color.Brown), Panel1.Width - 100, 19) '/////////////////////////////////////////////////////////// For i = To 14 DataGridView1.Rows.Item(2).Cells(i).Value = Str(Form1.Zxarr(i + 30).x) Next For i = 30 To 43 x = 30 * (i - 30) + 30 xx = 30 * (i - 30) + 60 y = CInt(ViTriTrucHoanh) - 150 - CInt(100 * (Form1.Zxarr(i).x - 20)) yy = CInt(ViTriTrucHoanh) - 150 - CInt(100 * (Form1.Zxarr(i + 1).x - 20)) DrawLine(pdiem, x - 2, y, x + 2, y) pduong = New Pen(Color.Green, 1) DrawLine(pduong, x, y, _ xx, yy) DrawLine(pdiem, xx - 2, yy, xx + 2, yy) z = Form1.Zxarr(i).Z Next DrawLine(pduong, Panel1.Width - 60, 40, Panel1.Width - 10, 40) DrawLine(pdiem, Panel1.Width - 37, 40, Panel1.Width - 33, 40) Học viên: LÊ THANH 84 Cao học CNCK khóa 2008 - 2010 Nghiên cứu độ xác đo Profil bề mặt chi tiết máy phương pháp quét Laser DrawString("Z0=" + Str(z), New Font("Times New Roman", 8), _ New SolidBrush(Color.Green), Panel1.Width - 100, 34) '/////////////////////////////////////////////////////////// For i = To 14 DataGridView1.Rows.Item(3).Cells(i).Value = Str(Form1.Zxarr(i + 45).x) Next For i = 45 To 58 x = 30 * (i - 45) + 30 xx = 30 * (i - 45) + 60 y = CInt(ViTriTrucHoanh) - 150 - CInt(100 * (Form1.Zxarr(i).x - 20)) yy = CInt(ViTriTrucHoanh) - 150 - CInt(100 * (Form1.Zxarr(i + 1).x - 20)) DrawLine(pdiem, x - 2, y, x + 2, y) pduong = New Pen(Color.Violet, 1) DrawLine(pduong, x, y, _ xx, yy) DrawLine(pdiem, xx - 2, yy, xx + 2, yy) z = Form1.Zxarr(i).Z Next DrawLine(pduong, Panel1.Width - 60, 55, Panel1.Width - 10, 55) DrawLine(pdiem, Panel1.Width - 37, 55, Panel1.Width - 33, 55) DrawString("Z0=" + Str(z), New Font("Times New Roman", 8), _ New SolidBrush(Color.Violet), Panel1.Width - 100, 49) '/////////////////////////////////////////////////////////// For i = To 14 DataGridView1.Rows.Item(4).Cells(i).Value = Str(Form1.Zxarr(i + 60).x) Next For i = 60 To 73 x = 30 * (i - 60) + 30 xx = 30 * (i - 60) + 60 y = CInt(ViTriTrucHoanh) - 150 - CInt(100 * (Form1.Zxarr(i).x - 20)) yy = CInt(ViTriTrucHoanh) - 150 - CInt(100 * (Form1.Zxarr(i + 1).x - 20)) DrawLine(pdiem, x - 2, y, x + 2, y) pduong = New Pen(Color.Black, 1) DrawLine(pduong, x, y, _ xx, yy) DrawLine(pdiem, xx - 2, yy, xx + 2, yy) z = Form1.Zxarr(i).Z Next DrawLine(pduong, Panel1.Width - 60, 70, Panel1.Width - 10, 70) DrawLine(pdiem, Panel1.Width - 37, 70, Panel1.Width - 33, 70) DrawString("Z0=" + Str(z), New Font("Times New Roman", 8), _ New SolidBrush(Color.Black), Panel1.Width - 100, 64) End With End Sub Private Sub Chart_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load KhoangChiaDo = Panel1.Width / 360 Học viên: LÊ THANH 85 Cao học CNCK khóa 2008 - 2010 Nghiên cứu độ xác đo Profil bề mặt chi tiết máy phương pháp quét Laser ViTriTrucHoanh = CInt(Panel1.Height - 30) pluoi.DashStyle = DashStyle.Dot pmau.DashStyle = DashStyle.Dash gNoiVe = Panel1.CreateGraphics DataGridView1.Rows.Add() DataGridView1.Rows.Add() DataGridView1.Rows.Add() DataGridView1.Rows.Add() End Sub Sub VeDuongBieuDien(ByVal sTenHam As String) ' End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim i As Integer Dim x, xx As Integer Dim y, yy As Integer Label1.Text = "Y" Label1.Visible = True Label2.Visible = True truc() For i = To Form1.numY - DataGridView1.Rows.Item(0).Cells(i).Value = Str(Form1.Zyarr(i).y) Next With (gNoiVe) For i = To Form1.numY - x = 20 * i + 30 xx = 20 * i + 50 y = CInt(ViTriTrucHoanh) - * CInt(Form1.Zyarr(i).y) yy = CInt(ViTriTrucHoanh) - * CInt(Form1.Zyarr(i + 1).y) DrawLine(pduong, x, y, _ xx, yy) Next End With End Sub End Class Học viên: LÊ THANH 86 Cao học CNCK khóa 2008 - 2010 ... - 2010 Nghiên cứu độ xác đo Profil bề mặt chi tiết máy phương pháp quét Laser + Bộ phận phát: Phương pháp quét laser 3D dùng nguồn phát nguồn sáng Laser + Bộ phận thu: Phương pháp quét laser 3D... 2008 - 2010 Nghiên cứu độ xác đo Profil bề mặt chi tiết máy phương pháp quét Laser Kết luận Qua nghiên cứu, tìm hiểu cấu tạo, ưu – nhược điểm máy quét laser 3D ta thấy việc nghiên cứu độ xác thông... 2010 Nghiên cứu độ xác đo Profil bề mặt chi tiết máy phương pháp quét Laser CHƯƠNG 2: CÁC YẾU TỐ ẢNH HƯỞNG ĐẾN ĐỘ CHÍNH XÁC CỦA PHÉP ĐO Trong máy quét laser 3D có nhiều yếu tố ảnh hưởng đến độ xác

Ngày đăng: 24/07/2017, 22:34

Từ khóa liên quan

Mục lục

  • BÌA

  • MỤC LỤC

  • DANH MỤC CÁC HÌNH VẼ

  • LỜI NÓI ĐẦU

  • CHƯƠNG 1:

  • CHƯƠNG 2:

  • CHƯƠNG 3:

  • CHƯƠNG 4

  • KẾT LUẬN

  • TÀI LIỆU THAM KHẢO

  • PHỤ LỤC

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

  • Đang cập nhật ...

Tài liệu liên quan