1. Trang chủ
  2. » Luận Văn - Báo Cáo

Hệ thống kiểm tra lỗi phốt bạc đạn tự động ứng dụng xử lý ảnh

81 2 0

Đ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

Thông tin cơ bản

Tiêu đề Hệ Thống Kiểm Tra Lỗi Phốt Bạc Đạn Tự Động Ứng Dụng Xử Lý Ảnh
Tác giả Nguyễn Văn Tâm, Lê Quang Chiến, Phan Đình Phong
Người hướng dẫn ThS. Nguyễn Minh Triết
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Kỹ Thuật Cơ Điện Tử
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2022-2023
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 81
Dung lượng 7,66 MB

Cấu trúc

  • CHƯƠNG 1: GIỚI THIỆU (15)
    • 1.1. Tính cấp thiết của đề tài và lý do chọn đề tài (15)
    • 1.2. Ý nghĩa khoa học và thực tiễn của đề tài (15)
    • 1.3. Mục tiêu nghiên cứu của đề tài (15)
    • 1.4. Đối tượng và phạm vi nghiên cứu (16)
      • 1.4.1. Đối tượng nghiên cứu (16)
      • 1.4.2. Phạm vi nghiên cứu (16)
    • 1.5. Phương pháp nghiên cứu (17)
      • 1.5.1. Cơ sở phương pháp luận (17)
      • 1.5.2. Các phương pháp nghiên cứu cụ thể (17)
    • 1.6. Kết cấu của ĐATN (17)
  • CHƯƠNG 2: TỔNG QUAN HỆ THỐNG KIỂM TRA LỖI VÀ XỬ LÝ ẢNH (18)
    • 2.1. Phốt bạc đạn (18)
      • 2.1.1. Giới thiệu về phốt bạc đạn (18)
      • 2.1.2. Công dụng, cách sử dụng (18)
      • 2.1.3. Các dạng lỗi phốt thường gặp (19)
    • 2.2. Tổng quan về hệ thống (20)
    • 2.3. Tổng quan về xử lý ảnh (20)
    • 2.4. Tình hình trong nước và ngoài nước (21)
      • 2.4.1. Tình hình ngoài nước (21)
      • 2.4.2. Tình hình trong nước (21)
  • CHƯƠNG 3: CƠ SỞ LÝ THUYẾT (23)
    • 3.1. Giới thiệu về thư viện OpenCV (23)
    • 3.2. Phương pháp Deep Learning (23)
      • 3.2.1. Khái niệm về Deep Learning (23)
      • 3.2.2. ANN (24)
      • 3.2.3. CNN (25)
      • 3.2.4. YOLOv8 (26)
    • 3.3. Giao diện GUI (27)
      • 3.3.1. Các khái niệm cơ bản về GUI (27)
      • 3.3.2. Lập trình Tkinter (28)
      • 3.3.3. Quản lý hình học (28)
      • 3.3.4. Thư viện Custom tkinter (28)
      • 3.3.5. Pillow (30)
      • 3.3.6. Thư viện Serial (31)
    • 3.4. Khái niệm Blynk (31)
  • CHƯƠNG 4: PHƯƠNG HƯỚNG VÀ CÁC GIẢI PHÁP VỀ PHÂN LOẠI PHỐT BẠC ĐẠN (33)
    • 4.1. Phân loại theo mô hình OpenCV (33)
      • 4.1.1. Nhận diện lỗi (33)
      • 4.1.2. Tách lỗi từ ảnh (33)
      • 4.1.3. Phân vùng lỗi (34)
      • 4.1.4. Lọc nhiễu (34)
      • 4.1.5. Lưu đồ giải thuật (35)
    • 4.2. Phân loại theo mô hình YOLO (36)
      • 4.2.1. Chuẩn bị dữ liệu huấn luyện (36)
      • 4.2.2. Chuẩn bị tệp cấu hình và tải trọng số của mô hình pre-trained (37)
      • 4.2.3. Tiến hành huấn luyện (38)
      • 4.2.4. Đánh giá mô hình (39)
      • 4.2.5. Lưu đồ giải thuật (41)
    • 4.3. Lựa chọn phương pháp (42)
    • 4.4. Sơ đồ nguyên lý và nguyên lý làm việc (42)
    • 4.5. Lưu đồ giải thuật ESP32 (44)
  • CHƯƠNG 5: CHỌN LINH KIỆN VÀ TÍNH TOÁN BĂNG TẢI, TRỤC, TRUYỀN ĐỘNG ĐAI VÀ Ổ LĂN (45)
    • 5.1. Chọn động cơ điện và tính toán tỉ số truyền (47)
      • 5.1.1. Xác định số vòng quay sơ bộ (47)
      • 5.1.2. Xác định công suất (47)
      • 5.1.3. Chọn động cơ (48)
      • 5.1.4. Tính tỷ số truyền (49)
    • 5.2. Truyền động đai (49)
      • 5.2.1. Chọn loại đai thang (50)
      • 5.2.2. Đường kính các bánh đai d 1 , d 2 (50)
      • 5.2.3. Khoảng cách trục a (50)
      • 5.2.4. Chiều dài đai L (51)
      • 5.2.5. Kiểm nghiệm đai về tuổi thọ (51)
      • 5.2.6. Góc ôm α 1 (51)
      • 5.2.7. Lực tác dụng lên trục (52)
    • 5.3. Tính toán băng tải và trục (52)
      • 5.3.1. Tính toán chiều dài băng tải (52)
      • 5.3.2. Tính toán trục (52)
    • 5.4. Tính toán ổ lăn (56)
      • 5.4.1. Chọn sơ bộ ổ lăn (56)
      • 5.4.2. Kiểm nghiệm khả năng tải động (57)
      • 5.4.3. Kiểm nghiệm khả năng tải tĩnh (58)
    • 5.5. Các thiết bị được sử dụng (59)
      • 5.5.1. Vi điều khiển ESP32 (59)
      • 5.5.2. Relay đóng ngắt (60)
      • 5.5.3. Module A4988 điều khiển động cơ bước (60)
      • 5.5.4. Động cơ bước (Step Motor) (62)
      • 5.5.5. Camera (63)
      • 5.5.6. Cảm biến phát hiện từ tính Hall KY - 003 (64)
      • 5.5.7. Module PWM (64)
      • 5.5.8. Động cơ DC giảm tốc GA25 12V 12RPM (65)
    • 5.6. Sơ đồ nguyên lý bộ điều khiển (66)
  • CHƯƠNG 6: THI CÔNG VÀ ĐÁNH GIÁ HỆ THỐNG PHÂN LOẠI PHỐT ỨNG DỤNG XỬ LÝ ẢNH (67)
    • 6.1. Xây dựng mô hình 3D (67)
    • 6.2. Gia công phần cứng (70)
    • 6.3. Thiết kế giao diện GUI (71)
    • 6.4. Giao diện trên App và Web Blynk (73)
    • 6.5. Thực nghiệm và đánh giá (75)
  • TÀI LIỆU THAM KHẢO (78)
  • PHỤ LỤC (80)

Nội dung

GIỚI THIỆU

Tính cấp thiết của đề tài và lý do chọn đề tài

Trong quá trình kiểm tra lỗi, nhiều doanh nghiệp gặp phải khó khăn do quy trình phức tạp và cần nhiều nhân công, dẫn đến sai sót Nhằm giải quyết vấn đề này, nhóm chúng em đã quyết định thực hiện Khóa Luận Tốt Nghiệp với đề tài: Hệ thống kiểm tra lỗi phốt bạc đạn tự động ứng dụng xử lý ảnh Đề tài này không chỉ giúp tăng năng suất cho dây chuyền phân loại mà còn giảm thiểu sai sót và số lượng vị trí công việc cần thiết cho công ty.

Ý nghĩa khoa học và thực tiễn của đề tài

Hệ thống này sử dụng công nghệ xử lý hình ảnh và thuật toán học máy để xác định và phân loại chính xác các phốt bạc đạn, nhằm đơn giản hóa quy trình nhận diện và phân loại chúng.

Bộ phận phần cứng và phần mềm đóng vai trò quan trọng trong việc phân loại sản phẩm, giúp tự động hóa quá trình phân loại giữa sản phẩm bị lỗi và thành phẩm.

Đề tài “Hệ thống kiểm tra lỗi phốt bạc đạn tự động ứng dụng xử lý ảnh” tập trung vào nghiên cứu và thực hiện hai phần chính Nội dung nghiên cứu bao gồm việc phát triển một hệ thống tự động để kiểm tra lỗi trong phốt bạc đạn, sử dụng công nghệ xử lý ảnh nhằm nâng cao độ chính xác và hiệu quả trong quá trình kiểm tra.

- Thiết kế mô hình băng tải, hệ thống cấp phôi và hệ thống hứng phân loại

- Thiết kế mạch điều khiển, xây dựng phần mềm cho hệ thống phân loại

Kế thừa kết quả từ đồ án Cơ điện tử trước đó, nhóm chúng em tiếp tục thực hiện ĐATN với trọng tâm là thiết kế và bổ sung các thiết bị điện tử, đồng thời cập nhật phần mềm mới cho đề tài Mục tiêu chính là hoàn thiện thiết bị và phần mềm, nhằm áp dụng vào quy trình sản xuất, tối ưu chi phí và đơn giản hóa quá trình vận hành Qua dự án này, nhóm chúng em hy vọng tích lũy được nhiều kiến thức quý giá cho sự phát triển bản thân trong tương lai.

Mục tiêu nghiên cứu của đề tài

Mục tiêu chính của đề tài này là phát triển một hệ thống tự động có khả năng kiểm tra và xử lý các lỗi của phốt bạc đạn, ứng dụng các thuật toán xử lý ảnh.

Phát triển một hệ thống kiểm tra tự động nhằm tạo ra hệ thống phân loại lỗi cho phốt bạc đạn thông qua việc xử lý tự động hình ảnh Hệ thống này cho phép phân loại sản phẩm lỗi nhanh chóng và hiệu quả mà không cần can thiệp thủ công Bằng cách áp dụng kỹ thuật xử lý ảnh, hệ thống sẽ tách và lọc thông tin từ các bức ảnh chụp phốt bạc đạn, bao gồm việc nhận diện các nét tương đồng, lọc nhiễu, tinh chỉnh màu sắc, và phân đoạn hình ảnh Mục tiêu cuối cùng là xây dựng hệ thống phân loại có khả năng xác định và phân loại các lỗi phốt bạc đạn thông qua thuật toán huấn luyện.

Đối tượng và phạm vi nghiên cứu

Hệ thống kiểm tra lỗi phốt bạc đạn tự động là trọng tâm nghiên cứu, bao gồm các thành phần chính như buồng lấy ảnh, bộ điều khiển, cơ cấu cấp phôi tự động và cơ cấu phân loại sản phẩm tự động.

Trong đồ án tốt nghiệp nhóm em tập trung vào thiết kế hệ thống phân loại sản phẩm gồm có các thành phần như sau:

