Tên đề tài: Thiết kế và thi công hệ thống phân loại sản phẩm theo màu sắc và kích thước.. PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪNHọ và tên sinh viên: Cù Trần Độ MSSV:19161093 Nguyễn Tân K
Trang 1THÀNH PHỐ HỒ CHÍ MINH
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHÓA LUẬN TỐT NGHIỆP
NGÀNH CÔNG NGHỆ KĨ THUẬT ĐIỆN TỬ - VIỄN THÔNG
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG PHÂN LOẠI SẢN PHẨM THEO MÀU SẮC VÀ KÍCH THƯỚC
GVHD: ThS VÕ ĐỨC DŨNG SVTH: CÙ TRẦN ĐỘ
NGUYỄN TÂN KHOA
S K L 0 1 2 4 3 5
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ
ĐỒ ÁN TỐT NGHIỆP
ĐỀ TÀI:
TP HỒ CHÍ MINH – 10/2023
NGÀNH: CÔNG NGHỆ KĨ THUẬT ĐIỆN TỬ - VIỄN THÔNG
THIẾTIKẾ VÀ THI CÔNG HỆITHỐNGPHÂN LOẠI SẢN PHẨM THEO
MÀU SẮC VÀ KÍCH THƯỚC
SVTH: CÙ TRẦN ĐỘ MSSV:19161093 NGUYỄN TÂN KHOA MSSV:19161120 Khoá: 2019
Nghành: CNKT Điện tử - Viễn thông (CLC) GVHD: ThS VÕ ĐỨC DŨNG
Trang 3CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc
Tp Hồ Chí Minh, ngày 30 tháng 12 năm 2023
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ và tên sinh viên: Cù Trần Độ MSSV: 19161093 Nguyễn Tân Khoa MSSV: 19161120 Ngành: Công nghệ kỹ thuật Điện tử - Viễn Thông
Giáo viên hướng dẫn: ThS Võ Đức Dũng
Ngày nhận đề tài: 26/09/2023 Ngày nộp đề tài: 30/12/2023 1 Tên đề tài: Thiết kế và thi công hệ thống phân loại sản phẩm theo màu sắc và kích
thước
2 Các số liệu, tài liệu ban đầu:
- Kiến thức cơ bản về các môn học Điện tử cơ bản, Xử lý ảnh, Vi xử lý, Arduino
- Các tài liệu về lập trình Python, Arduino 3 Nội dung thực hiện đề tài:
- Tìm kiếm tài liệu và tóm tắt các phương hướng đề tài - Thiết kế sơ đồ khối và sơ đồ nguyên lý
- Tính toán thiết kế kết nối Arduino Uno R3 và các module
- Nghiên cứu thuật toán xử lý ảnh ứng dụng vào phân loại sản phẩm theo màu sắc, kích thước sử dụng camera
- Thiết kế phần cứng, thi công mạch, lắp ráp mô hình - Viết chương trình điều khiển
- Thiết kế thi công mô hình và kiểm tra - Viết báo cáo
- Bảo vệ đồ án 4 Sản phẩm:
Hệ thống phân loại sản phẩm theo màu sắc và kích thước Sử dụng camera thu ảnh sản phẩm và thông qua máy tính thực hiện xử lý, xuất tín hiệu sang vi điều khiển để kích relay làm dừng băng tải và tiếp tục điều khiển cánh tay robot gắp
Trang 4sản phẩm phân loại theo màu, sau khi cánh tay về lại vị trí ban đầu thì bỏ kích relay và tiếp tục chu trình
TRƯỞNG NGÀNH
ThS Nguyễn Ngô Lâm
GIÁO VIÊN HƯỚNG DẪN
ThS Võ Đức Dũng
Trang 5PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Họ và tên sinh viên: Cù Trần Độ MSSV:19161093 Nguyễn Tân Khoa MSSV: 19161120Ngành: Công nghệ kỹ thuật Điện tử - Viễn thông (CLC)
Tên đề tài: Thiết kế và thi công hệ thống phân loại sản phẩm theo màu sắc và kích thước.
Họ và tên Giáo viên hướng dẫn: ThS Võ Đức Dũng
NHẬN XÉT
1 Về nội dung đề tài & khối lượng thực hiện
Đề tài áp dụng xử lý ảnh để phân loại màu sắc bằng Pycharm và gửi dữ liệu qua Arduino để gửi lệnh điều khiển tương ứng Nhóm đã hoàn thành các mục tiêu đề ra trong đề cương chi tiết, nội dung phù hợp với thực tế
2 Ưu điểm
- Hệ thống mang tính đa dạng hóa trong việc phân loại các sản phẩm
- Mô hình đã thể hiện được khả năng phân loại chính xác các sản phẩm theo màu sắc và kích thước
- Có tốc độ xử lí và phân loại vật phẩm nhanh, có ý nghĩa quan trọng về việc kiểm soát được chất lượng và thời gian
- Có thể nghiên cứu và mở rộng thêm
3 Khuyết điểm
- Những yếu tố bên ngoài gây ảnh hưởng đến hiệu suất nhận diện được màu sắc chính xác như ánh sáng…
- Độ chính xác, tỉ lệ gắp chính xác vật chưa đạt được hiệu quả 100%
4 Đề nghị cho bảo vệ hay không?
Trang 6
Tp Hồ Chí Minh, ngày 04 tháng 01 năm 2024
Giáo viên hướng dẫn
ThS Võ Đức Dũng
Trang 7PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Họ và tên sinh viên: Cù Trần Độ MSSV:19161093 Nguyễn Tân Khoa MSSV: 19161120Ngành: Công nghệ kỹ thuật Điện tử - Viễn thông (CLC)
Tên đề tài: Thiết kế và thi công hệ thống phân loại sản phẩm theo màu sắc và kích thước.
Họ và tên Giáo viên phản biện:………
NHẬN XÉT1 Về nội dung đề tài & khối lượng thực hiện:
2 Ưu điểm:
3 Khuyết điểm
6 Điểm: (Bằng chữ:………)
Tp Hồ Chí Minh, ngày 04 tháng 01 năm 2024
Giáo viên phản biện
Trang 8LỜI CẢM ƠN
Lời đầu tiên cho phép chúng em xin gửi lời cảm ơn đến Thầy Võ Đức Dũng đã tận tình giúp đỡ, hướng dẫn và cho chúng em những lời nhận xét bổ ích để nhóm em hoàn thiện tốt các mục tiêu của để tài
Chúng em cũng xin cảm ơn các Thầy Cô giáo trong Khoa Đào Tạo Chất Lượng Cao đã truyền đạt kiến thức về các môn chuyên ngành, giúp chúng em có được những kiến thức nền vững chắc và những bài học quý báu trong quá trình học tập
Chúng em xin cảm ơn gia đình và bạn bè đã luôn động viên giúp đỡ khi chúng em gặp những khó khăn trong quá trình học tập
Một lần nữa nhóm em xin chân thành cảm ơn quý Thầy Cô đã tận tình giúp đỡ và hỗ trợ chúng em trong quá trình thực hiện đồ án tốt nghiệp Do những kiến thức mà chúng em học được còn hạn chế nên còn thiếu sót về nội dung và hình thức trong đồ án này Chúng em mong được các Thầy Cô thông cảm và cho chúng em những lời nhận xét cũng như những lời đánh giá đề nhóm có thể phát triển đề tài hơn nữa Nhóm chúng em xin chân thành cảm ơn!
Người thực hiện
Cù Trần Độ Nguyễn Tân Khoa
Trang 9LỜI CAM ĐOAN
Đề tài do nhóm tự thực hiện dưới sự giám sát và hướng dẫn của thầy Võ Đức Dũng Đề tài do nhóm thực hiện và không sao chép bất kỳ tài liệu đã có trước đó
Người thực hiện đề tài
Cù Trần Độ Nguyễn Tân Khoa
Trang 10TÓM TẮT
Đề tài "Thiết kế và thi công hệ thống phân loại sản phẩm theo màu sắc và
kích thước" là một đề tài liên quan đến việc tạo ra một hệ thống tự động hoặc bán tự
động để phân loại các sản phẩm dựa trên màu sắc và kích thước của chúng Dự án này có thể áp dụng trong nhiều lĩnh vực khác nhau như sản xuất, kho hàng, hoặc gian hàng bán lẻ
Mục tiêu của đề tài này là tạo ra một giải pháp hiệu quả giúp cải thiện quá trình phân loại sản phẩm trong các ngành công nghiệp khác nhau, giảm thời gian và công sức mà con người phải bỏ ra cho công việc này, đồng thời tăng tính chính xác
Vì vậy nhóm lựa chọn thực hiện đề tài "Thiết kế và thi công hệ thống phân loại
sản phẩm theo màu sắc và kích thước" nhằm ứng dụng và phát triển để giải quyết
các vấn đề liên quan đến sự phát triển của nghành công nghiệp sản xuất hiện nay, đồng thời mang lại lợi ích kinh tế và xã hội
Hệ thống sử dụng vi điều khiển trung tâm là board Arduino Uno, cánh tay robot, cảm biến hồng ngoại, camera, bang tải, mạch hạ áp, lcd Đề tài ứng dụng xử lý ảnh trên nền tảng Pycharm kết hợp với ngôn ngữ lập trình Python và thư viện OpenCV Kết quả thực hiện của đề tài là một hệ thống có khả năng phân loại sản có 3 màu sắc và 2 kích thước khác nhau và đứa đến các vị trí riêng biệt
Trang 11MỤC LỤC
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Error! Bookmark not defined.
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN i
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN iii
1.4 Nội dung nghiên cứu 2
Chương 2 CƠ SỞ LÝ THUYẾT 4
2.1 Các hệ thống điều khiển và giám sát 4
Trang 122.5 Phương pháp phân loại sản phẩm theo màu sắc và kích thước 17
2.5.1 Không gian màu và chuyển đổi 17
2.5.2 Phương pháp phân loại theo kích thước 21
Chương 3 TÍNH TOÁN VÀ THIẾT KẾ 23
4.2.1.Thi công board mạch 41
4.2.2.Mô hình băng tải 41
4.3.Kiểm tra mô hình 44
4.3.1.Đóng gói bộ điều khiển 44
4.3.2.Kiểm tra mô hình 45
Chương 5 KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ 46
5.1 Kết quả thực hiện mô hình 46
5.1.1 Mô hình phần cứng của hệ thống 46
5.1.2.Giao diện điều khiển của hệ thống 47
Trang 135.2 Nhận xét và đánh giá 55
5.3.Tài liệu hướng dẫn sử dụng 56
5.4 Dự toán chi phí thi công 57
Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 59
Trang 14DANH MỤC HÌNH ẢNH
Hình 2 1 Arduino Uno R3 4
Hình 2 2 Các thành phần của Arduino Uno R3 5
Hình 2 3 Các thành phần của Arduino Uno R3 6
Hình 2 4 Động cơ servo MG996R 7
Hình 2 5 Động cơ servo SG90 8
Hình 2 6 Camera sử dụng trong đề tài 9
Hình 2 7 Cảm biến vật cản hồng ngoại E3F-DS10C4 NPN 11
Hình 2 8 Mạch giảm áp XL4015 12
Hình 2 9 Nguồn tổ ong 24V 10A 13
Hình 2 10 Màn hình LCD 2004 giao tiếp I2C 14
Hình 3 1 Sơ đồ khối của hệ phân loại sản phẩm 23
Hình 3 2 Sơ đồ kết nối khối xử lý trung tâm của hệ phân loại sản phẩm 25
Hình 3 3 Sơ đồ kết nối khối hiển thị với khối xử lý trung tâm 26
Hình 3 4 Module relay 1 kênh 5V 26
Hình 3 5 Sơ đồ kết nối khối giao tiếp băng tải với khối xử lý trung tâm 27
Hình 3 6 Sơ đồ chân khối nút nhấn với khối xử lý trung tâm 28
Hình 3 7 Sơ đồ kết nối chân của khối thu tín hiệu hình ảnh với khối xử lý trung tâm 29
Hình 3 8 Sơ đồ chân của khối khối cảm biến với khối xử lý trung tâm 30
Hình 3 9 Sơ đồ chân của khối khối động cơ với khối xử lý trung tâm 31
Hình 3 10 Sơ đồ nguyên lý của khối nguồn 32
Hình 3 11 Sơ đồ nguyên lý toàn mạch 34
Hình 3 12 Lưu đồ chương trình chính 33
Hình 3 13 Lưu đồ chương trình nhận và xử lý dữ liệu 37
Hình 3 14 Lưu đồ chương trình xử lý hình ảnh 38
Trang 15Hình 3.15 Lưu đồ chương trình “Xử lý cảm biến” 40
Hình 4.1 Mô hình băng tải mini 42
Hình 4.2 Mô hình phân bố cảm biến 42
Hình 4.3 Mô hình cánh tay robot 43
Hình 4.4 Mô hình phân bố các sản phẩm phân loại 43
Hình 4.5 Mô hình buồng ảnh 44
Hình 4.6 Hộp điều khiển 44
Hình 4.7 Mô hình hệ thống 45
Hình 5.1 Mô hình hệ thống khi chưa cấp nguồn ……….46
Hình 5.2 Giao diện chương trình trong suốt quá trình phân loại 47
Hình 5.3 Đầu băng tải ngõ vào của sản phẩm 48
Hình 5.4 Hệ thống hoàn thiện của đề tài 48
Hình 5.5 Hình trong buồng ảnh khi chưa có sản phẩm 49
Hình 5.6 Kết quả nhận diện màu Blue 50
Hình 5.7 Kết quả nhận diện màu Green 48
Hình 5.8 Kết quả nhận diện màu Yellow 48
Hình 5.9 Kết quả nhận diện chiều cao 52
Hình 5.10 Phân loại đúng sản phẩm Yellow1 49
Hình 5.11 Phân loại đúng sản phẩm Blue1 49
Hình 5.12 Phân loại đúng sản phẩm Green1 50
Hình 5.13 Phân loại đúng sản phẩm Green2 51
Hình 5.14 Phân loại đúng sản phẩm Yellow2 51
Hình 5.15 Quá trình gắp và phân loại đúng 3 loại sản phẩm khác kích thước 51
Trang 16DANH MỤC BẢNG
Bảng 2.1 Thông số kỹ thuật của Arduino Uno R3 5
Bảng 2.2 Thông số kỹ thuật của servo MG996R 8
Bảng 2.3 Thông số kỹ thuật đông cơ servo SG90 9
Bảng 2.4 Thông số kỹ thuật của webcam w1 1080p 9
Bảng 2.5 Thông số kỹ thuật cảm biến hồng ngoại 12
Bảng 2.6 Thông số kỹ thuật mạch giảm áp DC XL4015 12
Bảng 2.7 Thông số kỹ thuật nguồn tổ ong 24V10A 13
Bảng 2.8 Thông số kỹ thuật LCD 2004 kèm module I2C 14
Bảng 3.1 Các linh kiện sử dụng 32
Bảng 4.1 Linh kiện sử dụng 41
Bảng 5.1 Kết quả nhận diện màu sắc sản phẩm………50
Bảng 5.2 Kết quả phân loại sản phẩm tổng hợp của hệ thống 55
Bảng 5.3: Chi phí cho các linh kiện, vật liệu sử dụng trong mô hình 57
Trang 17Chương 1 TỔNG QUAN
1.1 Giới thiệu
Trong thời đại phát triển hiện nay, việc áp dụng các công nghệ và kỹ thuật hiện đại vào cuộc sống đã trở nên phổ biến, và nông nghiệp cũng không ngoại lệ Một trong những lĩnh vực đang nhận được sự quan tâm là phân loại sản phẩm thông qua ứng dụng các thiết bị thông minh để tăng năng suất Hiện nay dây chuyền sản xuất thường sẽ có những sản phẩm không đạt yêu cầu, hoặc trong lĩnh vực nông sản sẽ có nhiều loại sản phẩm có nhiều màu sắc và kích thước khác nhau Việc phát hiện sản phẩm lỗi, phân loại sản phẩm là một công đoạn tỉ mỉ, tốn thời gian, đòi hỏi sự tập trung và có tính lặp đi lặp lại nên khó đảm bảo sự chính xác Điều này gây ảnh hưởng đến năng suất sản xuất và chất lượng sản phẩm
Các thành tựu, phát minh thường được áp dụng trong các nhà máy, xí nghiệp có quy mô, hoạt động dây chuyền hàng loạt mang tính tự động hóa cao Các thiết bị thường là các sản phẩm đến từ nước ngoài, có giá thành cao Tại những nhà máy, xí nghiệp nhỏ hoặc các hộ gia đình sản xuất nông phẩm thường vẫn sử dụng phương pháp phân loại thủ công hiệu quả kinh tế chưa cao
Trong quá trình phát triển hệ thống phân loại sản phẩm có khả năng nhận diện màu sắc và kích thước, nhóm nghiên cứu đã đặc biệt quan tâm đến các nghiên cứu và đồ án tốt nghiệp liên quan Có khá nhiều đề tài nghiên cứu về xử lý ảnh trong điều khiển phân loại như đồ án [4] của Trần Khánh Hưng và Hoàng Như ý đã thực hiện một hệ thống phân loại cà chua dựa trên màu sắc sử dụng S7-1200 Đồ án [5] của Lê Quang Phúc và Trần Thanh đã thực hiện đếm và phân loại sản phẩm Các kỹ thuật đếm sản phẩm của họ có thể được áp dụng để tối ưu hóa quy trình đếm và phân loại sản phẩm trong hệ thống của nhóm Đồ án [6] của Phan Thanh Phong và Nguyễn
Hiền Minh với chủ đề "Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩm"
cung cấp các phương pháp và thuật toán xử lý ảnh mà nhóm nghiên cứu có thể tích hợp vào dự án của mình Đồ án [7] của Võ Thanh Duy và Trần Quốc Dưỡng với đề
tài "Ứng dụng xử lý ảnh vào thiết kế và thi công mô hình phân loại trái cây" cung
cấp kiến thức quý báu về việc sử dụng xử lý ảnh trong môi trường sản xuất Trong đồ
án [10] của Bùi Ngọc Long, "Thiết kế và thi công mô hình robot phân loại sản
phẩm theo màu sắc ứng dụng xử lý ảnh", nhóm đã tìm hiểu về cách tích hợp robot
trong hệ thống phân loại sản phẩm Đồ án [12] của Trần Thanh Trung và Hồ Khánh
Bình, "Thiết kế Và Thi Công Mô Hình Phân Loại Trái Cây Theo Chất Lượng", đã
cung cấp những hiểu biết sâu sắc về quá trình phân loại sản phẩm dựa trên chất lượng
Trang 18Những thông tin từ những dự án và đồ án tốt nghiệp trên đã góp phần quan trọng trong việc xây dựng và phát triển hệ thống phân loại sản phẩm hiện đại của nhóm nghiên cứu Trong dự án mà nhóm đề cập mục tiêu chính là phát triển một hệ thống phân loại sản phẩm có khả năng nhận diện các sản phẩm dựa theo màu sắc hoặc chiều cao của vật thể trong một dây chuyền sản xuất Điều này giúp quá trình phân loại trở nên nhanh chóng, hiệu quả và mang lại lợi ích kinh tế Để hướng đến quá trình tự động hóa để tiết kiệm thời gian và sức lao động của con người nhóm quyết
định thực hiện đề tài “Thiết kế và thi công hệ thống phân loại sản phẩm theo màu
sắc và kích thước” 1.2 Mục tiêu đề tài
- Thiết kế và thi công hệ thống phân loại sản phẩm theo màu sắc và kích thước - Hệ thống sử dụng Robot để phân loại, dùng xử lý ảnh
- Thu thập được dữ liệu sản phẩm thông qua camera sau đó truyển đến khối xử lý trung tâm và phân tích dữ liệu đó
- Cập nhật dữ liệu, thống kê số lượng sản phẩm đúng tiêu chuẩn hoặc loại bỏ sản phẩm lỗi
Chiều dài băng tải là 60cm
Khoảng cách từ Camera đến băng tải là 14cm Sử dụng cánh tay robot kết hợp với 6 servo
1.4 Nội dung nghiên cứu
Trong quá trình thực hiện Đồ án tốt nghiệp với đề tài: Thiết kế và thi công hệ thống phân loại sản phẩm theo màu sắc và kích thước, nhóm chúng em đã tập trung giải quyết và hoàn thành được những nội dung sau:
- Nội dung 1: Tìm kiếm tài liệu, tóm tắt những nội dung chính của đề tài
Trang 19- Nội dung 2: Thiết kế sơ đồ khối của hệ thống phẩn loại sản phẩm theo màu sắc và kích thước
- Nội dung 3: Kết nối Arduino Uno R3 với các khối cảm biến, động cơ và băng tải - Nội dung 4: Nghiên cứu thuật toán xử lý ảnh ứng dụng vào phân loại sản phẩm theo
màu sắc, kích thước sử dụng Camera
- Nội dung 5: Nghiên cứu phân luồng phân loại sản phẩm - Nội dung 6: Thiết kế mô hình hệ thống
- Nội dung 7: Nguyên cứu lập trình để mạch chạy đúng và đạt yêu cầu - Nội dung 8: Thi công phần cứng, chạy thử nghiệm và hiệu chỉnh hệ thống - Nội dung 9: Báo cáo đề tài tốt nghiệp
- Nội dung 10: Bảo vệ đề tài tốt nghiệp
1.5 Bố cục
Chương 1: Tổng quan
Giới thiệu đề tài, đưa ra những lý do, mục tiêu, nội dung nghiên cứu, giới hạn đề tài và bố cục đề tài
Chương 2: Cơ sở lý thuyết
Chương này đưa ra những cơ sở lý thuyết, sử dụng những đề tài khác để nghiên cứu và tham khảo
Chương 3: Tính toán và thiết kế
Thiết kế sơ đồ khối và sơ đồ nguyên lý của hệ thống, tính toán linh kiện và thiết kế lưu đồ giải thuật
Chương 4: Thi công hệ thống
Chương này trình bày quá trình thiết kế phần mềm, phần cứng và quá trình thi công hệ thống
Chương 5: Kết quả- nhận xét- đánh giá
Trình bày kết quả thi công mô hình, đưa ra nhận xét và đánh giá
Chương 6: Kết luận và hướng phát triển
Chương này đưa ra những kết luận sau khi thực hiện đề tài và hướng phát triển của đề tài
Trang 20Chương 2 CƠ SỞ LÝ THUYẾT
2.1 Các hệ thống điều khiển và giám sát
Khoa học kỹ thuật luôn luôn phát triển trong tất cả các lĩnh vực, nhất là các ngành sản xuất Việc đòi hỏi cải tiến và nâng cấp hệ thống sản xuất luôn là ưu tiên hàng đầu Một trong những hệ thống đó là hệ thống phân loại sản phẩm tự động Hệ thống này giúp cho sản xuất linh hoạt hơn, tiết kiệm thời gian và nhân lực, tăng sản lượng, đem lại lợi ích kinh tế cao và hiệu quả
Để theo kịp xu thế công nghiệp hóa – hiện đại hóa một cách bền vững và an toàn nhất, tiện lợi cho việc vận hành, sửa chữa khi hỏng hóc và đảm bảo chất lượng sản phẩm nằm trong phạm vi cho phép Hơn nữa thuận tiện cho việc mở rộng và phát triển trong tương lai
Từ các đồ án tham khảo được, nhóm em nghiên cứu học hỏi được cách thức làm việc, điều khiển Arduino, giao tiếp Python với Arduino, phân loại sản phẩm theo màu sắc và kích thước sử dụng xử lý ảnh và sử dụng cảm biến để phân loại chiều cao của sản phẩm Dựa trên nền tảng đó, nhóm định hướng được cho đề tài KLTN, đồng thời phát triển thêm dùng cánh tay robot để phân loại sản phẩm sử dụng xử lý ảnh và nâng cao khả năng phân luồng sản phẩm
2.2 Giới thiệu phần cứng 2.2.1 Arduino Uno R3
Trên thị trường có rất nhiều vi điều khiển có thể đáp ứng nhu cầu của đề tài phân loại sản phẩm, nhóm quyết định dùng module Arduino Uno R3 để làm vi điều
Hình 2.1 Arduino Uno R3
Trang 21khiển cho hệ thống vì có kích thước nhỏ gọn, đầy đủ tính năng và dễ sử dụng cho lập trình Đây là phiên bản cải tiến của Arduino Uno và là một trong những board phổ biến nhất cho các dự án điện tử DIY (tự làm) và nhúng ( hình 2.1 )
Arduino Uno R3 bao gồm 14 chân I/O, có thể sử dụng nguồn 5V thông qua USB hoặc cấp nguồn ngoài với điện áp 7-12V DC Sử dụng vi điều khiển Atmega328P với 32KB của bộ nhớ Flash, 2KB cho SRAM và 1KB cho EEPROM (Hình 2.2)
Bảng 2.1 Thông số kỹ thuật của Arduino Uno R3
Trang 22Dòng điện DC trên mỗi chân I/O 20 mA Dòng điện DC trên chân 3.3V 50 mA
Hình 2.3 Băng tải
Băng tải mini có nhiều ưu điểm, bao gồm tính di động và linh hoạt, dễ dàng lắp đặt và vận hành, tiết kiệm thời gian và công sức Tuy nhiên, do giới hạn về kích thước và khả năng tải trọng, băng tải mini thường được sử dụng trong các ứng dụng có quy mô nhỏ và yêu cầu vận chuyển nhẹ
Trang 23Trong đề tài nhóm sử dụng băng tải có kích thước 10x60cm (rộng 10cm dài 60cm) phù hợp với các loại mô hình nhỏ và gọn
Với động cơ giảm tốc 12V 30RPM là một động cơ điện sử dụng cung cấp sức vận hành băng tải có tốc độ quay 30 vòng mỗi phút Với tốc độ quay này khá phù hợp với mô hình phân loại trái cây theo chất lượng cần độ chính xác cao thay vì năng suất hoạt động
2.2.3 Động cơ servo MG996R
Động cơ servo gồm các thành phần linh kiện để quay các bộ phận của máy với độ chính xác và hiệu suất cao Cơ chế hoạt động chính của động cơ servo là kết hợp giữa quay vòng và phản hồi để điều khiển tốc độ quay và góc quay của động cơ
Động cơ servo có ba phân loại chính để đánh giá động cơ servo:
• AC hoặc DC: Servo có thể hoạt động với nguồn điện xoay chiều (AC) hoặc nguồn điện một chiều (DC), tùy thuộc vào yêu cầu của ứng dụng cụ thể
• Sử dụng chổi than: Một số động cơ servo sử dụng chổi than để tạo ra mối tiếp xúc và dẫn điện Trong khi đó, một số động cơ servo khác không sử dụng chổi than và thay vào đó sử dụng các công nghệ khác như cảm biến vô tiếp hoặc các công nghệ mới hơn
• Đồng bộ hay không đồng bộ: Động cơ servo có thể được phân loại là đồng bộ hoặc không đồng bộ Động cơ servo đồng bộ hoạt động theo một tín hiệu điều khiển chính xác và đồng bộ với tín hiệu này Trong khi đó, động cơ servo không đồng bộ không
cần đồng bộ với tín hiệu điều khiển và có thể hoạt động độc lập
Hình 2.4 Động cơ servo MG996R
Trang 24MG996R là một loại servo motor được sử dụng rộng rãi trong các ứng dụng robot và các hệ thống điều khiển chính xác
0.14 giây/60º (6V)
Nhiệt độ hoạt động của servo 0℃ - 55℃ Dòng điện không tải của servo ~0.15A
Vật liệu cấu tạo bánh răng Kim loại
Hình 2.5 Động cơ servo SG90
Trang 25Bảng 2 3 Thông số kỹ thuật đông cơ servo SG90
Hình 2.6 Camera sử dụng trong đề tài
Camera giúp rất nhiều trong việc ghi lại hình ảnh để phân tích và kiểm tra sản phẩm trong đề tài Sau đây là một vài thông số kỹ thuật của camera được sử dụng trong đề tài
Bảng 2.4 Thông số kỹ thuật của webcam w1 1080p
Phần cứng Sự chỉ rõ
Trang 26Tỉ lệ khung hình video 30 khung hình/ giây
Đang xử lý hình ảnh Hỗ trợ khử nhiễu 3D, cân bằng trắng tự động, tự động cải thiện chất lượng hình ảnh
✓ Hỗ trợ xử lý ảnh tốt: Camera W1 1080p có khả năng xử lý ảnh tốt, cho phép bạn chụp ảnh nhanh và mượt mà, và thậm chí có thể cung cấp các tính năng bổ sung như chế độ chụp liên tục, chống rung hình ảnh, hoặc chế độ HDR (High Dynamic Range) để tăng độ tương phản và chi tiết trong hình ảnh ✓ Tính linh hoạt và tiện ích: Camera W1 1080p thường có kích thước nhỏ gọn
và dễ dàng mang theo Nó thích hợp cho việc sử dụng hàng ngày, du lịch, hoặc
Trang 27gắn trên xe ô tô Ngoài ra, nhiều mẫu camera W1 1080p cũng hỗ trợ kết nối Wi-Fi hoặc Bluetooth, cho phép bạn chia sẻ và truyền ảnh một cách thuận tiện ✓ Giá cả phải chăng: So với các camera có độ phân giải cao hơn như 2K hoặc 4K, camera W1 1080p thường có giá cả phải chăng hơn Điều này làm cho nó trở thành một lựa chọn hợp lý cho những người muốn có chất lượng hình ảnh tốt mà không cần đầu tư quá nhiều
Module thu phát hồng ngoại MH-IR01 sử dụng một cặp thu phát hồng ngoại Với mức giá rẻ, tiện lợi, dễ sử dụng, thiết kế cực kì nhỏ gọn đó là những ưu điểm cực kì tốt của module MH-IR01 Những ưu điểm trên làm cho nó thích hợp với các đề tài, đồ án
Hình 2.7 Cảm biến vật cản hồng ngoại E3F-DS10C4 NPN
Trang 28Bảng 2.5 Thông số kỹ thuật cảm biến hồng ngoại
Đầu ra của cảm biến Logic (0,1) của cảm biến có thể kết nối trực tiếp với các chân I/O của vi điều khiển hoặc dùng điều khiển Relay Kích thước của cảm biến 3.2x1.4cm
Khoảng cách phát hiện vật cản của cảm biến
2 – 5cm (Khoảng cách có thể điều chỉnh bằng biến trở tinh chỉnh)
Góc phát hiện của cảm biến 35°
2.2.7 Mạch giảm áp Buck DC-DC XL4015 5A
Mạch giảm áp XL4015 công suất ngõ ra 5A 75W, dùng để giảm điện áp, cho
điện áp đầu vào từ 8 - 36V và đầu ra từ 1.15V - 32V Ứng dụng cho hạ áp từ nguồn Pin, biến thế, đầu áp ra có thể chỉnh được dựa trên biến trở nhỏ màu xanh trên board nhỏ gọn, cơ động dễ sử dụng, cho ra các mức điện áp mong muốn
Bảng 2.6 Thông số kỹ thuật mạch giảm áp DC XL4015
Hình 2.8 Mạch giảm áp XL4015
Trang 29Điện áp đầu ra 1.25 ~ 32VDC
2.2.8 Nguồn tổ ong 24V10A
Nguồn xung 24V10A (nguồn tổ ong): • Sử dụng cho các mạch công suất
• Biến đổi nguồn điện xoay chiều AC thành nguồn điện một chiều DC • Thường thì sử dụng cho hệ thống tủ điều khiển tự động, đèn led hoặc hệ
thống camera…
• Nguồn có công tắc chọn điện áp xoay chiều AC220V hoặc AC110V
Hình 2.9 Nguồn tổ ong 24V 10A
Bảng 2.7 Thông số kỹ thuật nguồn tổ ong 24V10A
Trang 30Kích thước 200 * 110 * 50mm
2.2.9 LCD 20x4 I2C
Màn hình text LCD 2004 kèm module I2C sử dụng driver HD44780, có khả năng hiển thị 4 dòng với mỗi dòng 20 ký tự, màn hình có độ bền cao, rất phổ biến, nhiều code mẫu và dễ sử dụng thích hợp cho những người mới học và làm dự án
Hình 2.10 Màn hình LCD 2004 giao tiếp I2C
Màn hình LCD được hàn sẵn module giao tiếp I2C giúp việc giao tiếp được dễ dàng và nhanh chóng hơn rất nhiều, người dùng không phải tốn công hàn I2C
Bảng 2 8 Thông số kỹ thuật LCD 2004 kèm module I2C
Trang 31Hình 2.11 Giới thiệu về xử lý ảnh
Các bước cơ bản trong một hệ thống xử lý ảnh:
Hình 2.12 Các bước cơ bản trong xử lý ảnh
Những vấn đề trong xử lý ảnh: Chuyển đổi ảnh màu sang ảnh xám, nhị
phân hóa ảnh, phân đoạn ảnh, phương pháp phát hiện biên,…được nêu lên
trong Giáo trình xử lý ảnh của tác giả Nguyễn Thanh Hải
2.4 Giới thiệu về ngôn ngữ lập trình python và opencv 2.4.1 Ngôn ngữ lập trình Python
Python là ngôn ngữ lập trình đa năng ở mức độ cao Python hỗ trợ nhiều dạng lập trình như: lập trình hướng đối tượng, lập trình mệnh lệnh, lập trình chức năng, lập
Trang 32trình thủ tục, lập trình khía cạnh và lập trình meta Python là một hệ thống kiểu động, quản lý bộ nhớ tự động và một thư viện tiêu chuẩn lớn để thực hiện nhiều tác vụ khác nhau Python nhấn mạnh đến khả năng đọc tốt chương trình và cú pháp của Python cho phép người dùng thực hiện được nhiều tác vụ chỉ với một số lượng dòng lệnh ít hơn so với các ngôn ngữ lập trình khác như C hay C++
Python đã được hình thành và phát triển bởi tác giả Guido van Rossum tại CWI (Hà Lan) với vai trò là ngôn ngữ lập trình kế thừa của ngôn ngữ ABC, có khả năng xử lý ngoại lệ và giao tiếp với nền tảng hệ điều hành Amoeba
Trình thông dịch Python đã được nhập vào nhiều nền tảng hệ điều hành khác nhau, nhờ đó mà các chương trình viết bằng Python có tính linh hoạt cao, có thể hoạt động trên nhiều nền tảng hỗ trợ mà không có nhiều thay đổi Python có thư viện tiêu chuẩn mở rộng đã được cài đặt sẵn, ngoài ra Python còn có một số lượng lớn các thư viện được phát triển bởi bên thứ ba Danh sách này có thể tìm thấy trên trang web
Python Package Index, địa chỉ: https://pypi.org/
PyCharm là một phần mềm tích hợp phát triển (IDE) được thiết kế đặc biệt cho việc lập trình Python Được phát triển bởi công ty JetBrains, PyCharm cung cấp một loạt các tính năng và công cụ giúp lập trình viên tạo ra mã nguồn Python chất lượng cao và hiệu quả
2.4.2 OpenCV
OpenCv (viết tắt của Open Source Computer Vision) là một thư viện chứa các hàm lập trình dùng cho thị giác máy tính OpenCv ban đầu được phát triển bởi trung tâm nghiên cứu Intel Russia đặt ở Nizhny Novgorod (Nga) và hiện tại đang được Itseez duy trì
OpenCv tập trung chủ yếu vào xử lý hình ảnh và video, ngoài ra còn có thêm một số GUI (Giao diện người dùng đồ họa) và các tính năng xử lý sự kiện OpenCv có các giao diện cho các ngôn ngữ lập trình phổ biến như C/C++, Python và Java OpenCv là một thư viện đa nền tảng, có thể chạy trên nhiều hệ thống điều hành khác nhau như Windows, Android và các hệ điều hành dựa trên Unix.[2]
Theo tính năng và ứng dụng của OpenCV, có thể chia thư viện này thành các
Trang 33nhóm tính năng và module tương ứng như sau:
• Xử lý và hiển thị Hình ảnh/ Video/ I/O (core, imgproc, highgui) • Phát hiện các vật thể (objdetect, features2d, nonfree)
• Geometry-based monocular hoặc stereo computer vision (calib3d, stitching, videostab)
• Computational photography (photo, video, superres) • Machine learning & clustering (ml, flann)
• CUDA acceleration (gpu)
2.5 Phương pháp phân loại sản phẩm theo màu sắc và kích thước 2.5.1 Không gian màu và chuyển đổi
Không gian màu là một mô hình toán học được sử dụng để biểu diễn các màu sắc Thông thường, các không gian màu được sử dụng để biểu diễn các màu sắc dưới dạng số và thực hiện các phép toán học hay logic với các số này
OpenCv nạp hình ảnh dưới dạng BGR, sử dụng không gian màu RGB theo mặc định cho hình ảnh của nó, trong đó mỗi tọa độ pixel (x,y) chứa giá trị trong phạm vi cường độ ở dạng 8 bit tức là (0-255, 28) RGB và HSV là hai không gian màu cơ bản và ứng dụng nhiều nhất Trong đề tài này sử dụng ảnh thu thập từ PiCamera có không gian màu RGB chuyển đổi sang HSV rồi sau đó xử lý
a Không gian màu RGB hoặc BGR
RGB là một không gian màu cơ bản trong xử lý ảnh, được sử dụng phổ biến cho việc xử lý và lưu trữ dữ liệu ảnh số Nguyên lý cơ bản là sử dụng 3 màu sắc cơ bản R (red - đỏ), G (green - xanh lục) và B (blue - xanh lam) để biểu diễn tất cả các màu sắc Mỗi điểm ảnh đều là sự pha trộn của 3 màu sắc này
Trang 34Hình 2.13 Hệ màu RGB
Trong biểu diễn số trên máy tính, ảnh màu RGB có thể sử dụng số bit màu là 16, 24, 32 hoặc 48 bit Điểm ảnh có số bit màu càng cao thì màu sắc của điểm ảnh càng được biểu diễn chính xác
Nếu mỗi kênh màu được mã hóa bằng 1 byte (8 bit), và giá trị nằm trong đoạn [0, 255], thì ta có ảnh 24 bit màu, và mã hóa được tất cả 28 × 28 × 28= 16.581.375 màu (khoảng 16 triệu màu)
Không gian màu mặc định của OpenCv là RGB Tuy nhiên OpenCV thực sự lưu trữ màu sắc ở định dạng BGR
b Không gian màu HSV
HSV (Hue, Saturation & Value/Brightness) là một không gian màu cố gắng thể hiện màu sắc mà con người cảm nhận được Nó lưu trữ thông tin màu sắc trong một hình đại diện của các điểm màu RGB
- Hue - giá trị màu (0-179)
- Saturation - Độ bão hòa màu (0-255) - Value - Độ sáng hoặc cường độ (0-255)
Hình 2.14 Không gian màu HSV
Trang 35Định dạng không gian màu HSV rất hữu ích trong phân đoạn màu Trong RGB, lọc màu cụ thể không dễ dàng, tuy nhiên HSV giúp đặt phạm vi màu dễ dàng hơn để lọc màu cụ thể khi chúng ta nhận thấy chúng
Trong phạm vi đề tài, mỗi màu sắc được biểu diễn bằng một tổ hợp bộ 3 giá trị (H, S, V) Đối với các giá trị S và độ sáng V, cần lấy toàn bộ các giá trị từ 0÷255 để đảm bảo có thể nhận biết được màu sắc với mọi mức bão hòa và độ sáng khác nhau Đối với giá trị Hue, giá trị màu nằm trong khoảng từ 0 -180 chứ không phải là 360 nên nó không hoàn thành vòng tròn đầy đủ và do đó nó được ánh xạ khác với tiêu chuẩn Cần căn cứ vào bộ lọ dải màu và giá trị H của màu cơ bản để đưa ra được khoảng giá trị màu sắc phù hợp
Các giá trị HSV có được sau nhiều lần lấy mẫu, hiệu chỉnh, đối chiếu và so sánh
Đầu tiên, nhóm thực hiện đề tài căn cứ vào bộ lọc dài màu và giá trị H màu cơ bản để đưa ra những giá trị HSV phù hợp, ta sẽ có được những giới hạn (hoặc ngưỡng màu) như sau:
Hình 2.15 Bộ lọc màu HSV
Trang 36• Màu xanh lục: (40, 0, 0) ÷ (83, 255, 255)
c Phương pháp phân loại sản phẩm theo màu sắc
Trong phạm vi của đề tài, nhóm làm việc với 3 loại màu sắc cơ bản: • Loại 1: Vàng
• Loại 2: Xanh dương • Loại 3: Xanh lá
Nhóm sử dụng thư viện OpenCV, ngôn ngữ lập trình Python để nhận biết và phân loại màu sắc của sản phẩm trên kit Raspberry Pi 4 Quy trình phân loại gồm các công đoạn:
1 Chụp và lưu ảnh
2 Dùng thuật toán phát hiện màu (tìm màu, kiểm tra tiêu chí phạm vi màu sắc cho mỗi pixel, đưa ra kết quả dải màu quan tâm thông qua mặt nạ nhị phân, so sánh, phân đoạn ảnh) và xuất kết quả hiển thị lên ảnh đã chụp
3 Cập nhật ảnh chụp mới
d Lý do chọn không gian màu HSV
Không gian màu HSV (Hue, Saturation, Value) được sử dụng rộng rãi trong xử lý ảnh và đồ họa máy tính vì nó có một số lợi ích so với các không gian màu khác như RGB (Red, Green, Blue) hoặc CMYK (Cyan, Magenta, Yellow, Key)
Dưới đây là một số lý do tại sao nên chọn không gian màu HSV:
✓ Biểu diễn màu sắc tự nhiên: Không gian màu HSV được thiết kế để phản ánh cách mắt con người nhìn màu sắc Hue (màu sắc) biểu thị các màu cơ bản như đỏ, xanh lá cây, xanh dương, vv Saturation (độ bão hòa) quyết định mức độ của màu, từ màu xám đến màu sáng rực rỡ
Trang 37Value (giá trị) thể hiện độ sáng của màu Nhờ có cấu trúc này, việc chỉnh sửa màu sắc trong không gian màu HSV thường dễ dàng hơn ✓ Tách biệt màu sắc và độ sáng: Trong không gian màu HSV, màu sắc
(Hue) và độ sáng (Value) được phân tách rõ ràng Điều này hữu ích khi bạn muốn chỉnh sửa màu sắc của một hình ảnh mà không làm thay đổi độ sáng tổng thể hoặc ngược lại
✓ Dễ dàng điều chỉnh độ bão hòa: Saturation trong không gian màu HSV quyết định độ bão hòa của màu sắc Chỉ cần thay đổi giá trị Saturation, bạn có thể làm mờ màu, chuyển từ màu đậm sang màu nhạt hoặc ngược lại mà không làm thay đổi màu sắc chính
✓ Phù hợp cho việc phân tích màu sắc: Không gian màu HSV thường được sử dụng trong các ứng dụng phân tích màu sắc, như nhận dạng màu sắc, phân đoạn ảnh dựa trên màu sắc, hay phát hiện biên màu sắc Với cấu trúc của nó, việc xử lý và phân tích màu sắc trong không gian màu HSV thường dễ dàng hơn so với không gian màu khác
2.5.2 Phương pháp phân loại theo kích thước
Trong phạm vi của đề tài, nhóm sẽ làm việc với 2 loại kích thước: • Loại 1: 3x3x3 (cm)
3 Tính tỉ lệ kích thước tham chiếu, xác định kích thước sản phảm
Tính tỉ lệ giữa kích thước trên thực tế (cm) với kích thước ảnh thu được (pixel)
Trang 38của miếng dán tham chiếu Từ đó áp dụng tỉ lệ này và kích thước các cạnh của hình chữ nhật (pixel) để tính ra kích thước sản phẩm bất kì
4 Xuất kết quả lên trên hình ảnh
Trang 39Chương 3 TÍNH TOÁN VÀ THIẾT KẾ
3.1 Giới thiệu
Ở chương 3 này nhóm tiến hành tính toán và thiết kế hệ thống phân loại sản phẩm theo màu sắc và kích thước, dùng xử lý ảnh để nhận diện màu sắc sau đó gửi dữ liệu qua arduino xử lý thông tin và phân loại sản phẩm bằng cánh tay robot Bên cạnh đó, kiểm tra loại sản phẩm và số lượng sản phẩm thông qua LCD Quá trình tính toán và thiết kế gồm 2 phần: thiết kế sơ đồ khối hệ thống và tính toán thiết kế mạch
3.2 Thiết kế phần cứng 3.2.1 Sơ đồ khối hệ thống
Dựa theo những yêu cầu của đề tài đã đưa ra, nhóm đã thiết kế sơ đồ khối của hệ thống bao gồm các khối: khối nguồn, khối xử lý trung tâm, khối thu tín hiệu hình ảnh, khối hiển thị, khối cảm biến, khối nút nhấn, khối động cơ Sơ đồ khối của hệ thống được mô tả như trong hình 3.1
Hình 3.1 Sơ đồ khối của hệ phân loại sản phẩm
Chức năng từng khối:
- Khối xử lý trung tâm: Khối này thực hiện xử lí dữ liệu trên máy tính và thực
hiện truyền nhận thông tin liên kết với vi điều khiển Arduino xử lý các tín hiệu