Hồ Chí Minh, ngày tháng năm 20… Giáo viên phản biện Trang 6 LỜI CẢM ƠNBáo cáo đồ án tốt nghiệp chuyên ngành Công nghệ kỹ thuật Điện – Điện tử với đề tài “Thiết kế, thi công mô hình phâ
TỔNG QUAN
Đặt vấn đề
Công nghệ tự động hóa đang ngày càng trở thành yếu tố thiết yếu trong quy trình kinh doanh và sản xuất hiện đại Nó không chỉ giúp doanh nghiệp tối ưu hóa chi phí mà còn tiết kiệm thời gian, nhờ vào việc hợp lý hóa các quy trình Hệ thống vận chuyển tự động mang lại độ an toàn và hiệu quả vượt trội so với vận hành bằng tay, góp phần nâng cao năng suất sản phẩm, giảm thiểu nhân công và chi phí.
Tự động hóa đang trở thành xu thế phổ biến tại Việt Nam, với nhiều nhà máy và xí nghiệp áp dụng thiết bị tự động hóa Phân loại sản phẩm là một ví dụ điển hình về ứng dụng này, nhờ vào tính nhanh chóng, chính xác và tỷ lệ sai sót thấp Các kiểu phân loại sản phẩm có thể khác nhau tùy thuộc vào hình dạng, kích thước, màu sắc, khối lượng và thể tích Vì lý do đó, nhóm chúng em đã chọn đề tài “Thiết kế, thi công mô hình phân loại sản phẩm theo hình dạng và khối lượng” cho đồ án tốt nghiệp cuối khóa.
Mục tiêu đề tài
Mục tiêu của đề tài là phát triển một mô hình tự động và liên tục để nhận diện và phân loại sản phẩm Hệ thống sẽ xác định hình dạng và so sánh khối lượng sản phẩm, sau đó tự động đưa sản phẩm đến vị trí đã được cài đặt Người dùng có thể theo dõi hoạt động và thông số phân loại qua giao diện trên phần mềm LabVIEW.
Giới hạn đề tài
- Đề tài sử dụng phôi mẫu mô phỏng phân loại loại sản phẩm là bánh kẹo
- Sản phẩm chia làm 3 tiêu chí phân loại: sản phẩm tốt, sản phẩm loại I, sản phẩm loại II.
Phương pháp nghiên cứu
- Nghiên cứu lý thuyết về nhận dạng sản phẩm
- Xây dựng mô hình và thực nghiệm
- Đánh giá hiệu quả của mô hình.
Nội dung đề tài
Nêu nguyên nhân và lý do chọn đề tài
Chương 2: Cơ sở lý thuyết
Giới thiệu về hệ thống phân loại và lý thuyết xử lý ảnh
Chương 3: Thiết kế hệ thống
Hệ thống được thiết kế với sơ đồ nguyên lý rõ ràng, trong đó phần mềm LabVIEW thực hiện xử lý và nhận dạng hình ảnh Đồng thời, LabVIEW kết hợp với Arduino IDE để điều khiển và phân loại sản phẩm hiệu quả.
Chương 4: Kết quả và so sánh thực nghiệm
Sau khi thi công phần cứng và phần mềm của hệ thống, chúng tôi đã thu được các kết quả quan trọng về giao tiếp giữa các phần mềm và các bảng số liệu Kết quả này được xác định thông qua việc khảo sát hoạt động thực tế của hệ thống, cho thấy hiệu quả và độ ổn định trong quá trình vận hành.
Chương 5: Kết luận và hướng phát triển
Thảo luận và phân tích kết quả giúp xác định những ưu điểm và nhược điểm của hệ thống hiện tại Qua đó, chúng ta có thể đưa ra các hướng cải tiến để khắc phục những hạn chế còn tồn tại, nhằm nâng cao hiệu quả hoạt động của hệ thống.
Chương 2: Cơ sơ lý thuyết
CƠ SỞ LÝ THUYẾT
Tổng quan về hệ thống phân loại
Trước đây, việc phân loại sản phẩm chủ yếu dựa vào sức lao động thủ công, yêu cầu sự tập trung cao và liên tục, dẫn đến khó khăn trong việc duy trì độ chính xác Đặc biệt, với các sản phẩm có hình dạng phức tạp như linh kiện điện tử, việc phát hiện lỗi bằng mắt thường gặp nhiều hạn chế, ảnh hưởng đến chất lượng sản phẩm và uy tín của nhà sản xuất trên thị trường quốc tế Hiện nay, để khắc phục vấn đề này, hệ thống phân loại tự động đã được áp dụng rộng rãi trong nhiều lĩnh vực Hệ thống này tự động xử lý trong suốt quá trình phân loại và đóng gói, phân loại sản phẩm dựa trên các thông số cơ bản như hình dạng, kích thước, cân nặng, chiều cao, màu sắc và chất liệu.
Dưới đây là một số ưu điểm của hệ thống phân loại sản phẩm tự động so với phân loại thủ công truyền thống:
Tiết kiệm không gian là một lợi ích quan trọng của dây chuyền phân loại sản phẩm tự động, vì nó yêu cầu ít công nhân hơn Phần lớn công nhân chỉ cần thực hiện công việc sắp xếp hàng hóa và sản phẩm lên xe sau khi chúng đã được phân loại và đóng gói tự động.
- Tiết kiệm thời gian hơn do quá trình phân loại và xử lý được thực hiện bởi máy móc hiện đại
- Giảm chi phí cho việc thuê công nhân phân loại theo phương pháp thủ công truyền thống
Năng suất phân loại tự động vượt trội hơn hẳn so với phương pháp phân loại thủ công Nhiều hệ thống phân loại tự động hiện đang được áp dụng rộng rãi trong các ngành công nghiệp.
Chương 2: Cơ sơ lý thuyết
Hình 2.1: Phương pháp phân loại thủ công và tự động
Hệ thống phân loại dựa trên mã vạch và mã QR đang được sử dụng rộng rãi hiện nay để phân loại các kiện hàng và sản phẩm được đóng gói Với khả năng đạt tốc độ phân loại hơn 10.000 sản phẩm mỗi giờ, hệ thống này nâng cao năng suất từ 3 đến 5 lần so với phương pháp phân loại thủ công.
Hình 2.2: Mã vạch và mã QR trên sản phẩm
Chương 2: Cơ sơ lý thuyết
Hình 2.3: Sơ đồ hệ thống phân loại
Hệ thống phân loại dựa trên khối lượng hoạt động bằng cách đo khối lượng của từng sản phẩm và so sánh với các mức khối lượng chuẩn đã được cài đặt Phạm vi hoạt động của hệ thống này có thể linh hoạt từ vài gam đến vài kilogam, hoặc thậm chí lớn hơn như tạ hoặc tấn, tùy thuộc vào mục đích sử dụng của con người.
Hình 2.4: Cân điện tử Loadcell
Hệ thống phân loại dựa trên màu sắc sử dụng công nghệ xử lý ảnh chính xác cao, có khả năng nhận diện đến 58 màu sắc khác nhau, mang lại nhiều ưu điểm vượt trội so với các hệ thống phân loại sử dụng cảm biến màu Sản phẩm được phân loại qua các công cụ xử lý hình ảnh trên nền tảng LabView, cho phép phân loại thành nhiều loại khác nhau và tích hợp chức năng giám sát, điều khiển từ xa, từ đó nâng cao hiệu quả kinh tế cho toàn bộ hệ thống.
Chương 2: Cơ sơ lý thuyết
Hình 2.5 :Hệ thống phân loại sản phẩm theo màu sắc
Lý thuyết về xử lý ảnh kỹ thuật số
Hình ảnh kỹ thuật số đại diện cho hình ảnh hai chiều thông qua một tập hợp hữu hạn các giá trị kỹ thuật số gọi là pixel Các giá trị pixel thể hiện mức xám, màu sắc, độ cao hoặc độ mờ, giúp tạo ra hình ảnh gần giống với thực tế.
Hình 2.6: Hình ảnh kỹ thuật số được tạo thành từ các pixel
Xử lý hình ảnh kỹ thuật số tập trung vào hai nhiệm vụ chính:
- Cải thiện thông tin hình ảnh để con người biểu diễn
- Xử lý dữ liệu hình ảnh để con người lưu trữ, truyền tải và đại diện cho nhận thức của máy tự động
Sự liên tục từ xử lý hình ảnh đến thị giác máy tính có thể được chia thành các quy trình cấp thấp, trung bình và cấp cao:
Quy trình cấp thấp Quy trình cấp trung bình Quy trình cấp cao
Chương 2: Cơ sơ lý thuyết
Ví dụ: loại bỏ nhiễu, làm sắc nét hình ảnh
Ví dụ: nhận dạng đối tượng, phân đoạn
Vào đầu những năm 1920, một trong những ứng dụng đầu tiên của hình ảnh kỹ thuật số được áp dụng trong ngành công nghiệp báo chí, góp phần quan trọng vào sự hiểu biết về khung cảnh và điều hướng tự trị.
- Dịch vụ truyền tải cáp hình ảnh Bartlane
- Hình ảnh được chuyển bằng cáp ngầm giữa Lôn Đôn và New York
- Hình ảnh đã được mã hóa để chuyển cáp và được tái tạo ở đầu nhận trên máy in điện báo
Cuối những năm 1920: những cải tiến đối với hệ thống Bartlane dẫn đến chất lượng hình ảnh cao hơn
- Các quy trình tái tạo mới dựa trên kỹ thuật chụp ảnh
- Tăng số lượng tông màu trong hình ảnh được tái tạo
Hình 2.7: Hình ảnh kỹ thuật số ban đầu
Hình 2.8: Hình ảnh kỹ thuật số với 15 tông màu đầu tiên
Những năm 1960 chứng kiến sự phát triển mạnh mẽ trong công nghệ máy tính cùng với sự khởi đầu của cuộc chạy đua không gian, điều này đã mở ra nhiều cơ hội việc làm trong lĩnh vực xử lý hình ảnh kỹ thuật số.
- Năm 1964: máy tính được sử dụng để cải thiện chất lượng hình ảnh mặt trăng do tàu thăm dò Ranger 7 chụp lại
- Các kỹ thuật như vậy đã được sử dụng trong các nhiệm vụ không gian khác bao gồm cả cuộc đổ bộ của tàu Apolo
Chương 2: Cơ sơ lý thuyết
Hình 2.9: Một bức ảnh của Mặt Trăng được chụp bởi tàu Ranger 7
- Năm 1970: Xử lý hình ảnh kỹ thuật số bắt đầu được sử dụng trong các ứng dụng y tế
- Năm 1979: ngài Godfrey N.Hounsfield và giáo sư Allan M.Cormack chia sẻ giải Nobel y học cho phát minh ra công nghệ chụp cắt lớp vi tính Computerised Axial Tomography (CAT)
Hình 2.10: Hình ảnh chụp cắt lớp đầu tiên
Từ năm 1980, kỹ thuật xử lý hình ảnh kỹ thuật số đã phát triển mạnh mẽ và hiện nay được áp dụng rộng rãi cho nhiều nhiệm vụ trong các lĩnh vực khác nhau.
- Cải thiện, phục hồi hình ảnh
- Kiểm tra và nhận diện trong các ngành sản xuất
- Giao diện máy tính của con người
Chương 2: Cơ sơ lý thuyết
Hình 2.11: Áp dụng xử lý ảnh trong các ngành công nghiệp
Hình 2.12: Các bước cơ bản trong xử lý hình ảnh
- Image acquisition (thu nhận hình ảnh): để thu được hình ảnh kỹ thuật số
Xử lý trước hình ảnh đóng vai trò quan trọng trong việc lọc nhiễu, làm nổi bật các chi tiết ẩn và tăng cường độ tương phản, từ đó nâng cao chất lượng hình ảnh một cách hiệu quả.
- Image segmentation (phân đoạn hình ảnh): để phân vùng hình ảnh đầu vào thành các bộ phận hoặc đối tượng cấu thành của nó
- Image representation (biểu diễn hình ảnh): để chuyển đổi dữ liệu đầu vào thành một hình thức thích hợp cho xử lý máy tính
Chương 2: Cơ sơ lý thuyết
Mô tả hình ảnh là quá trình trích xuất các tính năng quan trọng, giúp cung cấp thông tin định lượng và phân biệt các lớp đối tượng khác nhau.
- Image reconition (nhận dạng hình ảnh): để gán nhãn cho một đối lượng dựa trên thông tin được cung cấp bởi bộ mô tả
- Image interpretation (giải thích hình ảnh): để gán ý nghĩa cho một quần thể của các đối tượng được công nhận
Hình ảnh là một đối tượng phức tạp, không bị ảnh hưởng bởi đường cong, đường thẳng, độ sáng, độ tương phản, nhiễu hay môi trường thu nhận Trong các quy trình xử lý và phân tích hình ảnh, nhiều phương pháp thu nhận và xử lý dựa vào trí tuệ con người, từ đó phát huy nền tảng kiến thức ngày càng sâu rộng.
Hình ảnh được định nghĩa bởi hàm hai chiều F(x, y), trong đó x và y là các tọa độ không gian, và biên độ của F tại cặp tọa độ (x, y) được gọi là cường độ ảnh Khi các giá trị x, y và biên độ của F là hữu hạn, hình ảnh đó được coi là ảnh kỹ thuật số Một hình ảnh có thể được xác định bởi một mảng hai chiều sắp xếp theo hàng và cột, bao gồm một lượng hữu hạn các phần tử, mỗi phần tử có giá trị cụ thể Các phần tử này được gọi là phần tử ảnh, phần tử hình ảnh, và pixel, trong đó "pixel" là thuật ngữ phổ biến nhất để chỉ các thành phần của hình ảnh kỹ thuật số Hình ảnh kỹ thuật số có nhiều dạng khác nhau.
- Ảnh nhị phân hay còn gọi là ảnh đơn sắc: là ảnh chỉ chứa hai phần tử pixel 0 và 1 với pixel 0 có màu đen và pixel 1 có màu trắng
Ảnh định dạng màu 8 bit là một trong những định dạng hình ảnh phổ biến nhất, với 256 sắc thái màu khác nhau, thường được gọi là hình ảnh thang độ xám Trong định dạng này, giá trị 0 đại diện cho màu đen, 255 cho màu trắng, và 127 cho màu xám.
Ảnh định dạng màu 16 bit là loại ảnh có khả năng hiển thị 65.536 màu sắc khác nhau, được coi là định dạng màu cao Khác với hình ảnh thang độ xám, định dạng này sử dụng ba kênh màu cơ bản là đỏ, xanh lục và xanh lam, hay còn gọi là ảnh màu RGB (Red, Green, Blue).
Định dạng màu 24 bit, hay còn gọi là màu thực, là một hệ thống màu trong đó 24 bit được phân chia thành ba kênh màu: Đỏ, Xanh lục và Xanh lam Mỗi kênh màu nhận được 8 bit, tạo ra sự phân bổ đồng đều giữa ba màu cơ bản này.
Chương 2: Cơ sơ lý thuyết
Hình 2.13: Các giá trị màu sắc cho từng màu trong hệ màu RGB
Hình ảnh nhị phân là loại hình ảnh chỉ có hai giá trị cường độ, thường được thể hiện bằng màu đen và trắng, với 0 đại diện cho màu đen và 1 hoặc 255 cho màu trắng Chúng thường được tạo ra bằng cách áp dụng ngưỡng cho ảnh thang độ xám hoặc ảnh màu, nhằm tách biệt đối tượng khỏi nền Màu của đối tượng, thường là màu trắng, được gọi là màu nền trước, trong khi phần còn lại, thường là màu đen, được gọi là màu nền Tuy nhiên, tùy thuộc vào cách đặt ngưỡng, cực tính có thể bị đảo ngược, khiến đối tượng hiển thị bằng 0 và nền có giá trị khác không.
Hình 2.14: Giá trị pixel trong một ảnh nhị phân
Chương 2: Cơ sơ lý thuyết
12 Hình 2.15: Ngưỡng giá trị pixel của 3 màu Đen, Xám, Trắng
THIẾT KẾ HỆ THỐNG
Yêu cầu hệ thống
Hệ thống phân loại sản phẩm là công cụ quan trọng trong các ngành công nghiệp và nhà máy sản xuất, giúp thích nghi với môi trường khắc nghiệt Dự án này triển khai mô hình phân loại sản phẩm đơn giản, sử dụng công nghệ xử lý ảnh trên phần mềm LabVIEW kết hợp với Arduino IDE để điều khiển.
Hệ thống cần đáp ứng các yêu cầu sau:
- Ổn định, độ chính xác cao
- Vừa nhận diện vật thể và đo khối lượng
- Vận hành tự động, liên tục.
Thiết kế phần cứng
Arduino là một vi mạch thiết kế mở, bao gồm cả phần cứng và phần mềm, cho phép lập trình tương tác với các thiết bị như cảm biến, động cơ và đèn Điểm nổi bật của Arduino là môi trường phát triển dễ sử dụng, với ngôn ngữ lập trình dễ học ngay cả cho những người không có nhiều kiến thức về điện tử Phần cứng của Arduino bao gồm một board mạch nguồn mở, sử dụng vi xử lý AVR Atmel 8-bit hoặc ARM Atmel 32-bit, với các tính năng như 1 cổng USB, 6 chân vào analog và 14 chân I/O kỹ thuật số, tương thích với nhiều board mở rộng khác nhau.
Chương 3: Thiết kế hệ thống
Một mạch Arduino bao gồm vi điều khiển AVR và nhiều linh kiện bổ sung, giúp lập trình dễ dàng và mở rộng với các mạch khác Điểm nổi bật của Arduino là các kết nối tiêu chuẩn, cho phép người dùng kết nối với CPU và các module mở rộng gọi là shield Các board Arduino và tương thích sử dụng shield, là các board mạch in cắm vào chân header Shield có thể là module điều khiển động cơ, GPS, ethernet, LCD, hoặc breadboard Nhiều shield cũng có thể được chế tạo bởi DIY cho những người thích tự làm ứng dụng riêng.
Phần mềm Arduino IDE là một ứng dụng đa nền tảng được phát triển bằng Java, hỗ trợ ngôn ngữ lập trình Processing và dự án Wiring Các chương trình Arduino được viết bằng ngôn ngữ dựa trên C/C++, với thư viện phần mềm "Wiring" giúp đơn giản hóa các thao tác input/output Người dùng chỉ cần định nghĩa hai hàm để tạo ra một chương trình vòng thực thi có thể chạy được.
- setup(): hàm này chạy mỗi khi khởi động một chương trình, dùng để thiết lập các cài đặt
- loop(): hàm này được gọi lặp lại cho đến khi tắt nguồn board mạch
Arduino Uno sử dụng chip Atmega328, sở hữu 14 chân digital I/O và 6 chân đầu vào analog Nó hoạt động với thạch anh dao động 16MHz, mang lại hiệu suất ổn định cho các dự án điện tử Thông số kỹ thuật chi tiết của Arduino Uno được trình bày trong bảng 3.1.
Chip ATmega328 Điện áp cấp nguồn 5V Điện áp đầu vào (input) (kiến nghị )
7-12V Điện áp đầu vào(giới hạn) 6-20V
Số chân Digital I/O 14 (có 6 chân điều chế độ rộng xung PWM)
DC Current per I/O Pin 40mA
DC Current for 3.3V Pin 50mA
Flash Memory 32KB (ATmega328) với 0.5KB sử dụng bootloader
Chương 3: Thiết kế hệ thống
Hình 3.2: Sơ đồ chân Arduino Uno
Arduino sử dụng cáp USB để giao tiếp với máy tính, cho phép người dùng upload chương trình và cung cấp nguồn điện cho Arduino, điều này được khuyến nghị.
Ngoài việc sử dụng cổng USB để cung cấp nguồn cho Arduino, người dùng còn có thể sử dụng chân (2) hoặc chân Vin và GND để cấp nguồn Chân 5V và 3.3V là các chân đầu ra điện áp từ Arduino, vì vậy tuyệt đối không được cấp nguồn vào các chân này để tránh làm hỏng thiết bị.
Arduino UNO có 14 chân digital để đọc và xuất tín hiệu, hoạt động với hai mức điện áp 0V và 5V Mỗi chân có dòng vào/ra tối đa là 40mA và được trang bị các điện trở pull-up từ trong vi điều khiển ATmega328, mặc dù các điện trở này không được kết nối mặc định.
Một số chân digital có các chức năng đặc biệt như sau:
Chân Serial 0 (RX) và 1 (TX) trên Arduino Uno được sử dụng để gửi và nhận dữ liệu TTL Serial, cho phép giao tiếp với các thiết bị khác Kết nối Bluetooth thường được coi là một hình thức kết nối Serial không dây Nếu không cần giao tiếp Serial, bạn nên tránh sử dụng hai chân này để tiết kiệm tài nguyên.
- Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ phân giải 8bit (giá trị từ 0 → 2 8 -1 tương ứng với 0V → 5V) bằng hàm analogWrite() Nói một
Chương 3: Thiết kế hệ thống
16 cách đơn giản, bạn có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác
Chân giao tiếp SPI bao gồm 10 (SS), 11 (MOSI), 12 (MISO) và 13 (SCK) Bên cạnh các chức năng thông thường, bốn chân này còn có khả năng truyền phát dữ liệu thông qua giao thức SPI với các thiết bị khác.
Trên Arduino UNO, có một đèn LED màu cam ký hiệu chữ L, được kết nối với chân số 13 Khi nhấn nút Reset, đèn LED này sẽ nhấp nháy để báo hiệu Nếu người dùng sử dụng chân số 13, LED sẽ phát sáng.
Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0
Để đọc giá trị điện áp từ 0V đến 5V, bạn có thể sử dụng chân AREF trên board để cung cấp điện áp tham chiếu cho các chân analog Nếu bạn cấp điện áp 2.5V vào chân AREF, các chân analog sẽ đo được điện áp trong khoảng từ 0V đến 2.5V với độ phân giải 10bit.
3.2.1.2 Động cơ Servo MG955 Động cơ servo là một bộ truyền động quay hoặc bộ truyền động tuyến tính cho phép điều khiển chính xác vị trí góc hoặc tuyến tính, vận tốc và gia tốc Nó bao gồm một động cơ phù hợp được kết hợp với một cảm biến để phản hồi vị trí Nó cũng yêu cầu một bộ điều khiển tương đối phức tạp, thường là một mô-đun chuyên dụng được thiết kế đặc biệt để sử dụng với động cơ servo Động cơ servo thật ra không phải là một loại động cơ cụ thể, mặc dù thuật ngữ động này thường được sử dụng để chỉ động cơ phù hợp để sử dụng trong hệ thống điều khiển vòng kín Động cơ servo là một cơ chế phục vụ vòng kín sử dụng phản hồi vị trí để điều khiển chuyển động và vị trí cuối cùng của nó Đầu vào cho điều khiển của nó là một tín hiệu (tương tự hoặc kỹ thuật số) đại diện cho vị trí được chỉ huy cho trục đầu ra Động cơ được ghép nối với một số loại bộ mã hóa vị trí để cung cấp phản hồi vị trí và tốc độ Trong trường hợp đơn giản nhất, chỉ vị trí được đo Vị trí đo của đầu ra được so sánh với vị trí lệnh, đầu vào bên ngoài của bộ điều khiển Nếu vị trí đầu ra khác với vị trí yêu cầu, một tín hiệu lỗi sẽ được tạo ra, sau đó làm cho động cơ quay theo một trong hai hướng, nếu cần để đưa trục đầu ra đến vị trí thích hợp Khi các vị trí tiếp cận, tín hiệu lỗi giảm xuống 0 và động cơ dừng
Chương 3: Thiết kế hệ thống
Thiết bị này có dây dài 30cm và đầu nối 3 chân 'S', tương thích với hầu hết các máy thu như Futaba, JR, GWS, Cirrus, Blue Bird, Blue Arrow, Corona, Berg, Spektrum và Hitec Động cơ servo được phân loại chủ yếu dựa trên góc quay tối đa của chúng.
Servo có góc quay 180 độ hoặc 360 độ, được phân loại dựa trên chất lượng, với loại thường sử dụng bánh răng nhựa và loại tốt sử dụng bánh răng kim loại Người dùng có thể điều khiển các servo này bằng bất kỳ mã servo, phần cứng hoặc thư viện nào, rất phù hợp cho người mới bắt đầu muốn tạo chuyển động mà không cần xây dựng bộ điều khiển động cơ phức tạp với phản hồi và hộp số, đặc biệt là trong những không gian nhỏ.
Bảng 3.2: Thông số kỹ thuật của động cơ servo
Kích thước xấp xỉ 40,7 x 19,7 x 42,9 mm
Mụ-men xoắn gian hàng 8,5 kgf ã cm (4,8 V), 10 kgf ã cm (6 V)
Tốc độ hoạt động 0,2 s / 60º (4,8 V), 0,16 s / 60º (6 V) Điện áp hoạt động 4,8 V ~ 7,2 V
Để kết nối động cơ servo với Arduino trong phạm vi nhiệt độ từ 0 ºC đến 55 ºC, bạn cần phân biệt ba dây của động cơ servo: dây nguồn (màu đỏ), dây trung tính (màu nâu) và dây nhận tín hiệu điều khiển (màu vàng).
Hình 3.4: Chức năng 3 đầu dây động cơ
3.2.1.3 Cân điện tử Loadcell và module chuyển đổi ADC HX711
Thiết kế phần mềm
Hệ thống nhận dạng sản phẩm sử dụng phần mềm xử lý ảnh LabVIEW để đo bán kính sản phẩm, sau đó gửi tín hiệu đến Arduino Arduino sẽ so sánh với khối lượng đo được từ cân điện tử Loadcell theo khoảng khối lượng đã đặt ra Nếu cả hai điều kiện này được thỏa mãn, Arduino sẽ điều khiển servo để đẩy sản phẩm ra khỏi băng tải Hệ thống này áp dụng cho ba mẫu sản phẩm khác nhau, mỗi sản phẩm có hình dạng và khối lượng riêng biệt.
Chương 3: Thiết kế hệ thống
32 Hình 3.22: Sơ đồ tổng quát hoạt động của hệ thống
Chương 3: Thiết kế hệ thống
Hình 3.23: Sơ đồ nhận dạng vật thể trên LabVIEW
3.3.2 Phần mềm hỗ trợ Để hệ thống hoạt động một cách tối ưu cần một số phần mềm hỗ trợ với các chức năng chuyên biệt thực hiện các nhiệm vụ cụ thể Sau đây là các phần mềm cần thiết và tính thông dụng rất cao phù hợp cho mọi đối tượng sử dụng
Hình 3.24: Các phần mềm hỗ trợ
Chương 3: Thiết kế hệ thống
LabVIEW (Laboratory Virtual Instrument Engineering Workbench) là nền tảng thiết kế hệ thống và môi trường phát triển ngôn ngữ đồ họa do National Instruments (NI) phát triển Một chương trình LabVIEW bao gồm hai phần chính: bảng mặt trước (Front panels) và sơ đồ khối (Block diagrams) Bảng mặt trước đóng vai trò là giao diện người dùng (UI), trong khi sơ đồ khối chứa các hàm chức năng cần thiết cho việc lập trình.
MATLAB (Matrix Laboratory) là phần mềm do Mathworks phát triển, chuyên cho lập trình và tính toán toán học với hiệu suất cao Phần mềm này cung cấp môi trường tương tác với hàng trăm chức năng tích hợp sẵn, phục vụ cho máy tính kỹ thuật, đồ họa và hoạt ảnh.
Arduino IDE (Môi trường phát triển tích hợp Arduino) là phần mềm mã nguồn mở, chủ yếu dùng để lập trình và biên dịch cho mô-đun Arduino Phần mềm này hỗ trợ ngôn ngữ lập trình C/C++, đi kèm với thư viện phong phú, giao diện thân thiện và khả năng tương thích với nhiều hệ điều hành như Windows, MacOS, và Linux.
3.3.3 Xử lý ảnh trên LabVIEW
Hệ thống này sử dụng kỹ thuật thị giác máy của LabVIEW và quá trình lập trình thị giác máy này được chia làm 4 khối chính:
− Khối thu thập hình ảnh
− Khối xử lý hình ảnh
− Khối nhận diện vật thể
− Khối tín hiệu ngõ ra
Hình 3.25: Các khối xử lý chính trên LabVIEW
Trong hệ thống này, hình ảnh được thu thập thông qua việc liên kết các khối chức năng từ thư viện của NI Vision Acquisition Software Các khối này được kết nối với nhau một cách hiệu quả để tối ưu hóa quá trình thu thập dữ liệu hình ảnh.
Chương 3: Thiết kế hệ thống
Hình 3.26: Khối thu thập hình ảnh trên LabVIEW Trong đó:
+ Khối IMAQ I/O: cho phép chọn port ngõ vào cho camera
+ Khối IMAQdx Open Camera: cho phép mở camera, truy vấn vào camera, tải tệp cấu hình và tạo một tham chiếu duy nhất cho camera
Khối IMAQdx Configure Acquisition cho phép định cấu hình chuyển đổi cấp độ thấp đã được mở trước đó thông qua IMAQdx Open Camera, đồng thời chỉ định chế độ thu hình ảnh là liên tục hoặc một lần.
+ Khối IMAQdx Start Acquisition: bắt đầu chuyển đổi định cấu hình trước đó của
Khối IMAQdx Get Image thu thập khung hình đã chỉ định và lưu vào Image Out Nếu loại hình ảnh không tương thích với định dạng của máy ảnh, khối này sẽ tự động chuyển đổi hình ảnh sang định dạng phù hợp.
+ Khối Image: hiển thị hình ảnh thu được trên giao diện người dùng của LabVIEW
Chương 3: Thiết kế hệ thống
Hình 3.27: Hình ảnh thu được từ camera trên giao diện người dùng LabVIEW
3.3.3.2 Các bước xử lý ảnh
Hình ảnh từ camera cần được xử lý và chuyển đổi thành định dạng phù hợp với yêu cầu của hệ thống phân loại Hệ thống này nhận dạng sản phẩm dựa trên việc đo bán kính, vì vậy cần thực hiện các bước xử lý hình ảnh ban đầu để đạt được kết quả chính xác.
Hình 3.28: Quá trình xử lý ảnh trên LabVIEW
Chương 3: Thiết kế hệ thống
Hình 3.29: Chương trình trên LabVIEW
*Lọc ngưỡng màu cho hình ảnh:
Trong bước này, để có được kết quả lọc màu tốt nhất nhóm tiến hành thực hiện lọc ảnh màu RGB trên phần mềm MATLAB như sau:
Mở phần mềm MATLAB, click chọn APPS và click vào mũi tên hướng xuống để có thể xem thêm các tính năng tích hợp trên phần mềm
Hình 3.30: Giao diện trang chủ trên phần mềm MATLAB
Chương 3: Thiết kế hệ thống
Tiếp theo tìm và click chọn Color Thresholder trong mục Image Processing And Computer Vision
Hình 3.31: Thư viện xử lý ảnh và thị giác máy tính trên MATLAB
Trong giao diện cửa sổ Color Thresholder nhấp chọn Load Image From File để mở một hình ảnh thu được từ camera.
Hình 3.32: Tải ảnh camera thu được từ thư viện Sau đó ta click chọn vào không gian màu RGB:
Chương 3: Thiết kế hệ thống
Hình 3.33: Giao diện cửa sổ lựa chọn các không gian màu
Một cửa sổ hiển thị hình ảnh camera thu được và 3 thang điều chỉnh màu Đỏ, Xanh lá, Xanh lam xuất hiện.
Hình 3.34: Giao diện cửa sổ điều chỉnh thang màu RGB
Điều chỉnh thang màu cho ba loại màu sắc Đỏ, Xanh lục và Xanh lam nhằm tạo ra hình ảnh vật thể nổi bật, đồng thời giảm thiểu tác động của các vệt trắng xung quanh.
Tiếp theo click vào mục Export và chọn Export Function để xuất ra kết quả
Chương 3: Thiết kế hệ thống
Hình 3.35: Thực hiện xuất kết quả sau khi điều chỉnh thang màu RGB
Sau khi xuất ra kết quả thu được giá trị ngưỡng cho từng loại màu sắc và tiến hành điền vào chương trình LabVIEW
Hình 3.36: Nhập kết quả nhận được vào chương trình LabVIEW
*Dùng hàm Open để xử lý ảnh:
Hàm Open trong khối IMAQ GrayMorphology thực hiện các phép biến đổi hình thái cho ảnh thang độ xám, với hiệu ứng chính là loại bỏ các pixel tiền cảnh sáng khỏi cạnh hoặc bên trong vùng pixel nền, giúp làm cho vật thể trở nên mịn màng và đầy đủ hơn Hàm này thực hiện hai bước liên tiếp: đầu tiên là làm co toàn ảnh (Erode) để xóa các điểm ảnh không mong muốn, sau đó là giản ảnh ra (Dilate) để phục hồi kích thước của ảnh.
Chương 3: Thiết kế hệ thống
Hình 3.37: Phép co vùng ảnh (Erode)
Hình 3.38: Phép giãn vùng ảnh (Dilate)
Hình 3.39: Phép mở Open (Thực hiện Erode trước – Dilate sau)
*Xóa những chấm trắng nhỏ bên ngoài
Khối IMAQ Remove Particle VI có khả năng loại bỏ các chấm trắng xung quanh vật thể, yêu cầu hình ảnh đầu vào phải là dạng nhị phân 8 bit.
Chương 3: Thiết kế hệ thống
Hình 3.40: Hình ảnh trước và sau khi xử lý Remove Particle
*Lấp đầy những chấm trắng trên vật thể
Khối IMAQ FillHole VI có chức năng lấp đầy các lỗ có giá trị pixel là 1 trong một vật thể Những lỗ tiếp xúc với đường viền hình ảnh sẽ không được lấp đầy do không xác định được liệu chúng có phải là một phần của vật thể hay không Để sử dụng khối này, hình ảnh nguồn cần phải là hình ảnh nhị phân 8 bit.
Hình 3.41: Hình ảnh trước và sau khi xử lý FillHole
Hệ thống này nhận diện các vật thể bằng cách đo và so sánh bán kính của đường tròn trên bề mặt vật thể với bán kính cài đặt sẵn Khối chức năng IMAQ Find Circles tách biệt các hạt hình tròn chồng chéo và phân loại chúng dựa trên bán kính, diện tích bề mặt và chu vi Từ hình ảnh nhị phân, nó xác định bán kính và tâm của các đường tròn, ngay cả khi có nhiều đường tròn chồng lên nhau Người dùng có thể nhập giá trị bán kính tối thiểu và tối đa cần tìm Kết quả Circles Data cung cấp thông tin về bán kính, tọa độ x, y và diện tích bề mặt tính bằng pixel thông qua khối Unbundle Function, giúp chia nhỏ cụm dữ liệu đầu vào thành các yếu tố riêng lẻ.
Chương 3: Thiết kế hệ thống
Hình 3.42: Khối xử lý IMAQ Find Circles và Unbundle
Hệ thống sẽ lấy giá trị bán kính từ khối Unbundle Function và so sánh với khoảng giá trị cài đặt sẵn Nếu bán kính lớn hơn 86, hệ thống nhận diện sản phẩm tốt và chèn dòng chữ “SP TOT” lên vật thể qua khối IMAQ Overlay Text VI Quá trình này cũng được thực hiện cho sản phẩm loại 1 và loại 2.
Hình 3.43: Chương trình đo bán kính vật thể trên LabVIEW
KẾT QUẢ VÀ SO SÁNH THỰC NGHIỆM
Kết quả phần cứng
Mô hình hoàn chỉnh được thể hiện ở hình 4.1 dưới đây:
Mô hình hệ thống hoàn chỉnh được trình bày với bố trí thiết bị từ phải sang trái, nhằm tạo sự thuận tiện trong việc đấu nối và kiểm tra Bên cạnh đó, cách sắp xếp này cũng góp phần nâng cao tính thẩm mỹ cho toàn bộ hệ thống.
Chương 4: Kết quả và so sánh thực nghiệm
Hình 4.2: Thành phần hệ thống (1): Nguồn và các thiết bị bảo vệ được bố trí bên góc trên bên phải mô hình
Các thiết bị điện tử được lắp đặt trong hộp điện bên dưới, với nút nguồn đặt song song với nguồn tổ ong Nút nhấn RUN/STOP được bố trí gần băng tải để thuận tiện trong việc kiểm soát hoạt động của băng tải.
(3): Cân điện tử Loadcell được bố trí ngay phía đầu băng tải Đây cũng là đầu vào cấp liệu cho mô hình
(4): Servo này có nhiệm vụ đẩy sản phẩm vào băng tải khi cảm biến xác nhập có tín hiệu khối lượng
(5): 2 Servo này dùng để phân loại 2 sản phẩm Loại I và Loại II Nếu là sản phẩm Tốt sẽ đi đến cuối băng tải
(6): Camera được bố trí trên cao để quan sát bao quát và chụp được ảnh rõ nét hơn.
Kết quả giao tiếp
Chương 4: Kết quả và so sánh thực nghiệm
53 Hình 4.3: Cửa sổ thiết lập port kết nối trên phần mềm Arduino IDE
Hình 4.4: Giao diện phân loại kết hợp hình dạng và khối lượng trên LabVIEW
Chương 4: Kết quả và so sánh thực nghiệm
Hình 4.5: Giao diện phân loại theo hình dạng trên LabVIEW
*Quá trình phân loại sản phẩm tốt:
Hình 4.6: Servo đẩy sản phẩm tốt từ Loadcell lên băng tải
Chương 4: Kết quả và so sánh thực nghiệm
Hình 4.7: LabVIEW hiển thị khối lượng và nhận dạng sản phẩm tốt
Hình 4.8: Sản phẩm tốt sau khi đã được phân loại
*Quá trình phân loại sản phẩm loại 1:
Chương 4: Kết quả và so sánh thực nghiệm
56 Hình 4.9: Servo đẩy sản phẩm loại 1 từ Loadcell lên băng tải
Hình 4.10: LabVIEW hiển thị khối lượng và nhận dạng sản phẩm loại 1
Chương 4: Kết quả và so sánh thực nghiệm
Hình 4.12: Sản phẩm loại 1 sau khi được phân loại
*Quá trình phân loại sản phẩm loại 2:
Hình 4.11: Servo đẩy sản phẩm loại 1 ra khỏi băng tải
Chương 4: Kết quả và so sánh thực nghiệm
58 Hình 4.13: Servo đẩy sản phẩm loại 2 từ Loadcell vào băng tải
Hình 4.14: LabVIEW hiển thị khối lượng và nhận dạng sản phẩm loại 2
Chương 4: Kết quả và so sánh thực nghiệm
Hình 4.16: Sản phẩm loại 2 sau khi được phân loại
*Kết quả quá trình phân loại sản phẩm:
Hình 4.15: Servo đẩy sản phẩm loại 2 ra khỏi băng tải
Chương 4: Kết quả và so sánh thực nghiệm
60 Hình 4.17: LabVIEW đếm sản phẩm sau khi hoàn thành phân loại
Hình 4.18: Giao diện LabVIEW nhận dạng sản phẩm
Chương 4: Kết quả và so sánh thực nghiệm
Hình 4.19: LabVIEW đếm sản phẩm sau khi hoàn thành phân loại
Kết quả chạy kiểm tra
4.3.1 Kết quả phân loại kết hợp hình dạng và khối lượng
Hệ thống hoạt động ổn định với các dữ liệu thống kê đã được nhóm thực hiện nhiều lần và đánh giá kết quả một cách chi tiết.
Bảng 4.1: Kết quả phân loại sản phẩm theo hình dạng và khối lượng sau 200 lần
Theo bảng 4.1, sau khi thực hiện nhận diện mỗi loại sản phẩm 200 lần trong điều kiện ánh sáng thích hợp, nhóm nghiên cứu đã ghi nhận hiệu suất như sau: sản phẩm tốt đạt 98%, sản phẩm loại 1 đạt 92%, và sản phẩm loại 2 đạt 100%.
Bảng 4.2: Kết quả phân loại sản phẩm theo hình dạng và khối lượng trong 1 phút
Số SP khảo sát (Tốt / Loại 1 / Loại 2)
Chương 4: Kết quả và so sánh thực nghiệm
Trong khảo sát tốc độ phân loại hệ thống, nhóm thực hiện đã cấp ngẫu nhiên các loại sản phẩm trong vòng 1 phút, với mỗi lần Servo đẩy sản phẩm ra khỏi băng tải được tính là 1 lần đếm Sản phẩm tốt sẽ được đếm khi đi hết phạm vi quan sát của Camera Kết quả khảo sát được thực hiện 5 lần với điều kiện mô hình phân loại đạt tỷ lệ 100%, và tổng số sản phẩm chênh lệch cao nhất là 4 sản phẩm Nguyên nhân của sự chênh lệch này là do số lượng sản phẩm loại 1 và sản phẩm tốt ảnh hưởng đến số lần đếm Nếu có nhiều sản phẩm tốt, việc đếm sẽ chậm hơn và ngược lại Mặc dù số lần khảo sát chưa nhiều, trung bình mỗi lần khảo sát ghi nhận khoảng 10 sản phẩm.
Từ 2 bảng khảo sát trên, việc phân loại theo hình dạng và khối lượng có độ tin cậy cao nhưng tốc độ phân loại còn chậm, vì phải cấp liệu từng sản phẩm
4.3.2 Kết quả phân loại theo hình dạng
Bảng 4.3: Kết quả phân loại sản phẩm theo hình dạng sau 200 lần
SP tốt SP loại 1 SP loại 2 Hiệu suất (%)
Theo bảng 4.3, nhóm khảo sát đã phân loại sản phẩm sau 200 lần liên tiếp Kết quả cho thấy sản phẩm tốt và sản phẩm loại 2 đạt hiệu suất phân loại tối ưu là 100% Trong khi đó, sản phẩm loại 1 có hiệu suất 90% do bị nhầm lẫn với sản phẩm tốt.
Bảng 4.4: Kết quả phân loại sản phẩm theo hình dạng trong 1 phút
Số lần khảo sát Số SP khảo sát
Chương 4: Kết quả và so sánh thực nghiệm
Theo bảng 4.4, nhóm khảo sát tốc độ phân loại mô hình bằng cách cấp ngẫu nhiên các sản phẩm trong 60 giây, với điều kiện đạt tỷ lệ phân loại 100% Kết quả cho thấy tốc độ nhận diện gần như gấp đôi khi loại bỏ bước cấp liệu từng sản phẩm với cân Loadcell Tuy nhiên, bảng 4.3 chỉ ra rằng tỷ lệ nhận diện nhầm sản phẩm loại 1 thành loại tốt lại tăng Phương pháp nhận diện sản phẩm theo hình dạng mang lại ưu điểm về tốc độ nhận diện và phân loại nhanh hơn.
Chương 5: Kết luận và hướng phát triển
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Kết luận
Sau quá trình nghiên cứu và thực hiện, nhóm tác giả đã hoàn thành đồ án "Thiết kế, thi công mô hình phân loại sản phẩm theo hình dạng và khối lượng" với những kết quả đáng chú ý.
- Thi công được mô hình phân loại sản phẩm theo hình dạng và khối lượng Hệ thống hoạt động một cách tự động
- Thiết kế giao diện quan sát quá trình xử lý trên phần mềm Labview Có thể giám sát kết quả và điều khiển hệ thống thông qua phần mềm
Mô hình phân loại sản phẩm hoạt động ổn định, với tốc độ phân loại trung bình đạt 10 sản phẩm mỗi phút và khả năng phân loại liên tục lên đến 20 sản phẩm mỗi phút.
Mô hình đã thể hiện hiệu quả cao trong việc nhận dạng sản phẩm, với tỷ lệ chính xác vượt quá 90% cho từng loại sản phẩm trong cả hai trường hợp.
Tuy nhiên, hệ thống vẫn tồn đọng một số khuyết điểm như sau:
- Ánh sáng môi trường xung quanh ảnh hưởng trực tiếp đến chất lượng nhận diện sản phẩm của camera
- Tốc độ phân loại sản phẩm khi kết hợp hình dạng và khối lượng chưa cao
- Cân điện tử Loadcell đo khối lượng sản phẩm chưa thực sự chính xác dẫn đến nhầm lẫn khối lượng giữa các loại sản phẩm.
Hướng phát triển
Nhóm sẽ thực hiện cải tiến những mặt còn hạn chế của hệ thống như đã nêu trên:
- Thiết kế bộ phận che chắn để giảm tác động của ánh sáng môi trường xung quanh lên bề mặt băng tải và camera
Cải tiến chương trình trên Arduino giúp Loadcell gửi tín hiệu liên tục, từ đó tăng cường khả năng nhận diện sản phẩm trong phạm vi thu ảnh của camera Điều này đảm bảo hệ thống có thể thực hiện nhận diện một cách liên tục và hiệu quả hơn.
DANH MỤC TÀI LIỆU THAM KHẢO
[1] “Digital Image Processing Basics - GeeksforGeeks” GeeksforGeeks, Jan 26, 2018 https://www.geeksforgeeks.org/digital-image-processing-basics/
[2] “Digital image processing” Wikipedia, Dec 16, 2021 https://en.wikipedia.org/wiki/Digital_image_processing
[3] “Image Acquisition Using IMAQdx – Graham Gibson” Graham Gibson,
Nov.04,2014 https://sun.iwu.edu/~gspaldin/LabVIEW_Imaging.pdf
[4] R Haralick and L Shapiro “Computer and Robot Vision”, Vol 1, Addison-Wesley
Publishing Company, 1992, Chap 5, pp 174 - 185 https://homepages.inf.ed.ac.uk/rbf/HIPR2/open.htm
Serial communication is a crucial method for enabling interaction between Arduino and LabVIEW, facilitating data exchange and control This communication allows users to send commands from LabVIEW to Arduino, and receive data back, enhancing the capabilities of both platforms The setup involves configuring the serial port settings in LabVIEW to match those of the Arduino, ensuring seamless data transfer By implementing this connection, developers can create sophisticated applications that leverage the strengths of both Arduino's hardware and LabVIEW's software environment, ultimately leading to more effective IoT solutions.
[6]Shapiro, Linda G.; Stockman, George C (February 2001) “Computer Vision”,
Prentice Hall pp 77–103 https://theswissbay.ch/pdf/Gentoomen%20Library/Artificial%20Intelligence/Computer%20Vision/Computer%20Vision%20-%20Linda%20Shapiro.pdf