THIẾT KẾ, CHẾ TẠO MÔ HÌNH PHÂN LOẠI TÁO THÔNG QUA KÍCH THƯỚC CỦA TRÁI

73 373 1
THIẾT KẾ, CHẾ TẠO MÔ HÌNH PHÂN LOẠI TÁO THÔNG QUA KÍCH THƯỚC CỦA TRÁI

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NÔNG LÂM THÀNH PHỐ HỒ CHÍ MINH KHĨA LUẬN TỐT NGHIỆP THIẾT KẾ, CHẾ TẠO MƠ HÌNH PHÂN LOẠI TÁO THƠNG QUA KÍCH THƯỚC CỦA TRÁI Họ tên sinh viên: MAI THẾ KIỆT VÕ ĐỨC BẢY Chuyên Ngành: CƠ ĐIỆN TỬ Niên khóa: 2014-2018 Tháng 06 năm 2018 THIẾT KẾ, CHẾ TẠO MƠ HÌNH PHÂN LOẠI TÁO THƠNG QUA KÍCH THƯỚC CỦA TRÁI Tác giả MAI THẾ KIỆT VÕ ĐỨC BẢY Khóa luận tốt nghiệp đệ trình đáp ứng yêu cầu cấp Kỹ sư ngành Cơ Điện Tử Giáo viên hướng dẫn: Th.S TRẨN THỊ KIM NGÀ Tháng 06 năm 2018 LỜI CẢM ƠN Em xin trân trọng cảm ơn tất quý thầy cô trường Đại học Nơng Lâm TP.Hồ Chí Minh q chầy khoa Cơ Khí - Cơng Nghệ trang bị cho em kiến thức quý báu giúp đỡ em suốt trình học tập trường Em xin chân thành cảm ơn thầy cô môn Cơ Điện Tử giúp đỡ chúng em nhiệt tình thời gian thực đề tài Em xin bày tỏ biết ơn chân thành cô Trần Thị Kim Ngà tận tình hướng dẫn em suốt trình làm Luận văn tốt nghiệp Đặc biệt, em xin cảm ơn quý thầy cô hội đồng dành thời gian nhận xét góp ý để luận văn em hoàn thiện Cuối cùng, em xin gửi lời cảm ơn đến người thân bạn bè động viên, ủng hộ tạo cho em điều kiện thuận lợi suốt q trình hồn thành luận văn TPHCM, ngày tháng 06 năm 2012 Sinh viên thực MAI THẾ KIỆT VÕ ĐỨC BẢY TÓM TẮT Đề tài nghiên cứu “ Thiết kế, chế tạo mơ hình phân loại táo thơng qua kích thước trái ” thực trường Đại Học Nơng Lâm Thành Phố Hồ Chí Minh, thời gian từ tháng đến tháng năm 2018 Đề tài thiết kế chế tạo mơ hình phân loại táo với ba kích cỡ khác nhau, sử dụng ngơn ngữ lập trình python xây dựng chương trình xử lý ảnh trích xuất đại lượng đặc trưng kích thước táo, kết hợp chương trình xử lý ảnh chương trình điều khiển phận phân loại mơ hình Thiết kế mạch điều khiển động lực để vận hành mơ hình Đề tài sử dụng máy tính nhúng Raspberry Pi3 làm xử lý trung tâm đáp ứng tốc độ xử lý cho trình phân loại, kết hợp với lập trình xử lý ảnh để nhận dạng tách đối tượng tính kích thước Sau đó, kết hợp với hệ thống động cơ, cảm biến để phân loại loại riêng biệt Đây xem kết đề tài Do thời gian thực hạn chế, mức độ rộng lớn đề tài, nên dù cố gắng phương án giải toán chúng em chắn khơng thể tránh khỏi thiếu sót Chúng em mong nhận đóng góp ý kiến quý thầy cô bạn bè để đề tài em hoàn thiện MỤC LỤC DANH SÁCH CHỮ TẮT CGA .(Color Graphic Adaptor) MP4 (Moving Picture ) IMG (Image) RGB (Red Green Blue) HSV (Hue Saturation Value) HLS (Hue Lightness Saturation CMYK (Cyan Magenta Yellow Key) CIE .(Commission Internationale d’Eclairage) RAM (Random Access Memory) CPU ARM (Central Processing Unit Advanced RISC Machine) LAN (Local Area Network) LPDDR2 memory .(Low-power Double Data Rate 2) GNU/ linux (GNU is Not Unix) USB (Universal Serial Bus) HDMI (High-Definition Multimedia Interface) RCA (Radio Corporation of America) GPIO pins (General-purpose input/output) DSI .(Display Serial Interface) SD Card (Secure Digital Card) IPS ( Instrument Pointing System) LCD (Liquid Crystal Display) DC (Direct Current chiều) PAL / NTSC (Phase Alternative Line/ National Television System Committee) HID .(Human Interface Design) Mạch cầu H (H-Bridge Circuit) GND (Ground) BJT (Bipolar Junction Transistor) MOSFET (Metal Oxide Semiconductor Field-Effect Transistor) LED (Light Emitting Diode) ASIC ( Application Specific Integrated Circuit) 3D CAD (Computer-aided design) UNIX (Uniplexed Information and Computing System) GUI .(Graphical User Interface) DANH SÁCH CÁC BẢNG Bảng 3.1 Thời gian biểu thực đề tài 26 Bảng 4.1 Khảo nghiệm 100 lần với 50 táo lớn 50 Bảng 4.2 Khảo nghiệm 100 lần với 50 táo trung .51 Bảng 4.3 Khảo nghiệm 100 lần với 50 táo nhỏ 52 Bảng 4.4 Khảo nghiệm 100 lần 100 táo loại 53 DANH SÁCH HÌNH ẢNH Hình 1.1 Kiểm tra lại sản phẩm sau phân loại cà chua .2 Hình 1.2 Hình ảnh máy rửa phân loại cà chua tự động Hình 1.3 Mơ hình máy có dạng chữ L .3 Hình 1.4 Máy phân loại dưa hấu Hình 1.5 Máy phân loại táo Hình 1.6 Máy phân loại chanh Hình 2.1 Ma trận biểu diển ảnh nhị phân Hình 2.2 Ma trận biểu diễn ảnh xám Hình 2.3 Ma trận biểu diễn mức xám thành phần RED .8 Hình 2.4 Ma trận biểu diễn mức xám thành phần GREEN Hình 2.5 Ma trận biểu diễn mức xám thành phần BLUE Hình 2.6 Hệ trục tọa độ Red Green Blue 10 Hình 2.7 Mơ hình không gian màu RBG 11 Hình 2.8 Mơ hình khơng gian màu HSV 11 Hình 2.9 Mơ hình khơng gian màu HSV 11 Hình 2.10 Mơ hình màu HLS 12 Hình 2.11 Mơ hình màu L*a*b 13 Hình 2.12 Biến đổi fourier .13 Hình 2.13 Module Raspberry Pi 15 Hình 2.14 Module Raspberry Pi Camera 16 Hình 2.15 Mặt trước hình Raspberry Pi 17 Hình 2.16 Mặt sau hình Raspberry Pi .18 Hình 2.17 Mạch cầu H .18 Hình 2.18 Nguyên lý hoạt động mạch cầu H 19 Hình 2.19 Module L298 19 Hình 2.20 Cảm biến quang .20 Hình 2.21 Mạch xử lý tín hiệu .21 Hình 2.22 Cơng tắc hành trình 22 Hình 2.23 Cách đấu dây sơ đồ cơng tắc hành trình .22 Hình 2.24 Logo phần mềm lập trình python 23 Hình 2.25 Logo opencv 24 Hình 3.1 Module Raspberry Pi 27 Hình 3.2 Module Camera Pi 27 Hình 3.3 Màn Hình inch HDMI LCD (C), IPS,Cảm Ứng Điện Dung Waveshare .27 Hình 4.1 Mơ hình 3D tổng qt .29 Hình 4.2 Bản vẽ 2D khung .31 Hình 4.3 Bản vẽ 3D khung .31 Hình 4.4 Bản vẽ 2D trục đai .32 Hình 4.5 Bản vẽ 3D trục đai .32 Hình 4.6 Bản vẽ 3D hộp chụp xử lý ảnh 33 Hình 4.7 Bản vẽ 2D hộp chụp xử lý ảnh 33 Hình 4.8 Bản vẽ 3D hộp điện 34 Hình 4.9 Bản vẽ 2D hộp điện 34 Hình 4.10 Bản vẽ 3D khay to ,trung 35 Hình 4.11 Bản vẽ 2D khay to ,trung 35 Hình 4.12 Bản vẽ 3D khay nhỏ 36 Hình 4.13 Bản vẽ 2D khay nhỏ 36 Hình 4.14 Bản vẽ 3D nắp hộp điện 37 Hình 4.15 Bản vẽ 2D nắp hộp điện 37 Hình 4.16 Bản vẽ 3D trục bánh ren 38 Hình 4.17 Bản vẽ 2D trục bánh ren 38 Hình 4.18 Bản vẽ 3D mơ hình phân loại táo 39 Hình 4.19 Bản vẽ 2D mơ hình phân loại táo 39 Hình 4.20 Mơ hình phân loại táo thực tế 40 Hình 4.21 Sơ đồ khối mơ hình 40 Hình 4.22 Sơ đồ mạch điện 41 Hình 4.23 Hộp điện lắp linh kiện điện tử nối dây 42 Hình 4.24 Sơ đồ khối bước xử lý điều khiển 42 Hình 4.25 Hình ảnh gốc thu từ camera .43 Hình 4.26 Hình ảnh chuyển ảnh xám 44 10  Khối Tìm contour tính diện tích Hình ảnh lọc tìm biên táo, sau vẽ đường biên Hình 4.28 Tìm contour táo Số điểm ảnh nằm vùng đường biên màu xanh hệ thống đếm xuất màng hình Hình 4.29 Tính kích thước táo 4.4.2 Giải thuật phân loại táo theo kích thước Bắt đầu Sa Kiểm tra cảm biến buồng chụp ảnh thu nhận ảnh Chuyển ảnh xám chuyển nhị phân,tính kích thước Diện tích >= 62000pixel? Loại A Sai Diện tích >= 50000pixel? Loại B Sai Loại C cảm biến phận phân loại? Sai ` Phát lệnh điều khiển phân loại Kiểm tra tín hiệu kết thúc? Kết thúc Sai 4.4.3 Giải thích q trình hoạt động hệ thống Khi bắt đầu chương trình hệ thống kiểm tra cảm biến buồng chụp ảnh Nếu phát có táo qua, hệ thống tiến hành thu ảnh gốc RGB Sau đó, chương trình xử lý ảnh táo, tách đối tượng để tìm contour táo tính kích thước Tiếp theo, hệ thống so sánh kích thước vừa chụp với kích thước mẫu Nếu kích thước nằm khoảng kích thước loại A gán trái vừa chụp loại A Nếu kích thước nằm khoảng kích thước loại B gán trái vừa chụp B Nếu kích thước nhỏ loại B gán trái vừa chụp loại C Sau đó, cảm biến phận phân loại kiểm tra táo đến điều khiển phân loại phân loại khây chứa tương ứng Quá trình thực liên tục nhận tín hiệu kết thúc hệ thống dừng Hình 4.30 Vận hành thực tế mơ hình 4.5 Khảo nghiệm thực tế kết  Các bước tiến hành đo kích thước lấy mẫu chuẩn cho loại: - Bước : Phân loại táo mắt thường loại: loại A, loại B, loại C - Bước : Kiểm tra lại mẫu vừa phân loại bước thước đo để tính kích thước thực tế Từ phân loại mẫu theo kích thước đo - Bước 3: Dựa vào mẫu phân loại theo kích thước thực tế ta đưa vào chụp ảnh lấy thước theo pixel - Bước 4: Gán giá trị theo pixel loại vào chương trình phân loại xử lý ảnh  Sau lấy mẫu loại xong,ta tiến hành khảo sát thực tế có kết sau: Khi tiến hành phân loại 50 trái loại A (quả lớn) với 100 lần mơ hình Tốc độ phân loại 60 (trái / phút) có kết sau: số lần 10 … 90 91 92 93 94 95 96 97 98 99 100 kết tỷ lệ kết máy Trái lớn Trái lớn Trái lớn Trái trung Trái lớn Trái lớn Trái lớn Trái lớn Trái lớn Trái lớn … Trái lớn Trái lớn Trái lớn Trái lớn Trái lớn Trái lớn Trái lớn Trái lớn Trái lớn Trái lớn Trái lớn số lần 99 99% Xác nhận kết Đúng Đúng Đúng sai Đúng Đúng Đúng Đúng Đúng Đúng … Đúng Đúng Đúng Đúng Đúng Đúng Đúng Đúng Đúng Đúng Đúng số lần sai 1% Bảng 4.1 Khảo nghiệm 100 lần với 50 táo lớn Khi tiến hành phân loại 50 trái loại B (quả trung) với 100 lần mô hình Tốc độ phân loại 60 (trái / phút) có kết sau: số lần 10 … 90 91 92 93 94 95 96 97 98 99 100 kết tỷ lệ kết máy Trái trung Trái lớn Trái lớn Trái trung Trái trung Trái trung Trái trung Trái trung Trái trung Trái trung … Trái trung Trái trung Trái trung Trái nhỏ Trái trung Trái trung Trái trung Trái trung Trái trung Trái trung Trái trung số lần 98 98% Xác nhận kết Đúng Đúng Đúng sai Đúng Đúng Đúng Đúng Đúng Đúng … Đúng Đúng Đúng Sai Đúng Đúng Đúng Đúng Đúng Đúng Đúng số lần sai 2% Bảng 4.2: Khảo nghiệm 100 lần với 50 táo trung Khi tiến hành phân loại 50 trái loại C (quả nhỏ) với 100 lần mơ hình Tốc độ phân loại 60 (trái / phút) có kết sau: số lần 10 … 90 91 92 93 94 95 96 97 98 99 100 kết tỷ lệ kết máy Trái nhỏ Trái nhỏ Trái nhỏ Trái nhỏ Trái nhỏ Trái nhỏ Trái nhỏ Trái nhỏ Trái nhỏ Trái nhỏ … Trái nhỏ Trái trung Trái nhỏ Trái nhỏ Trái nhỏ Trái nhỏ Trái nhỏ Trái nhỏ Trái nhỏ Trái nhỏ Trái nhỏ số lần 99 99% Xác nhận kết Đúng Đúng Đúng sai Đúng Đúng Đúng Đúng Đúng Đúng … Đúng sai Đúng Đúng Đúng Đúng Đúng Đúng Đúng Đúng số lần sai 1% Bảng 4.3 Khảo nghiệm 100 lần với 50 táo nhỏ Khi tiến hành phân loại 100 trái loại A, loại B loại C với 100 lần mơ hình Tốc độ phân loại 60 (trái / phút) có kết sau: số lần 10 … 90 91 92 93 94 95 96 97 98 99 100 kết thực tế Trái to Trái to Trái nhỏ Trái to Trái trung Trái trung Trái trung Trái nhỏ Trái nhỏ Trái trung … Trái nhỏ Trái nhỏ Trái to Trái trung Trái to Trái to Trái to Trái nhỏ Trái nhỏ Trái trung Trái trung kết tỷ lệ kết máy Trái to Trái to Trái nhỏ Trái to Trái trung Trái trung Trái trung Trái nhỏ Trái nhỏ Trái trung … Trái nhỏ Trái nhỏ Trái nhỏ Trái trung Trái to Trái to Trái to Trái nhỏ Trái nhỏ Trái trung Trái trung số lần 98 98% Xác nhận kết Đúng Đúng Đúng sai Đúng Đúng Đúng Đúng Đúng Đúng … Đúng Đúng Sai Đúng Đúng Đúng Đúng Đúng Đúng Đúng số lần sai 2% Bảng 4.4 Hình khảo nghiệm 100 lần 100 táo loại  Kết luận: Độ xác trung bình bốn lần thử nghiệm (99% + 98% + 99% + 98%)/4 = 98.5% Vậy, qua kết khảo nghiệm cho thấy tỷ lệ xác phân loại mơ hình cao Chương KẾT LUẬN VÀ ĐỀ NGHỊ Quá trình thực kết hợp với lý thuyết sở tìm hiểu được, đề tài đạt số kết sau: 5.1 Kết đạt - Chương trình xây dựng máy tính nhúng Raspberry pi kết - nối với camera USB để thu ảnh Đã thiết kế chế tạo hoàn chỉnh mơ hình khí kết hợp với động - cảm biến để phân loại táo Xây dựng hồn chỉnh mạch điều khiển kết hợp với mạch cơng suất để - điều khiển cấu cách ổn định Xây dựng chương trình xử lý ảnh trích xuất đặc trưng kích - thước hình dạng táo Xây dựng thuật toán phân loại táo dựa vào kích thước Kết khảo nghiệm cho thấy hệ thống hoạt động tương đối nhanh, - xác ổn định Hệ thống điều khiển thiết kế dễ dàng sử dụng, có chức hỗ trợ giúp việc sử dụng dễ dàng 5.2 Hướng phát triển đề tài Chất lượng hình ảnh phụ thuộc nhiều vào độ phân giải camera Trong phạm vi đề tài sử dụng camera có độ phân giải 640x480, chọn camera có độ phân giải cao cho độ xác cao Tuy nhiên với độ phân giải cao đòi hỏi hệ thống máy tính có tốc độ cao Ngồi để tối ưu hóa phương pháp phân loại xử lí ảnh việc phân loại theo kích thước chưa đủ, chưa phát huy hết lợi ích từ phương pháp xử lí ảnh đối tượng xử lí hình ảnh màu sắc, mà tất phương pháp phân loại khác xử lí ví dụ phân loại theo độ chín trái cây, loại bỏ trái hư hỏng dựa vào màu sắc, phân loại hàng hóa dựa vào mẫu mã hình dáng, tự động nhận dạng vật thể dựa vào hình dáng kích thước…vì tương lai phát triển mơ hình theo hướng phù hợp phát huy hết tối ưu xử lí ảnh Do giới hạn đề tài tốt nghiệp nên dừng lại mơ hình Ta đưa vào ứng dụng thực tế đưa thiết kế, xử dụng thiết bị có độ xử lí độ ổn định cao hơn,thiết kế mạch công suất để điều khiển động có cơng suất lớn.Xây dựng hệ thống có quy mơ lớn để đáp ứng suất thay sức lao động người TÀI LIỆU THAM KHẢO  Tài liệu tiếng Việt [1] Đỗ Năng Tồn, Phạm Việt Bình (2008), Giáo trình xử lý ảnh – ĐH Thái Nguyên, Nxb Khoa học kỹ thuật, 2008 [2] Lương Mạnh Bá, Nguyễn Thanh Thủy (2003), Nhập Môn Xử lý ảnh số, Nxb Khoa học Kỹ thuật, 2003 [3] Nguyễn Kim Sách (1997), Xử lý ảnh Video số, Nxb Khoa học Kỹ thuật, 1997  Tài liệu tiếng Anh [4] John C.Russ (1995), The Image Procesing Handbook CRC Press, Inc [5] Adrian Low (1991), Introductory Computer Vision and Image Processing, Copyright (c) 1991 by McGrow Hill Book Company (UK) Limited [6] Anil K.Jain (1989), Fundamental of Digital Image Processing Prentice Hall, Engwood cliffs PHỤ LỤC import RPi.GPIO as GPIO import numpy as np import cv2 import time start=31 stop=35 pwmm=37 kiemtra=0 kiemtra1=0 cb1=11 cb2=12 ctht3=38 ctht4=40 dc1=26 dc2=29 cb3=19 ctht1=21 ctht2=22 dc3=23 dc4=33 GPIO.setmode(GPIO.BOARD) GPIO.setwarnings(False) cap = cv2.VideoCapture(0) dem=0 dem1=0 a=0 b=0 list=[0,0,0,0,0,0,0,0,0,0,0,0] if cap.isOpened() == False: print('Unable to open the camera') else: print('Start grabbing, press a key on Live window to terminate') def my_callback(channel): print('chup anh') global dem,list frame1=frame imgray = cv2.cvtColor(frame1, cv2.COLOR_BGR2GRAY) ret, thresh = cv2.threshold(imgray, 60,255, 0) im2,contours, hierarchy = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) cnt = contours[0] max1=cv2.contourArea(contours[0]) for i in range(0,len(contours)): cnt= contours[i] area = cv2.contourArea(cnt) if area>max1: max1=area j=i print(max1) x,y,w,h = cv2.boundingRect(contours[j]) cv2.rectangle(frame1,(x,y),(x+w,y+h),(0,255,0),2) ten=str(dem) ten=ten +'.jpg' cv2.imwrite(ten,frame1) if(max1>20000): list[dem]=max1 dem+=1 if dem==10: dem=0 def my_callback1(channel): global kiemtra,dem1,list #print ("falling edge detected on 11") if list[dem1]>=62000: list[dem1]=0 dem1+=1; if dem1==10: dem1=0 if ((GPIO.input(dc1)==0)&(GPIO.input(dc2)==0)): if kiemtra==0: GPIO.output(dc1,1) GPIO.output(dc2,0) else: GPIO.output(dc2,1) GPIO.output(dc1,0) def my_callback2(channel): global kiemtra1,dem1,list #print ("falling edge detected on 19") if ((list[dem1]=50000)): if ((GPIO.input(dc3)==0)&(GPIO.input(dc4)==0)): if kiemtra1==0: GPIO.output(dc3,1) GPIO.output(dc4,0) else: GPIO.output(dc3,0) GPIO.output(dc4,1) if(list[dem1]>20000 ): list[dem1]=0 dem1+=1; if dem1==10: dem1=0 GPIO.setup(cb1, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(cb2, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(ctht1, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) GPIO.setup(ctht2, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) GPIO.setup(dc1, GPIO.OUT) GPIO.setup(dc2, GPIO.OUT) GPIO.setup(cb3, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(ctht3, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) GPIO.setup(ctht4, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) GPIO.setup(dc3, GPIO.OUT) GPIO.setup(dc4, GPIO.OUT) GPIO.add_event_detect(cb1, GPIO.FALLING, callback=my_callback1, bouncetime=500) GPIO.add_event_detect(cb2, GPIO.FALLING, callback=my_callback, bouncetime=500) GPIO.add_event_detect(cb3, GPIO.FALLING, callback=my_callback2, bouncetime=500) GPIO.setup(start,GPIO.IN,pull_up_down=GPIO.PUD_DOWN) GPIO.setup(stop,GPIO.IN,pull_up_down=GPIO.PUD_DOWN) GPIO.setup(pwmm,GPIO.OUT) pwm=GPIO.PWM(pwmm,100) pwm.start(0) GPIO.output(dc1,1) GPIO.output(dc2,0) GPIO.output(dc3,1) GPIO.output(dc4,0) while(1): ret,frame = cap.read() imgray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) ret, thresh = cv2.threshold(imgray, 60,255, 0) cv2.imshow('dasa',frame) cv2.imshow('dwasa',thresh) if (GPIO.input(stop)==1): if b==1: print ('stop') pwm.ChangeDutyCycle(0) b=0 if (GPIO.input(start)==1): if b==0: print ('start') b=1 for t in range(0,101): pwm.ChangeDutyCycle(t) time.sleep(0.05) if ((GPIO.input(dc1)==1)&(GPIO.input(ctht1)==1)): GPIO.output(dc1,0) kiemtra=1 if ((GPIO.input(dc2)==1)&(GPIO.input(ctht2)==1)): GPIO.output(dc2,0) kiemtra=0 if ((GPIO.input(dc3)==1)&(GPIO.input(ctht3)==1)): GPIO.output(dc3,0) kiemtra1=1 if ((GPIO.input(dc4)==1)&(GPIO.input(ctht4)==1)): GPIO.output(dc4,0) kiemtra1=0 if ret==False: print('Unable to grab from the camera') if cv2.waitKey(1) & 0xFF == ord('q'): cap.release() out.release() cv2.destroyAllWindows() break ... vẽ 3D mơ hình phân loại táo 39 Hình 4.19 Bản vẽ 2D mơ hình phân loại táo 39 Hình 4.20 Mơ hình phân loại táo thực tế 40 Hình 4.21 Sơ đồ khối mơ hình 40 Hình 4.22... phí thời gian Với phân tích ta thấy quan trọng tự động hóa ngành nơng nghiệp Vì thế, nhóm chọn đề tài Thiết kế, chế tạo mơ hình phân loại táo thơng qua kích thước trái ” Mơ hình vận dụng sức... Máy phân loại táo Hình 1.5 : Máy phân loại táo Hệ thống phân loại táo bao gồm băng chuyền để dẫn táo hai bên khay đựng táo theo tiêu chuẩn khác Hệ thống hoạt động tương tự hệ thống phân loại

Ngày đăng: 26/09/2019, 20:45

Từ khóa liên quan

Mục lục

  • LỜI CẢM ƠN

  • MAI THẾ KIỆT và VÕ ĐỨC BẢY

  • TÓM TẮT

  • DANH SÁCH CHỮ TẮT

  • DANH SÁCH CÁC BẢNG

  • DANH SÁCH HÌNH ẢNH

  • Chương 1

  • MỞ ĐẦU

    • 1.1 Đặt vấn đề

    • 1.2 Tình hình nghiên cứu trong nước

    • 1.3 Phạm vi thực hiện đề tài

    • 1.4 Nội dung thực hiện

  • Chương 2

  • TỔNG QUAN

    • 2.1 Một số khái niệm cơ bản trong xử lý ảnh

    • 2.1.1.1 Ảnh nhị phân

      • Hình 2.1 Ma trận biển diễn ảnh nhị phân

    • 2.1.1.2 Ảnh xám

      • Hình 2.2 Ma trận biểu diễn ảnh xám

      • Hình 2.3 Ma trận biểu diễn mức xám của thành phần RED

      • Hình 2.4 Ma trận biểu diễn mức xám của thành phần GREEN

      • Hình 2.5 Ma trận biểu diễn mức xám của thành phần BLUE.

    • 2.1.1.4 Độ phân giải

    • 2.2 Không gian màu

      • Hình 2.7 Mô hình không gian màu RGB .

      • Hình 2.10 Mô hình màu HLS

      • Hình 2.11 Mô hình L*a*b

      • Hình 2.12 Biến đổi Fourier.

    • 2.3 Giới thiệu về máy tính nhúng Raspberry Pi3

    • 2.4 Các thiết bị ngoại vi khác và sơ đồ kết nối

      • 2.4.1 Camera Pi

    • 2.4.3 Mạch cầu H - L298 (H-Bridge Circuit)

    • Mạch cầu H

    • Giả sử bạn có một động cơ DC có 2 đầu A và B, nối 2 đầu dây này với một nguồn điện DC (ắc qui điện – battery). Ai cũng biết rằng nếu nối A với cực (+), B với cực (-) mà động cơ chạy theo chiều thuận (kim đồng hồ) thì khi đảo cực đấu dây (A với (-), B với (+)) thì động cơ sẽ đảo chiều quay.

    • Hình 2.17 Mạch cầu H.

    • Trong hình 1, hãy xem 2 đầu V và GND là 2 đầu (+) và (-) của ắc qui, “đối tượng” là động cơ DC mà chúng ta cần điều khiển, “đối tượng” này có 2 đầu A và B, mục đích điều khiển là cho phép dòng điện qua “đối tượng” theo chiều A đến B hoặc B đến A. Thành phần chính tạo nên mạch cầu H của chúng ta chính là 4 “khóa” L1, L2, R1 và R2 (L: Left, R:Right). Ở điều kiện bình thường 4 khóa này “mở”, mạch cầu H không hoạt động.

    • Hình 2.18 Nguyên lý hoạt động mạch cầu H.

    • Giả sử bằng cách nào đó (cái cách nào đó chính là nhiệm vụ của người thiết kế mạch) mà 2 khóa L1 và R2 được “đóng lại” (L2 và R1 vẫn mở), bạn dễ dàng hình dung có một dòng điện chạy từ V qua khóa L1 đến đầu A và xuyên qua đối tượng đến đầu B của nó trước khi qua khóa R2 và về GND (như hình 2a). Như thế, với giả sử này sẽ có dòng điện chạy qua đối tượng theo chiều từ A đến B. Bây giờ hãy giả sử khác đi rằng R1 và L2 đóng trong khi L1 và R2 mở, dòng điện lại xuất hiện và lần này nó sẽ chạy qua đối tượng theo chiều từ B đến A như trong hình 2b (V->R1->B->A->L2->GND). Vậy là đã rõ, chúng ta có thể dùng mạch cầu H để đảo chiều dòng điện qua một “đối tượng” (hay cụ thể, đảo chiều quay động cơ) bằng “một cách nào đó”.

    • Module L298

    • Hình 2.19 Module L298.

    • Thông số kỹ thuật

    • Driver: L298N tích hợp hai mạch cầu H.

    • Điện áp điều khiển: +5 V ~ +12 V.

    • Dòng tối đa cho mỗi cầu H là: 2A (=>2A cho mỗi motor).

    • Điện áp của tín hiệu điều khiển: +5 V ~ +7 V.

    • Dòng của tín hiệu điều khiển: 0 ~ 36mA .

    • Công suất hao phí: 20W (khi nhiệt độ T = 75 ℃).

    • Nhiệt độ bảo quản: -25 ℃ ~ +130 ℃.

    • Cách đấu dây và sơ đồ công tắc hành trình

    • 2.5 Phần mền lập trình python, Opencv và ứng dụng xử lý ảnh

  • VẬT LIỆU VÀ PHƯƠNG PHÁP NGHIÊN CỨU

    • 3.1 Thời gian thực hiện đề tài

    • bảng 3.1 Thời gian biểu thực hiện đề tài

    • 3.2 Đối tượng và các thiết bị nghiên cứu

    • 3.3 Thiết bị nghiên cứu

      • 3.3.1 Máy tính nhúng Raspberry Pi 3

      • Hình 3.1: Module Raspberry Pi 3

      • 3.3.2 Module Camera Pi

      • 3.4 Các phần mền được sử dụng

      • Phần mềm lập trình cho Raspberry Pi 3.

      • Phần mềm lập trình python.

      • Phần mềm vẽ mạch Proteus.

      • Phần mềm vẽ Solidword, Inventer, AutoCad.

    • 3.5 Phương pháp nghiên cứu

    • 4.1 Thiết kế mô hình và nguyên lý hoạt động

    • 4.1.1 Thiết kế mô hình

    • 4.1.2 Nguyên lý hoạt động của mô hình

    • Sau khi cấp nguồn, hệ thống bắt đầu hoạt động. Táo được đưa vào vị trí cấp liệu, để đến buồng thu ảnh và tác động vào cảm biến. Tại đây, cảm biến được kích hoạt camera sẽ thu ảnh và chương trình sẽ xử lý và trích xuất các đại lượng đặc trưng về kích thước và so sánh với ngưỡng đặt trước. Từ đó, hệ thống sẽ phân loại táo thành ba loại: Loại A hay loại B hay loại C và lưu vào bộ nhớ. Tiếp theo, táo sẽ được chuyển tới khu vực phân loại và kích hoạt cảm biến bộ phận cần gạt để phân loại trái. Hệ thống sẽ kiểm tra loại táo đó và đưa vào khay chứa tương ứng.

    • Quy ước chung loại quả :

    • loại A tương ứng với quả to (số điểm ảnh lớn hơn hoặc bằng 62 000 pixel)

    • loại B tương ứng với quả trung ( số điểm ảnh nhỏ hơn 62 000 pixel và lớn hơn hoăc bằng 50 000 pixel )

    • loại C tương ứng với quả nhỏ ( nhỏ hơn 50 000 pixel )

    • 4.2 Thiết kế phần cơ khí

    • 4.2.1 Bản vẽ cơ khí của mô hình

    • 4.3 Thiết kế khối xử lý và điều khiển

    • 4.3.1 Sơ đồ khối

    • 4.4 Xử lý ảnh, nhận dạng và phân loại

      • 4.4.1 Sơ đồ khối các bước xử lý ảnh

      • Hình 4.24 Sơ đồ khối các bước xử lý và điều khiển

      • 4.4.2 Giải thuật phân loại táo theo kích thước

    • 4.5 Khảo nghiệm thực tế và kết quả

    • Bảng 4.1 Khảo nghiệm 100 lần với 50 quả táo lớn.

    • Bảng 4.2: Khảo nghiệm 100 lần với 50 quả táo trung

    • Bảng 4.3 Khảo nghiệm 100 lần với 50 quả táo nhỏ.

  • KẾT LUẬN VÀ ĐỀ NGHỊ

    • 5.1 Kết quả đạt được

    • 5.2 Hướng phát triển của đề tài

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

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

Tài liệu liên quan