+ Tạo buồng ảnh và xử lý ảnh từ camera để nhận dạng một số lỗi thường gặp ở phốt bạc đạn

+ Giao diện trên máy tính, tối ưu, dễ sử dụng

+ Điều khiển kết cấu hứng sản phẩm sau khi phân loại

+ Điều khiển kết cấu cấp sản phẩm để phân loại

+ Thiết kế băng tải theo các thông số thiết kế đầu vào như bảng 1-1

Bảng 1-1: Thông số thiết kế yêu cầu đầu vào

Lực vòng trục Rulo, F (N) 40 Đường kính phốt bạc đạn d p (m) 0,03 Đường kính Rulo d rulo (m) 0,05

Khoảng cách giữa từng phốt bạc đạn L p (m) 0,2

Năng suất hệ thống (sản phẩm/giây) 2

Thời gian phục vụ, L (năm) 5 (24/24h, 1 tháng ngừng và bảo trì 1 lần) Đường kính phốt bạc đạn (cm) 3

Tốc độ của băng tải (m/s) 0,4

Tải trọng của phốt bạc đạn (N) 2

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

1.5.1 Cơ sở phương pháp luận

Các phương pháp xử lý ảnh như OpenCV và mô hình YOLO đã được nghiên cứu và đánh giá nhằm phát triển hệ thống kiểm tra lỗi phốt bạc đạn tự động, tạo nền tảng cho phương pháp luận trong lĩnh vực này.

1.5.2 Các phương pháp nghiên cứu cụ thể

Áp dụng các thuật toán trong OpenCV giúp cải thiện quy trình xử lý ảnh, bao gồm trích xuất đặc trưng và tạo mặt nạ OpenCV cung cấp nhiều tính năng hữu ích như xử lý nhiễu, cân bằng màu sắc, phân đoạn ảnh, và tạo mặt nạ, hỗ trợ hiệu quả cho việc làm việc với ảnh.

Sử dụng mô hình YOLO (You Only Look Once) giúp chúng tôi phát hiện và phân loại lỗi trong phốt bạc đạn một cách nhanh chóng YOLO không chỉ phát hiện sản phẩm mà còn xác định chính xác vị trí của chúng, nâng cao hiệu quả trong quá trình kiểm tra chất lượng.

Hệ thống phân loại sẽ được phát triển để xác định các lỗi trong phốt bạc đạn, sử dụng các phương pháp như học máy hoặc học sâu Để đảm bảo hiệu quả của quá trình huấn luyện, cần có một lượng dữ liệu lớn.

Kết cấu của ĐATN

ĐATN bao gồm 6 chương, trong đó chương 2 tổng quan về hệ thống phốt bạc đạn và xử lý ảnh Chương 3 trình bày cơ sở lý thuyết về thư viện OpenCV, phương pháp Deep Learning và xây dựng giao diện GUI Chương 4 giới thiệu các phương pháp phân loại sản phẩm sử dụng thư viện OpenCV và mô hình YOLO Chương 5 tập trung vào việc chọn động cơ, linh kiện và tính toán thiết kế cho các thành phần của băng tải Cuối cùng, chương 6 mô tả mô hình thi công hệ thống phân loại phốt bạc đạn ứng dụng xử lý ảnh.

TỔNG QUAN HỆ THỐNG KIỂM TRA LỖI VÀ XỬ LÝ ẢNH

Phốt bạc đạn

2.1.1 Giới thiệu về phốt bạc đạn

Phốt bạc đạn, hay còn gọi là phốt vòng bi, là thiết bị quan trọng trong việc bảo vệ vòng bi và vỏ vòng bi, giúp duy trì hiệu suất và tuổi thọ của chúng Những vòng đệm này có chức năng ngăn chặn ô nhiễm xâm nhập vào ổ trục và giữ cho chất bôi trơn luôn ở trong cụm ổ trục.

Trên thị trường hiện có nhiều loại phốt vòng bi, mỗi loại được chế tạo để phù hợp với các yêu cầu và điều kiện vận hành khác nhau Dưới đây là một số loại vòng bi phổ biến mà người dùng có thể tham khảo.

Phốt từ tính sử dụng nam châm để tạo ra lớp đệm không tiếp xúc, giúp thu hút và đẩy hạt kim loại màu vào khu vực ổ trục Chúng thường được áp dụng trong các tình huống có vấn đề về ô nhiễm hạt mịn.

Phốt hỗn hợp là loại phốt sử dụng cả phốt tiếp xúc và không tiếp xúc, thường kết hợp với các dạng phốt khác như phốt mê cung hoặc tấm chắn Sự kết hợp này mang lại khả năng bảo vệ tối ưu, giúp ngăn chặn hiệu quả rò rỉ chất lỏng và chất gây ô nhiễm.

2.1.2 Công dụng, cách sử dụng

Mục đích chính của phốt là duy trì chất bôi trơn trong hệ thống và ngăn chặn ô nhiễm từ bụi bẩn, nước và các hạt khác Phốt đóng vai trò quan trọng trong việc bảo vệ máy móc, giúp duy trì hoạt động bình thường và kéo dài tuổi thọ của thiết bị bằng cách cách ly trục quay khỏi môi trường xung quanh.

Phốt chống rò rỉ giữ cho chất bôi trơn luôn ở trong khu vực cần thiết, ngăn chặn sự thoát ra khỏi hệ thống Việc này rất quan trọng để duy trì độ bôi trơn tối ưu và ngăn ngừa mài mòn không cần thiết.

Phốt chống ô nhiễm đóng vai trò quan trọng trong việc ngăn chặn ô nhiễm xâm nhập vào hệ thống, giúp duy trì môi trường làm việc sạch sẽ bằng cách ngăn chặn bụi bẩn và độ ẩm Điều này đặc biệt cần thiết cho các bộ phận nhạy cảm như vòng bi, bánh răng và trục quay, nơi có nguy cơ bị ăn mòn hoặc mài mòn cao.

Phốt được thiết kế với lớp chất bôi trơn mỏng trên đệm, giúp giảm ma sát và sinh nhiệt trong quá trình hoạt động Nhờ vào việc giảm thiểu ma sát và mài mòn giữa trục quay và phốt, hiệu quả và tuổi thọ của máy móc được nâng cao.

2.1.3 Các dạng lỗi phốt thường gặp

Khi tạo ra sản phẩm, tiêu chí hàng đầu cần đạt được là chất lượng Tuy nhiên, một số yếu tố ngoại vi có thể ảnh hưởng đến quá trình này, dẫn đến việc sản phẩm không còn hoàn hảo và gây ra thất thoát cho doanh nghiệp.

Hình 2-2, Hình 2-3) là trầy bề mặt, sai hình dáng,…

Hình 2-2: Trầy bề mặt bị tróc sơn hay xước

Hình 2-3: Sai hình dáng bị vỡ, gãy, nứt, còn ba-via

Tổng quan về hệ thống

Hệ thống phân loại phốt bạc đạn này được thiết kế để tối ưu hóa hiệu suất và độ chính xác trong việc phân loại lỗi, đảm bảo phù hợp với quy trình vận hành.

Hệ thống xử lý ảnh sử dụng thư viện OpenCV để phát hiện lỗi, áp dụng các thuật toán như lọc nhiễu, phân đoạn và xử lý mặt nạ Những thuật toán này không chỉ cải thiện chất lượng ảnh mà còn giảm thiểu tín hiệu nhiễu, từ đó tạo ra các đặc trưng rõ ràng hơn cho mô hình phân loại lỗi.

Hệ thống áp dụng YOLO để phát hiện lỗi phốt bạc đạn trong hình ảnh, cho phép nhìn toàn bộ ảnh chỉ một lần, giúp tìm kiếm nhanh chóng và chính xác các đối tượng Mô hình này giúp phân loại chính xác các lỗi phốt bạc đạn, với khả năng xử lý ảnh nhanh chóng, xác định đặc trưng chính xác và phân loại đáng tin cậy.

Tổng quan về xử lý ảnh

Xử lý ảnh là quá trình sử dụng kỹ thuật số để chỉnh sửa và cải thiện hình ảnh Các thành phần chính của hình ảnh bao gồm yếu tố hình ảnh, yếu tố ảnh, pels và pixels Thuật toán xử lý ảnh thường tập trung vào việc quản lý và điều chỉnh các pixel, thành phần cơ bản của một hình ảnh số.

Thị giác, là giác quan tiên tiến nhất của con người, khiến hình ảnh trở thành yếu tố quan trọng trong tri giác Các máy ảnh có khả năng chụp hình từ sóng vô tuyến đến tia gamma, bao quát phần lớn phổ điện từ (EM), trong khi con người chỉ có thể nhận biết dải ánh sáng hạn chế Điều này cho phép máy ảnh xử lý các hình ảnh từ các nguồn mà con người không quen thuộc, như hình ảnh từ máy tính, siêu âm và kính hiển vi.

Hiện nay, chưa có sự thống nhất về định nghĩa giữa xử lý ảnh và thị giác máy tính Xử lý ảnh được xem là lĩnh vực nghiên cứu khoa học với dữ liệu đầu vào và đầu ra đều là hình ảnh, trong khi đó, thị giác máy tính nhằm mục đích mô phỏng khả năng nhìn của con người, bao gồm học hỏi, suy luận và hành động dựa trên hình ảnh Lĩnh vực này liên quan đến trí tuệ nhân tạo (AI) và đang ngày càng phát triển vượt bậc.

Dòng liên tục từ xử lý ảnh đến thị giác máy tính không có ranh giới rõ ràng, nhưng việc phân loại thành ba quy trình máy tính - quy trình cấp thấp, cấp trung và cấp cao - sẽ giúp tạo ra một mô hình hữu ích.

Tình hình trong nước và ngoài nước

Các nước phát triển như Mỹ, Anh, Đức, Nga và nhiều quốc gia châu Á đang tích cực áp dụng thiết bị điện tử và thuật toán thông tin trong dây chuyền sản xuất, dẫn đến sự cải thiện đáng kể về năng suất Các tập đoàn đa quốc gia như Intel và Tesla đã triển khai quy trình tự động hóa, cho thấy sự phát triển vượt bậc trong công nghệ sản xuất Những quốc gia này không chỉ là những người dẫn đầu mà còn liên tục nâng cao hiện đại hóa quy trình sản xuất của họ.

Hình 2-4: Quy trình tự động

Trong cơ cấu vận hành hiện đại, nhiều hệ thống nhỏ đã được ứng dụng, nổi bật là các thành phần điện, điện tử với giao diện tối ưu, giúp quy trình tự động hóa trở nên dễ dàng và thân thiện hơn Việc tối ưu hóa bộ điều khiển và phần mềm vẫn là xu thế phát triển quan trọng, đóng vai trò nền tảng trong nền công nghiệp 4.0 hiện nay.

