Professional Documents
Culture Documents
---------------------------------
ĐỒ ÁN TỐT NGHIỆP
NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG
ĐỀ TÀI:
ĐỒ ÁN TỐT NGHIỆP
NGÀNH KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG
ĐỀ TÀI:
Họ tên sinh viên: Phạm Thị Thanh Thảo MSSV: 15141284 Phan Trần
Hoài Vũ MSSV: 15141333
Chuyên ngành: Điện tử công nghiệp Mã ngành: 41 Hệ đào tạo: Đại học chính quy
Mã hệ: 1 Khóa: 2015 Lớp: 15141DT2A
II. NHIỆM VỤ
(ghi những nội dung chính cần thực hiện như trong phần tổng quan)........................
.....................................................................................................................................
.
.....................................................................................................................................
.
.....................................................................................................................................
.
i
.....................................................................................................................................
.
......................................................................................................................................
III. NGÀY GIAO NHIỆM VỤ: 18/02/2019
IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 10/06/2019
V. HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS. Nguyễn Đình Phú CÁN BỘ
ii
TRƯỜNG ĐH SPKT TP. HỒ CHÍ MINH SINH
KHOA ĐIỆN-ĐIỆN TỬ CỘNG HÒA XÃ HỘI CHỦ NGHĨA
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y VIỆT NAM
ĐỘC LẬP - TỰ DO - HẠNH Tp. HCM, ngày tháng năm 2019
PHÚC ----o0o----
Tên đề tài:
NGHIÊN CỨU, THIẾT KẾ VÀ THI CÔNG MÔ HÌNH ĐẾM VÀ PHÂN LOẠI
SẢN PHẨM THEO CÂN NẶNG, MÀU SẮC.
Tuần 4 Tiến hành lập trình nhận diện phân loại màu sắc.
(11-17/03/2019)
Tuần 5 Hoàn chỉnh phân loại màu sắc, lập trình phân
(18-24/03/2019) loại cân nặng
iii
Tuần 9, 10, Chạy thử nghiệm hệ thống và hiệu chỉnh sao
11, 12 cho hệ thống hoạt động ổn định
(15-12/05/2019)
GV HƯỚNG DẪN
(Ký và ghi rõ họ và tên)
iv
LỜI CAM ĐOAN
Đề tài “Nghiên cứu, thiết kế và thi công mô hình đếm và phân loại sản phẩm
theo cân nặng và màu sắc” là nhóm đề tài tự thực hiện dựa vào tham khảo một số tài
liệu trước đó và không sao chép từ tài liệu hay công trình nào khác.
Lời đầu tiên, nhóm đề tài xin gởi lời cảm ơn chân thành đến Thầy Nguyễn
Đình Phú - giảng viên khoa Điện-Điện tử, Trường ĐH Sư phạm Kỹ thuật Tp. HCM
đã theo sát hỗ trợ và hướng dẫn nhóm một cách chi tiết trong quá trình thực hiện đề
tài. Thầy luôn hỗ trợ hết mình, giải đáp thắc mắc, chỉ ra sai sót cũng như gợi ý những
phương án thực hiện sao cho khả thi và dễ tiếp cận nhất.
Nhóm cũng xin gửi lời cảm ơn đến quý thầy(cô) trong khoa Điện-Điện tử đã
tận tình giải đáp thắc mắc, nguyện vọng trong quá trình thực hiện đề tài của nhóm.
Sự hỗ trợ của quý thầy(cô) đóng góp một phần không nhỏ vào thành công ngày hôm
nay.
Nhóm đề tài cũng xin cảm ơn các bạn sinh viên trong khoa Điện-Điện tử đã
nhiệt tình giúp đỡ, hỗ trợ nhóm, đặc biệt là tập thể lớp 15141DT2A. Những đóng
góp của các bạn luôn được nhóm tiếp nhận và đánh giá cao.
Cuối cùng, nhóm xin cảm ơn chân thành và sâu sắc đến Cha, Mẹ - những
người luôn bên cạnh hỗ trợ hết mình về tài chính cũng như tinh thần trong suốt
những năm tháng qua.
Thành công của đề tài ngày hôm nay chính là một phần đóng góp to lớn của
mọi người. Một lần nữa, nhóm xin gởi lời cảm ơn chân thành nhất đến quý thầy cô,
bạn bè và quý phụ huynh đã hỗ trợ nhóm thực hiện đề tài hoàn chỉnh.
vi
MỤC LỤC
LỜI CẢM ƠN ........................................................................................................... vi
MỤC LỤC................................................................................................................ vii
LIỆT KÊ HÌNH VẼ ....................................................................................................x
LIỆT KÊ BẢNG BIỂU ...........................................................................................
xiii Chương 1: TỔNG
QUAN...........................................................................................1 1.1. ĐẶT VẤN
ĐỀ...............................................................................................1
1.2. MỤC TIÊU....................................................................................................2
Chương 2: CƠ SỞ LÝ THUYẾT................................................................................5
2.1. TỔNG QUAN VỀ XỬ LÝ ẢNH ..................................................................5
vii
3.2.1. Khối thu tín hiệu hình ảnh (camera).....................................................31
3.2.2. Khối thu tín hiệu cân nặng (loadcell) và khối ADC (module HX711).34
3.2.3. Khối xử lý trung tâm (Raspberry Pi 3) .................................................36
3.1.1. Động cơ DC; Xi-lanh và Van điện từ ...................................................37
3.1.2. Khối hiển thị .........................................................................................45
3.1.3. Khối nguồn ...........................................................................................45
3.1.4. Sơ nguyên lý toàn mạch........................................................................49
Chương 4: THI CÔNG HỆ THỐNG ........................................................................50
4.1. GIỚI THIỆU................................................................................................50
viii
TÀI LIỆU THAM KHẢO.........................................................................................89
PHỤ LỤC..................................................................................................................90
ix
LIỆT KÊ HÌNH VẼ
Hình 3. 1. Sơ đồ khối hệ thống 30 Hình 3. 2 Sơ đồ kết nối module camera USB với
Raspberry Pi qua 1 hub 32 Hình 3. 3. Đèn led K3E19-3 dùng để ổn định nguồn sáng
trắng 32 Hình 3. 4 Sơ đồ bố trí buồng chụp ảnh (nhìn từ trên xuống) 33 Hình 3. 5 Sơ
đồ bố trí buồng chụp ảnh (nhìn từ mặt bên) 33 Hình 3. 6 Sơ đồ nguyên lý module
ADC HX711 (ảnh từ datasheet AVIA
Semiconductor) 35 Hình 3. 7. Hình ảnh thực tế module HX711 35 Hình 3. 8 Sơ đồ
kết nối loadcell, HX711 với Raspberry Pi 3 36 Hình 3. 9 Sơ đồ các cổng ngoại vi sử
dụng 36 Hình 3. 10 Động cơ DC và trục quay băng tải 38 Hình 3. 11. Động cơ giảm
tốc DC 12V JGB37-3530 38 Hình 3. 12. Nguyên lý làm việc của PWM – Điều chế
độ rộng xung. 39 Hình 3. 13. Mạch điều khiển tốc độ động cơ DC bằng phương
pháp PWM dùng IC
555 40 Hình 3. 14. Sơ đồ nguyên lý mạch điều khiển tốc độ động cơ 41 Hình 3. 15.
Hình ảnh thực tế Module PWM 12-40VDC/10A 42 Hình 3. 17 Sơ đồ kết nối
module PWM và động cơ DC 43
x
Hình 3. 18 Sơ đồ bố trí các xi-lanh và cảm biến tiệm cận trên băng tải 43 Hình 3. 19.
Nguồn 5V 2.5A cung cấp cho Raspberry Pi 47 Hình 3. 20 . Nguồn 5V 1.5 A cung
cấp cho board mạch chính 47 Hình 3. 21. Nguồn 12V 5A cung cấp cho băng tải 48
Hình 3. 22. Nguồn 24V 5A cung cấp cho van điện từ 48 Hình 3. 23. Mạch điện sơ
đồ nguyên lý toàn mạch 49
xi
Hình 5. 1. Giao diện màn hình LCD sau khi mở chương trình chính.......................77
Hình 5. 2. Số lượng cà chua được cập nhật sau khi hệ thống xử lý mỗi quả............78
Hình 5. 3. Giao diện web tùy chỉnh các thông số về loại sản phẩm .........................78
Hình 5. 4. Dữ liệu được lưu dữ tại firebase ..............................................................79
Hình 5. 5. Hệ thống hoàn thiện của đề tài (đầu băng chuyền, ngõ vào của cà chua)79
Hình 5. 6. Hệ thống hoàn thiện của đề tài (phía trái so với đầu băng chuyền).........80
Hình 5. 7. Bố trí và lắp đặt các module, board mạch trong hộp điện điều khiển......81
Hình 5. 8. Hình Hình ảnh chụp phía trên của buồng chụp ảnh khi cung cấp điện hoạt
động hệ thống............................................................................................................82
Hình 5. 9. Hình Hệ thống hoàn thiện của đề tài(phía phải so với đầu băng chuyền)
...................................................................................................................................8
2 Hình 5. 10. Các van điện từ được bố trí ngay dưới băng chuyền.
............................83 Hình 5. 11. Kết quả thực nghiệm đối với nhóm cà chua (thực
hiện ngày 25/5/2019).
...................................................................................................................................84
xii
LIỆT KÊ BẢNG BIỂU
Bảng 3. 1. Dòng tiêu thụ các ngoại vi Raspberry Pi .................................................46
Bảng 4. 1. Thông tin các thiết bị, linh kiện sử dụng cho mạch.................................50
xiii
TÓM TẮT
Đề tài “Nghiên cứu, thiết kế và thi công hệ thống phân loại sản phẩm theo cân
nặng, màu sắc; Quản lý và điều khiển bằng điện thoại” là mô hình phân loại sản
phẩm, cụ thể ở đây là nông sản quả cà chua theo cân nặng và màu sắc đã được cài
đặt sẵn. Hoạt động của mô hình dựa trên cơ chế điều khiển động cơ và xử lý tín hiệu
tương tự
(màu sắc, cân nặng) của kit Raspberry Pi 3 Model B, với ngôn ngữ lập trình Python
và thư viện OpenCV, cùng khả năng quản lí và điều khiển qua điện thoại thông minh.
Nhóm sử dụng những đặc điểm riêng về màu sắc và cân nặng của quả cà chua để làm
cơ sở nhận dạng và tiến hành cho hệ thống phân loại. Kết quả thực hiện đề tài là một
mô hình có thể phân loại được một nhóm quả cà chua thành những nhóm nhỏ có
hình dạng và cân nặng khác nhau. Việc quản lí hoạt động của hệ thống, đếm số
lượng, cài đặt thông số phân loại…sẽ được thực hiện từ xa thông qua webserver.
xiv
CHƯƠNG 1. TỔNG QUAN
như nông dân hoặc tiểu thương lái do tính chất sản xuất, tính chất thay đổi chất
lượng nông sản hàng năm cũng như sự thay đổi về tiêu chuẩn ở các thị trường. Với
mục đích có thể tạo ra một hệ thống phân loại sản phẩm theo dây chuyền, thân thiện
với người dùng, khả năng tùy biến cao và giá thành phải chăng, nhóm xin giới thiệu
đề tài: “Nghiên cứu thiết kế và thi công mô hình đếm và phân loại sản phẩm theo
cân nặng, màu sắc”, do chính nhóm tiến hành nghiên cứu và thực hiện. Với mô
hình này, chúng ta có thể phát triển thêm thành một hệ thống hoàn chỉnh, có thể giúp
nông dân dễ dàng sử dụng, vận hành cũng như điều chỉnh, thay thế lao động chân tay
giúp giảm nhân công, tiền bạc, tăng năng suất làm việc, đồng thời giảm bớt chi phí
lắp đặt và vận hành khi phải đầu tư một hệ thống lớn. Sau quá trình tìm hiểu, nhóm
quyết định chọn cà chua làm đối tượng phân loại.
1.2. MỤC TIÊU
Mục tiêu nghiên cứu của đề tài “Nghiên cứu, thiết kế và thi công mô hình đếm
và phân loại sản phẩm theo cân nặng, màu sắc” là nắm rõ nguyên lí hoạt động của
cảm biến cân nặng, camera, làm quen với ngôn ngữ lập trình Python cũng như các
công cụ hỗ trợ trong thư viện OpenCV, thực hiện các tác vụ cơ bản trên Kit
Raspberry Pi và hệ điều hành Raspbian để nhận biết và phân loại sản phẩm.
Ngoài ra, nhóm đề tài mong muốn thi công được một hệ thống có khả năng
phân loại sản phẩm về màu sắc và cân nặng; đếm và tùy chỉnh các thông số đặt trưng
của loại sản phẩm từ xa thông qua Web localhost.
• NỘI DUNG 1: Tổng quan về hệ thống phân loại sản phẩm, các giải pháp
thiết kế hệ thống băng chuyền
• NỘI DUNG 2: Nghiên cứu thuật toán xử lý ảnh ứng dụng vào phân loại màu
sắc sản phẩm.
• NỘI DUNG 3: Xử lý phân loại sản phẩm theo cân nặng.
• NỘI DUNG 4: Giải pháp thiết kế giao diện Web localhost tùy chỉnh các đặc
trưng về màu sắc và chỉ số về cân nặng của hệ thống.
• NỘI DUNG 5: Hoàn thiện hệ thống điều khiển và mô hình, tiến hành chạy
mẫu.
• NỘI DUNG 6: Đánh giá kết quả thực hiện.
1.5. BỐ CỤC
• Chương 1: Tổng quan
• Chương 2: Cơ sở lý thuyết.
• Chương 3: Thiết kế và tính toán
• Chương 4: Thi công hệ thống
• Chương 5: Kết quả - nhận xét – đánh giá
• Chương 6: Kết luận và hướng phát triển
Nội dung chương bao gồm lý thuyết cơ bản về xử lý ảnh, phương pháp cơ
bản để nhận dạng và phân loại ảnh, cảm biến cân nặng, giới thiệu cơ bản về
Raspberry Pi, ngôn ngữ lập trình Python và thư viện hỗ trợ Open CV, xi-lanh khí
nén. • Chương 3: Thiết Kế và Tính Toán
Từ những cơ sở lý thuyết có được, nhóm đề tài sẽ trình bày về sơ đồ khối,
công thức tính toán và kết nối của hệ thống.
• Chương 4: Thi Công Hệ Thống
Sau khi thực hiện tính toán và thiết kế, nhóm đề tài sẽ tiến hành thi công hệ
thống và trình bày lại quá trình thi công tại chương này.
• Chương 5: Kết Qủa - Nhận Xét - Đánh Giá
Những kết quả đạt được cùng với những nhận xét, đánh giá về toàn bộ hệ
thống nhóm đề tài sẽ tóm tắt tại Chương 5.
• Chương 6: Kết Luận và Hướng Phát Triển
Cuối cùng, nhóm xin được trình bày những kết luận đã được rút ra trong suốt
quá trình thực hiện đề tài cùng với hướng phát triển, cải tiến của đề tài sao cho
phù hợp với thực tế hơn.
Chương 2: CƠ SỞ LÝ THUYẾT
2.1. TỔNG QUAN VỀ XỬ LÝ ẢNH
2.1.1. Giới thiệu về xử lý ảnh
Xử lý ảnh là quá trình xử lý số tín hiệu với đối tượng xử lý là tín hiệu hình
ảnh. Trong đó, ảnh đầu vào sẽ được xử lý sao cho ảnh sau khi xử lý đạt kết quả mong
muốn. Kết quả của xử lý ảnh là một ảnh khác có đặc điểm khác với ảnh ban đầu hoặc
một kết luận (Hình 2.1). Xử lý ảnh phát triển rất mạnh mẽ trong thời gian gần đây,
bao gồm ở rất nhiều lĩnh vực: y tế, kinh tế, văn hóa, quân sự, quốc phòng… Hiện
nay, có bốn khía cạnh chính liên quan đến xử lý ảnh: xử lý và nâng cao chất lượng
ảnh, nhận dạng ảnh, truy vấn ảnh và nén ảnh. Ở phạm vi đề tài này sẽ tìm hiểu về
mảng nhận dạng ảnh.
• Thu nhận ảnh[1]: đây là công đoạn đầu tiên mang tính quyết định đối với quá
trình xử lý ảnh. Ảnh đầu vào sẽ được thu nhận qua các thiết bị như camera,
sensor, máy quét… và sau đó các tín hiệu này sẽ được số hóa. Việc lựa chọn
các thiết bị thu nhận ảnh sẽ phụ thuộc vào đặc tính của các đối tượng cần xử
lý. Các thông số quan trọng ở bước này là độ phân giải, chất lượng màu, dung
lượng bộ nhớ và tốc độ thu nhận ảnh của các thiết bị.
• Quá trình tiền xử lý[1]: Ở bước này, ảnh sẽ được cải thiện về độ tương phản,
khử nhiễu, khử bóng, khử độ lệch… với mục đích làm cho chất lượng ảnh trở
lên tốt hơn nữa, chuẩn bị cho các bước xử lý phức tạp hơn về sau trong quá
trình xử lý ảnh. Quá trình này thường được thực hiện bởi các bộ lọc.
• Trích chọn đặc điểm[1] (hoặc trích chọn đặc trưng): Đặc trưng ảnh ở đây
chính là đặc trưng nội dung ảnh, hay nói cách khác là nội dung thực sự của
các bức ảnh. Nội dung ảnh được thể hiện bằng màu sắc, hình dạng, kết cấu,
các đặc trưng cục bộ… hay bất cứ thông tin nào có từ chính nội dung ảnh.
Phạm vi đề tài bao gồm nhận biết màu sắc từ bề mặt quả cà chua nên đặc
trưng được trích chọn là màu sắc.
• Hậu xử lý[1]: có nhiệm vụ xử lý các đặc điểm đã trích chọn, có thể lược bỏ
hoặc biến đổi các đặc điểm này để phù hợp với các kỹ thuật cụ thể sử dụng
trong hệ quyết định.
b. Ảnh số
Ảnh số là tập hợp hữu hạn các điểm ảnh với mức xám phù hợp dùng để mô tả
ảnh gần với ảnh thật. Số điểm ảnh xác định độ phân giải của ảnh. Ảnh có độ phân
giải càng cao thì càng thể hiện rõ nét các đặc điểm của tấm ảnh và càng làm cho tấm
ảnh trở nên thực và sắc nét hơn. Một hình ảnh là một tín hiệu hai chiều, nó được xác
định bởi hàm toán học f (x, y) trong đó x và y là hai tọa độ theo chiều ngang và chiều
dọc. Các giá trị của f (x, y) tại bất kỳ điểm nào là các giá trị điểm ảnh (pixel) tại điểm
đó của một hình ảnh. Ảnh số thực tế là biểu diễn số học của hình ảnh trong máy tính,
thường là biểu diễn nhị phân. Có thể phân ảnh số thành 2 loại: ảnh raster và ảnh
vector
• Ảnh raster
Ảnh Raster là một tập hợp hữu hạn các giá trị số, gọi là điểm ảnh (pixel -
picture element). Thông thường một hình ảnh được chia thành các hàng và cột chứa
điểm ảnh. Điểm ảnh là thành phần bé nhất biểu diễn ảnh, có giá trị số biểu diễn màu
sắc, độ sáng,… của một thành phần trong bức ảnh.
Ảnh raster thường được thu từ camera, các máy chiếu, chụp, quét… và chính là đối
tượng chính của xử lý ảnh và thị giác máy tính.
• Ảnh vector
Ảnh vector là loại ảnh tạo thành từ các thành phần đơn giản của hình học như
điểm, đường thẳng, hình khối… Thay vì được lưu lại thành các ma trận điểm ảnh
như ảnh raster, ảnh vector được biểu diễn dưới dạng tọa độ của các thành phần trong
ảnh. Chính điều này đã tạo nên sự đặc biệt của ảnh vector, khiến nó có thể được kéo
dãn, thu nhỏ tùy ý mà không bị vỡ, không xuất hiện răng cưa như ảnh raster. Dữ liệu
trong ảnh vector nhỏ, do vậy thường tiết kiệm dung lượng lưu trữ hơn ảnh raster.
Tuy thế, màu sắc trong ảnh vector nhìn không thật, màu sắc ít tinh tế hơn ảnh
raster.
Thông thường người ta sử dụng ảnh vector trong thiết kế các logo, banner,
giao diện đồ họa… Loại ảnh này gần như không xuất hiện khi đề cập đến xử lý ảnh /
thị giác máy tính.
c. Phân loại ảnh [1]
Mức xám của điểm ảnh là cường độ sáng, gán bằng một giá trị tại điểm đó.
Các mức ảnh xám thông thường: 16, 32, 64, 128, 256. Mức được sử dụng thông
dụng nhất là 265, tức là dùng 1byte để biểu diễn mức xám. Trong đó:
• Ảnh nhị phân: Là ảnh có 2 mức trắng và đen, chỉ có 2 giá trị 0 và 1 và chỉ
sử dụng 1bit dữ liệu trên 1 điểm ảnh.
• Ảnh đen trắng: Là ảnh có hai màu đen, trắng (không chứa màu khác) với
mức xám ở các điểm ảnh có thể khác nhau.
• Ảnh màu: Là ảnh kết hợp của 3 màu cơ bản lại với nhau để tạo ra một thế
giới màu sinh động. Người ta thường dùng 3byte để mô tả mức màu, tức là có
khoảng 16, 7 triệu mức màu.
Lân cận ảnh là tập hợp những điểm ảnh có xung quanh điểm ảnh đang xét.
Có 2 loại lân cận ảnh: lân cận 4 và lân cận 8.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH
8
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
4 điểm ảnh lân cận 4 theo cột và hàng với tọa độ lần lượt là (x+1, y), (x-1, y),
(x, y+1), (x, y-1) ký hiệu là tập N4 (p). 4 điểm ảnh lân cận 4 theo đường chéo có tọa
độ lần lượt là (x+1, y+1), (x+1, y-1), (x-1, y+1), (x-1, y-1) ký hiệu là tập ND (p). Tập
8 điểm ảnh lân cận 8 là hợp của 2 tập trên:
Liên kết ảnh [3]: Các mối liên kết của ảnh được xem như là mối liên kết của 2
điểm ảnh gần nhau, có 3 loại liên kết: liên kết 4, liên kết 8, lên kết m (liên kết hỗn
hợp). Trong ảnh đa mức xám, ta có thể đặt V chứa nhiều giá trị như V= {tập con}.
Cho p có tọa độ (x, y).
Liên kết 4: hai điểm ảnh p và q có giá trị thuộc về tập V được gọi là liên kết 4
của nhau nếu q thuộc về tập N4 (p).
Liên kết 8: hai điểm ảnh p và q có giá trị thuộc về tập V được gọi là liên kết 8
của nhau nếu q thuộc về tập N8 (p).
Liên kết m: hai điểm ảnh p và q có giá trị thuộc về tập V được gọi là Liên kết
m của nhau nếu thỏa 1 trong 2 điều kiện sau: q thuộc về tập N4 (p), q thuộc về tập
ND (p) và giao của hai tập N4 (p), N4 (q) không chứa điểm ảnh nào có giá trị thuộc
V.
e. Lọc nhiễu
Ảnh thu nhận được thường sẽ bị nhiễu nên cần phải loại bỏ nhiễu. Các toán tử
không gian dùng trong kỹ thuật tăng cường ảnh được phân nhóm theo công dụng:
làm trơn nhiễu, nổi biên. Để làm trơn nhiễu hay tách nhiễu, người ta sử dụng các bộ
lọc tuyến tính (lọc trung bình, thông thấp) hoặc lọc phi tuyến (trung vị, giả trung vị,
lọc đồng hình). Từ bản chất của nhiễu (thường tương ứng với tần số cao) và từ cơ sở
lý thuyết lọc là: bộ lọc chỉ cho tín hiệu có tần số nào đó thông qua, để lọc nhiễu
người ta thường dùng lọc thông thấp (theo quan điểm tần số không gian) hay lấy tổ
hợp tuyến tính để san bằng (lọc trung bình). Để làm nổi cạnh (ứng với tần số cao),
người ta dùng các bộ lọc thông cao, lọc Laplace. Lọc nhiễu được chia làm 2 loại: lọc
tuyến tính, lọc phi tuyến.
Làm trơn nhiễu bằng lọc tuyến tính: Khi chụp ảnh có thể xuất hiện nhiều
loại nhiễu vào quá trình xử lý ảnh, nên ta cần phải lọc nhiễu. Gồm các phương pháp
cơ bản lọc trung bình, lọc thông thấp, …Ví dụ lọc trung bình: Với lọc trung bình,
mỗi điểm ảnh được thay thế bằng trung bình trọng số của các điểm lân cận.
Làm trơn nhiễu bằng lọc phi tuyến[2]: Các bộ lọc phi tuyến cũng hay được
dùng trong kỹ thuật tăng cường ảnh. Một số phương pháp lọc cơ bản bộ lọc trung vị,
lọc ngoài… Với lọc trung vị, điểm ảnh đầu vào sẽ được thay thế bởi trung vị các
điểm ảnh còn lọc giả trung vị sẽ dùng trung bình cộng của hai giá trị “trung vị”
(trung bình cộng của max và min).
Điểm biên: Một điểm ảnh được coi là điểm biên nếu có sự thay đổi nhanh
hoặc đột ngột về mức xám (hoặc màu). Ví dụ trong ảnh nhị phân, điểm đen gọi là
điểm biên nếu lân cận nó có ít nhất một điểm trắng.
Đường biên (đường bao: boundary): tập hợp các điểm biên liên tiếp tạo thành
một đường biên hay đường bao.
Ý nghĩa của đường biên trong xử lý: ý nghĩa đầu tiên, đường biên là một loại
đặc trưng cục bộ tiêu biểu trong phân tích, nhận dạng ảnh. Thứ hai, người ta sử dụng
biên làm phân cách các vùng xám (màu) cách biệt. Ngược lại, người ta cũng sử dụng
các vùng ảnh để tìm đường phân cách.
Mô hình biểu diễn đường biên, theo toán học: điểm ảnh có sự biến đổi mức
xám u(x) một cách đột ngột theo hình dưới.
Chú ý: Phát hiện biên là một phần trong phân tích ảnh, sau khi đã lọc ảnh
(hay tiền xử lý ảnh). Các bước của phân tích ảnh có thể mô tả theo sơ đồ dưới đây.
Việc dò và tìm biên ảnh là một trong các đặc trưng thuộc khối trích chọn đặc trưng.
Python là một ngôn ngữ lập trình cấp cao được sử dụng phổ biến từ trong môi
trường học đường cho tới các dự án lớn cho các mục đích lập trình đa năng, do
Guido van Rossum tạo ra và lần đầu ra mắt vào năm 1991. Python được thiết kế với
ưu điểm mạnh là dễ đọc, dễ học và dễ nhớ, là ngôn ngữ có cấu trúc rõ ràng, phù hợp
cho người mới học lập trình. Cấu trúc của Python còn cho phép người sử dụng viết
mã lệnh với số lần gõ phím tối thiểu.
Ban đầu Python được phát triển để chạy trên nền Unix nhưng sau này ngôn
ngữ đã được sử dụng chạy trên mọi hệ điều hành từ MS-DOS đến Mac OS, OS/2,
Windows, Linux và các hệ điều hành khác thuộc họ Unix.
Nhóm đề tài chọn ngôn ngữ Python thay vì những ngôn ngữ lập trình khác để
tiến hành nghiên cứu và thực hiện xử lý ảnh.
Chính vì những lý do trên, nhóm đề tài quyết định dùng thư viện OpenCV
làm thư viện chính, viết trên ngôn ngữ Python để thực hiện đề tài
- Đối với hình ảnh, chúng ta có thể đọc và lưu hay ghi chúng.
- Có thể ghi và đọc video
- Xử lý hình ảnh có thể lọc nhiễu hoặc chuyển đổi ảnh.
- Thực hiện nhận dạng đặc điểm của hình dạng ảnh.
- Phát hiện các đối tượng được xác định trước như khuôn mặt, mắt,
phương tiện giao thông… trong video hoặc hình ảnh.
- Phân tích video, ước lượng chuyển động của đối tượng xuất hiện trong
video, tách nền và đối tượng riêng biệt…
2.2. PHƯƠNG PHÁP PHÂN LOẠI SẢN PHẨM THEO MÀU SẮC, CÂN
NẶNG
Cà chua là một trong những mặt hàng nông sản cũng như rau quả thực phẩm
quen thuộc với chúng ta. Quá trình sinh trưởng của quả cà chua từ lúc kết quả đến
lúc chín hoàn toàn trải qua các giai đoạn biến đổi hình thái về màu sắc mà bằng mắt
thường, con người có thể thấy được sự thay đổi đó. Các giai đoạn chuyển hóa của
quả cà chua được trình bày cụ thể sau đây [4]:
• Thời kỳ quả xanh: Quả và hạt phát triển chưa hoàn thiện. Nếu thu hái quả vào
lúc này và thông qua thúc chín tới thì quả không bình thường, không có
hương vị, không có màu sắc đặc trưng của giống.
• Thời kỳ chín xanh chất keo bao quanh hạt được hình thành, quả chưa có màu
hồng hoặc màu vàng. Nếu thúc chín thì quả sẽ thể hiện màu sắc của giống
nhưng hương vị không rõ như quả chín trên cây.
• Thời kỳ chín vàng: Đỉnh quả xuất hiện màu vàng hoặc màu hồng với diện tích
bề mặt chiếm khoảng 10%.
• Thời kỳ chuyển màu: Diện tích bề mặt 10-30%, có màu vàng hoặc đỏ nhạt. •
Thời kỳ quả chín hồng diện tích bề mặt 30-60%, có màu đỏ nhạt hoặc vàng. •
Thời kỳ chín đỏ, diện tích bề mặt quả 90% có màu đỏ.
Ở phạm vi của đề tài, những quả cà chua sẽ được phân thành 3 nhóm quả có
màu như sau, dựa trên đặc điểm về màu sắc ở các giai đoạn:
Mô hình màu RGB sử dụng mô hình bổ sung trong đó ánh sáng đỏ, xanh lục
và xanh lam được tổ hợp với nhau để tạo thành các màu khác. Từ viết tắt RGB trong
tiếng Anh có nghĩa là đỏ (red), xanh lục (green) và xanh lam (blue), là ba màu gốc
trong các mô hình ánh sáng bổ sung. Mô hình này thường được dùng để hiển thị trên
máy tính.
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 24bit 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). Dưới đây là một số màu cơ bản được biển diễn trong hệ màu
RGB:
Trong phạm vi đề tài, ảnh sau khi được camera chụp và định dạng RGB sẽ
được chuyển sang một hệ màu mới thích hợp cho việc phân tích màu sắc hơn, trong
đó có sự phân chia biểu diễn về vùng màu, độ bão hòa, và độ sáng. Đó là hệ màu
HSV.
– Độ bão hòa màu (Saturation) là mức độ thuần khiết của màu, có thể hiểu
là có bao nhiêu màu trắng được thêm vào màu thuần khiết này. Giá trị của S nằm
trong đoạn [0, 255], trong đó S = 255 là màu tinh khiết nhất, hoàn toàn không pha
trắng. Nói cách khác, S càng lớn thì màu càng tinh khiết, nguyên chất.
– Độ sáng của màu (Value), còn được gọi là Intensity, Lightness, có giá trị
dao động trong đoạn [0, 255], trong đó V = 0 là hoàn toàn tối (đen), V = 255 là hoàn
toàn sáng. Nói cách khác, V càng lớn thì màu càng sáng.
Hình 2. 6 Mô hình màu HSV
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 đề tài căn cứ vào bảng màu HSV để đưa ra những giá trị HSV
phù hợp. Sau quá trình này, ta sẽ có được những giới hạn (hoặc ngưỡng màu) như
sau:
Công đoạn tiếp theo, cà chua được phân tách màu sắc bề mặt với các ngưỡng
màu đã có được từ việc đối chiếu thủ công với bảng màu HSV từ trước. Ở giai đoạn
này, sẽ có sai lệch về màu sắc chọn ngưỡng và màu sắc thực tế của cà chua nhưng
không quá lớn. Tuy nhiên, những sai lệch này có thể dẫn đến sự nhầm lẫn về kết luận
màu sắc. Cần hiệu chỉnh các ngưỡng màu sao cho phù hợp và phản ánh chân thực
màu sắc bề mặt quả cà chua.
Sau khi hiệu chỉnh các ngưỡng màu, ta có được kết luận cuối cùng về ngưỡng
màu thực tế của màu sắc bề mặt quả cà chua.
Hình 2. 8 Sắc đỏ hoặc đỏ hồng chiếm trên 90% diện tích bề mặt quả (quả đỏ) •
Màu cam hoặc màu vàng: giá trị HSV đo được (11,0,0) ÷ (65,255,255)
Hình 2. 9 Sắc vàng hoặc cam chiếm 30÷90% diện tích bề mặt quả
(quả cam)
Hình 2. 10. Sắc lục chiếm hầu như toàn bộ bề mặt quả (quả xanh)
Với sự giúp đỡ của thư viện OpenCV, ngôn ngữ lập trình Python và kit
Raspberry Pi 3, công việc nhân biết và phân loại màu sắc của quả cà chua sẽ gồm
những công đoạn sau:
Từ 3 cơ sở phân loại về màu sắc, cộng thêm cơ sở phân loại về cân nặng, hệ
thống sẽ có khả năng phân loại một nhóm quả cà chua thành 5 loại với các đặc trưng
về màu sắc và cân nặng khác nhau.
Ví dụ:
Raspberry Pi là một máy tính chỉ có một board mạch, kích thước bằng thẻ
ATM chạy hệ điều hành Linux.
Raspberry Pi sản xuất bởi 3 OEM: Sony, Qsida, Egoman. Và được phân phối
chính bởi Element14, RS Components và Egoman.
Nhiệm vụ ban đầu của dự án Raspberry Pi là tạo ra một thế hệ chiếc máy tính
thu nhỏ có mức giá thấp nhưng vẫn đảm bảo nhu cầu lập trình cho sinh viên hoặc
những người muốn tìm hiểu về lập trình. Đặc tính của Raspberry Pi được xây dựng
quanh bộ xử lí SoC Broadcom BCM2835 (là chip xử lí mạnh mẽ có kích thước nhỏ
hay được dùng trong điện thoại di động), bao gồm CPU, GPU, bộ xử lí âm
thanh/video, và các tính năng khác… Tất cả được tích hợp bên trong chip có mức
tiêu thụ điện năng khá thấp.
Raspberry Pi không thay thế hoàn toàn hệ thống máy tính để bàn hoặc máy
xách tay. Chúng ta không thể chạy hệ điều hành Windows trên đó vì BCM2835 dựa
trên cấu trúc ARM nên không hỗ trợ mã x86/x64, nhưng vẫn có thể chạy bằng Linux
với các tiện ích như lướt web, môi trường Desktop và các tiện ích khác nữa.
Raspberry Pi là một thiết bị đa năng đáng ngạc nhiên với nhiều phần cứng có giá
thành thấp và phù hợp cho những hệ thống điện tử, những dự án DIY,…Raspberry
Pi 3 có hai phiên bản: model A và model B. Ở đề tài này nhóm sử dụng Kit
Raspberry Pi 3 model B với số lượng hub USB và cổng GPIO nhiều hơn, hỗ trợ kết
nối Ethernet, khả năng xử lý RAM nhanh hơn,…
• Hỗ trợ tất các bản phân phối ARM GNU/Linux mới nhất và Windows 10
• Đầu nối microusb cho nguồn điện 2,5A 5VDC
• 40 GPIO pins
• Chip antenna
• Kích thước: 85 x 56 x 17 mm
Ưu điểm: kích thước nhỏ gọn, CPU mạnh, phục vụ cho nhiều mục đích khác
nhau, khả năng hoạt động liên tục, giá thành rẻ hơn so với máy tính thông thường…
Nhược điểm: Máy tính nhúng xử lý vẫn còn chậm so với máy tính để bàn hay
laptop. Không chạy được một số chương trình nặng…
c. Ứng dụng Raspberry Pi trong thực tế: sử dụng như máy tính để bàn,
máy chủ in không dây, bộ điều khiển robot, đài FM, máy chơi game, máy chủ web…
USB camera cho Raspberry Pi là module camera được sử dụng thay thế
Raspberry Pi camera để đảm bảo độ dài của dây và phù hợp với mô hình. Module
Camera ra đời đã làm hài lòng rất nhiều tín đồ yêu thích Raspberry Pi. Trước khi
xuất hiện camera, điều duy nhất chúng ta có thể làm để thêm khả năng nhận biết
hình ảnh, quay phim, chụp hình cho Raspberry Pi là sử dụng 1 webcam cắm vào
cổng USB. Với các webcam Logitech tích hợp sẵn định dạng xuất file MJPEG sẽ
giúp Raspberry xử lý nhanh hơn. Nhưng các webcam Logitech lại có giá thành khá
cao, nhất là các webcam có độ phân giải lớn.
USB camera có độ nhạy sáng cao, có thể chụp tốt ở nhiều điều kiện ánh sáng
khác nhau, cả trong nhà và ngoài trời. Điểm đặc biệt mà camera mang lại đó là chụp
hình độ nét cao trong lúc quay phim.
Chúng ta chỉ cần sử dụng một cổng USB cho camera. Chiều dài cáp nối camera
đã được tính toán cẩn thận khi vừa đạt được độ dài cần thiết trong khi vẫn đảm bảo
tốc độ truyền hình ảnh từ module về Raspberry Pi.
- Camera USB hỗ trợ tất cả các phiên bản của Raspberry Pi, máy tính nhúng.
- Dây có thể được kéo dài hoặc rút ngắn, dài 65 cm.
Hình 2. 14 Sơ đồ khối USB Camera Raspberry Pi
b. Ứng dụng
Những tác vụ liên quan đến hình ảnh, với chất lượng ảnh đòi hỏi không quá
cao, Camera Raspberry Pi có thể giúp chúng ta lấy tín hiệu hình ảnh và video thông
qua Raspberry Pi. Những hình ảnh và video này có thể được sử dụng với nhiều mục
đích khác nhau, như giám sát đối tượng, xử lý và khôi phục ảnh, thị giác máy tính
và robot…
Loadcell là những cảm biến lực trọng lượng, mô-men xoắn, đầu dò tải... có thể
chuyển đổi lực tác dụng hoặc một tải trọng thành tín hiệu điện. Đối với cân ô tô thì
loadcell là thiết bị đo lường trọng lượng cần thiết để cân ô tô điện tử hiển thị trọng
lượng thành con số.
Một loadcell cảm biến có 2 bộ phận chính là strain gauges được dán vào bề
mặt của thân loadcell.
Strain gauges bao gồm sợi dây kim loại mảnh đặt trên một tấm cách
điện đàn hồi.
Thân loadcell là một khối kim loại đàn hồi, tùy vào mục đích sử dụng
mà thân loadcell được thiết kế có hình dạng và vật liệu kim loại khác nhau chủ
yếu là nhôm hợp kim, thép không gỉ, thép hợp kim.
Khi có tải trọng hoặc tác động lực lên thân loadcell, điều này sẽ làm nó bị biến
dạng nén hoặc giãn, làm cho các sợi kim loại của điện trở strain gauges thay đổi
chiều dài và tiết diện, kéo theo sự thay đổi giá trị của các điện trở strain gauges. Sự
thay đổi ở điện áp đầu ra chỉ sẽ được đo và chuyển thành số sau khi đi qua bộ khuếch
đại của các bộ chỉ thị cân điện tử.
Hình 2. 16. Loadcell cảm nhận sự thay đổi của tải (dây điện trở strain gauges) và
chuyển thành những tín hiệu điện.
Theo lực tác động: loadcell chịu kéo, chịu xoắn, dạng uốn, chịu nén. Theo hình
dạng: dạng đĩa, dạng trụ, dạng thanh, dạng cầu, dạng chữ S. Theo kích thước và khả
năng chịu tải: đa dạng theo nhiều khả năng đo (0.5kg, 1kg, 5kg, 10kg, 20kg…).
Được sử dụng phổ biến trong các loại cân điện tử, từ những chiếc cân đòi hỏi
độ chính xác cao cho tới những chiếc cân có trọng tải lớn trong công nghiệp như cân
ô tô điện tử 60 tấn, 80 tấn, 100 tấn, 120 tấn.
Loadcell còn được lắp đặt trên dây cáp ở cầu treo để đo sức cứng của cáp treo
và sức ép chân cầu trong các điều kiện giao thông và thời tiết khác nhau để cảnh báo
độ an toàn của cầu treo.
Xi-lanh khí nén (Ben khí nén) là một thiết bị cơ học được vận hành bằng khí
nén dựa vào hoạt động chuyển đổi năng lượng tiềm năng của khí nén thành động
năng. Điều này có được là do sự chênh lệch áp suất, được thiết lập bởi khí nén trong
xi-lanh và áp suất của khí quyển. Từ đó làm cho các pít tông của xi lanh chuyển
động theo hướng mong muốn.
b. Cấu tạo
Trên thị trường có rất nhiều loại xi lanh nhưng hầu hết sẽ đều được cấu tạo bởi
các bộ phận sau:
Xi lanh có kích thước rất đa dạng tùy vào nhu cầu sử dụng, từ các xi lanh khí
nén nhỏ 25 mm cho đến các xi lanh khí nén lớn 1000 mm.
c. Phân loại
Có rất nhiều loại xi lanh khí nén khác nhau về cấu tạo, kích cỡ, chức năng
chẳng hạn như xi lanh vuông, xi lanh kẹp, xi lanh bàn trượt. Nhưng nhìn chung có 2
loại xi lanh khí nén chính: xi lanh tác dụng đơn và xi lanh tác dụng kép.
Xi lanh tác dụng đơn: là loại xi lanh sử dụng khí nén để làm cho pít tông di
chuyển theo một hướng nhất định (thường sử dụng van điện từ 3/2).
Xi lanh tác dụng kép: là loại xi lanh hoạt động theo hành trình 2 chiều đẩy ra
và rút lại ( thường sử dụng van điện từ 4/2,5/2,5/3 ).
Hiện nay các công ty sản xuất xi lanh khí nén nổi tiếng với chất lượng tốt và
được ứng dụng rộng rãi với giá trị sản phẩm tương ứng với chất lượng như:
STNC,SMC,ARITAC,TPC…
Có rất nhiều loại xi-lanh trên thị trường, mỗi loại đều có những ưu điểm và
nhược điểm riêng. Sau khi tìm hiểu và khảo sát, nhóm đề tài quyết định chọn xi
lanh khí nén làm cơ cấu phân loại vì những lí do sau:
• Vấn đề vệ sinh: thay vì phải dùng dầu thủy lực ở xi-lanh thủy lực, xi lanh
khí nén dùng không khí làm môi chất để vận hành. Dầu thủy lực thường
bẩn, gây ô nhiễm khi bị rò ra bên ngoài môi trường.
• Tác động nhanh: xi-lanh khí nén có tốc độ tác động nhanh hơn những loại
xi-lanh khác. Ở chế độ làm việc bình thường, xi-lanh khí nén có thể đạt
vận tốc 10m/s. Tuy nhiên ở phạm vi đề tài, do đối tượng được tác động
lực là cà chua nên yếu tố tốc độ không yêu cầu cao.
• Nguồn khí nén thuận tiện: việc vận hành xi-lanh khí nén đòi hỏi phải
cung cấp một lượng khí ổn định theo đúng yêu cầu. Các máy nén khí
được bày bán rộng rãi trên thị trường với đa dạng kích thước và mẫu mã,
phù hợp cho việc vận hành nhiều kích cỡ xi-lanh khác nhau.
• Dễ dàng trong việc chuyển động tịnh tiến. Điều này giúp cho quá trình
đẩy cà chua xuống rãnh không bị lệch phương hướng.
• Lắp đặt linh hoạt và giá thành phải chăng.
Ở đề tài này, van điện từ sẽ đảm nhiệm việc đóng xả khí cho xi-lanh khí nén,
giúp xi-lanh có thể đẩy ra và thu lại vị trí ban đầu.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH
28
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
Như vậy, để có thể điều khiển 4 xi-lanh khí nén, Raspberry Pi cần điều khiển
đóng mở relay kích và ngắt điện nhằm điều khiển trạng thái đóng mở của van điện
từ.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH
29
CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ
ĐỘNG CƠ DC,
VAN ĐIỆN TỪ
KHỐI ADC
Khối nguồn: Cung cấp nguồn điện để khối xử lý trung tâm, khối thu (camera,
cảm biến load cell), khối chuyển đổi ADC, hệ thống băng chuyền (động cơ DC) và
cơ cấu phân loại dùng xi-lanh.
Khối xử lý trung tâm: Đảm nhận nhiệm vụ xử lý chính, nhận tín hiệu hình
ảnh từ khối thu tín hiệu hình ảnh(camera), nhận tín hiệu cân nặng từ khối ADC, sau
đó
xử lý hình ảnh và cân nặng, so sánh với dữ liệu đọc từ firebase đưa ra kết luận về
loại sản phẩm, hiển thị giao diện đếm sản phẩm và điều khiển xi-lanh sao cho phù
hợp.
Khối thu tín hiệu hình ảnh: Có chức năng thu thập tín hiệu hình ảnh từ thực
tế chuyển về tín hiệu điện và gửi dữ liệu cho Khối xử lý trung tâm. Ở đây dùng USB
Camera Raspberry Pi làm khối thu tín hiệu hình ảnh.
Khối thu tín hiệu cân nặng (loadcell): Sử dụng loadcell 1kg thu thập tín hiệu
cân nặng từ thực tế (tín hiệu dạng tương tự) đưa về khối chuyển đổi ADC.
Khối chuyển đổi ADC: Chuyển tín hiệu tương tự cân nặng(loadcell) sang tín
hiệu số để đưa về khối xử lý trung tâm.
Khối hiển thị: nhận tín hiệu từ khối xử lý trung tâm, hiển thị thông tin đặc
trưng từng loại sản phẩm và cập nhật số lượng mỗi loại sản phẩm thông qua giao
diện web và giao diện người dùng.
Ngoại vi: Nhận tín hiệu từ khối xử lý trung tâm tiến hành điều khiển hoạt động
đóng mở relay nhằm điều khiển hành trình của xi-lanh.
Hình 3. 2 Sơ đồ kết nối module camera USB với Raspberry Pi qua 1 hub
Ngoài ra, để camera có thể thu được hình ảnh của cà chua với chất lượng ảnh
chân thực về màu sắc, nhóm đề tài sử dụng một buồng chụp ảnh với chức năng chính
là tạo khung đặt camera, cung cấp nguồn sáng trắng ổn định và phù hợp cho môi
trường chụp ảnh, cách ly quả cà chua với những nguồn sáng gây nhiễu từ môi trường
bên ngoài. Bên cạnh đó, để quá trình đọc cân nặng và chụp ảnh được diễn ra đúng
thời gian yêu cầu, một bàn cân sử dụng cảm biến cân nặng loadcell được đặt tại mặt
đáy buồng chụp ảnh ngay mặt dưới của băng tải (nhóm đề tài trình bày tại phần sau).
Việc thiết kế và tính toán để chọn các linh kiện của buồng chụp ảnh được trình bày
sau đây:
Để ổn định nguồn sáng trắng, nhóm sử dụng 4 đèn led siêu sáng K3E19-3 với
công suất tiêu thụ 3W, dòng điện: 600mA - 750mA, điện áp: 3.5V, độ sáng: 180LM
200LM, dải nhiệt độ hoạt động: -20oC – 60oC.
Về kích thước, buồng chụp ảnh được thiết kế phù hợp với kích thước của
băng tải, với các thông số được thể hiện ở hình sau:
Hình 3. 4 Sơ đồ bố trí buồng chụp ảnh (nhìn từ trên xuống)
• Chiều dài: CD = 30 cm
• Chiều rộng: CR = 15 cm
• Chiều cao: CC = 50 cm
• Khoảng cách từ camera đến băng tải: D ≈ 50 cm
3.2.2. Khối thu tín hiệu cân nặng (loadcell) và khối ADC (module HX711)
Vì trọng lượng của một quả cà chua thường dưới 300g nên nhóm đề tài dùng một
module cảm biến cân nặng có giá trị đo tối đa là 1kg (loadcell 1kg). Ngoài ra để thực
hiện chuyển đổi tín hiệu cân nặng mà loadcell đo được về dạng tín hiệu số mà
Raspberry Pi có thể xử lý, nhóm đề tài sử dụng thêm một module chuyển đổi tín hiệu
từ dạng tương tự sang tín hiệu dạng số (HX711).
Module ADC HX711 là một module chuyển đổi analog sang digital 24-bit
(phù hợp với tín hiệu cân nặng đầu vào từ loadcell), được thiết kế để chuyển đổi tín
hiệu. HX711 có tính tích hợp cao, phản ứng nhanh, thời gian chuyển đổi tín hiệu
ngắn, khả năng chống nhiễu, và độ tin cậy cao. Module còn được bày bán rộng rãi
trên thị trường với giá cả phải chăng nên việc tiếp cận và sử dụng module khá dễ
dàng. Vì thế nhóm đề tài chọn module HX711 làm ADC giao tiếp giữa Raspberry Pi
và loadcell.
Ngoài ra với yêu cầu về dòng điện và điện áp hoạt động (sẽ được trình bày ở
phần Khối nguồn), Raspberry Pi cần thêm 1 jack nguồn kết nối với 1 adapter
5V/2A, sử dụng cổng micro USB.
Chọn thẻ nhớ lưu dữ liệu: Muốn chạy được chương trình trên máy tính Nhúng
ta cần phải có hệ điều hành được cài sẵn trên thẻ nhớ. Vì hệ điều hành Raspbian
chiếm 4GB dung lượng chưa kể các dữ liệu, chương trình, phần mềm liên quan đến,
chính vì vậy chọn loại thẻ nhớ tối thiểu 8GB, ở đây nhóm chọn loại thẻ nhớ
MicroSD 16GB có tốc độ đọc lên tới 48MB/s vì tốc độ đọc ảnh hưởng tới tốc độ xử
lý dữ liệu của các chương trình chính nên 48MB/s là tốc độ hợp lý.
Động cơ DC có nhiêm vụ làm quay trục quay băng chuyền để tải cà chua từ
buồng chụp ảnh đến các rãnh phân loại.
TRỤC QUAY
Qua khảo sát cho thấy, trọng lượng của một quả cà chua không quá 200g nên
gây ra tổn hao về lực không đáng kể. Vì thế động cơ DC chỉ hoạt động ở chế độ có
tải duy nhất là trục quay của băng chuyền. Tốc độ phù hợp để băng chuyền tải cà
chua sao cho Raspberry Pi có thể đọc giá trị cân nặng, chụp ảnh và xử lý quả cà chua
là từ 15 vòng/phút đến 30 vòng/phút (tốc độ quay của trục băng tải). Chọn tỉ số
truyền động giữa trục quay băng tải và trục quay motor là 3:1, ta có được tốc độ
động cơ DC khi kéo tải (trục quay của băng tải) là 90 vòng/phút.
Có nhiều loại động cơ DC được bày bán rộng rãi trên thị trường, trong đó
động cơ giảm tốc DC 12V JGB37-3530 có các thông số kỹ thuật phù hợp với yêu
cầu vận hành của đề tài. Hình ảnh thực tế và các thông số kỹ thuật của động cơ được
trình bày dưới đây:
Để điều khiển tốc độ quay của trục băng tải, nhóm đề tài sử dụng thêm một
module điều khiển tốc độ động cơ sử dụng phương pháp điều chế xung PWM (Pulse
Width Modulation)
PWM là phương pháp điều khiển động cơ mà qua đó chúng ta có thể tạo ra
điện áp thay đổi bằng cách bật và tắt nguồn điện đến thiết bị điện tử với tốc độ
nhanh. Điện áp trung bình phụ thuộc vào chu kỳ làm việc của tín hiệu hoặc lượng
thời gian tín hiệu BẬT so với lượng thời gian tín hiệu TẮT trong một khoảng thời
gian quy định.
Hình 3. 12. Nguyên lý làm việc của PWM – Điều chế độ rộng xung.
IC 555 có khả năng tạo tín hiệu PWM khi được thiết lập để hoạt động ở chế độ
dao động bất ổn (astable)
Hình 3. 13. Mạch điều khiển tốc độ động cơ DC bằng phương pháp PWM dùng IC
555
Thông thường điện trở R1 nhỏ hơn nhiều so với điện trở của biến trở, ví dụ, 1K
so với 100K của biến trở. Bằng cách đó, có thể điều khiển 99% điện trở nạp và xả
trong mạch. Chân điều khiển của IC 555 không được sử dụng nhưng nó được kết nối
với tụ điện 100nF để loại bỏ bất kỳ nhiễu bên ngoài nào từ chân đó. Thiết lập lại,
chân số 4, hoạt động ở mức thấp, do đó, nó được kết nối với VCC để ngăn chặn bất
kỳ thiết lập lại không mong muốn nào của đầu ra.
Đầu ra của IC 555 có thể để trống hoặc cấp dòng điện 200mA cho tải. Vì vậy, nếu
động cơ mà chúng ta muốn điều khiển vượt quá định mức này, chúng ta cần sử dụng
transistor hoặc MOSFET để điều khiển động cơ. Trong trường hợp này, nhóm
đã sử dụng một transistor Darlington (TIP122) có thể xử lý dòng điện lên tới 5A,
thuận lợi cho việc phát triển đề tài sau này.
• Module điều khiển động cơ theo phương pháp băm xung PWM, cho
phép tốc độ động cơ tăng tuyến tính và không bị giật.
• Sử dụng dễ dàng với 2 dây cấp nguồn và 2 dây ngõ ra động cơ. • Module
hoạt động với hiệu suất cao, cho mô-men lớn mà không làm nóng động
cơ quá mức qui định.
• Module thích hợp với điều khiển động cơ công suất nhỏ.
• Module điều khiển động cơ DC theo phương pháp PWM, điều khiển
bằng biến trở.
• Điện áp hoạt động: 12VDC – 40 VDC
• Công suất điều khiển: 0,001 ÷ 400W
• Dòng điện hoạt động (standby): 20mA
• Tần số băm xung PWM: 13KHz
• Phạm vi điều chỉnh PWM: 10% – 100%
• Chế độ bảo vệ ngược nguồn cung cấp, bảo vệ quá tải động cơ. •
Kích thước 60mm x 55mm x 28 mm.
Để tiến hành đẩy cà chua xuống rãnh, nhóm sử dụng 4 xi-lanh khí nén và 4 cảm
biến tiệm cận để thông báo sự hiện diện của cà chua nằm trên hành trình của xi lanh.
Hình dưới thể hiện việc bố trí các xi-lanh và cảm biến tiệm cận trên băng tải:
Hình 3. 17 Sơ đồ bố trí các xi-lanh và cảm biến tiệm cận trên băng tải
Việc tính chọn xi-lanh dựa vào yêu cầu hoạt động của hệ thống được trình bày
như sau:
Sau khi khảo sát, nhóm đề tài ghi nhận lực cần thiết để đẩy cà chua xuống
rảnh mà không gây ra hư hại về mặt vật lý là Fmin ≤ Fđẩy ≤ Fmax, với Fmin =2(N) và
Fmax =4(N). Đây cũng là độ lớn mà lực Ftiến cần khi xi-lanh tác động đẩy ra. Công
thức tính toán Ftiến được trình bày ở công thức (1) sau:
������ế�� = ������2
4 (N)
Với:
Ngoài Ftiến, xi-lanh còn một thông số là Flùi, cho biết độ lớn của lực khi
xi-lanh thu về. Ở phạm vi đề tài, xi-lanh chỉ cần đẩy ra nhằm đưa cà chua vào rãnh
rồi thu về cho nên nhóm đề tài không tính toán lực thu về Flùi của xi-lanh
Căn cứ vào bề rộng của băng tải là 20cm, nhóm chọn xi-lanh có hành trình
150mm. Theo khảo sát, nhóm đề tài chọn xi-lanh khí nén tác động kép MAL16X150
(có D = 16 mm và độ dài hành trình L=150mm). Chúng ta cần:
❖ Fđẩy = Ftiến
⇒4�� ������
2 4��
���� ≤ p ≤ ������
2
����
⇔4.2
2
��.16 ≤ p ≤ 4.4
2
��.16 ⇔4.2
2
��.16≤ p ≤ 4.4
2
��.16 ⇔ 9,95.10-3 ≤ p ≤ 19,9.10-3(Pa)
Vậy giá trị áp suất p khí được nén vào xi-lanh nằm trong khoảng từ 10 (Pa)
đến 20 (Pa). Nhóm đề tài sử dụng van tiết lưu khí nén để chủ động kiểm soát đại
lượng p.
Van điện từ được sử dụng để điều khiển hành trình của xi-lanh khí nén (đẩy ra
hoặc thu về). Khi có xung điện áp, cuộn dây trong van được tác động tạo ra sự thay
đổi trạng thái của van. Nhóm đề tài sử dụng thêm mạch relay trung gian để điều
khiển sự thay đổi trạng thái này dựa vào tín hiệu output tại các PIN GPIO (21, 20,
16, 12) ngõ ra của Raspberry Pi 3 model B.
Python đi kèm với một hướng đối tượng tiêu chuẩn giao diện Tk GUI API
được gọi là Tkinter (Tkinter in 2.X) cho phép các chương trình Python triển khai
GUI di động với giao diện gốc. Ngoài ra, GUI của wxPython, dựa trên thư viện C
++, cung cấp một bộ công cụ thay thế để xây dựng GUI di động bằng Python.
HTML (tiếng Anh, viết tắt cho HyperText Markup Language, hay là "Ngôn
ngữ Đánh dấu Siêu văn bản") là một ngôn ngữ đánh dấu được thiết kế để tạo nên các
trang web với các mẩu thông tin được trình bày trên World Wide Web. HTML cùng
với CSS và JavaScript đã tạo ra bộ ba nền tảng kỹ thuật cho World Wide Web.
Firebase là một nền tảng phát triển ứng dụng di động và web được phát triển
bởi Firebase, Inc vào năm 2011, sau đó được Google mua lại vào năm 2014. Tính
đến tháng 10 năm 2018, nền tảng Firebase có 18 sản phẩm, được sử dụng bởi 1,5
triệu ứng dụng. Sản phẩm đầu tiên của Firebase là Cơ sở dữ liệu thời gian thực
Firebase (the Firebase Real-time Database), API đồng bộ hóa dữ liệu ứng dụng trên
các thiết bị iOS, Android và Web lưu trữ trên đám mây của Firebase. Sản phẩm hỗ
trợ các nhà phát triển phần mềm xây dựng các ứng dụng hợp tác, thời gian thực.
dụng những bộ nguồn độc lập và được thi công sẵn, với ưu điểm đáp ứng được mức
điện áp và dòng điện một cách ổn định, giá thành hợp lý và được bán rộng rãi trên thị
trường, tiết kiệm thời gian thi công mạch nguồn, an toàn cho người sử dụng… Hệ
thống bao gồm 5 bộ nguồn: 1 adapter(5V, 2.5A) sử dụng cho Raspberry Pi; 1 bộ
nguồn(12V, 5A) dùng cho băng tải; 1 bộ nguồn(24V, 5A) dùng cho mạch điều khiển
xi-lanh; 1 adapter(5V, 1.5A) sử dụng cho mạch kích relay, HX711, đèn led siêu
sáng(buồng chụp ảnh), nguồn 220V cung cấp cho màn hình LCD.
Đối với Raspberry Pi 3, các thông số sử dụng mức dòng điện sẽ được trình
bày ở bảng sau:
Thiết bị Dòng tiêu thụ Số lượng Ghi chú Raspberry Pi 3 900mA 1 Khi kit
Bàn phím và
chuột100 – 1000mA 1
GPIO 25mA 12
Tổng cộng 1530mA Dòng tối thiểu cung cấp cho Pi Thông tin các linh kiện sử
.
Hình 3. 19 . Nguồn 5V 1.5 A cung cấp cho board mạch chính
• 1 mô hình băng tải (gồm 1 băng tải, 4 xi-lanh khí nén, 4 van điện từ, 4 cảm
biến tiệm cận hồng ngoại): tải cà chua đến các vị trí xilanh đã định sẵn, nhằm
đẩy cà chua xuống rãnh theo đúng loại.
• 1 buồng chụp ảnh (bao gồm 1 camera, 1 loadcell, 1 cảm biến hồng ngoại, 4
bóng đèn led siêu sáng) có chức năng chụp ảnh và ghi nhận trọng lượng của
cà chua
• 1 Kit Raspberry Pi 3 Model B
• 1 Board mạch thực hiện chức năng kết nối các ngõ IN/OUT GPIO của
Raspberry Pi với các ngoại vi.
Bảng 4. 1. Thông tin các thiết bị, linh kiện sử dụng cho mạch
TT Tên linh kiện Thông số, giá trị Kích thước, dạng vỏ
Hình 4. 3.
Động cơ DC kéo trục quay băng tải nhờ hệ thống bánh răng và dây đai.
Camera
USB Pi
Bốn đèn led siêu sáng được bố trí ở 4 góc trên cùng của buồng chụp ảnh để
đảm bảo cung cấp ổn định nguồn sáng trắng cho việc chụp ảnh.
Sau khi thực hiện công đoạn lắp ráp và kiểm tra nhóm tiến hành bố trí các
thành phần và hoàn thiện hệ thống để dễ dàng vận chuyển, vận hành, đảm bảo an
toàn khi sử dụng.
Hình 4. 7. . Bố trí và lắp đặt các module, board mạch chính, kit Raspberry Pi 3
- Chuột, bàn phím và màn hình LCD giúp người dùng giao tiếp với Raspberry
Pi
- Buồng chụp ảnh: giúp hệ thống thu tín hiệu hình ảnh và giá trị cân nặng. -
Bình chứa khí: cung cấp khí cho xi-lanh khí nén.
- Xi-lanh được gắn đầu đệm tiếp xúc: giúp đẩy cà chua xuống rảnh mà không bị
hư hỏng.
- Board mạch chính, Raspberry Pi và các module thành phần (HX711, PWM)
được đóng gói trong hộp điện điều khiển.
Từ yêu cầu đã xác định của đề tài nhóm xây dựng lưu đồ giải thuật chương
trình chính như sau:
S
Level = 1|2|3|4 Thoát chương
trình
Khai báo thư
viện, khởi tạo giá
trị ban đầu của Đ
biến
Khai báo GPIO
Kết thúc
S
Xử lý hình ảnh Xi-lanh tác động Thay đổi thông số qua
trang web
Đầu tiên, thực hiện khai báo thư viện, khởi tạo các biến, cấu hình các thiết bị
ngoại vi.... sau đó giao diện người dùng (gồm các thông số loại cà chua và số lượng
mỗi loại) sẽ được hiển thị trên màn hình LCD. Nếu muốn thay đổi các thông số phân
loại, ta sẽ thực hiện việc thay đổi đó thông qua một giao diện webserver. Hệ thống sẽ
tự động cập nhật những thông số cài đặt mới đó. Ngược lại, nếu không có nhu cầu
thay đổi thông số, hệ thống sẽ thực hiện việc phân loại với các thông số đã thiết lập
từ trước. Màn hình máy tính lúc này sẽ hiển thị số lượng sản phẩm đếm được ở mỗi
loại, đồng thời cho biết đặc trưng màu sắc và cân nặng ở từng loại.
Tiếp tục quá trình vận hành, băng chuyền tải cà chua vào buồng chụp,
Raspberry Pi ghi nhận tín hiệu hình ảnh và cân nặng lần lượt thu được từ camera và
loadcell. Sau đó, Raspberry Pi sẽ xử lý, phân tích và cho ra kết luận cuối cùng về loại
của cà chua. Khi đã có kết luận về loại cà chua. Các xi-lanh khí nén sẽ tác động đẩy
cà chua xuống rãnh khi có tín hiệu điều khiển từ Raspberry Pi. Đồng thời, hệ thống
đếm số lượng các loại và cập nhật lên giao diện hiển thị. Các tín hiệu điều khiển này
được tạo thành khi Raspberry Pi nhận được tín hiệu tác động từ cảm biếm tiệm cận
hồng ngoại, cho biết cà chua đã vào đúng tầm ngắm của xi-lanh khí nén.
Qúa trình tiếp tục lặp lại đối với quả cà chua tiếp theo cho đến khi ta dừng
chương trình.
• Chụp ảnh: Thao tác chụp và lưu lại ảnh của camera.
• Xử lý ảnh
S
Level = 1|2|3|4 Thoát chương
trình
S
Xử lý hình ảnh Xi-lanh tác động Thay đổi thông số qua
trang web
Đầu tiên Raspberry Pi sẽ tiến hành đọc hình ảnh đã lưu ở trên (image là tên
ảnh) sau đó chuyển ảnh từ hệ màu RGB sang hệ màu HSV sử dụng lệnh chuyển đổi
của thư viện Open Cv:
Sau đó tiến hành tìm vùng màu tương ứng (đỏ, cam, xanh) theo giới hạn màu
đã định nghĩa trước, xử lý lọc nhiễu và tính số lượng pixel của mỗi màu Xi (Xđỏ,
Xcam, Xxanh) sử dụng lệnh
Xđỏ = cv2.countNonZero(đỏ)
Tính % số pixel mỗi màu Si (Sđỏ, Scam, Sxanh) bằng công thức:
Si = (Xi*100)/Y
Trong đó: Y là tổng số các pixel của ba vùng màu (đỏ, cam, xanh) có trong bức
hình.
Bước tiếp theo sẽ so sánh giá trị Si và giá trị Sset (thường có giá trị 60%) nếu Si
> Sset ta sẽ tiến hành gán giá trị True cho cờ màu tương ứng ngược lại sẽ gán giá trị
False.
Bắt đầu
Tổ hợp 3 cờ
màu, giá trị
cân nặng
(X)
S S S
Trạng thái 2
Trạng thái 3
B1<X<B2
C1<X<C2 Trạng thái 4
Trạng thái 1 S D1<X<D2
A1<X<A2
Đ
ĐĐ
Đ
Kết thúc
- (A1, A2), (B1, B2), (C1, C2), (D1, D2) là những khoảng giới hạn trọng
lượng ở mỗi loại.
- Tổ hợp của 3 cờ màu là trạng thái của 3 cờ màu sau khi phân tích xử lý
ảnh ở bước trên(True/False).
- Trạng thái 1,2,3,4 là các tổ hợp 3 cờ màu mà người dùng đã thiết lập từ
trang web.
Giải thích lưu đồ: Với các biến cờ màu (mang giá trị True/False) có được sau
quá trình xử lý ảnh, khối xử lý trung tâm sẽ kết hợp giá trị các cờ màu này với giá trị
cân nặng đã đọc ở trên, đem so sánh và đối chiếu với dữ liệu đọc về từ firebase để
xác định được loại của quả cà chua đưa vào buồng chụp sau đó đưa ra kết luận cuối
cùng (“Loại 1”, “Loại 2”, “Loại 3”, “Loại 4”, “Loại 5”).