Cùng với phát triển của khoa học kỹ thuật, có những công nghệ tiên tiến được ứng dụng rộng rãi là công nghệ xử lý ảnh được áp dụng để làm nên các hệ thống tự động phân loại nông sản
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
S K L 0 0 9 8 9 2
Trang 21
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH
THIẾT KẾ THI CÔNG MÔ HÌNH PHÂN LOẠI TRÁI
CÂY THEO MÀU SẮC
Trang 3CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
*** PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Họ và tên Sinh viên: Cao Hoàng Anh Kha MSSV: 18142128
Ngành: Công nghệ Kỹ thuật Điện-Điện tử Tên đề tài:
THIẾT KẾ - THI CÔNG MÔ HÌNH PHÂN LOẠI TRÁI CÂY THEO MÀU SẮC
Họ và tên Giáo viên hướng dẫn:
NHẬN XÉT:
1 Về nội dung đề tài & khối lượng thực hiện:
2 Ưu điểm:
3 Khuyết điểm:
4 Đề nghị cho bảo vệ hay không?
5 Ý kiến khác:
6 Điểm:……….(Bằng chữ: )
Tp Hồ Chí Minh, ngày tháng năm 2022
(Ký & ghi rõ họ tên)
Trang 4CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
*** PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Họ và tên Sinh viên: Cao Hoàng Anh Kha MSSV: 18142128
Ngành: Công nghệ Kỹ thuật Điện-Điện tử
Tên đề tài:
THIẾT KẾ - THI CÔNG MÔ HÌNH PHÂN LOẠI TRÁI CÂY THEO MÀU SẮC
Họ và tên Giáo viên phản biện:
NHẬN XÉT:
1 Về nội dung đề tài & khối lượng thực hiện:
2 Ưu điểm:
3 Khuyết điểm:
4 Đề nghị cho bảo vệ hay không?
5 Ý kiến khác:
6 Điểm:……….(Bằng chữ: )
Tp Hồ Chí Minh, ngày tháng năm 2022
Giáo viên phản biện
(Ký & ghi rõ họ tên)
Trang 5CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Họ và tên sinh viên: Cao Hoàng Anh Kha MSSV: 18142128
Ngành: CNKT Điện-Điện tử Lớp: 18142CL1A
Giảng viên hướng dẫn: TS.Nguyễn Thị Lưỡng ĐT: 0903686917
Ngày nhận đề tài: 24/09/2022 Ngày nộp đề tài: 28/12/2022
1 Tên đề tài: THIẾT KẾ -THI CÔNG MÔ HÌNH PHÂN LOẠI TRÁI CÂY THEO MÀU SẮC
2 Các số liệu, tài liệu ban đầu:
+ Tìm hiểu, tham khảo các nhà máy đã và đang ứng dụng mô hình trong thực tế + Tìm hiểu, tham khảo các phương pháp truyền tải dữ liệu, các phương pháp nhận dạng và điều khiển
+ Tìm hiểu, tham khảo các phương pháp quản lý và giám sát dây chuyền phân loại trong thực tế
3 Nội dung thực hiện đề tài:
+ Thiết kế mô hình băng tải phân loại các trái cây với hình dạng và màu sắc khác nhau Hệ thống nhận dạng trái cây sử dụng camera Pi để quan sát rồi gửi dữ liệu
về kit Raspberry Pi, Raspberry truyền dữ liệu cho Arduino Uno qua cổng UART
để xử lý đưa ra kết quả phân loại Hệ thống băng chuyền có cảm biến và cơ cấu chấp hành để phân loại đúng loại trái cây vào các vị trí tương ứng
+ Hoàn thành báo cáo đồ án đảm bảo đúng quy trình và tiến độ
4 Sản phẩm: Mô hình hệ thống phân loại trái cây theo màu sắc
TRƯỞNG NGÀNH GIẢNG VIÊN HƯỚNG DẪN
Trang 6LỜI CẢM ƠN
Lời đầu tiên nhóm nhóm xin chân thành gửi lời cảm ơn đến cô TS.Nguyễn Thị
Lưỡng đã tận tình hướng dẫn , hỗ trợ nhóm về trang thiết bị ,truyền đạt kiến thức, kinh
nghiệm cho nhóm trong suốt thời gian thực hiện đồ án tốt nghiệp này
Nhóm xin gửi lời chân thành cảm ơn các thầy cô trong Khoa Điện - Điện tử đã truyền đạt những kiến thức bổ ích cho nhóm để làm cơ sở cho việc thực hiện đề tài tốt nghiệp này
Tiếp theo nhóm cũng xin cảm ơn tới các anh, chị khoá trên cùng các bạn sinh viên
đã tạo điều kiện giúp đỡ, từ những tài liệu liên quan tới đề tài cho tới những góp ý bổ ích, những thắc mắc mà nhóm chưa hiểu nhờ đó có thể hoàn thiện đề tài
Mặc dù nhóm đã cố gắng hoàn thành tốt đề tài này một cách hoàn chỉnh nhất, nhưng cũng không thể tránh những sai sót nhất định việc nghiên cứu, tiếp cận thực tế, cũng như hạn chế về kiến thức lẫn thời gian thực hiện Rất mong nhận được sự góp ý của quý thầy cô và các bạn để tài này được hoàn chỉnh hơn
Xin chân thành cảm ơn!
Sinh viên
Cao Hoàng Anh Kha
Trang 7MỤC LỤC
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC HÌNH ẢNH v
DANH MỤC BẢNG viii
CHƯƠNG 1:TỔNG QUAN 1
1.1.ĐẶT VẤN ĐỀ 1
1.2 MỤC TIÊU 1
1.3 NỘI DUNG NGHIÊN CỨU 1
1.4 PHƯƠNG PHÁP NGHIÊN CỨU 2
1.5 GIỚI HẠN ĐỀ TÀI 2
1.6 NỘI DUNG ĐỀ TÀI 2
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 3
2.1 TỔNG QUAN VỀ XỬ LÝ ẢNH 3
2.1.1.Tổng quan về xử lý ảnh 3
2.2 PHƯƠNG PHÁP PHÂN LOẠI SỬ DỤNG MẠNG NƠ-RON TÍCH CHẬP 4
2.2.1 Giới thiệu về Trí tuệ nhân tạo 4
2.2.2 Mạng phát hiện đối tượng Object Detection 6
2.2.3 Mô hình YOLO trong bài toán Real-time Object Detection 7
2.2.4 Ngôn ngữ Python và thư viện OpenCV 9
2.2.5 Giới thiệu về Colaboratory 10
2.2.6 Tập dữ liệu huấn luyện 10
2.3.7 Phương pháp phân loại 11
2.3.GIỚI THIỆU RASPBERRY PI 3 MODEL B+ 11
2.4 GIỚI THIỆU VỀ CAMERA MODULE 13
2.5 GIỚI THIỆU VỀ ADRUINO UNO R3 13
2.6 GIỚI THIỆU VỀ CẢM BIẾN HỒNG NGOẠI E18-D80NK 17
2.7 GIỚI THIỆU VỀ ĐỘNG CƠ DC 18
2.8 GIỚI THIỆU VỀ HỆ THỐNG BĂNG TẢI 19
2.9 GIỚI THIỆU VỀ ĐỘNG CƠ SERVO MG995 20
2.10 GIỚI THIỆU VỀ LCD 16X2 22
Trang 82.11 ĐÈN LED HẮT 5054 24
2.12 CÁC CHUẨN GIAO TIẾP 25
2.12.1 Chuẩn giao tiếp UART 25
2.12.2 Chuẩn giao tiếp I2C 27
CHƯƠNG 3 : TÍNH TOÁN VÀ THIẾT KẾ 30
3.1.GIỚI THIỆU 30
3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 30
3.2.1 Thiết kế sơ đồ khối hệ thống 30
3.2.2 Sơ đồ kết nối hệ thống 31
3.2.3 Sơ đồ kết nối toàn mạch 38
3.3 CHUẨN BỊ PHẦN CỨNG VÀ KẾT NỐI: 39
3.3.1 Chuẩn bị phần cứng 39
3.3.2 Kết nối phần module điều khiển: 40
3.4 LẬP TRÌNH HỆ THỐNG 41
3.4.1 Lưu đồ hoạt động bộ phận thu hình ảnh 41
3.4.2 Lưu đồ giải thuật của hệ thống 42
3.5 HƯỚNG DẪN SỬ DỤNG THAO TÁC TRÊN RASPBERRY 43
CHƯƠNG 4: KẾT QUẢ 46
4.1 KẾT QUẢ TỔNG QUAN: 46
4.2 KẾT QUẢ PHẦN CỨNG : 46
48
4.3.KẾT QUẢ THỰC NGHIỆM 51
4.3.1.Kết quả tổng quan thực nghiệm 51
4.3.2.Kết quả mở rộng 53
CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 55
5.1 KẾT LUẬN 55
5.2 HƯỚNG PHÁT TRIỂN: 55
TÀI LIỆU THAM KHẢO 56
PHỤ LỤC 57
Trang 9DANH MỤC HÌNH ẢNH
Hình 2 1 Giới thiệu về xử lý ảnh 3
Hình 2 2 Các bước cơ bản trong xử lý ảnh 3
Hình 2 3 Tổng quan về trí tuệ nhân tạo 5
Hình 2 4 Các bước cơ bản của thực hiện và phân loại đối tượng 6
Hình 2 5 Phát hiện vật thể trong ảnh 6
Hình 2 6 Sơ đồ kiến trúc mạng YOLO 7
Hình 2 7 Khái quát về mô hình YOLO 8
Hình 2 8 Sơ đồ kiến trúc mạng YOLOv4 8
Hình 2 9 Một số hình ảnh trong tập dữ liệu 11
Hình 2 10 Raspberry Pi 3 model B+ 11
Hình 2 11 Sơ đồ cấu hình Raspberry Pi 3 model B+ 12
Hình 2 12 Module Camera Pi 8 MP 13
Hình 2 13 Adruino Uno R3 15
Hình 2 14 Cảm biến hồng ngoại D18 - D80NK 17
Hình 2 15 Sơ đồ chân E18 – D80NK 18
Hình 2 16 Động cơ DC và động cơ băng tải 18
Hình 2 17 Động cơ giảm tốc TG-85C-KU-75-KA 19
Hình 2 18 Mô hình băng tải 19
Hình 2 19 Động cơ Servo 20
Hình 2 20 Cấu tạo cơ bản của một động cơ ( motor) servo 21
Hình 2 21 Động cơ Servo MG995 21
Hình 2 22 Sơ đồ nối dây Servo 22
Hình 2 23 LCD 16x2 22
Hình 2 24 Cấu tạo LCD 16x2 23
Hình 2 25 Đèn led hắt 5054 để ổn định nguồn sáng 25
Hình 2 26 Giao tiếp UART 25
Hình 2 27 Truyền thông UART 26
Hình 2 28 Giao tiếp UART 27
Trang 10Hình 2 29 Giao tiếp I2C 27
Hình 2 30 Dữ liệu I2C 29
Hình 3 1 Sơ đồ khối hệ thống 30
Hình 3 2 Sơ đồ các cổng ngoại vi 31
Hình 3 3 Sơ đồ kết nối của Raspberry Pi 32
Hình 3 4 Sơ đồ kết nối Adruino với Raspberry Pi 33
Hình 3 5 Giao tiếp UART giữa Raspberry Pi và Adruino Uno 34
Hình 3 6 Sơ đồ kết nối Camera 34
Hình 3 7 Giao tiếp I2C LCD 16x2 với Adruino 35
Hình 3 8 Kết nối Adruino Uno và động cơ DC 35
Hình 3 9 Kết nối Adruino với động cơ Servo 36
Hình 3 10 Kết nối cảm biến hồng ngoại và Adruino Uno 36
Hình 3 11 Adapter 5VDC-3A 36
Hình 3 12 Mạch Buck DC-DC XL4015 37
Hình 3 13 Nguồn tổ ong 24VDC – 5A 37
Hình 3 14 Sơ đồ nguyên lý mạch 38
Hình 3 15 Sơ đồ kết nối toàn mạch 38
Hình 3 16 Lưu đồ hoạt động Camera 41
Hình 3 17 Lưu đồ giải thuật hệ thống 42
Hình 3 18 Tìm địa chỉ IP của Raspberry Pi bằng phần mềm IP Scanner 43
Hình 3 19 Kết nối Raspberry Pi với PC qua phần mềm VNC Viewwer 44
Hình 3 20 Giao diện Raspbian 44
Hình 3 21 Mở chương trình điều khiển và nhấn run để chạy chương trình 45
Hình 3 22 Khởi chạy file bằng cửa sổ Terminal 45
Hình 4 1 Động cơ DC và trục quay băng tải 46
Hình 4 2 Sơ đồ bố trí buồng chụp ảnh (nhìn từ mặt bên) 47
Hình 4 3 Bộ phận thu hình ảnh 47
Hình 4 4 Buồng chụp ảnh nhìn từ bên trong 48
Hình 4 5 Cánh tay Servo 48
Hình 4 6 Hình ảnh bộ phận phân loại 48
Trang 11Hình 4 7 Bản điều khiển công tắc và màn hình LCD 16x2 49
Hình 4 8 Hình ảnh toàn bộ mô hình hệ thống nhìn từ trên xuống 49
Hình 4 9 Hình ảnh toàn bộ mô hình hệ thống nhìn phía trước 50
Hình 4 10 Ảnh thực tế kết nối toàn mạch 50
Hình 4 11 Kết quả nhận dạng của chuối xanh 51
Hình 4 12 Kết quả nhận dạng của chuối chín 51
Hình 4 13 Kết quả nhận dạng của táo đỏ 52
Hình 4 14 Kết quả nhận dạng của táo xanh 52
Hình 4 15 Hình ảnh nhận dạng chuối chín và táo đỏ trong 1 khung hình 53
Hình 4 16 Hình ảnh phận dạng chuối chín và chuối xanh trong 1 khung hình 54
Hình 4 17 Hình ảnh nhận dạng chuối xanh và táo đỏ trong 1 khung hình 54
Trang 12DANH MỤC BẢNG
Bảng 2 1: Bảng thông số Adruino Uno R3 14
Bảng 2 2: Bảng thông số kỹ thuật Vi điều khiển ATmega328 16
Bảng 2 3: Bảng cấu tạo LCD 16x2 23
Bảng 3 1.Bảng danh sách các linh kiện thiết bị 39
Bảng 4 1: Kết quả khảo nghiệm sau 3 lần phân loại 53
Trang 13CHƯƠNG 1:TỔNG QUAN 1.1.ĐẶT VẤN ĐỀ
Ngày nay, cùng với sự phát triển của nền kinh tế thị trường, ngành sản xuất nông nghiệp nói chung và chế biến nông sản nói riêng của nước ta đã và đang có những thành tựu đáng kể Trên cơ sở những tiềm năng và chiến lược phát triển của nước ta đã đề ra, nông sản Việt ngày càng khẳng định được vị thế ở cả thị trường trong nước và quốc tế, trở thành một trong những mặt hàng trọng điểm, chiếm tỉ trọng lớn trong ngành xuất khẩu, đóng góp một phần không nhỏ vào nền kinh tế quốc dân
Nông sản sau khi thu hoạch sẽ được phân loại thành các cấp độ với những tiêu chuẩn khác nhau về trọng lượng, màu sắc, hình dáng, và chất lượng Cùng với phát triển của khoa học kỹ thuật, có những công nghệ tiên tiến được ứng dụng rộng rãi là công nghệ xử lý ảnh được áp dụng để làm nên các hệ thống tự động phân loại nông sản có quy
mô lớn để xác định kích thước, màu sắc Tuy nhiên các hệ thống này chỉ xử lý một vài ảnh đầu vào, điều chỉnh các thông số sản phẩm thường phức tạp mà nông sản như trái cây thường đa dạng theo mùa, vùng miền
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, với công nghệ phù hợp, khả năng phù hợp với nhiều đối tượng khác nhau, có giá thành thấp
Đề tài sử dụng công nghệ thị giác máy tính, hiểu đơn giác là quá trình cho máy tính đọc, hiểu và tiếp thu những thông tin từ hình ảnh và trích xuất đặc trưng để tự đưa ra phương
án nhận diện, xử lý cho những thao tác hình ảnh dựa trên bài toán Object Detection
Trước những vấn đề thực tiễn đó, dựa trên nền tảng kiến thức đã học, vốn hiểu biết
về điện tử cùng với sự đồng ý của giáo viên hướng dẫn – cô Nguyễn Thị Lưỡng nhóm tiến hành đề tài “Thiết kế - thi công mô hình phân loại trái cây theo màu sắc” làm báo cáo tốt nghiệp
1.2 MỤC TIÊU
Thiết kế và thi công mô hình dây chuyền phân loại trái cây theo màu sắc(cụ thể : táo xanh,táo đỏ,chuối xanh,chuối chín) bằng công nghệ thị giác máy tính thu nhận ảnh từ Camera Pi Quá trình có thể được lập trình, điều chỉnh từ xa qua mạng Internet
1.3 NỘI DUNG NGHIÊN CỨU
- Tìm hiểu về máy tính nhúng Raspberry pi 3 model B+, hệ điều hành Raspbian
- Kết nối máy tính PC với máy tính nhúng Raspberry pi qua VNC Viewer để điều khiển và lập trình từ xa qua mạng Internet
- Thu thập dữ liệu ảnh từ trái cây:táo xanh,táo đỏ,chuối xanh,chuối chín) sau đó gán nhãn và huấn luyện mô hình
- Lập trình nhận dạng và phát hiện đối tượng (cụ thể là trái cây) từ hình ảnh của
Camera pi
- Lập trình cho kit Adruino Uno R3 trên phần mềm Adruino IDE và kết nối truyền dữ liệu từ Raspberry Pi qua cổng giao tiếp UART
- Thiết kế,thi công mô hình dây chuyền
- Chạy thử ,kiểm tra,hiệu chỉnh
Trang 14- Viết báo cáo
1.4 PHƯƠNG PHÁP NGHIÊN CỨU
Tiến hành nghiên cứu về các phương pháp nhận dạng trái cây bằng phương pháp Học sâu sử dụng mô hình YOLOv4 trên hệ điều hành Raspbian của kit Raspberry và giao tiếp truyền tín hiệu cho Adruino
Dựa trên một số mô hình phân loại đã có, nhóm thực hiện sử dụng bộ phận đẩy trái cây khỏi băng chuyền một cách hiệu quả, đơn giản và tiết kiệm chi phí, thiết kế cho
mô hình nhận dạng trái cây với sự đa dạng về chủng loại và tính chính xác
1.5 GIỚI HẠN ĐỀ TÀI
- Phân loại 4 trái cây:táo đỏ,táo xanh,chuối xanh,chuối chín
- Các loại trái nhẹ kích thước nhỏ
- Tốc độ phân loại còn chậm,cơ cấu phân loại sử dụng servo để tác động
- Sử dụng camera có độ phân giải 8MP
1.6 NỘI DUNG ĐỀ TÀI
Đề tài “Thiết kế - thi công mô hình phân loại trái cây theo màu sắc” gồm các nội dung:
Chương 1: Tổng quan
Nêu nguyên nhân chọn đề tài, giới thiệu đề tài
Chương 2: Cơ sở lý thuyết
Nêu ra các lý thuyết làm tiền đề cho việc thực hiện đồ án, tổng quan về các thiết bị và chuẩn giao tiếp
Chương 3: Tính toán và thiết kế
Tính toán thiết kế để đưa ra sơ đồ nguyên lý, sơ đồ kết nối các thiết bị, kết nối toàn mạch, lưu đồ của chương trình của hệ thống
Chương 4: Kết quả
Nêu ra kết quả đã đạt được về kiến thức lý thuyết, về phần cứng hệ thống, kết quả thực nghiệm đạt được
Chương 5: Kết luận và hướng phát triển
Đưa ra kết luận về các mặt ưu điểm và nhược điểm của hệ thống, nêu ra các hướng
phát triển của đề tài
Trang 15CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 TỔNG QUAN VỀ XỬ LÝ ẢNH
2.1.1.Tổng quan về xử lý ảnh
Xử lý ảnh là đối tượng nghiên cứu của lĩnh vực thị giác máy, là quá trình biến đổi một ảnh ban đầu sang một ảnh mới với các đặc tính và tuân theo ý muốn của người sử dụng.Xử lý ảnh có thể gồm quá trình phân tích, phân lớp các đối tượng, làm tăng chất lượng, phân đoạn và tách cạnh, gán nhãn cho vùng hay quá trình biên dịch các thông tin hình ảnh của ảnh
Cũng như xử lý dữ liệu bằng đồ hoạ, xử lý ảnh số là một lĩnh vực của tin học ứng dụng
Xử lý dữ liệu bằng đồ họa đề cập đến những ảnh nhân tạo, các ảnh này được xem xét như là một cấu trúc dữ liệu và được tạo bởi các chương trình Xử lý ảnh số bao gồm các phương pháp và kỹ thuật biến đổi, để truyền tải hoặc mã hoá các ảnh tự nhiên
Mục đích của xử lý ảnh gồm:
Biến đổi ảnh làm tăng chất lượng ảnh
Tự động nhận dạng ảnh, đoán nhận ảnh, đánh giá các nội dung của ảnh
Hình 2 1 Giới thiệu về xử lý ảnh
Hình 2 2 Các bước cơ bản trong xử lý ảnh
Sơ đồ này bao gồm các thành phần sau:
Trang 16a) Phần thu nhận ảnh: Đây là công đoạn đầu tiên mang tính quyết định đối với quá
trình XLA.Ảnh đầu vào sẽ được thu nhận qua các thiết bị như camera,sensor,máy scanner,… và sau đó các tín hiệu này sẽ được số hoá.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ị
b) Tiền xử lý: Sau khi thu nhận ảnh có thể nhiễu độ tương phản thấp nên cần đưa vào
bộ tiền xử lý để nâng cao chất lượng.Chức năng chính của bộ tiền xử lý là lọc
nhiễu, nâng độ tương phản để làm ảnh rõ hơn, nét hơn
c) Phân đoạn: Phân vùng là tách một ảnh đầu vào thành các vùng thành phần để
biểu diễn phân tích, nhận dạng ảnh.Ví dụ: để nhận dạng chữ (hoặc mã vạch) trên phong bì thư cho mục đích phân loại bưu phẩm, cần chia các câu, chữ về địa chỉ hoặc tên người thành các từ, các chữ, các số ( hoặc các vạch) riêng biệt để nhận dạng Đây là phần phức tạp khó khăn nhất trong xử lý ảnh và cũng dễ gây lỗi, làm mất độ chính xác của ảnh Kết quả nhận dạng ảnh phụ thuộc rất nhiều vào công đoạn này
(ảnh đã phân đoạn) cộng với mã liên kết với các vùng lân cận Việc biến đổi các
số liệu này thành dạng thích hợp là cần thiết cho xử lý tiếp theo bằng máy tính Việc chọn các tính chất để thể hiện ảnh gọi là trích chọn đặc trưng (Feature
Selection) gắn với việc tách các đặc tính của ảnh dưới dạng các thông tin định lượng hoặc làm cơ sở để phân biệt lớp đối tượng này với đối tượng khác trong phạm vi ảnh nhận được Ví dụ: trong nhận dạng ký tự trên phong bì thư, chúng ta
miêu tả các đặc trưng của từng ký tự giúp phân biệt ký tự này với ký tự khác
e) Nhận dạng và giải thích: Đây là bước cuối cùng trong quá trình XLA Nhận dạng
ảnh có thể được nhìn nhận một cách đơn giản là việc gán nhãn cho các đối tượng trong ảnh Ví dụ đối với nhận dạng chữ viết, các đối tượng trong ảnh cần nhận dạng là các mẫu chữ, ta cần tách riêng các mẫu chữ đó ra và tìm cách gán đúng các ký tự của bảng chữ cái tương ứng cho các mẫu chữ thu được trong ảnh Giải
thích là công đoạn gán nhãn cho một tập các đối tượng đã được nhận biết
2.2 PHƯƠNG PHÁP PHÂN LOẠI SỬ DỤNG MẠNG NƠ-RON TÍCH
CHẬP
2.2.1 Giới thiệu về Trí tuệ nhân tạo
Những năm gần đây ,AI-Artificial Intelligence(Trí tuệ nhân tạo), và cụ thể hơn là Machine Learning(Máy học) nổi lên như một minh chứng của cuộc cách mạng công nghiệp lần thứ tư (1 - động cơ hơi nước, 2 - năng lượng điện , 3-công nghệ thông tin).AI hiện diện trong mọi lĩnh vực của đời sống con người , từ kinh tế, giáo dục, y khoa cho đến những công việc nhà,giải trí hay thậm chí là trong quân sự Những ứng dụng nổi bật trong việc phát triển AI đến từ nhiều lĩnh vực để giải quyết nhiều vấn đề khác nhau Nhưng những đột phá phần mềm đến từ Deep Learning (Học sâu ) – một mảng nhỏ đang
Trang 17mở rộng dần đến từng loại công việc, từ đơn giản đến phức tạp Deep Learning đã giúp máy tính thực thi những việc tưởng chừng như không thể : phân loại cả ngàn vật thể khác nhau trong các bức ảnh, tự tạo chú thích cho ảnh, bắt chước giọng nói và chữ viết của con người , giao tiếp với con người , hay thậm chí cả sáng tác văn, phim ,ảnh ,âm nhạc
Artificial Intelligence (Trí tuệ nhân tạo) : Thuật ngữ này được sử dụng để mô tả việc máy móc cả khả năng bắt chước các chức năng của con người như khả năng “học tập” và “giải quyết vấn đề” Sự phát triển của phần cứng máy tính như tốc độ xử lý , bộ nhớ , các công cụ xử lý đồ hoạ mạnh mẽ đã giúp cho trí tuệ nhân tạo có thể vượt qua khả năng tính toán và giải quyết vấn đề của con người trong các lĩnh vực cụ thể Trí tuệ nhân tạo đang được kỳ vọng sẽ mở ra một kỷ nguyên mới nơi mà máy móc có thể tham gia vào các công việc mà thông thường con người vẫn hiện diện,nhằm tăng chất lượng công việc và giảm thiểu sức lao động chân tay
Machine Learning (Máy học): Là quá trình sử dụng các thuật toán để phân tích cấu trúc dữ liệu, học tập dữ liệu, cuối cùng sẽ cho ra các quyết định hoặc là những dự đoán về các đối tượng cụ thể liên quan Các phương pháp tiếp cận thuật toán thường được sử dụng như là : logic programming ,clustering , reinforcement learning, Machine Learning được ứng dụng rất tốt và hiệu quả trong nhiều năm qua vào lĩnh vực thị giác máy tính ( Computer Vision) mặc dù vẫn còn đang gặp nhiều hạn chế như đa số phải lập trình thủ công để tạo ra các ứng dụng cụ thể
Deep Learning ( Học sâu): Một kỹ thuật để thực hoá Machine Learning, đây là một phương pháp tiếp cận thuật toán khác từ Machine Learning.Deep Learning xây dựng một mạng lưới gồm nhiều lớp được liên kết với nhau như não bộ con người được gọi là
Hình 2.3 Tổng quan về trí tuệ nhân tạo Hình 2 3 Tổng quan về trí tuệ nhân tạo
Trang 18Neural Networks Dữ liệu khi đưa vào sẽ đi qua tuần tự các lớp của Neural Networks, mỗi lớp sẽ có chức năng riêng của nó để trích xuấ các đặc trưng của dữ liệu sau đó đi đến lớp cuối cùng và đưa ra một dự đoán được thể hiện bởi một vector xác suất
2.2.2 Mạng phát hiện đối tượng Object Detection
Object Detection (Phát hiện đối tượng ) là một thuật ngữ chung để mô tả một tập hợp các nhiệm vụ thị giác máy tính có liên quan đến việc xác định đối tượng trong ảnh kỹ thuật số là một trong những đề tài rất hot của Deep Learning bởi khả năng ứng dụng cao,
dữ liệu dễ chuẩn bị và kết quả ứng dụng nhiều
Phân loại hình ảnh (Image classification): liên quan đến việc gán nhãn cho hình ảnh
Định vị vật thể (Object localization): liên quan đến việc vẽ một hộp giới
hạn(bounding box) xung quanh một hoặc nhiều đối tượng trong hình ảnh nhằm khoanh vùng đối tượng
Phát hiện đối tượng(Object Detection): Là nhiệm vụ với sự kết hợp của cả hai nhiệm vụ trên :Vẽ một bounding box xung quanh từng đối tượng quan tâm trong ảnh và gán cho chúng một nhãn
Hình 2 4 Các bước cơ bản của thực hiện và phân loại đối tượng
Hình 2 5 Phát hiện vật thể trong ảnh
Trang 19Đặc điểm cấu trúc của các thuật toán Object Detection bao gồm 2 nhóm chính:
Họ các mô hình R-CNN (Region-Based Convolutional Neural Networks) giải quyết các nhiệm vụ định vị vật thể và nhận diện vật thể
Họ các mô hình YOLO (You Only Look Once), là một nhóm kỹ thuật thứ hai để nhận dạng đối tượng được thiết kế để nhận diện vật thể real time
2.2.3 Mô hình YOLO trong bài toán Real-time Object Detection
a) Giới thiệu về mạng YOLO
YOLO có kiến trúc bao gồm phần trích xuất đặc trưng (Feature Extractor) và phát hiện đối tượng (Extra Layers) Phần trích xuất đặc trưng là các lớp convolution sẽ cho đầu ra là các bản đồ đặc trưng (Feature map) Phần phát hiện vật thể bao gồm các lớp kết nối đầy đủ (Fully connected layers) dùng để phát hiện, dự đoán nhãn và tọa độ Bounding Box của đối tượng trên các bản đồ đặc trưng (Feature map) của phần Feature Extractor Hình ảnh cần nhận dạng sẽ được đi qua khâu trích xuất đặc trưng để có đầu ra ra là bản
đồ đặc trưng (Feature map) với các kích thước khác nhau Các bản đồ đặc trưng sau đó được đưa qua khâu phát hiện đối tượng (Extra Layers) để dự đoán ra các thông tin về tên đối tượng, vị trí và kích thước của Bounding Box bao quanh đối tượng
Thuật toán YOLO trong Object Detection coi việc phát hiện đối tượng như một bài toán chỉ dùng một mô hình để xác định đồng thời toạ độ đường bao và xác suất của nhóm đối tượng tương ứng
Hình 2 6 Sơ đồ kiến trúc mạng YOLO
Trang 20YOLO chia ảnh đầu vào thành các ô nhỏ, mô hình sẽ dự đoán xác suất đối tượng trong các đường bao (bounding- box) xung quanh mỗi ô nhỏ này Những đường bao có xác suất cao sẽ được giữ lại và sử dụng cho nhiệm vụ xác định vị trí của đối tượng trong ảnh
Phần Backbone: chịu trách nhiệm cho việc trích xuất các đặc điểm của vật thể được huấn luyện từ tập dữ liệu đầu vào
Hình 2 7 Khái quát về mô hình YOLO
Hình 2 8 Sơ đồ kiến trúc mạng YOLOv4
Trang 21Phần Neck: chịu trách nhiệm cho việc tổng hợp các đặc điểm của vật, trộn và nối các feature map đã được học từ Backbone
Phần Head: chịu trách nhiệm tìm những vùng có khả năng chứa object gồm Dense Prediction và Two-Stage Detector
Và lớp thứ hai của YOLOv4 là Spare Prediction (phát hiện sự thưa thớt) nó sẽ bỏ qua những điểm có giá trị thấp
2.2.4 Ngôn ngữ Python và thư viện OpenCV
a) Ngôn ngữ Python:
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õ rang, 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 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 lập trình
b) Thư viện Open CV:
OpenCV (OpenSource Computer Vision) là một thư viện mã nguồn mở OpenCV được phát hành theo giấy phép BSD, do đó nó hoàn toàn miễn phí cho cả học thuật và thương mại Thư viện được lập trình trên các ngôn ngữ cấp cao: C++, C, Python, Java và
hỗ trợ Windows, Linux, Mac OS, iOS, Android OpenCV được thiết kế để giúp cho việc tính toán hiệu quả hơn và tập trung nhiều vào các ứng dụng thời gian thực Được viết bằng tối ưu hóa C/C++, thư viện có thể tận dụng lợi thế của xử lý đa lỗi Opencv có rất nhiều ứng dụng: Nhận dạng ảnh, xử lý hình ảnh, phục hồi hình ảnh/video, thực tế ảo… Chính vì những lý do trên, nhóm 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
Các tính năng của thư viện OpenCV:
- Đố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
Trang 22- 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.5 Giới thiệu về Colaboratory
Google Colaboratory là một dịch vụ đám mây miễn phí của Google nhằm hỗ trợ cộng đồng nghiên cứu AI phát triển các ứng dụng Deep Learning bằng việc cung cấp GPU và TPU miễn phí Hiện tại, Google Colaboratory hỗ trợ GPU là Tesla K80 và TPU là TPUV2 Phần mềm này chỉ hỗ trợ cho việc lập trình bằng ngôn ngữ Python 2 và 3
Lợi ích của Google Colaboratory:
• Cải thiện khả năng lập trình ngôn ngữ Python
• Phát triển các ứng dụng Deep Learning bằng việc sử dụng các thư viện phổ biến: Keras, Tensorflow, PyTorch, OpenCV
Với sự hỗ trợ phần cứng mạnh mẽ và miễn phí từ Google Colab nên nhóm đã quyết định sử dụng nền tảng này để xây dựng và huấn luyện mô hình
2.2.6 Tập dữ liệu huấn luyện
Về cơ bản, máy học yêu cầu phải có một tập dữ liệu(dataset) Tập dữ liệu này có thể hiểu là những gì chúng ta muốn cho máy tính “học” và sau khi quá trình “học” hoàn thành thì máy tính có thể nhận biết được đối tượng đã “học” trong những hoàn cảnh khác nhau Do đó, việc chuẩn bị tập dữ liệu huấn luyện là điều quan trọng nhất
Nhóm đã chuẩn bị tập dữ liệu huấn luyện của đề tài tương ứng 4 loại :táo xanh, táo
đỏ, chuối xanh, chuối chín Tập dữ liệu gồm 700 ảnh, trong đó chuối chín chiếm 182 ảnh, chuối xanh 172 ảnh, táo đỏ 179 ảnh, táo xanh 167 ảnh Tập dữ liệu rất quan trọng trong bài toán phân loại Tập dữ liệu phải tuân thủ theo các yêu cầu sau:
Số lượng dữ liệu: Số lượng ảnh huấn luyện đủ lớn
Cân bằng tập dữ liệu : số lượng ảnh cho mỗi loại phải cân bằng
Đa dạng tập dữ liệu: để chắc chắn rằng hình ảnh trong tập dữ liệu sẽ đại diện cho loại trái cây mà ta muốn trích đặc trưng và tránh nhầm lẫn do phát hiện sai nhiều điểm chúng ta có thể đa dạng tập dữ liệu bằng cách : chụp ảnh trong điều kiện ánh sáng, thay đổi góc chụp, chụp nhiều chủng loại đối tượng có kích thước màu sắc khác nhau
Trang 232.3.7 Phương pháp phân loại
Với sự giúp đỡ của thư viện OpenCV, ngôn ngữ lập trình Python và kit Raspberry Pi, công việc nhận biết và phân loại trái cây gồm những công đoạn chính sau:
Chạy camera Pi khi có trái cây đi qua sẽ chụp ảnh lại
Dùng thuật toán phát hiện đối tượng, ở đây là mô hình YOLOv4 sẽ dự đoán phát hiện đối tượng ở các tỷ lệ khác nhau( ở đây là trái cây) sau đó trích chọn đặc trưng
so sánh với bản đồ đặc trưng đã học được ở tập dữ liệu mẫu mà máy đã học rồi đưa ra kết quả bộ dự đoán (gồm 4 loại: táo xanh, táo đỏ, chuối xanh, chuối chín) từ ảnh đã được chụp lại từ camera
Truyền tín hiệu qua cho Adruino và cơ cấu chấp hành phân loại
Hình 2 9 Một số hình ảnh trong tập dữ liệu
Hình 2 10 Raspberry Pi 3 model B+
Trang 24Raspberry pi xây dựng xoay quanh bộ xử lý soc Broadcom BCM2835 bao gồm: CPU, GPU, bộ xử lý âm thanh /video, và các tính năng khác,… Raspberry pi có hai phiên bản, Model A và Model B Ở đề tài này sử dụng kit Raspberry pi 3 Model B+
2.3.2 Thông tin cấu hình Raspberry pi 3 model B+:
Thông tin cấu hình Raspberry Pi 3 model B+:
Vi xử lý: Broadcom BCM2837B0, quad-core A53 (ARMv8) 64-bit SoC @1.4GHz
Ưu điểm: Giá rẻ, nhỏ gọn, GPU mạnh, phục vụ cho nhiều mục đích, 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
2.3.3 Ứng dụng:
Hệ thống máy tính cho ô tô : dùng Raspberry pi làm hệ thống máy xe hơi, Sử dụng
Raspberry Pi để khắc laser, chế tạo robot,…
Hình 2 11 Sơ đồ cấu hình Raspberry Pi 3 model B+
Trang 252.4 GIỚI THIỆU VỀ CAMERA MODULE
- Camera Raspberry Pi V2.1 IMX219 8MP là phiên bản Camera Module dành cho Raspberry Pi mới nhất sử dụng cảm biến ảnh IMX219 8-megapixel từ Sony thay cho cảm biến cũ là OV5647 Với cảm biến IMX219 8-megapixel từ Sony, Camera Module cho Raspberry Pi đã có được sự nâng cấp vượt trội về cả chất lượng hình ảnh, video cũng như độ bền
- Chức năng: quay video và chụp ảnh HD
Thông số camera:
Camera Raspberry Pi V2.1 8MP dùng cho máy tính nhúng Raspberry Pi
Cảm biến IMX219 từ Sony
Số điểm ảnh: 8MP
Lens: Fixed focus
Thông số kỹ thuật camera:
CCD size : 1/4inch
Aperture (F) : 2.0
Focal Length : 3.04mm
Angle of View (diagonal) : 62.2 degree
Độ phân giải camera: 3280 x 2464 pixel stills
Độ phân giải video: HD 1080p30, 720p60 and 640x480p90 video
Kích thước: 25mm x 23mm x 9mm
Đầu nối: ribbon connector
Giao tiếp: CSI
2.5 GIỚI THIỆU VỀ ADRUINO UNO R3
2.5.1 Giới thiệu:
Adruino Uno R3 là một board mạch vi xử lý tích hợp, nhằm xây dựng các ứng dụng
tương tác với nhau hoặc với môi trường được thuận lợi hơn Phần cứng bao gồm một
board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8 bit Model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6 chân đầu vào analog,14 chân I/O kỹ thuật
số tương thích với nhiều board mở rộng khác nhau
Hình 2 12 Module Camera Pi 8 MP
Trang 262.5 2 Thông tin cấu hình Adruino Uno R3:
Bảng 2 1: Bảng thông số Adruino Uno R3
Vi điều khiển ATmega328 họ 8 bit
Điện áp hoạt động 5V DC
Tần số hoạt động 16 MHz
Dòng tiêu thụ Khoảng 30mA
Điện áp khuyên dùng 7-12V DC
Điện áp vào giới hạn 6-20V DC
Số chân Digital I/O 14( 6 chân hardware PWM)
Số chân Analog 6 (độ phân giải 10 bit)
Dòng tối đa trên mỗi chân I/O 30 mA
Cấu tạo chính của Adruino Uno R3 bao gồm:
Cổng USB: đây là loại cổng giao tiếp để ta nạp code từ PC lên vi điều khiển Đồng thời nó cũng là giao tiếp serial để truyền dữ liệu giữa vi điều khiển và máy tính
Jack nguồn : để chạy Adruino thì có thể lấy nguồn từ cổng USB ở trên hoặc một nguồn từ 9V đến 12V Với các chân điện như sau:
GND( Ground) : cực âm của nguồn điện cấp cho Adruino Uno Khi dùng các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với nhau
5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA
Trang 27 3,3V: cấp điện áp 3,3 V đầu ra Dòng tối đa cho phép ở chân này là 50mA
Vin(Voltage Input): để cấp nguồn ngoài cho Adruino Uno, nối cực dương của nguồn với chân này và cực âm của nguồn với chân GND
IOREF: điện áp hoạt động của vi điều khiển trên Adruino Uno có thể được
đo ở chân này và luôn bằng 5V Mặc dù vậy không được lấy 5V từ chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn
RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET được nối GND qua 1 điện trở 10KΩ
Adruino Uno R3 có 14 chân digital dùng để đọc hoặc xuất tín hiệu Chúng chỉ có
2 mức điện áp là 0V và 5V với dòng vào/ ra tối đa trên mỗi chân là 40mA Ở mỗi chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328
Một số chân digital có các chức năng đặc biệt như sau :
Chân Serial: 0 (RX) và 1 (TX) : dùng để gửi (transmit – TX) và nhận (receive – RX) dữ liệu TTL Serial Adruino Uno có thể giao tiếp với thiết bị khác thông qua
LED 13 : Trên Adruino có 1 đèn led màu cam(kí hiệu chữ L) Khi bấm nút Reset đèn này nhấp nháy để báo tín hiệu Nó được nối với chân số 13 Khi chân này được sử dụng LED sẽ sáng
Adruino Uno có 6 chân analog(A0 →A5) cung cấp độ phân giải tín hiệu 10 bit(0
→210− 1) để đọc giá trị điện áp trong khoảng 0V →5V Với chân AREF trên board ta
có thể đưa vào điện áp tham chiếu khi sử dụng các chân analog Nếu ta cấp điện áp 2,5V
Hình 2 13 Adruino Uno R3
Trang 28vào chân này thì ta có thể dùng các chân analog để đo điện áp trong khoảng từ 0V
→2,5V với độ phân giải 10 bit
Đặc biệt Adruino Uno có 2 chân A4(SDA) và A5(SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác
Bảng 2 2: Bảng thông số kỹ thuật Vi điều khiển ATmega328
Điện áp hoạt động 5V
Điện áp đầu vào (khuyến nghị) 7-12V
Điện áp đầu vào(giới hạn) 6-20V
Số I/O 14( 6 chân sử dụng như PWM)
Số ngõ vào Analog 6
Dòng DC trên mỗi I/O 20mA
Dòng DC cho chân 3,3V 50mA
Một số ứng dụng của Adruino trong đời sống :
Làm Robot Arduino có khả năng đọc các thiết bị cảm biến, điều khiển động cơ,… nên nó thường được dùng để làm bộ xử lý trung tâm của rất nhiều loại robot
Game tương tác: Arduino có thể được sử dụng để tương tác với Joystick, màn hình,… khi chơi các game như Tetrix, phá gach, Mario…
Máy bay không người lái
Trang 29 Điều khiển đèn tín hiệu giao thông, làm hiệu ứng đèn Led nhấp nháy trên các biển quảng cáo…
Điều khiển các thiết bị cảm biến ánh sáng, âm thanh
Làm máy in 3D
Làm đàn bằng ánh sang
Làm lò nướng bánh biết tweet để báo cho bạn khi bánh chín
2.6 GIỚI THIỆU VỀ CẢM BIẾN HỒNG NGOẠI E18-D80NK
2.6.1 Giới thiệu:
Cảm biến vật cản hồng ngoại E18-D80NK dùng ánh sáng hồng ngoại để xác định khoảng cách tới vật cản cho độ phản hồi nhanh và rất ít nhiễu do sử dụng mắt nhận và phát tia hồng ngoại theo tần số riêng biệt Cảm biến có thể chỉnh khoảng cách báo mong muốn thông qua biến trở, ngõ ra cảm biến ở dạng cực thu hở nên cần thêm 1 trở treo lên nguồn ở chân tín hiệu khi sử dụng
2.6.2 Thông số kỹ thuật:
Thông số kỹ thuật cảm biến E18- D80NK:
Nguồn điện cung cấp :5VDC
Trang 30 Màu xanh dương: GND, nguồn âm 0VDC
Màu đen : Chân tín hiệu ngõ ra cực thu hở NPN, cần phải có trở kéo lên để tạo thành mức cao
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 24V 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:
Hình 2 15 Sơ đồ chân E18 – D80NK
Hình 2 16 Động cơ DC và động cơ băng tải
Trang 312.7.2 Các thông số của động cơ:
- Điện áp hoạt động : từ 6V đến 24V
Băng tải (băng chuyền) hiểu đơn giản là một máy cơ khí dùng để vận chuyển các
đồ vật từ điểm này sang điểm khác, từ vị trí A sang vị trí B Thay vì vận chuyển sản phẩm bằng công nhân vừa tốn thời gian, chi phí nhân công lại tạo ra môi trường làm việc lộn xộn thì băng chuyền tải có thể giải quyết điều đó.Nó giúp tiết kiệm sức lao động, số lượng nhân công, giảm thời gian và tăng năng suất lao động
Vì vậy băng chuyền, băng tải là một trong những bộ phận quan trọng trong dây chuyền sản xuất, lắp ráp của các nhà máy, xí nghiệp Góp phần tạo nên một môi trường sản xuất hiện đại, khoa học và giải phóng sức lao động mang lại hiệu quả kinh tế cao
Hình 2 17 Động cơ giảm tốc TG-85C-KU-75-KA
Hình 2 18 Mô hình băng tải
Trang 322.8.2 Cấu tạo:
Khung băng tải : thường được làm bằng nhôm định hình, thép sơn tĩnh điện hoặc inox
Dây băng tải : Thường là băng PVC dày 2mm và 3mm hoặc dây PU
Động cơ truyền động : Là động cơ giảm tốc
Cơ cấu truyền động : Rulo kéo, con lăn đỡ ,nhông xích,…
2.8.3 Ứng dụng:
Băng tải, băng chuyền được ứng dụng trong các ngành sản xuất công nghiệp chế biến thực phẩm, khai thác,… nhằm hỗ trợ tối đa cho doanh nghiệp trong quá trình vận chuyển hàng hoá nhanh chóng, an toàn, hiệu quả Ngoài ra với hệ thống băng tải còn giúp doanh nghiệp tối ưu hoá được chi phí, tiết kiệm thời gian, hạn chế nguồn nhân lực mang lại hiệu quả kinh tế cao đồng thời còn giúp cho hệ thống sản xuất ngày càng được tự động hoá theo hướng hiện đại
2.9 GIỚI THIỆU VỀ ĐỘNG CƠ SERVO MG995
2.9.1 Giới thiệu:
a) Tổng quan:
Servo là một dạng động cơ điện đặc biệt Không giống như động cơ thông
thường cứ cắm điện vào là quay liên tục, servo chỉ quay khi được điều khiển với
góc quay nằm trong khoảng giới hạn Mỗi loại servo có kích thước, khối lượng và
cấu tạo khác nhau Có loại thì nặng chỉ 9g (chủ yếu dùng trên máy bay mô mình),
có loại thì sở hữu một momen lực tương đối (vài chục Newton/m), hoặc có loại
thì khỏe và nhông sắc chắc chắn
b) Cấu tạo:
Động cơ DC là động cơ bước vốn là những hệ hồi tiếp vòng hở Việc thiết lập một hệ thống điều khiển để xác định những gì ngăn cản chuyển động quay của động cơ hoặc làm động cơ không quay cũng không dễ dàng Mặt khác, động cơ servo được thiết kế cho
Hình 2 19 Động cơ Servo
Trang 33những hệ thống hồi tiếp vòng kín Khi động cơ quay, vận tốc và vị trí sẽ được hồi tiếp về một mạch điều khiển Nếu có bất kỳ lý do nào ngăn cản chuyển động quay của động cơ,
cơ cấu hồi tiếp sẽ nhận thấy tín hiệu ra chưa đạt được vị trí mong muốn Mạch điều khiển tiếp tục chỉnh sai lệch cho động cơ đạt được điểm chính xác
2.9.2 Giới thiệu về động cơ servo MG995:
a) Giới thiệu:
Động cơ Servo MG995 là loại có mô men xoắn lớn, chạy mượt mà phù hợp cho những mô hình điều khiển có tải trong lớn như cánh tay robot, mô hình máy bay, robot nhện,…
Động cơ sử dụng chất liệu có độ bền cao, bánh răng đồng giúp động cơ đạt độ bền cao
b) Thông số kỹ thuật:
Hình 2 20 Cấu tạo cơ bản của một động cơ ( motor) servo
Hình 2 21 Động cơ Servo MG995
Trang 34+ 0,17sec/60degree tại 4,8 không tải
+ 0,13sec/60degree tại 6V không tải
- Dòng điện cung cấp <1000mA
- Nhiệt độ hoạt động : 0 ºC - 60 ºC
- Delay: 10us
2.9 3 Ứng dụng:
Trong ngành công nghiệp, động cơ servo được sử dụng trong các nhà máy công
cụ, đóng gói, tự động hoá nhà máy, xử lý vật liệu, in chuyển đổi Ngoài ra chúng còn được sử dụng để chế tạo cánh tay robot vì sự chuyển đổi trơn tru và chính xác
2.10 GIỚI THIỆU VỀ LCD 16X2
2.10.1 Giới thiệu:
Ngày nay, thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất nhiều các ứng dụng của vi điều khiển LCD có rất nhiều ưu điểm so với các dạng hiển thị khác
Nó có khả năng hiển thị kí tự đa dạng, trực quan (chữ, số và kí tự đồ họa), dễ dàng đưa vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tốn ít tài nguyên hệ thống và giá thành rẻ
Hình 2 22 Sơ đồ nối dây Servo
Hình 2 23 LCD 16x2
Trang 352.10.2 Cấu tạo:
Cấu tạo LCD 16x2 có 2 hàng mỗi hàng 16 chân
Trong 16 chân của LCD được chia làm 3 dạng tín hiệu như sau:
Các chân cấp nguồn: chân số 1 nối mass (0V), chân sổ 2 là VDD nối với nguồn 5V, chân số 3 dùng để chỉnh contrast thường nối với biến trở
Các chân điều kiển: chân số 4 là chân RS dùng để điều kiển lựa chọn thanh ghi Chân R/W dùng để điều khiển quá trình đọc và ghi Chân E là chân cho phép dạng xung chốt
Các chân dữ liệu DB0-DB7: là chân từ số 7 đến 14 dùng để trao đổi dữ liệu giữa thiết bị điều khiển và LCD
Chân 15 nối nguồn +5V hoặc 4,2V đối với LED, chân 16 nối GND
Bảng 2 3: Bảng cấu tạo LCD 16x2
Chân Kí hiệu Mô tả
1 VSS Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với
GND của mạch điều khiển
2 VDD Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với
VCC=5V của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD
4 RS Chân chọn thanh ghi (Register select) Nổi chân RS với logic “0”
(GND) hoặc logic “1” (VCC) để chọn thanh ghi + Logic “0”:
Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ
“ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ
Hình 2 24 Cấu tạo LCD 16x2
Trang 36“đọc” - read) + Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD
5 R/W Chân chọn chế độ đọc/ghi (Read/Write) Nổi chân R/W với logic
“0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” để LCD ở chế độ đọc
6 E Chân cho phép (Enable) Sau khi các tín hiệu được đặt lên bus
các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E + Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào(chấp nhận) thanh ghi bên trong nó khi phát hiện một xung (high-tolow transition) của tín hiệu chân E Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát hiện cạnh lên (low-to-high transition) ở chân E và được LCD giữ ở bus đến khi nào chân E xuống mức thấp
7-14
DB0-DB7
Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU,
Có 2 chế độ sử dụng 8 đường bus này:
+ Chế độ 8 bit: Dữ liệu được truyền trên cả 8 đường, với bit MSB
Trang 372.12 CÁC CHUẨN GIAO TIẾP
2.12.1 Chuẩn giao tiếp UART
a) Giới thiệu:
Các tên đầy đủ UART là “Universal Asynchronous Receiver / Transmitter”, và nó là một vi mạch sẵn có trong một vi điều khiển nhưng không giống như một giao thức truyền thông (12C & SPI) Chức năng chính của UART là truyền dữ liệu nối tiếp Trong UART, giao tiếp giữa hai thiết bị có thể được thực hiện theo hai cách là giao tiếp dữ liệu
nối tiếp và giao tiếp dữ liệu song song
Trong giao tiếp dữ liệu nối tiếp, dữ liệu có thể được truyền qua một cái hoặc một đường dây ở dạng bit-bit và nó chỉ cần hai cáp Truyền thông dữ liệu nối tiếp không đắt khi chúng ta so sánh với giao tiếp song song Nó đòi hỏi rất ít mạch cũng như dây Vì vậy, giao tiếp này rất hữu ích trong các mạch ghép so với giao tiếp song song
Hình 2 25 Đèn led hắt 5054 để ổn định nguồn sáng
Hình 2 26 Giao tiếp UART
Trang 38b) Truyền thông UART:
Trong giao tiếp này, có hai loại UART có sẵn là truyền UART và nhận UART và giao tiếp giữa hai loại này có thể được thực hiện trực tiếp với nhau Đối với điều này, chỉ cần hai cáp để giao tiếp giữa hai UART, Luồng dữ liệu sẽ từ cả hai chân truyền (Tx) và nhận (Rx) của UARTs Trong UART, việc truyền dữ liệu từ Tx UART sang Rx UART có thể được thực hiện không đồng bộ (không có tín hiệu CLK để đồng bộ hóa các bit o/p
Việc truyền dữ liệu của UART có thể được thực hiện bằng cách sử dụng bus dữ liệu ở dạng song song bởi các thiết bị khác như vi điều khiển, bộ nhớ, CPU, vv Sau khi nhận được dữ liệu song song từ bus, nó tạo thành gói dữ liệu bằng cách thêm ba bit như bắt đầu, dừng lại và trung bình Nó đọc từng bit gói dữ liệu và chuyển đổi dữ liệu nhận được thành dạng song song để loại bỏ ba bit của gói dữ liệu
Start-bit: Còn được gọi là bit đồng bộ hóa được đặt trước dữ liệu thực tế Nói
chung, một đường truyền dữ liệu không hoạt động được điều khiển ở mức điện áp cao
Để bắt đầu truyền dữ liệu, truyền UART kéo đường dữ liệu từ mức điện áp cao (1) xuống mức điện áp thấp (0) UART thu được thông báo sự chuyển đổi này từ mức cao sang mức thấp qua đường dữ liệu cũng như bắt đầu hiểu dữ liệu thực Nói chung, chỉ có một start-bit
Bit dừng: Được đặt ở phần cuối của gói dữ liệu Thông thường, bit này dài 2 bit
nhưng thường chỉ sử dụng 1 bit Để dừng sóng, UART giữ đường dữ liệu ở mức điện áp cao
Bit chẵn lẻ: Cho phép người nhận đảm bảo liệu dữ liệu được thu thập có đúng hay
không Đây là một hệ thống kiểm tra lỗi cấp thấp & bit chẵn lẻ có sẵn trong hai phạm vi như Chẵn lẻ - chẵn lẻ cũng như Chẵn lẻ - lẻ Trên thực tế, bit này không được sử dụng rộng rãi nên không bắt buộc
Dữ liệu bit hoặc khung dữ liệu: Các bit dữ liệu bao gồm dữ liệu thực được
truyền từ người gửi đến người nhận Độ dài khung dữ liệu có thể nằm trong khoảng 5&
8 Nếu bịt chẵn lẻ không được sử dụng thì chiều dài khung dữ liệu có thể dài 9 bit Nói chung, LSB của dữ liệu được truyền trước tiên sau đó nó rất hữu ích cho việc truyền
Giao diện UART: Hình dưới đây cho thấy UART giao tiếp với vi điều khiển
Giao tiếp UART có thể được thực hiện bằng ba tín hiệu như TXD, RXD và GND
Hình 2 27 Truyền thông UART
Trang 39c) Ứng dụng của UART:
UART thường được sử dụng trong các bộ vi điều khiển cho các yêu cầu chính xác và chúng cũng có sẵn trong các thiết bị liên lạc khác nhau như giao tiếp không dây, thiết bị GPS, mô-đun Bluetooth và nhiều ứng dụng khác
Các tiêu chuẩn truyền thông như RS422 & TIA được sử dụng trong UART ngoại trừ RS232 Thông thường, UART là một IC riêng được sử dụng trong giao tiếp nối tiếp UART
d) Ưu và nhược điểm của UART:
Những ưu và nhược điểm của UART bao gồm những điều sau đây:
Nó chỉ cần hai dây để truyền dữ liệu
Tín hiệu CLK là không cần thiết
Nó bao gồm một bit chẵn lẻ để cho phép kiểm tra lỗi
Sắp xếp gói dữ liệu có thể được sửa đổi vì cả hai mặt được sắp xếp
Kích thước khung dữ liệu tối đa là 4 bit
Nó không chứa một số hệ thống phụ
Tốc độ truyền của UART phải ở mức 10% của nhau
2.12.2 Chuẩn giao tiếp I2C
a) Giới thiệu:
I2C viết tắt của từ Inter-Integrated Circuit là một chuẩn truyền thông do hãng điện
tử Philips Semiconductor sáng lập cho phép giao tiếp một thiết bị chủ với nhiều thiết bị
tớ với nhau như hình
Hình 2 28 Giao tiếp UART
Hình 2 29 Giao tiếp I2C
Trang 40Chuẩn giao tiếp I2C có 2 đường tín hiệu tên là SDA(serial data) có chức năng truyền tải dữ liệu và tín hiệu SCL (serial clock) truyền tải xung clock để dịch chuyển dữ liệu
Trong hệ thống truyền dữ liệu IDC thì thiết bị nào cung cấp xung clock thì được gọi là chủ (master), thiết bị nhận xung clock được gọi là tớ (slave)
Thiết bị chủ chỉ có 1, thiết bị tớ thì có nhiều, mỗi thiết bị tớ sẽ có 1 địa chỉ độc lập, chuẩn truyền ban đầu dùng địa chỉ 7 bit nên có thể 1 chủ giao tiếp với 128 thiết bị tớ Các thiết bị sau này tăng thêm số bit nên có thể giao tiếp nhiều hơn
Giao diện I2C hỗ trợ tốc độ truyền chuẩn 100kHz hay tốc độ cao 400kHz Ngoài
ra còn hỗ trợ 7 hoặc 10 bit địa chỉ Được thiết kế nhằm đơn giản hoá quá trình trao đổi với 2 kênh DMA cho truyền và nhận dữ liệu
b) Quy trình truyền dữ liệu I2C:
Quá trình thiết bị chủ ghi dữ liệu vào thiết bị tớ:
Bước 1: Thiết bị chủ tạo trạng thái START để bắt đầu quá trình truyền dữ liệu -các thiết bị tớ sẽ ở trạng thái sẵn sàng nhận địa chỉ từ thiết bị chủ
Bước 2: Thiết bị chủ gởi địa chỉ của thiết bị tớ cần giao tiếp – khi đó tất cả các thiết bị tớ đều nhận địa chỉ và so sánh với địa chỉ của mình, các thiết bị tớ sau khi phát hiện không phải địa chỉ của mình thì chờ cho đến khi nào nhận trạng thái START mới - Trong dữ liệu 8 bit thì có 7 bit địa chỉ và 1 bit điều khiển đọc/ghi (R/W): thì bit này bằng 0 để báo cho thiếtbị tớ sẽ nhận byte tiếp theo
Bước 3: Thiết bị chủ chờ nhận tín hiệu bắt tay từ thiết bị tớ Thiết bị tố nào đúng địa chỉ thì phát 1 tín hiệu trả lời cho chủ biết
Bước 4: Thiết bị chủ tiến hành gởi địa chỉ của ô nhớ bắt đầu cần ghi dữ liệu, bit R/W ở trạng thái ghi
Bước 5: Thiết bị chủ chờ nhận tín hiệu trả lời từ thiết bị tớ
Bước 6: Thiết bị chủ tiến hành gởi dữ liệu để ghi vào thiết bị tớ, mỗi lần ghi 1 byte, sau khi gởi xong thì tiến hành chờ nhận tín hiệu trả lời từ thiết bị tớ, quá trình thực hiện cho đến byte cuối cùng xong rồi thì thiết bị chủ chuyển sang trạng thái STOP để chấm dứt quá trình giao tiếp với thiết bị tớ