Việt Nam, một quốc gia đang phát triển, đang nỗ lực cải tiến trang bị kỹ thuật để nâng cao hiệu quả vận hành và điều khiển quy trình sản xuất Trong những năm 90, nhiều nhà máy còn thô sơ và phụ thuộc vào sức lao động con người, nhưng hiện nay đã chuyển sang áp dụng các hệ thống tự động, giúp quá trình sản xuất trở nên dễ dàng hơn Sự tiếp thu và ứng dụng các thành tựu công nghệ đã nâng cao năng suất lao động, cải thiện chất lượng cuộc sống Nhận thấy lợi ích từ tự động hóa, các doanh nghiệp đã mạnh tay đầu tư vào cải tiến và phát triển quy trình sản xuất bền vững.

Hình 2-5: Vận chuyển sản phẩm bằng băng tải

Trước đây, doanh nghiệp phải chi phí lớn để thuê hàng ngàn công nhân cho quy trình sản xuất, dẫn đến nhiều sai sót Hiện nay, nhờ vào sự phát triển của máy móc và hệ thống tự động hóa, chất lượng sản xuất đã được cải thiện đáng kể Chỉ cần vài chục nhân viên bảo trì, doanh nghiệp có thể vận hành hiệu quả các quy trình và giảm thiểu sai sót xuống mức tối thiểu.

Đồ án này không chỉ kế thừa các phương pháp trước đây trong việc áp dụng thuật toán xử lý ảnh và phân loại để nhận dạng lỗi phốt bạc đạn, mà còn tích cực cải tiến hiệu quả và độ chính xác của hệ thống.

Cải tiến đầu tiên của đồ án là áp dụng thư viện OpenCV, cho phép xử lý và trích xuất đặc trưng từ ảnh chụp phốt bạc đạn, nhằm nâng cao độ chính xác và tính tin cậy trong việc phát hiện các sản phẩm đạt yêu cầu Bên cạnh đó, việc sử dụng mô hình YOLO cũng góp phần quan trọng trong việc phát hiện và phân loại lỗi của phốt bạc đạn.

CƠ SỞ LÝ THUYẾT

Giới thiệu về thư viện OpenCV

Thư viện OpenCV đóng vai trò quan trọng trong xử lý ảnh, cung cấp các thuật toán giúp người dùng thao tác dễ dàng Với khả năng vận hành trong thời gian thực, OpenCV được ứng dụng rộng rãi trong các lĩnh vực AI, nhận dạng hình ảnh và vật thể.

OpenCV cung cấp nhiều tác vụ thị giác máy tính, bao gồm phát hiện và theo dõi đối tượng, tích hợp máy học, hiệu chỉnh máy ảnh và tầm nhìn 3D Với các chức năng đa dạng này, các nhà phát triển có thể giải quyết nhiều vấn đề khác nhau trong một thư viện duy nhất.

OpenCV hỗ trợ nhiều hệ điều hành như Windows, Linux, macOS, iOS và Android, cung cấp API đồng nhất trên các nền tảng khác nhau Điều này giúp các nhà phát triển dễ dàng viết mã cho ứng dụng di động và triển khai trên nhiều thiết bị hoặc môi trường khác nhau.

OpenCV tối ưu hóa hiệu suất với các thuật toán và chức năng được thiết kế để xử lý hiệu quả trong thời gian thực Nhờ vào khả năng tăng tốc phần cứng, xử lý song song và tối ưu hóa theo nền tảng, OpenCV đảm bảo thực thi nhanh chóng cho các ứng dụng yêu cầu xử lý thời gian thực hoặc có giới hạn về tài nguyên Điều này cho phép các nhà phát triển triển khai các thuật toán phức tạp trong xử lý hình ảnh, video và giải quyết nhiều nhiệm vụ trong lĩnh vực thị giác máy tính.

Phương pháp Deep Learning

3.2.1 Khái niệm về Deep Learning

Học sâu (Deep Learning) là một nhánh của học máy, chuyên về việc đào tạo các mạng thần kinh nhân tạo để xử lý và phân tích dữ liệu phức tạp, từ đó đưa ra quyết định thông minh Lĩnh vực này được phát triển dựa trên cấu trúc và chức năng của bộ não con người, đặc biệt là cách các tế bào thần kinh tương tác và kết nối với nhau.

Hình 3-2: Vị trí của học sâu (Deep Learning) trong AI

Các hàm kích hoạt đóng vai trò quan trọng trong mạng thần kinh, giúp đưa tính phi tuyến tính vào mô hình và cho phép xác định các mối quan hệ phức tạp Một số hàm kích hoạt phổ biến trong học sâu bao gồm ReLU, sigmoid và tanh.

Kiến trúc học sâu bao gồm nhiều loại khác nhau với cấu trúc và mục đích riêng biệt Mạng thần kinh tích chập (CNN) chuyên xử lý hình ảnh và video, trong khi Mạng thần kinh tái phát (RNN) thích hợp cho việc xử lý dữ liệu tuần tự Đặc biệt, Mạng đối thủ sáng tạo (GAN) được sử dụng để tạo ra các mẫu dữ liệu mới, góp phần vào sự phát triển của công nghệ học máy.

Học sâu có khả năng nhận diện và phân loại các yếu tố tương đồng một cách hiệu quả nhờ vào việc học dữ liệu nhanh chóng Quá trình đào tạo mô hình yêu cầu nhiều nguồn dữ liệu đầu vào và sử dụng các thuật toán tính toán nâng cao Bên cạnh đó, việc quản lý các siêu tham số, hay còn gọi là hyperparameters, cũng đóng vai trò quan trọng trong việc tối ưu hóa kết quả.

Mỗi loại mạng nơ-ron sâu được tối ưu hóa cho từng loại dữ liệu và nhiệm vụ cụ thể Các mô hình nơ-ron đã được áp dụng rộng rãi trong nhiều lĩnh vực nghiên cứu, bao gồm nhận dạng hình ảnh, giọng nói, xử lý ngôn ngữ tự nhiên, xe tự lái và chăm sóc sức khỏe, nơi học sâu đã đạt được nhiều thành công nổi bật Học sâu hiện nay là phương pháp chủ đạo trong học máy hiện đại nhờ khả năng học các biểu diễn phức tạp và đưa ra dự đoán chính xác từ dữ liệu thô Trong dự án này, nhóm chúng tôi sẽ áp dụng khả năng xử lý hình ảnh của học sâu để phân loại phốt bạc đạn.

Phương pháp tính toán dựa trên hệ thống thần kinh sinh học của não người được gọi là mạng neural nhân tạo (ANN) Trong mạng neural nhân tạo, các neuron là các đơn vị tính toán được liên kết thành các lớp, tạo thành cấu trúc phức tạp giúp xử lý thông tin hiệu quả.

Hình 3-3: Mạng thần kinh nhân tạo

Chức năng kích hoạt trong mạng nơron nhân tạo (ANN) là yếu tố quan trọng, vì mỗi nơron áp dụng một hàm kích hoạt cho tổng trọng số đầu vào của nó Tính phi tuyến tính được đưa vào mạng thông qua hàm kích hoạt, cho phép mạng xác định và trình bày các mối quan hệ phức tạp trong dữ liệu Một số hàm kích hoạt phổ biến bao gồm sigmoid, ReLU (đơn vị tuyến tính được chỉnh sửa) và tanh.

Kỹ thuật lan truyền ngược là phương pháp chính để đào tạo mạng nơ-ron nhân tạo (ANN), giúp mạng học cách điều chỉnh trọng số kết nối nhằm giảm thiểu sự khác biệt giữa đầu ra dự đoán và đầu ra mong muốn Để giảm lỗi, quá trình này yêu cầu tính toán độ dốc lỗi của mạng đối với các trọng số và cập nhật chúng theo hướng ngược lại với độ dốc Mạng nơ-ron nhận đầu vào và tính toán độ lệch, sử dụng một hàm truyền để thể hiện các phép tính này.

Mô hình mạng neural nhân tạo (ANN) có khả năng học hỏi và tự điều chỉnh dựa trên dữ liệu đầu vào từ người dùng Với độ sâu và số lượng neuron thích hợp, ANN có thể nhận diện và phân tích các mẫu phức tạp trong dữ liệu một cách hiệu quả.

Mặc dù ANN được ứng dụng rộng rãi trong nhiều lĩnh vực, nhưng quá trình huấn luyện của nó thường tốn nhiều thời gian Do đó, các phương pháp mới đã được phát triển nhằm rút ngắn thời gian huấn luyện cho sản phẩm.

Mô hình neural tích chập, hay còn gọi là CNN, được thiết kế để phân tích hình ảnh và video từ không gian CNN đã mang lại những cải tiến đáng kể trong các lĩnh vực xử lý ảnh, nhận dạng đối tượng và phân loại ảnh.

Hình 3-5: Mạng neural tích chập

Mô hình CNN sử dụng các lớp tích chập để khám phá đặc điểm cục bộ trong dữ liệu không gian, tạo ra ma trận đặc trưng bằng cách áp dụng bộ lọc trượt qua ảnh Qua đó, mô hình có khả năng học các đặc trưng cấu trúc và cục bộ như cạnh, góc và hình dạng của đối tượng.

Sau khi hình ảnh được chuyển qua một lớp tích chập, đầu ra thường được xử lý qua một hàm kích hoạt, trong đó hàm sigmoid là một trong những hàm phổ biến được sử dụng.

Mô hình CNN sử dụng các lớp tổng hợp để giảm kích thước ma trận đặc trưng, tăng cường tính bất biến khi xử lý các biến đổi không gian như biến dạng và dịch chuyển Các lớp này tạo ra các biểu diễn tổng quát, giúp giảm số lượng tham số trong mô hình Cuối cùng, CNN áp dụng các lớp kết nối đầy đủ để kết hợp các đặc trưng đã học, phục vụ cho việc phân loại sản phẩm lỗi và không lỗi.

YOLO (You Only Look Once) có năm chức năng chính: phân loại, nhận dạng, phân vùng, theo dấu và tạo dáng Thay vì sử dụng nhiều cửa sổ trượt để phân loại, YOLO cho phép phát hiện đối tượng chỉ bằng cách nhìn một lần vào ảnh.

Giao diện GUI

3.3.1 Các khái niệm cơ bản về GUI

Giao diện người dùng đồ họa (GUI) là một hệ thống trực quan cho phép người dùng tương tác với máy tính và thiết bị điện tử thông qua các yếu tố đồ họa như cửa sổ, biểu tượng và nút GUI cung cấp cách thức dễ hiểu để tương tác với các hệ thống phức tạp, cải thiện khả năng sử dụng và năng suất Từ ứng dụng máy tính để bàn đến thiết bị di động, GUI được sử dụng rộng rãi, giúp người dùng thực hiện các hành động thông qua các điều khiển đồ họa Để tạo trải nghiệm người dùng thú vị, thiết kế GUI cần chú ý đến tính đơn giản, tính nhất quán, khả năng đáp ứng và tính thẩm mỹ.

Tkinter là thư viện GUI mạnh mẽ được viết trên ngôn ngữ Python, cho phép người dùng tạo ra các ứng dụng GUI nhanh chóng và hiệu quả Thư viện này cung cấp các tiện ích cần thiết để phát triển và tối ưu hóa hệ thống, giúp xây dựng giao diện người dùng đồ họa (GUI) cho các ứng dụng máy tính để bàn Với tính đơn giản và dễ sử dụng, Tkinter đã trở thành một công cụ phổ biến trong cộng đồng lập trình viên Python.

Tkinter cung cấp nhiều tùy chọn như nhãn, hộp văn bản và nút, giúp người dùng làm việc hiệu quả hơn và tạo ra giao diện hấp dẫn hơn.

Các phương thức quản lý hình học trong Tkinter cho phép tất cả các thành phần truy cập và được thiết kế để tổ chức, điều chỉnh các thành phần trong khu vực chứa chính Tkinter cung cấp ba lớp quản lý hình học chính.

CustomTkinter là thư viện giao diện người dùng Python hiện đại, dựa trên Tkinter, cung cấp các tiện ích tùy chỉnh hoàn toàn mới Thư viện này không chỉ cải tiến các yếu tố của Tkinter mà còn cho phép người dùng sử dụng các widget như thông thường Các màu sắc của cửa sổ và widget có thể tự động điều chỉnh theo chế độ hệ thống hoặc được cài đặt thủ công Tất cả các tiện ích của CustomTkinter và Windows đều hỗ trợ tỷ lệ HighDPI, mang đến trải nghiệm người dùng tối ưu.

(Windows, MacOS) Sử dụng CustomTkinter, giao diện có thể duy trì phong cách hiện đại và nhất quán (Windows, MacOS và Linux)

Hình 3-8: CustomTkinter GUI trên hệ điều hành Windows 11 với chế độ tối

Các tiện ích như Button, CheckBox, ComboBox và thanh trượt, khi được bo tròn cạnh hoặc thiết kế lại, sẽ tạo ra một giao diện thẩm mỹ và thân thiện hơn với người dùng.

Hình 3-9: Tiện ích CTKButton trong thư viện CustomTkinter

Hình 3-10: Giao diện hiện với thư viện CustomTkinter

Ngoài ra, CustomTkinter hỗ trợ chủ đề sáng và tối như Hình 3-11, có thể được đặt thủ công hoặc điều khiển bằng chế độ xuất hiện hệ thống

Để sử dụng thư viện CustomTkinter, bạn chỉ cần cài đặt gói customtkinter từ kho lưu trữ và sau đó thực hiện lệnh import customtkinter.

Pillow là thư viện mã nguồn mở cho Python, được phát triển bởi Secret Labs AB, chuyên về xử lý hình ảnh Đây là phiên bản nâng cấp của thư viện PIL (Python Imaging Library), thư viện đầu tiên cho phép xử lý hình ảnh trong Python, nhưng chỉ hỗ trợ Python 2.

Pillow là một thư viện thân thiện với người dùng, được phát triển nhằm hỗ trợ Python 3 và duy trì sự tồn tại của PIL Thư viện này thường xuyên được cập nhật và được đánh giá cao hơn so với phiên bản PIL trước đó.

Thư viện Pillow là công cụ linh hoạt cho mọi loại xử lý ảnh, từ cơ bản đến nâng cao Việc sử dụng Pillow cho các tác vụ xử lý hình ảnh rất đơn giản, cho phép người dùng mở tệp, đổi kích thước, xoay, chuyển vị, cắt và dán ảnh Ngoài ra, Pillow còn hỗ trợ nhiều tính năng mạnh mẽ như nâng cao hình ảnh, áp dụng bộ lọc, thay đổi màu sắc và kiểu dáng, cũng như vẽ hình dạng và viết văn bản Đây là lựa chọn lý tưởng cho những ai cần thực hiện các tác vụ xử lý hình ảnh mà không yêu cầu kinh nghiệm cao Với sự phổ biến trong cộng đồng Python, Pillow dễ dàng tiếp cận và sử dụng hơn so với nhiều thư viện xử lý hình ảnh khác.

Module PIL.Image cung cấp một lớp hình ảnh để biểu thị cho hình ảnh PIL, với nhiều chức năng cơ bản như tải, lưu, crop, xoay và lật hình ảnh Ngoài ra, module còn hỗ trợ các tính năng nâng cao như thay đổi màu sắc, cải thiện chất lượng hình ảnh và áp dụng bộ lọc.

Module PIL.ImageTk chứa hỗ trợ để tạo và sửa đổi các đối tượng Tkinter BitmapImage và PhotoImage từ hình ảnh PIL

Gói Python PySerial hỗ trợ giao tiếp nối tiếp, cho phép phần mềm viết trên Python kết nối dữ liệu với phần cứng bên ngoài PySerial rất hữu ích trong việc truyền thông tin giữa máy tính và các thiết bị như vi điều khiển, vôn kế, máy hiện sóng, đồng hồ đo biến dạng, lưu lượng, thiết bị truyền động và đèn.

Giao thức PySerial cho phép kết nối qua các giao thức truyền thông nối tiếp, như USB (Universal Serial Bus), được sử dụng phổ biến bởi máy tính và các thiết bị phần cứng khác, bao gồm webcam, chuột, bàn phím và máy in.

Khái niệm Blynk

Blynk là một giải pháp toàn diện cho việc phát triển, triển khai và quản lý các dự án IoT từ xa Người dùng có thể kết nối và điều khiển phần cứng thông qua ứng dụng trên smartphone (iOS, Android) và trên Web, cho phép lưu trữ dữ liệu, tự động hóa và hiển thị trực quan các thông số thu thập được Blynk tương thích với nhiều dòng thiết bị như Arduino, ESP32, ESP8266, Texas Instruments, Raspberry Pi, Particle, cùng hơn 400 mẫu phần cứng khác Các thành phần chính của Blynk tạo nên sự linh hoạt và tiện lợi trong việc phát triển các ứng dụng IoT.

 Blynk.Apps là ứng dụng chạy trên điện thoại di động có sẵn trên hệ điều hành iOS và Android phục vụ các chức năng chính sau:

- Điều khiển và giám sát và từ xa các thiết bị được kết nối hoạt động với nền tảng Blynk

- Cấu hình giao diện điều khiển trên điện thoại di động

- Tự động hóa các tác vụ hành động của thiết bị được kết nối

 Blynk.Console là ứng dụng trên Web của Blynk Các chức năng chính của nó bao gồm:

- Cấu hình cho các thiết bị đã được kết nối vào Blynk, bao gồm cài đặt chỉnh sửa theo yêu cầu

- Quản lý thiết bị, dữ liệu,

- Điều khiển, theo dõi thiết bị từ xa

Blynk.Edgent là giải pháp tối ưu giúp đơn giản hóa kết nối với các thiết bị hỗ trợ nền tảng Blynk, cho phép người dùng truy cập vào các tính năng nâng cao mà không cần lập trình phức tạp.

- Yêu cầu chọn thiết bị và cung cấp Wi-Fi (đưa thiết bị online và xác thực chúng với một người dùng nhất định)

- Quản lý kết nối cho Wi-Fi, Cellular (mạng di động) và Ethernet

- Truyền dữ liệu giữa thiết bị và đám mây

- Tích hợp API với các tính năng của Blynk.Apps và Blynk.Cloud

- Cập nhật firmware qua mạng (OTA) cho các phần cứng được chọn

Blynk.Cloud là hạ tầng máy chủ trung tâm của nền tảng Blynk IoT, kết nối tất cả các thành phần Ngoài ra, Blynk còn cung cấp các máy chủ riêng để người dùng có thể tùy chỉnh Giải pháp Blynk cho phép cấu hình quyền truy cập của người dùng vào thiết bị và dữ liệu thông qua việc xác định vai trò và quyền hạn.

Thư viện Blynk là một thư viện C++ dễ sử dụng, được cấu hình sẵn cho phần cứng, hỗ trợ giao thức kết nối trực tuyến Thư viện này cho phép giao tiếp hai chiều với độ trễ thấp, mang lại trải nghiệm mượt mà cho người dùng.

PHƯƠNG HƯỚNG VÀ CÁC GIẢI PHÁP VỀ PHÂN LOẠI PHỐT BẠC ĐẠN

Phân loại theo mô hình OpenCV

Hình dạng lỗi thường xuất hiện do trầy xước hoặc sai lệch bề mặt, khiến sản phẩm mất đi độ đồng màu Bằng mắt thường, chúng ta có thể dễ dàng nhận thấy sự không đồng nhất này Để xử lý, ta sử dụng phương pháp tách màu cho các khu vực bị lỗi, giới hạn vùng màu sắc theo bản màu RGB từ [200,200,200] đến [255,255,255] Khi xác định được vùng màu sắc này, chúng ta có thể tách biệt các lỗi từ hình ảnh, như minh họa trong Hình 4-1.

Nhận diện lỗi là bước quan trọng, giúp cho độ chính xác được tăng đáng kể thông qua khoảng giới hạn màu sắc

Hình 4-1: Phốt bạc đạn bị lỗi

4.1.2 Tách lỗi từ ảnh Để tách lỗi từ ảnh, trước hết phải nhận dạng được lỗi tách hình ảnh trắng đen Có tác dụng phân chia khu vực bị lỗi một cách dễ dàng, nhưng quá trình tách này còn phụ thuộc vào quá trình nhận diện lỗi hay nói cách khác đó là quá trình phân vùng màu sắc Bước này giúp ta dễ dàng phân loại các sản phẩm, những vùng sản phẩm bị lỗi sẽ hiện thị màu trắng, những vùng sản phẩm không liên quan sẽ hiện thị màu đen (như Hình 4-2)

Hình 4-2: Tách lỗi ra trắng đen

Các khu vực sản phẩm bị lỗi sẽ được đánh dấu và đóng khung Vùng lỗi được xác định dựa trên diện tích của nó trong quá trình nhận diện thời gian thực Nếu diện tích vùng lỗi không đủ lớn, có thể là do ảnh hưởng của nhiễu.

Quá trình phân vùng sản phẩm lỗi không chỉ giúp xác định khu vực bị lỗi mà còn giới hạn diện tích sản phẩm bị ảnh hưởng Bước này cũng góp phần nâng cao độ chính xác của hình ảnh.

Hình 4-3: Đóng khung chỗ bị lỗi

Trong quá trình hiệu chỉnh thời gian thực, các yếu tố nhiễu bên ngoài như độ sáng không đồng đều, độ phân giải và chất lượng hình ảnh từ camera chưa đạt yêu cầu đã gây ra hiện tượng nhiễu hình ảnh Để khắc phục vấn đề này và nâng cao độ chính xác cho ảnh, nhóm đã quyết định áp dụng phương pháp lọc nhiễu.

Hình 4-4: Sai lệnh do ánh sáng

Hình 4-5: Lưu đồ giải thuật xử lý ảnh

Phân loại theo mô hình YOLO

4.2.1 Chuẩn bị dữ liệu huấn luyện

Dữ liệu (data) bao gồm các hình ảnh được ghi lại từ camera cố định trong buồng ảnh, mô phỏng môi trường thực tế khi mô hình hoạt động Khi băng tải hoạt động, camera ghi lại hình ảnh của phốt di chuyển và lưu trữ thành video Thuật toán được sử dụng để chia video thành các khung hình mỗi 30ms, lọc ra những hình ảnh đạt yêu cầu chi tiết, sau đó tiến hành gán nhãn cho các hình ảnh này.

Hình 4-6: Data được trích xuất từ camera

Sử dụng công cụ (tool) Cvat để label đối tượng trong ảnh Các đối tượng được huấn luyện (train) bao gồm:

+ Class ID = 0: F_fraying (Lỗi khi có vết trầy)

+ Class ID = 1: F_torn (Lỗi khi có vết rách)

+ Class ID = 2: Bearing Seal (Phốt bạc đạn)

Hình 4-7: Label các đối tượng bằng tool Cvat

Sau khi gán nhãn, chúng ta có thể trích xuất các thông số bao gồm , , , , , đại diện cho lớp đối tượng và tọa độ của bounding box (hình chữ nhật) để xác định vị trí của đối tượng trong ảnh.

+ Class ID: Là chỉ số tương ứng với đối tượng nhận dạng (detect), với 0: 'F_fraying', 1: 'F_torn', 2: 'Bearing Seal'

+ x, y: tọa độ tại góc phía trên bên trái của khung đối tượng được nhận dạng (detect), + w, h: chiều rộng và chiều cao của khung đối tượng được nhận dạng (detect),

Hình 4-8: Dữ liệu được trả về sau quá trình Label

4.2.2 Chuẩn bị tệp cấu hình và tải trọng số của mô hình pre-trained

YOLOv8 là phiên bản mới nhất của YOLO, nổi bật với tốc độ xử lý nhanh và độ chính xác cao Phiên bản này cung cấp nhiều mô hình khác nhau để đáp ứng các điều kiện sử dụng đa dạng Trong danh mục mô hình của YOLOv8, có tổng cộng năm mô hình khác nhau được giới thiệu.

Hình 4-9: Các model trong danh mục YOLOv8

Model YOLOv8n (Nano) là lựa chọn đơn giản nhất với ít thông số và tốc độ nhanh nhất, trong khi model YOLOv8x là phức tạp nhất, có nhiều thông số và tốc độ chậm nhất, nhưng mang lại độ chính xác cao nhất.

Nhóm đã chọn mô hình pre-train YOLOv8n nhằm tối ưu hóa thời gian xử lý, đồng thời đảm bảo độ chính xác của mô hình vẫn đạt yêu cầu.

Model được xuất (export) ở định dạng (format) PyTorch có tên yolov8n.pt

Sau khi hoàn thiện bộ dữ liệu hình ảnh và tệp txt chứa nhãn tương ứng với các tham số của mỗi hình ảnh, bước tiếp theo là tách dữ liệu thành hai phần: tập huấn luyện và tập kiểm tra.

Với bộ dữ liệu hiện tại, ta chia 500 ảnh và tệp txt label dùng để huấn luyện (train) model,

100 ảnh và tệp txt label nhằm để kiểm tra (test), đánh giá model

Huấn luyện mô hình trí tuệ nhân tạo, đặc biệt là kiến trúc YOLO, đòi hỏi phần cứng máy tính cao cấp và nhiều thiết bị hỗ trợ, khiến việc đào tạo trên máy tính cá nhân trở nên khó khăn và tốn thời gian Vì vậy, việc sử dụng máy tính cá nhân cho đào tạo mô hình thường không phổ biến.

Chúng em đã quyết định lưu trữ dữ liệu và kết quả huấn luyện trên Google Drive, đồng thời sử dụng Google Colab để đào tạo mô hình trên đám mây Cách này giúp rút ngắn thời gian đào tạo và giảm thiểu lỗi do xung đột phần mềm hoặc sự cố phần cứng Các tham số đầu vào cho quá trình đào tạo mô hình cũng đã được xác định rõ ràng.

Hình 4-10: Quá trình đào tạo model trên Google Colab

Sau khi chạy dự đoán mô hình (model) với tệp 100 ảnh và nhãn dùng để kiểm tra đánh giá thì chúng em được bảng giá trị:

Bảng 4-1: Bảng thông số đánh giá mô hình

Class Images Instances Precision Recall mAP50 mAP50-95

 Class: Đây là tên các lớp đối tượng cần nhận diện

 Images: Số lượng hình ảnh trong tập dữ liệu

 Instances: Số lượng các đối tượng cần nhận diện trong tập dữ liệu

 Precision: độ chính xác của bounding box tiên đoán

 Recall: độ phủ của bounding box dự đoán

 mAP50: mean Average Precision (độ chính xác bình quân) với ngưỡng IOU (Intersection over Union) là 0.5

 mAP50-95: mean Average Precision từ ngưỡng IOU 0.5 đến 0.95

Dựa trên thông tin trên, chúng em có thể đưa ra các nhận xét sau:

Lớp "F_fraying" đạt tỷ lệ đúng (Precision) 0.849 và tỷ lệ độ phủ (Recall) 0.722, với mAP50 là 0.795 và mAP50-95 là 0.412 Mặc dù các thông số này cho thấy hiệu suất của mô hình trong việc nhận diện lớp này thấp hơn mức trung bình, nhưng vẫn nằm trong mức chấp nhận được.

The "F_torn" class demonstrates impressive performance metrics, with a precision rate of 0.97 and a recall rate of 1.0 Additionally, it achieves a mean Average Precision (mAP) of 0.995 at IoU 50 and a mAP of 0.757 across IoU 50-95, indicating the model's exceptional capability in identifying this class effectively.

The "Bearing Seal" class demonstrates impressive performance metrics, achieving a precision rate of 0.994, a recall rate of 1.0, a mean Average Precision at IoU 0.50 (mAP50) of 0.995, and a mean Average Precision across IoU thresholds 0.50 to 0.95 (mAP50-95) of 0.99, indicating the model's exceptional capability in identifying this class.

Hình 4-11: Các ảnh được dự đoán và gắn nhãn bởi model

Hình 4-12: Các chỉ số đánh giá model

Sau khi đánh giá mô hình, chúng ta có thể kết luận rằng mô hình đã được huấn luyện có thể áp dụng vào đồ án để nhận diện tình trạng lỗi trên phốt.

Hình 4-13: Lưu đồ giải thuật quá trình phân loại

Lựa chọn phương pháp

Sau khi thực hiện thí nghiệm với phương pháp nhận diện sản phẩm lỗi bằng thư viện OpenCV và mô hình YOLO, chúng tôi đã quyết định chọn phương pháp nhận diện lỗi dựa trên mô hình được đào tạo trên YOLO vì những lý do sau đây:

- Dùng OpenCV chỉ nhận dạng được sản phẩm và phát hiện những lỗi có kích thước lớn

Việc sử dụng OpenCV phụ thuộc nhiều vào chất lượng của buồng ảnh; nếu độ sáng thay đổi, quá trình lọc và tách hình ảnh trong giai đoạn tiền xử lý cũng cần phải điều chỉnh.

- Phương pháp YOLO có khả năng nhận diện chính xác hơn các lỗi có kích thước nhỏ, tùy theo vào nhu cầu đầu vào quá trình huấn luyện (train)

- Mô hình có thể nhận dạng đa dạng các lỗi.

Sơ đồ nguyên lý và nguyên lý làm việc

Hình 4-14: Kiến trúc của hệ thống phân loại phốt bạc đạn

Hình 4-15: Sơ đồ nguyên lý hệ thống

Khi nhấn nút điều khiển (có thể là nút vật lý hoặc nút trên Blynk) hoặc chọn Start trên giao diện GUI, ngõ ra điều khiển relay trên ESP32 sẽ được kích hoạt lên mức HIGH, làm cho động cơ cấp phôi và động cơ băng tải hoạt động Để dừng hai động cơ này, người dùng chỉ cần nhấn nút điều khiển một lần nữa hoặc chọn Stop trên giao diện điều khiển.

Khi phốt bạc đạn đi qua buồng ảnh, camera ghi lại hình ảnh và xử lý dữ liệu trên bộ phận nhận dạng lỗi (máy tính) để xác định sản phẩm có bị lỗi hay không thông qua phần mềm viết bằng Python Kết quả được xuất ra tín hiệu cho ESP32 qua giao tiếp UART, sử dụng thư viện Serial của Python và module CH340G trên ESP32 Tiếp theo, ESP32 điều khiển động cơ bước thông qua module A4988, giúp động cơ phân loại quay đúng vị trí để xác định sản phẩm là lỗi hay không, dựa vào cảm biến Hall hoạt động như công tắc hành trình giới hạn chuyển động.

 Số lượng phốt lỗi và tổng số lượng phốt sẽ được hiển trị trên giao diện GUI và giao diện trên Web và App Blynk.

Lưu đồ giải thuật ESP32

Hình 4-16: Lưu đồ giải thuật nhận tín hiệu ESP32

CHỌN LINH KIỆN VÀ TÍNH TOÁN BĂNG TẢI, TRỤC, TRUYỀN ĐỘNG ĐAI VÀ Ổ LĂN

Chọn động cơ điện và tính toán tỉ số truyền

5.1.1 Xác định số vòng quay sơ bộ

Vì năng suất đề ra là 2 sản phẩm/giây, suy ra chênh lệch thời gian đầu vào và ra của 2 sản phẩm là: t = 0,5s

Với khoảng cách giữa từng phốt bạc đạn L p = 0,2 (m)

Vận tốc góc Rulo : rulo

Với đường kính Rulo d rulo = 0,05 (m)

Số vòng quay trục công tác n ct : ct n 60 152,79

Công suất trên trục công tác P t : t

Với lực vòng trục Rulo F = 40 (N)

Công suất cần thiết của động cơ P ct phải lớn hơn công suất trên trục công tác P t : ct t

Hiệu suất chung ch : ch ủ kn (5.7)

Trong đó: ủ: hiệu suất của bộ truyền đai kn: hiệu suất của khớp nối trục

Tra bảng 2.3 trang 19 trong sách Tính toán thiết kế hệ dẫn động cơ khí (Tập 1)-Trịnh Chất,

Ta được hiệu suất: ủ kn ch ủ kn

Công suất cần thiết của động cơ P ct cần có: t ct ch

Chúng em chọn động cơ giảm tốc DC mã 5840-31ZY (như Hình 5-6) loại 12 VDC 260 rpm

 Tỉ số truyền 31:1, có ý nghĩa là động cơ quay 31 vòng thì trục chính hộp giảm tốc quay

 Moment xoắn tối đa có thể: 8 Kg.cm

 Dòng điện khi không gắn tải 350 mA

 Dòng điện khi có tải 1,6 A

 Dòng điện chịu được khi có tải tối đa không quá 6,5 A

 Tốc độ khi không gắn tải: 260 rpm

 Tốc độ chịu được khi có tải tối đa không quá: 200 rpm

Hình 5-6: Động cơ giảm tốc DC mã 5840-31ZY

Dựa vào tốc độ của tải và tốc độ trên trục công tác, ta tính được tỉ số truyền chung u ch : ch ủ ủc lv n 200 u u 1,31 n 153 (5.10)

Với u ủ là tỉ số bộ truyền đai, n ủc là tốc độ động cơ, n ( n ) lv ct là tốc độ làm việc

Công suất trên trục công tác P t : P 0,016(kW) t

Công suất của động cơ cần có P m : P m P ct 0,01667(kW)

Số vũng quay trờn trục n ( n ) h ủc : nh 200(vòng/phút)

Số vòng quay làm việc n lv được tính lại theo công thức: h lv ủ n 200 n 153 u 1,31 (vòng/phút) (5.11)

Mômen xoắn trên trục động cơ T m , mômen xoắn tại điểm làm việc T lv là:

Với n ( n ) ủc h là số vũng quay trờn trục động cơ.

Truyền động đai

- Số vòng quay nđc (vòng/phút) = 200 = n1

Tính toán thiết kế đai thang theo các bước:

Nhóm chúng em chọn cố định đai thang A như Hình 5-7

Hình 5-7: Hình đai thang trên thị trường

5.2.2 Đường kính các bánh đai d 1 , d 2

Tạm áp dụng công thức Severin để ước lượng đường kính d1 đai:

Chọn theo tiêu chuẩn d1 = 50mm Đường kính bánh đai nhỏ d1 được chọn theo các đường kính tiêu chuẩn sau : 40, 45, 50,

Tính vận tốc trên bánh đai nhỏ v1 theo công thức, với số vòng quay trên bánh đai nhỏ n 1

1 d n1 1 50.200 v 60000 60000 0,52(m / s) (5.14) Tính đường kính bánh đai lớn d2 theo công thức, với tỉ số truyền u đ = 1,31:

Tính sơ bộ chọn khoảng cách trục a theo bảng sau dựa theo đường kính bánh đai d2 và tỉ số truyền u

Bảng 5-1: Bảng tra khoảng cách trục a u 1 2 3 4 5 a/d 2 1,5 1,2 1,0 0,95 0,9

Tính được chiều dài đai L theo công thức:

Dựa vào chiều dài đai tính phía trên, nhóm chọn L = 380 mm

5.2.5 Kiểm nghiệm đai về tuổi thọ

Kiểm nghiệm tuổi thọ đai theo số vòng chạy của đai trong 1 giây i: i v / L imax 10 l / s (5.18)

=> Chú ý đơn vị L là mét

Với vận tốc trên bánh đai nhỏ v1 = v = 0,52 (m/s) thì i v 0,52 3 1,37 i max

Theo công thức sau tính lại khoảng cách trục a:

Tính góc ôm 1 trên bánh đai nhỏ theo công thức và kiểm tra điều kiện 1 120 o Góc ôm 1 trên bánh đai dẫn tính theo công thức: o o 2 1 o o o 1

5.2.7 Lực tác dụng lên trục

Gọi lực tác dụng lên trục là F rm , với mômen xoắn trên trục động cơ T m lấy ở mục 5.1.4 và

Ftmlà lực vòng tại trục động cơ: tm m

Tính toán băng tải và trục

5.3.1 Tính toán chiều dài băng tải

Hình 5-8: Chiều dài băng tải theo tính toán

Thiết kế tính toán băng tải theo yêu cầu các thông số ban đầu như sau, chiều dài băng tải

Lbăng_tải sẽ được chọn 2188mm gồm cả rulo và băng tải, được tóm tắt theo công thức dưới: băng _ tải

AB DC 1000 mm ; BC AD d / 2 94 mm( ) Suy ra chiều dài dây băng tải là: băng _ tải

Phân tích lực tác dụng lên băng tải, băng tải chịu các lực như sau: lv t

Lực vòng tại trục băng tải được ký hiệu là F t, trong khi lực tác dụng lên trục băng tải là F r Góc ôm trên bánh đai nhỏ được biểu thị bằng 1, với F 1 = F là lực vòng trục Rulo Vận tốc băng tải được ký hiệu là v, và công suất trên trục công tác là P t.

Trong mặt phẳng Oyz, chúng ta phân tích các lực tại các gối đỡ, ký hiệu là N A và N B, để xác định các phản lực tại các gối đỡ của trục rulo dẫn Qua đó, chúng ta có thể tính toán các loại mômen tác động lên trục rulo dẫn.

Trong mặt phẳng Oyz, chúng ta phân tích các lực tại các gối đặt, với N C và N D là các phản lực tại các gối đỡ của trục rulo dẫn Qua đó, chúng ta có thể tính toán các loại mômen tác dụng lên trục rulo bị dẫn.

Xét trong mặt phẳng Oyz:

Phân tích biểu đồ nội lực của trục rulo dẫn:

Hình 5-9: Biểu đồ nội lực của rulo dẫn

Tính đường kính trục tại tiết diện nguy hiểm ở điểm đặt lực NB: vì trên toàn trục mômen uốn trong mặt phẳng Oxz là My = 0 nên:

Mômen uốn tổng M jB và mômen tương đương M tdjB tại điểm đặt lực NB: (theo sách Thiết kế dẫn động cơ khí tập 1 - trang 194 [1]) jB xB

M xB đại diện cho mômen uốn trong mặt phẳng Oyz tại tiết diện gối đỡ với phản lực N B, trong khi T B là mômen xoắn tại cùng tiết diện gối đỡ với phản lực N B.

Tính theo công thức cho đường kính trục d của trục rulo dẫn :

Trong đó [ ] là ứng suất cho phép của thép chế tạo trục

Chọn vật liệu thép 35 CT5 (theo sách Thiết kế dẫn động cơ khí tập 1 bảng 10.5 trang 195 [1]) có [ ] 58(MPa)

Theo tiêu chuẩn sách Thiết kế dẫn động cơ khí tập 1 trang 195 [1], chọn đường kính của trục rulo dẫn d = 12mm

Phân tích biểu đồ nội lực tác dụng lên trục rulo bị dẫn:

Hình 5-10: Biểu đồ nội lực của rulo bị dẫn

Tính đường kính trục tại tiết diện nguy hiểm ở điểm đặt lực F1:

Vì trên toàn trục mômen uốn trong mặt phẳng Oxz là My = 0 nên:

Mômen uốn tổng M j1 và mômen tương đương M tdj1 tại điểm đặt lực F1: (theo sách Thiết kế dẫn động cơ khí tập 1 – trang 194 [1]) j1 x1

Mômen uốn M x1 trong mặt phẳng Oyz tại tiết diện có lực F 1 và mômen xoắn T tại tiết diện có lực F 1 là những yếu tố quan trọng trong thiết kế trục rulo Đường kính trục d của trục rulo bị dẫn được xác định theo công thức cụ thể.

Trong đó [ ] là ứng suất cho phép của thép chế tạo trục

Chọn vật liệu thép 35 CT5 (theo sách Thiết kế dẫn động cơ khí tập 1 bảng 10.5 trang 195

[1]) Ứng suất của thép chế tạo trục cho phép là:

0,1.58Theo tiêu chuẩn sách Thiết kế dẫn động cơ khí tập 1 trang 195 [1], chọn đường kính của trục rulo bị dẫn d = 12mm.

Tính toán ổ lăn

Sử dụng ổ bi đỡ chặn (như Hình 5-11) cho các gối đỡ đặt tại NA và NB:

Bảng 5-2: Thông số ổ bi đỡ chặn

Kí hiệu ổ d(mm) C(kN) C o (kN)

Trong đó: d là đường kính trong (lỗ) ổ bi, C (kN) là khả năng tải động của ổ bi, C o (kN) là khả năng tải tĩnh của ổ bi

5.4.2 Kiểm nghiệm khả năng tải động: Đối với trường hợp ổ bi đỡ chặn, tải trọng động quy ước Q được tính theo công thức 11.3 trang 214 - sách thiết kế dẫn động cơ khí tập 1 [1]: r a t d

Fr: tải trọng hướng tâm (kN)

Vì NB > NA (NB = 92,96 N; NA = 7,84 N) nên Fr = NB = 92,96 N = 0,093 kN

Fa: tải trọng dọc trục (kN): Fa = 0 kN

V: Hệ số kể đến vòng nào quay; Vòng trong quay nên V = 1 kt: Hệ số kể đến ảnh hưởng của nhiệt độ; chọn nhiệt độ 105 C o thì 𝑘t = 1 kd: Hệ số kể đến đặc tính tải trọng, tra bảng 11.3 trang 215 - sách thiết kế dẫn động cơ khí tập 1 [1], chọn kd = 1,2

Tra trong bảng 11.4 trang 215 - sách thiết kế dẫn động cơ khí tập 1 [1]:

X: hệ số tải trọng hướng tâm

Y: hệ số tải trọng dọc trục

Vì tải chỉ chịu lực hướng tâm mà không chịu lực dọc trục nên X = 1; Y = 0 r a t d

Khả năng tải động Cd được tính theo công thức 11.1 trang 213 - sách thiết kế dẫn động cơ khí tập 1 [1]: m

Q: Tải trọng động quy ước, đã tính Q = 0,1116 kN m: Bậc của đường cong mỏi khi thử về ổ lăn, m = 3 đối với ổ bi

L: Tuổi thọ tính bằng số triệu vòng quay

Coi Lh là tuổi thọ của ổ lăn được tính bằng giờ thì tra theo công thức 11.2 trang 213 - sách thiết kế dẫn động cơ khí tập 1 [1]:

Trong đó: n: số vòng quay; n = nct = 152,79 (vòng/phút)

Tra theo bảng 11.2 trang 214 - sách thiết kế dẫn động cơ khí tập 1 [1]:

Kiểm nghiệm điều kiện tải động theo công thức 11.16 trang 220 - sách thiết kế dẫn động cơ khí tập 1 [1]:

Với C (kN) là khả năng tải động của ổ bi

Ta thấy Cd = 0,5 kN < C = 12,8 kN, vậy khả năng tải động của ổ lăn được thỏa mãn

5.4.3 Kiểm nghiệm khả năng tải tĩnh:

Tải trọng tĩnh quy ước Q t được xác định là giá trị lớn hơn giữa Q t1 và Q t2, theo công thức 11.19 và 11.20 trong sách thiết kế dẫn động cơ khí tập 1 Do tải trọng dọc trục Fa bằng 0, nên có thể áp dụng các giá trị này để tính toán.

Trong đó X o là hệ số tải trọng hướng tâm, Y o là hệ số tải trọng dọc trục, F r là tải trọng hướng tâm (kN)

Tra bảng 11.6 trang 211 - sách thiết kế dẫn động cơ khí tập 1 [1]: Xo = 0,5 t1 o r t2 r

Q F 0,093(kN) Tải trọng tĩnh dùng để kiểm nghiệm là tải trọng có giá trị lớn nhất, ta lấy: t t2

Kiểm nghiệm điều kiện tải tĩnh theo công thức 11.18 trang 221 - sách thiết kế dẫn động cơ khí tập 1 [1]:

Với C o (kN) là khả năng tải tĩnh của ổ bi

Ta thấy Qt = 0,093 kN Co = 6,65 kN thỏa, vậy khả năng tải tĩnh của ổ lăn thỏa mãn.

Các thiết bị được sử dụng

ESP32, kế thừa từ ESP8266, là dòng vi điều khiển công suất thấp và giá thành phải chăng, tích hợp Bluetooth chế độ kép (BLE và Bluetooth Classic) cùng WiFi, mang lại tính linh hoạt cho các ứng dụng IoT Chip Tensilica Xtensa LX6 do Espressif Systems thiết kế, được sản xuất bởi TSMC trên tiến trình 40 nm, cho phép ESP32 hoạt động ổn định trong điều kiện công nghiệp Vi điều khiển này có thể lập trình qua Arduino IDE và nhiều ngôn ngữ khác Hiện tại, ESP32 đã được chọn làm module WiFi và Bluetooth cho Arduino UNO R4 WiFi mới ra mắt.

Sau khi cân nhắc kỹ lưỡng, nhóm chúng em đã quyết định chọn bo ESP32 Wemos Uno, có kích thước tương tự như Arduino UNO Thay vì vi điều khiển Atmega328p, bo này sử dụng ESP32-WROOM-32, tích hợp Wifi và Bluetooth Low Energy Mạch có cách sử dụng đơn giản, gần giống với Arduino, và lập trình cũng tương tự như bo mạch NodeMCU ESP32.

 5 VDC cấp qua cổng Micro USB

 5-12 VDC qua chân nguồn DC cái kiểu 5521 hoặc có thể cấp vào chân Vin

 Vi điều khiển ESP-WROOM-32

 Tích hợp sẳn module chuyển đổi USB - TTL UART CH340G

Hình 5-12: Mạch phát triển ESP32 Wemos Uno

Relay là một công tắc điện đơn giản, khác với các công tắc thủ công, relay sử dụng tín hiệu điện để điều khiển nam châm điện, từ đó đóng hoặc ngắt một mạch khác, thường với dòng điện lớn hơn Có nhiều loại relay, bao gồm relay sử dụng nam châm điện và relay thể rắn (SSR), với cách hoạt động chung tương tự nhau.

Nhóm chúng tôi đã chọn Relay được module hóa với nhiều linh kiện khác nhau, giúp cách ly mạch để đảm bảo an toàn và dễ sử dụng Relay này cho phép điều chỉnh mức kích hoạt ở mức 0 hoặc mức 1 tùy theo mục đích sử dụng.

 Kích hoạt Relay bằng dòng một chiều 5V (vẫn có thể kích bằng 3.3V từ ESP32)

 Relay có thể đóng cắt tối đa với dòng xoay chiều là 250V – 10A còn dòng 1 chiều là 30V - 10A

 Trên mạch có đèn báo có nguồn và đèn báo có tín hiệu đã kích Relay

 Có thể điều chỉnh kích hoạt mức 0 hay mức 1 tùy vào mục đích sử dụng nhờ Jumper trên mạch

Hình 5-13: Module Relay 5V tích hợp optocoupler cách ly

5.5.3 Module A4988 điều khiển động cơ bước

Module A4988 là một giải pháp hiệu quả cho việc điều khiển động cơ bước, mang lại độ chính xác và độ tin cậy cao Thiết bị này có kích thước nhỏ gọn và chi phí thấp, lý tưởng cho việc vận hành các động cơ bước lưỡng cực (bipolar stepper motor) với khả năng cung cấp năng lượng ổn định.

A4988 hỗ trợ năm độ phân giải khác nhau cho động cơ bước, bao gồm toàn bước, nửa bước, một phần tư bước, một phần tám bước và một phần mười sáu bước Thiết bị này còn cho phép điều chỉnh dòng điện đầu ra, giúp động cơ hoạt động một cách êm ái và không gây tiếng ồn nhờ vào chiết áp tích hợp.

 Kết nối với động cơ và chỉnh các chế độ bước dễ dàng

 Có sẵn biến trở nhỏ để thay đổi dòng ngõ ra cho động cơ bước, đo và chỉnh bằng công thức là Current Limit = 2.5 * VREF

 Có thể tự ngắt khi quá nhiệt, áp, dòng

 Tự động dò tìm cường độ dòng điện

 Tích hợp bảo vệ ngắn mạch và chống dòng ngược

 Dòng ổn định cho từng pha: 1 A (không tản nhiệt)

 Dòng ổn định cho từng pha: 2 A (có gắn tản nhiệt)

 Điện áp mức logic 1 từ 3 – 5.5 V (do đó có thể kích bằng 3.3 V từ ESP32)

 Chế độ bước đủ bước (1/1), nửa bước (1/2), 1/4 bước, 1/8 bước và tối đa 1/16 bước, chọn qua các chân MS1, MS2, MS3 theo bảng bên dưới

Điều khiển động cơ bằng ba chân bao gồm chân ENABLE, chân DIR và chân STEP Chân ENABLE có mức 0 để bật động cơ và mức 1 để tắt động cơ Chân DIR được sử dụng để điều khiển chiều quay của động cơ, trong khi chân STEP điều khiển từng bước hoạt động của động cơ.

(1 xung là 1 bước hoặc nhỏ hơn tùy theo chế độ vi bước)

 Chân pin Reset được kết nối với chân Sleep

Bảng 5-3: Các chế độ bước của A4988

Low Low Low Full step

Hình 5-14: Sơ đồ chân module A4988

5.5.4 Động cơ bước (Step Motor) Động cơ bước (như Hình 5-16 và Hình 5-17) là một động cơ không có chổi than, đồng bộ Khác với động cơ thường thấy quay liên tục với số vòng quay tùy ý đến khi ngừng cấp điện, động cơ bước có khả năng quay đúng chính xác đến vị trí mà ta đã chỉ định Động cơ bước được cấu tạo bởi nhiều cuộn dây theo pha có thể bật tắt nhanh chóng, giúp động cơ có thể quay một phần vòng quay (1 góc nhỏ - 1 bước) tại 1 thời điểm Nhờ vào việc chia 1 vòng quay thành 1 bội số các góc nhỏ (bước) mà động cơ quay đúng đến các góc quay đã định trước với độ chính xác theo từng bước Nhờ đặc điểm đó, động cơ bước được sử dụng cho các mục đích cần sự quay chính xác

 Sử dụng nguồn cấp từ driver (như loại A4988)

Hình 5-16: Sơ đồ dây động cơ bước

Hình 5-17: Hình ảnh thực tế động cơ bước

Camera là thiết bị quang học dùng để chụp ảnh hoặc quay video, có thể là hình ảnh phẳng 2D hoặc 3D Nó có khả năng chụp ánh sáng khả kiến cũng như các loại ánh sáng ngoài vùng khả kiến như tử ngoại và hồng ngoại Các thành phần chính của camera bao gồm buồng ảnh và lỗ nhỏ kèm thấu kính với khẩu độ điều chỉnh, cho phép ánh sáng tác động lên cảm biến Trong hệ thống, camera kết nối qua USB type A, giúp dễ dàng giao tiếp với máy tính, điều chỉnh lấy nét thủ công và có đèn chiếu sáng tích hợp.

Hình 5-18: Hình ảnh thực tế camera được sử dụng

5.5.6 Cảm biến phát hiện từ tính Hall KY - 003

Cảm biến từ tính Hall KY-003 sử dụng hiệu ứng Hall để phát hiện tín hiệu từ trường Hiệu ứng Hall xảy ra khi một dòng điện đi qua một vật dẫn nằm trong vùng từ trường Module cảm biến này tương thích tốt với các bộ vi điều khiển phổ biến như Raspberry Pi.

Module này, như Pi, Arduino, ESP8266 và ESP32, xuất ra tín hiệu digital mặc định ở mức 1 (mức cao) Khi có từ trường với chiều sức từ phù hợp đi qua cảm biến, chẳng hạn như khi nam châm quay cực nam vào cảm biến, tín hiệu sẽ chuyển sang mức 0 (tín hiệu tích cực mức thấp).

 Điện áp hoạt động: 5V (vẫn có thể cấp với điện áp 3,3V của ESP32)

 Có đèn led báo nguồn và đèn led báo cảm biến đã bị tác động bởi cực nam nam châm

Hình 5-19: Cảm biến từ Hall KY-003

PWM (Điều chế độ rộng xung) hoạt động dựa trên nguyên tắc đóng ngắt nguồn tải theo chu kỳ, điều chỉnh thời gian đóng/ngắt để kiểm soát tốc độ động cơ và cường độ sáng của đèn Module PWM tích hợp các linh kiện giúp đơn giản hóa việc điều chỉnh độ rộng xung, với núm vặn cho phép người dùng dễ dàng thiết lập độ rộng xung cần thiết.

 Điện áp hoạt động: 3-35 VDC

 Tần số xung PWM: 10Khz

5.5.8 Động cơ DC giảm tốc GA25 12V 12RPM Động cơ DC giảm tốc GA25 12V 12rpm (như Hình 5-21) ứng dụng đáp ứng các yêu cầu của các mô hình tương ứng mômen xoắn vừa phải, giá thành thấp

 Dải điện áp cấp nguồn: 6 - 18 VDC

 Tốc độ đầu ra sau hộp giảm tốc 12 vòng/phút

 Dòng điện tiêu thụ khi không có tải 50mA

Hình 5-21: Động cơ DC giảm tốc GA25 12V 12RPM

Sơ đồ nguyên lý bộ điều khiển

Hình 5-22: Sơ đồ nối dây

THI CÔNG VÀ ĐÁNH GIÁ HỆ THỐNG PHÂN LOẠI PHỐT ỨNG DỤNG XỬ LÝ ẢNH

Xây dựng mô hình 3D

Số thứ tự Tên Số lượng Hình ảnh

2 Tấm đỡ cơ cấu hứng 1

5 Tấm đỡ cơ cấu cấp 1

7 Tấm khung buồng cảm biến 1

Hình 6-1: Cơ cấu tự động cấp phôi vẽ 3D

Hình 6-2: Cơ cấu phân loại vẽ 3D

Hình 6-3: Mô hình băng tải vẽ 3D

Gia công phần cứng

Hình 6-4: Mô hình thi công cơ cấu cấp phốt

Hình 6-5: Mô hình thi công cơ cấu phân loại

Hình 6-6: Mô hình băng tải thực tế

Hình 6-7: Bộ điều khiển thực tế

Thiết kế giao diện GUI

- Frame: Như hình sau, dùng để chia khu vực chứa giao diện

Hình 6-8: Giao diện các Frame

- Optionmenu: Lựa chọn chủ đề system, dark, light

Hình 6-9: Chỉnh màu giao diện

Hình 6-10: Các option light, dark, system

- Button: Gắn với các sự kiện như là start, stop, reset, select, login, exit

Hình 6-11: Nút nhấn start, stop, reset, exit, select

- Combobox: Dùng để lựa chọn camera với các lựa chọn webcam, camera 1

- Label: Hiện thị các dòng text, camera

Hình 6-13: Hiển thị giá trị camera

Hình 6-14: Đếm phốt bạc đạn

Giao diện trên App và Web Blynk

Nhóm chúng em sử dụng Blynk để giám sát các thông số như tổng số lượng sản phẩm và số lượng sản phẩm bị lỗi, với giao diện tương tự như GUI của đồ án, mặc dù không hiển thị hình ảnh Phiên bản Blynk miễn phí mà chúng em sử dụng đáp ứng đủ yêu cầu, nhưng không cho phép tùy chỉnh nhiều về giao diện, dẫn đến việc giao diện còn đơn giản và thiếu màu sắc nổi bật.

Hình 6-16: Giao diện trên Web Blynk

Hình 6-17: Giao diện trên App Blynk

Thực nghiệm và đánh giá

Sau quá trình tiến hành hệ thống nhóm đã kiểm tra và đưa ra số liệu cho quá trình thực nghiệm như sau:

Bảng 6-2: Số liệu đo đạc thực nghiệm của cơ cấu cấp phôi

Số lượng phôi trong cơ cấu cấp phôi 18 20 22 24 26 28

Số lần cơ cấu thành công cấp hết phôi 10 10 9 7 5 2

Số lần cơ cấu bị kẹt khi chưa cấp hết phôi 0 0 1 3 5 8

Tỉ lệ cơ cấu thành công cấp xong phôi 100% 100% 90% 70% 50% 20%

Kết luận về hiệu quả của cơ cấu cấp phôi phốt cho thấy rằng mô hình hiện tại còn nhiều hạn chế do thiếu tham khảo từ các cơ cấu cấp phôi thực tế trong ngành công nghiệp Nhóm chỉ có thể cấp tối đa 20 phôi với tỷ lệ thành công cao nhất, nhưng số lượng này vẫn còn quá ít để áp dụng trong điều kiện thực tế.

Bảng 6-3: Số liệu xử lý ảnh dùng phương pháp OpenCV

Kích thước sản phẩm bị lỗi dài và rộng

Số lượng sản phẩm phân loại đúng

Số lượng sản phẩm không phân loại được

Sản phẩm không bị lỗi 40 39 1

Phương pháp phân tách ảnh mang lại ưu điểm lớn khi không yêu cầu huấn luyện giá trị đầu vào cho từng sản phẩm mới và không cần nhiều dữ liệu ban đầu Tuy nhiên, phương pháp này dễ bị ảnh hưởng bởi nhiễu từ môi trường và chỉ có thể nhận diện các sản phẩm với kích thước lỗi lớn Để khắc phục vấn đề nhận diện kích thước lỗi nhỏ, nhóm nghiên cứu đã quyết định áp dụng phương pháp huấn luyện model trên YOLO Dưới đây là các kết quả thực nghiệm từ việc huấn luyện model nhận diện thông qua YOLO.

Bảng 6-4: Số liệu thực nghiệm dùng phương pháp huấn luyện model nhận diện thông qua

YOLO trên phốt bạc đạn màu xanh

N = 1500 Phốt bạc đạn tốt Lỗi trầy Lỗi rách

Nhân dạng không chính xác 12 32 27

Kết luận: Độ chính xác chung: (488 + 468 + 483)/1500 = 95,93%

Trong quá trình thực hiện đề tài, nhóm đã điều chỉnh loại phốt bạc đạn, dẫn đến việc thay đổi trong quá trình đào tạo mô hình Nhóm quyết định loại bỏ lỗi trầy xước do khó nhận diện qua camera trên phốt bạc đạn màu đen, đồng thời bổ sung lỗi có bavia.

Bảng 6-5: Số liệu thực nghiệm dùng phương pháp huấn luyện model nhận diện thông qua

YOLO trên phốt bạc đạn màu đen

N = 2000 Phốt bạc đạn tốt Lỗi Ba-via Lỗi rách

Nhận dạng không chính xác 14 19 24 34

Kết luận: Độ chính xác chung: (486 + 481 + 476 + 466)/2000 = 95,45%

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Sau thời gian nghiên cứu và thực hiện đề tài “Hệ thống kiểm tra lỗi phốt bạc đạn tự động ứng dụng xử lý ảnh”, nhóm chúng em đã hoàn thành đồ án với sự chỉ dẫn tận tình của giáo viên hướng dẫn và nỗ lực không ngừng của các thành viên Nội dung chính của đồ án bao gồm việc phát triển hệ thống kiểm tra lỗi và ứng dụng công nghệ xử lý ảnh để nâng cao hiệu quả kiểm tra.

- Thu thập thông tin và xử lý cho việc phân loại một phần lỗi thường gặp của phốt bạc đạn

- Tạo giao diện điều khiển thân thiện, dễ sử dụng

Thiết kế và chế tạo cơ cấu cấp phôi phốt và cơ cấu hứng sản phẩm sau phân loại gặp nhiều thách thức Một trong những vấn đề lớn nhất là mô hình thực tế còn thô sơ và chi phí thiết bị cao Hệ thống xử lý ảnh phân loại phốt bạc đạn chưa hoàn thiện, chưa nhận diện hết các lỗi của sản phẩm, trong khi cơ cấu hứng có kích thước nhỏ, hạn chế số lượng phốt sau phân loại Bên cạnh đó, quá trình huấn luyện các sản phẩm lỗi vẫn phụ thuộc nhiều vào số lượng và chất lượng đầu vào của quá trình dán nhãn.

Trong quá trình thực hiện đồ án, nhóm đã đối mặt với nhiều khó khăn, đặc biệt là về kiến thức, khi phải nghiên cứu các phương pháp kỹ thuật xử lý ảnh toàn cầu Hơn nữa, do kinh phí hạn chế, mỗi thành viên phải tự chi trả cho linh kiện, dẫn đến việc chỉ có thể xây dựng một mô hình thô sơ.

Đề tài này tập trung vào nghiên cứu, thiết kế và chế tạo hệ thống phân loại sản phẩm tự động, nhằm tạo nền tảng cho các nghiên cứu trong tương lai Việc phát triển các cơ cấu điện, điện tử và lập trình là những thách thức phổ biến trong ngành công nghiệp hiện đại.

Phần mềm xử lý sẽ được tối ưu hóa để nhận diện các lỗi thường gặp trên phốt bạc đạn, đồng thời cải thiện quy trình dán nhãn đầu vào với số lượng lớn hơn.

Thiết kế Web IoT hấp dẫn hơn khi sử dụng ESP32 với ăng-ten rời hoặc các dòng vi điều khiển cao cấp hơn, giúp tăng cường khả năng bắt sóng Wifi.

- Thiết kế và chế tạo hệ thống cấp phôi sản phẩm đưa vào và cơ cấu phân loại sản phẩm với quy mô cho doanh nghiệp

- Phát triển thêm về mặt hình dáng bên ngoài thân thiện và tính linh hoạt trong phần giao diện của đề tài.

Ngày đăng: 14/11/2023, 10:11

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[22] Engineers Rail, Difference Between Gear Drive and Belt Drive, đường dẫn: https://www.engineersrail.com/difference-between-gear-drive-and-belt-drive/, truy cập 2/2023 Link
[23] Geeksforgeeks, Artificial Neural Networks and its Applications, đường dẫn: https://www.geeksforgeeks.org/artificial-neural-networks-and-its-applications/, truy cập 2/2023 Link
[24] Thế giới IC, A4988 Module Điều Khiển Động Cơ Bước Reprap, đường dẫn https://www.thegioiic.com/products/a4988-module-dieu-khien-dong-co-buoc-reprap, truy cập 4/2023 Link
[25] Thế giới IC, Module 1 Relay 5V Kích Mức Cao/Thấp, đường dẫn: https://www.thegioiic.com/module-1-relay-5v-kich-muc-cao-thap, truy cập 2/2023 Link
[1] PGS. TS. Trịnh Chất - Lê Văn Uyển, Tính Toán Thiết Kế Hệ Dẫn Động Cơ Khí_Tập 1, tái bản lần thứ sáu, NXB Giáo Dục, năm 2006 Khác
[2] PGS. TS. Trịnh Chất - Lê Văn Uyển, Tính Toán Thiết Kế Hệ Dẫn Động Cơ Khí_Tập 2, tái bản lần thứ sáu, NXB Giáo Dục, năm 2006 Khác
[3] PGS. TS. Trịnh Chất, TS. Trịnh Đồng Tính, Tự Động Hoá Thiết Kế Cơ Khí, nhà xuất bản Khoa Học và Kỹ Thuật Khác
[4] ThS. Trần Công Chi, Mô Hình Băng Tải Phân Loại Sản Phẩm Theo Chiều Cao Điều Khiển Bằng PLC Ứng Dụng Trong Đào Tạo, Tạp Chí Khoa Học Và Công Nghệ Lâm Nghiệp Số 2, năm 2014 Khác
[5] Nguyễn Hữu Lộc, Chi Tiết Máy, tái bản lần thứ tư, nhà xuất bản đại học quốc gia TP. Hồ Chí Minh, năm 2011 Khác
[6] Nguyễn Hữu Lộc, Giáo Trình Cơ Sở Thiết Kế Máy, nhà xuất bản đại học quốc gia TP. Hồ Chí Minh, năm 2020TS. Nguyễn Dần,” Kỹ Thuật Đo Lường và Dung Sai Lắp Ghép”, nhà xuất bản Hà Nội Khác
[7] Trần Hữa Quế, Vẽ Kĩ Thuật Cơ Khí_Tập 1, tái bản lần thứ chín, NXB Giáo Dục Khác
[8] Trần Hữu Quế, Giáo Trình Vẽ Kỹ Thuật, nhà xuất bản Giáo Dục Việt Nam, năm 2009.Tiếng Anh Khác
[9] Alejandro Rodas de Paz, Tkinter GUI Application Development Cookbook, Packt Publishing, March 2018 Khác
[10] Alexey Spizhevoy và Aleksandr Rybnikov, OpenCV 3 Computer Vision with Python Cookbook, Packt Publishing, 2018 Khác
[11] David Millán Escrivá, OpenCV 4 By Example: Build computer vision applications with OpenCV functionality using Python, Packt Publishing, 2018 Khác
[12] Gabriel Garrido Calvo, Prateek Joshi, Learning OpenCV 4 Computer Vision with Python: A practical guide to understanding the core of OpenCV and Python essentials, Packt Publishing, 2019 Khác
[13] Gary Bradski và Adrian Kaehler, Learning OpenCV: Computer Vision with the OpenCV Library, O'Reilly Media, 2008 Khác
[14] John C. Russ, Introduction to Image Processing and Analysis, CRC Press, 2010 [15] Joseph Howse, OpenCV for Secret Agents, Packt Publishing, 2015 Khác
[16] Oscar Deniz Suarez, Noelia Vallez Enano, Gloria Bueno Garcia, and Ismael Serrano Gracia, OpenCV Essentials, Packt Publishing, 2014 Khác
[17] Rafeal C. Gonzalez Richard E. Woods, Digital Image Processing, 2018 Inc. Hoboken, 2018 Khác

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w