Giới thiệu dự án

Trong kỷ nguyên Công nghiệp 4.0, khâu kiểm soát chất lượng (Quality Control - QC) đóng vai trò then chốt quyết định năng lực cạnh tranh và uy tín thương hiệu của các doanh nghiệp sản xuất. Theo thống kê từ ngành công nghiệp bao bì và in ấn, phương pháp kiểm tra khuyết tật thủ công bằng mắt thường của công nhân (KCS) bộc lộ nhiều hạn chế nghiêm trọng: tỷ lệ sai sót dao động từ 15% đến 25% do mỏi mắt và giảm tập trung sau các ca làm việc kéo dài, tốc độ kiểm tra bị giới hạn dưới 30 sản phẩm/phút, đồng thời không thể đáp ứng môi trường làm việc độc hại hoặc bụi bẩn.

Đồ án tốt nghiệp "Ứng dụng xử lý ảnh và máy học phân loại sản phẩm lỗi trên bao bì" (Thực hiện bởi SVTH Trần Hữu Nhân, GVHD TS. Huỳnh Thế Thiện - Trường Đại học Sư phạm Kỹ thuật TP.HCM) giải quyết trực tiếp bài toán tự động hóa dây chuyền kiểm định bao bì công nghiệp. Bằng cách kết hợp giữa xử lý ảnh thị giác máy tính, kiến trúc mạng nơ-ron tích chập tối ưu MobileNet và bộ điều khiển logic khả trình PLC Siemens S7-1200 qua giao thức Modbus TCP/IP, hệ thống mang đến giải pháp kiểm tra tự động không tiếp xúc (Non-contact Automated Optical Inspection) với độ chính xác cao và vận hành ổn định.

                    HỆ THỐNG PHÂN LOẠI LỖI BAO BÌ TỰ ĐỘNG
  [ Băng tải cấp phôi ] ──► [ Camera Logitech C270 ] ──► [ PC: OpenCV + MobileNet ]
                                                                 │ (Modbus TCP/IP)
  [ Cụm gạt phân loại ] ◄── [ Driver TB6600 + Nema17 ] ◄── [ PLC Siemens S7-1200 ]

Mục tiêu dự án

  1. Xây dựng mô hình cơ điện tử hoàn chỉnh: Thiết kế băng tải cấp phôi liên tục, tích hợp cụm camera chụp ảnh và cơ cấu gạt phân loại dẫn động bằng động cơ bước.
  2. Phát triển thuật toán phát hiện và phân loại lỗi: Áp dụng tiền xử lý ảnh với OpenCV và huấn luyện mô hình mạng học sâu MobileNet để nhận diện 4 trạng thái sản phẩm: Sản phẩm đạt chuẩn (Good), Lỗi in sai (Wrong Print), Lỗi lem mực (Ink Smudge), và Lỗi rách bao bì (Torn).
  3. Thiết lập mạng truyền thông công nghiệp: Lập trình giao tiếp dữ liệu thời gian thực giữa máy tính xử lý trung tâm (Python) và PLC Siemens S7-1200 thông qua chuẩn Modbus TCP/IP trên nền Ethernet vật lý (RJ45).
  4. Xây dựng giao diện HMI/SCADA trên Python: Thiết kế GUI giám sát trực quan quá trình quét, hiển thị thông số thống kê số lượng sản phẩm đạt/lỗi theo thời gian thực và điều khiển trạng thái hệ thống.

Phạm vi và giới hạn

  • Phạm vi đối tượng: Kiểm tra bao bì sản phẩm dạng phẳng di chuyển trên băng chuyền mini với các dạng lỗi in ấn và biến dạng vật lý phổ biến.
  • Giới hạn kỹ thuật: Sử dụng camera độ phân giải 720p tiêu cự cố định; hệ thống tối ưu hóa cho điều kiện chiếu sáng công nghiệp có kiểm soát; phân loại sản phẩm đơn luồng với kích thước vùng nhận dạng từ 10.000 đến 30.000 pixel.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tiêu chí Kiểm tra thủ công (Manual KCS) Xử lý ảnh truyền thống (Gabor/Wavelet/Morphology) Giải pháp đề xuất (OpenCV + MobileNet + PLC S7-1200)
Độ chính xác Thấp (75% - 85%), phụ thuộc con người Trung bình (85% - 90%), dễ nhiễu ánh sáng Cao (> 96%), thích nghi tốt với biến dạng
Tốc độ đáp ứng Chậm (< 0.5 sản phẩm/s) Nhanh (~ 10-15 ms/khung hình) Cực nhanh (< 45 ms tổng chu trình phân loại)
Tính linh hoạt Khó chuẩn hóa Cần tinh chỉnh thủ công ngưỡng (Threshold) Huấn luyện lại mô hình linh hoạt khi đổi mẫu bao bì
Độ tin cậy công nghiệp Kém trong môi trường khắc nghiệt Khó ghép nối điều khiển cơ cấu chấp hành Rất cao nhờ PLC S7-1200 và Driver TB6600
Chi phí vận hành Chi phí nhân công định kỳ cao Chi phí bảo trì thuật toán cao Tối ưu, tự động hóa hoàn toàn chu trình

Ma trận yêu cầu hệ thống theo mô hình MoSCoW

  • Must-have (Bắt buộc): Nhận diện chính xác 3 dạng lỗi (lem mực, in sai, rách); giao tiếp không trễ qua Modbus TCP/IP giữa Python và PLC; kích hoạt cơ cấu gạt phân loại đúng vị trí.
  • Should-have (Nên có): Giao diện GUI hiển thị video stream thời gian thực kèm bounding box vùng khuyết tật; thống kê tỷ lệ lỗi theo phiên làm việc.
  • Could-have (Có thể mở rộng): Tự động lưu vết ảnh lỗi vào cơ sở dữ liệu để phục vụ kiểm toán chất lượng.
  • Won't-have (Chưa thực hiện): Kiểm tra 3D đa góc độ trên bao bì hình khối phức tạp (dành cho giai đoạn nâng cấp tiếp theo).

Thiết kế hệ thống

graph TD
    subgraph Sensing & Vision Layer
        A[Webcam Logitech C270 720p] -->|USB 2.0 Video Stream| B[Khối Xử lý Trung tâm Python]
        B --> C[OpenCV Pipeline: Grayscale/Blur/Threshold]
        C --> D[MobileNet Inference Engine]
    end

    subgraph Control & Execution Layer
        D -->|Modbus TCP/IP Packet| E[PLC Siemens S7-1200 CPU 1212C]
        E -->|Xung PUL/DIR 5V| F[Driver TB6600 4A]
        F -->|Dòng động lực 24VDC| G[Động cơ bước Nema 17 - Cánh gạt]
        E -->|Digital Output 24V| H[Đèn báo trạng thái AD16-16C]
    end

    subgraph Power & Monitoring Layer
        I[Nguồn tổ ong SMPS 24VDC 5A] --> E
        I --> F
        I --> H
        B --> J[Giao diện giám sát GUI - Spyder IDE]
    end

Cấu hình công nghệ (Technology Stack)

  • Bộ điều khiển lập trình (PLC): Siemens SIMATIC S7-1200 CPU 1212C DC/DC/DC (Bộ nhớ làm việc 75 KB, 8 DI 24VDC, 6 DO Transistor 24VDC, 2 AI 0-10V, cổng PROFINET RJ45).
  • Môi trường lập trình điều khiển: TIA Portal V16/V17 (ngôn ngữ Ladder Logic - LAD).
  • Xử lý thị giác máy tính: Python 3.9, OpenCV 4.5+, NumPy, Pandas, Scikit-learn, Imutils.
  • Môi trường phát triển thị giác: Spyder IDE (Anaconda Distribution).
  • Cơ cấu chấp hành: Động cơ bước Nema 17 (Góc bước 1.8°, Moment giữ 40 N.cm, dòng định mức 1.7A) kết hợp Driver Step TB6600 (Điện áp hoạt động 9-42VDC, dòng đỉnh 4.0A, hỗ trợ vi bước Microstep).
  • Thu nhận hình ảnh: Camera Logitech C270 (Độ phân giải HD 720p/30fps, cảm biến 0.9 MP, góc nhìn chéo 55°).
  • Khối nguồn: Nguồn tổ ong MeanWell/Chính hãng (Input: AC 220V, Output: 24VDC - 5A, công suất 120W).

Cấu trúc khung truyền Modbus TCP/IP

Giao tiếp giữa PC xử lý ảnh và PLC S7-1200 được đóng gói theo tiêu chuẩn Modbus Application Protocol (MBAP Header 7 bytes):

  • Transaction Identifier (2 Bytes): Đồng bộ các giao dịch gửi/nhận bất đồng bộ.
  • Protocol Identifier (2 Bytes): Luôn bằng 0x0000 (Modbus Protocol).
  • Length Field (2 Bytes): Số lượng byte còn lại trong gói tin.
  • Unit Identifier (1 Byte): Định danh địa chỉ trạm (mặc định 0x01 hoặc 0xFF).
  • Function Code (1 Byte) + Data Field: Sử dụng Function Code 0x05 (Write Single Coil) hoặc 0x06 (Write Single Register) để ghi trạng thái phát hiện lỗi trực tiếp vào vùng nhớ M hoặc DB của PLC.

Implementation và kết quả

Quy trình phát triển phần mềm và thuật toán

1. Tiền xử lý hình ảnh với OpenCV

Để cô lập chính xác phôi bao bì trước khi đưa vào mô hình máy học, luồng xử lý ảnh thực hiện qua các bước chuẩn hóa:

import cv2
import numpy as np
import imutils

def preprocess_defect_region(frame):
    # 1. Chuyển đổi không gian màu RGB sang Grayscale
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    
    # 2. Làm mịn ảnh bằng Gaussian Blur để khử nhiễu tần số cao
    blurred = cv2.GaussianBlur(gray, (5, 5), 0)
    
    # 3. Phân ngưỡng nhị phân thích nghi (Otsu Thresholding)
    _, thresh = cv2.threshold(blurred, 60, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)
    
    # 4. Phép biến đổi hình thái học (Morphological Closing) với Kernel 3x3 và 5x5
    kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3))
    closed = cv2.morphologyEx(thresh, cv2.MORPH_CLOSE, kernel, iterations=2)
    
    # 5. Tìm kiếm đường bao và lọc diện tích vùng quan tâm (ROI)
    cnts = cv2.findContours(closed.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
    cnts = imutils.grab_contours(cnts)
    
    roi_list = []
    for c in cnts:
        area = cv2.contourArea(c)
        # Lọc các vùng có diện tích trong ngưỡng kích thước bao bì tiêu chuẩn
        if 10000 <= area <= 30000:
            x, y, w, h = cv2.boundingRect(c)
            roi = frame[y:y+h, x:x+w]
            # Resize chuẩn hóa về kích thước đầu vào mô hình phân loại (64x64)
            roi_resized = cv2.resize(roi, (64, 64))
            roi_normalized = roi_resized.astype("float32") / 255.0
            roi_list.append((roi_normalized, (x, y, w, h)))
            
    return roi_list

2. Kiến trúc mạng phân loại MobileNet

Khác với tích chập tiêu chuẩn (Standard Convolution) có chi phí tính toán lớn: $$\text{Cost}_{\text{Std}} = D_K \cdot D_K \cdot M \cdot N \cdot D_F \cdot D_F$$ (Trong đó $D_K$ là kích thước kernel, $M$ là số kênh vào, $N$ là số kênh ra, $D_F$ là kích thước bản đồ đặc trưng).

MobileNet sử dụng Tích chập có thể phân tách theo chiều sâu (Depthwise Separable Convolution) gồm hai pha riêng biệt:

  1. Depthwise Convolution: Áp dụng 1 bộ lọc đơn lẻ cho từng kênh đầu vào với chi phí $D_K \cdot D_K \cdot M \cdot D_F \cdot D_F$.
  2. Pointwise Convolution: Sử dụng tích chập $1 \times 1$ để kết hợp tuyến tính các đặc trưng với chi phí $M \cdot N \cdot D_F \cdot D_F$.

Tổng chi phí tính toán được rút gọn: $$\text{Ratio} = \frac{D_K \cdot D_K \cdot M \cdot D_F \cdot D_F + M \cdot N \cdot D_F \cdot D_F}{D_K \cdot D_K \cdot M \cdot N \cdot D_F \cdot D_F} = \frac{1}{N} + \frac{1}{D_K^2}$$ Với kernel $3 \times 3$, MobileNet giúp giảm từ 8 đến 9 lần khối lượng tính toán so với tích chập tiêu chuẩn, cho phép thực thi trơn tru trên CPU mà không cần GPU rời đắt tiền.

[ Input: 64x64x3 ] ──► [ Conv 3x3 (s2) ] ──► [ Depthwise Conv 3x3 + Pointwise 1x1 ] x 13 Blocks
                         │                    │
                         ▼                    ▼
                    BatchNorm+ReLU       BatchNorm+ReLU
                         │
                         ▼
             [ Global Avg Pooling ] ──► [ Dense (FC) ] ──► [ Softmax (4 Classes) ]

3. Module truyền thông Modbus TCP/IP điều khiển cơ cấu phân loại

from pyModbusTCP.client import ModbusClient
import time

class PLCController:
    def __init__(self, host="192.168.0.1", port=502):
        self.client = ModbusClient(host=host, port=port, auto_open=True, auto_close=True)
        
    def trigger_reject_mechanism(self, defect_type_code):
        """
        defect_type_code:
        0: Sản phẩm Đạt (Good) -> Băng tải chạy thẳng
        1: Lỗi Lem Mực -> Gạt vào ngăn lỗi 1
        2: Lỗi In Sai  -> Gạt vào ngăn lỗi 2
        3: Lỗi Rách    -> Gạt vào ngăn lỗi 3
        """
        if self.client.open():
            # Ghi mã lỗi vào Holding Register 40001 (Địa chỉ Offset 0)
            self.client.write_single_register(0, defect_type_code)
            # Kích hoạt cờ băm xung điều khiển Stepper Motor qua Coil 00001
            self.client.write_single_coil(0, True)
            time.sleep(0.05) # Pulse width
            self.client.write_single_coil(0, False)
            return True
        return False

Kiểm nghiệm thực nghiệm và đánh giá hiệu năng

Hệ thống được thử nghiệm với bộ dữ liệu gồm 1.200 mẫu bao bì trong hai điều kiện: Chưa huấn luyện (chỉ sử dụng ngưỡng biên truyền thống) và Đã qua huấn luyện mô hình học sâu MobileNet.

Bảng kết quả chạy thực nghiệm trên dây chuyền

Loại mẫu thử nghiệm Số lượng mẫu Tỷ lệ nhận diện (Chưa Train) Tỷ lệ nhận diện (Đã Train MobileNet) Thời gian phản hồi trung bình
Sản phẩm đạt chuẩn (Good) 300 72.3% (Nhiều nhận diện nhầm) 98.6% (296/300) 28 ms
Lỗi lem mực (Ink Smudge) 300 64.0% (Lẫn với bóng sáng) 96.3% (289/300) 32 ms
Lỗi in sai thông tin 300 48.7% (Không nhận diện được) 95.0% (285/300) 35 ms
Lỗi rách bao bì (Torn) 300 81.0% (Nhận diện cạnh thô) 97.3% (292/300) 30 ms
Tổng thể / Trung bình 1.200 66.5% 96.8% 31.25 ms
MA TRẬN NHẦM LẪN (CONFUSION MATRIX - ĐÃ TRAIN)
───────────────────────────────────────────────────────
Dự đoán ──►    [ Đạt ]   [ Lem mực ]  [ In sai ]  [ Rách ]
Thực tế:
[ Đạt ]          296          2           1          1
[ Lem mực ]        4        289           5          2
[ In sai ]         6          7         285          2
[ Rách ]           3          3           2        292
───────────────────────────────────────────────────────
Độ chính xác toàn diện (Overall Accuracy): 96.8%

Đổi mới và đóng góp

Các đột phá kỹ thuật chính

  1. Tối ưu hóa kiến trúc mạng nơ-ron nhúng: Thay vì sử dụng các mô hình học sâu cồng kềnh (như VGG-16 với 138 triệu tham số hoặc ResNet-50 với 25 triệu tham số), đồ án đã làm chủ việc tích hợp MobileNet 28 lớp với cơ chế tích chập tách kênh. Điều này giúp giảm 95% thời gian tính toán trong các phép tích chập $1 \times 1$ thông qua thuật toán GEMM (General Matrix Multiply), cho phép đạt tốc độ xử lý trên 30 FPS ngay trên cấu hình máy tính cá nhân thông thường.
  2. Kiến trúc điều khiển phân tầng Hybrid (IT/OT Convergence): Tạo cầu nối hoàn chỉnh giữa tầng xử lý thị giác phần mềm (Python/OpenCV chạy trên OS Windows/Linux) và tầng điều khiển thời gian thực phần cứng (PLC Siemens S7-1200). Việc giao tiếp qua Modbus TCP/IP loại bỏ hoàn toàn nhu cầu về các card chuyển đổi tín hiệu chuyên dụng đắt đỏ.
  3. Thuật toán ROI đa phân đoạn: Kết hợp phép lọc diện tích hình thái học ($10.000 \le \text{Area} \le 30.000$) với hàm bao cv2.boundingRect() giúp loại bỏ 99.2% nhiễu nền cơ khí xung quanh băng tải trước khi đưa ảnh vào mạng nơ-ron, nâng cao độ chính xác nhận dạng thêm 14.3%.

Ứng dụng thực tế và triển khai

Kịch bản ứng dụng trong nhà máy

  • Dây chuyền in ấn & bao bì màng mềm: Kiểm soát lỗi in offset, lỗi sai lệch màu, vết lem mực trên bao bì bánh kẹo, mì ăn liền, hộp thuốc.
  • Ngành công nghiệp thực phẩm & đồ uống: Kiểm tra nắp chai đóng lệch, nhãn dán bị rách, sai lệch mã HSD/NSX in phun.
  • Sản xuất linh kiện điện tử: Kiểm tra bao bì chống tĩnh điện, tem nhãn linh kiện dán sai quy cách trên khay vận chuyển.
                       BẢN ĐỒ TRIỂN KHAI PHẦN CỨNG TỦ ĐIỆN
┌────────────────────────────────────────────────────────────────────────┐
│ [MCB 2P 10A] ──► [Bộ nguồn 24VDC 5A] ──► [PLC Siemens S7-1200 1212C]   │
│                                      │                                 │
│                                      ├──► [Driver Động cơ bước TB6600] │
│                                      │                                 │
│                                      └──► [Hệ thống Đèn báo AD16-16C]  │
└────────────────────────────────────────────────────────────────────────┘

Phân tích hiệu quả kinh tế & ROI (Dự toán cho 01 chuyền đóng gói)

  • Chi phí đầu tư hệ thống (CAPEX):
    • PLC Siemens S7-1200 + Phụ kiện: ~ 6.500.000 VNĐ
    • Động cơ bước Nema 17 + Driver TB6600 + Khung cơ khí băng tải: ~ 4.500.000 VNĐ
    • Camera công nghiệp + Máy tính xử lý: ~ 12.000.000 VNĐ
    • Tủ điện, nút nhấn, nguồn tổ ong, vật tư: ~ 3.000.000 VNĐ
    • Tổng chi phí: ~ 26.000.000 VNĐ (~ 1.050 USD)
  • Chi phí nhân công KCS truyền thống: 2 công nhân/2 ca = 16.000.000 VNĐ/tháng.
  • Thời gian hoàn vốn (Payback Period): 1.6 tháng. Tỷ suất hoàn vốn nội bộ (ROI) năm đầu tiên đạt > 600%.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  1. Thiết bị thu nhận hình ảnh: Camera Logitech C270 là dòng webcam thương mại, tiêu cự cố định, độ nhạy sáng thấp và tốc độ khung hình bị giới hạn ở 30fps, dễ bị nhòe chuyển động (Motion Blur) khi băng tải chạy ở vận tốc cao (> 0.5 m/s).
  2. Cơ cấu gạt phân loại: Cánh gạt dẫn động bằng động cơ bước Nema 17 đơn thuần chỉ phân loại được các phôi có khối lượng nhẹ (< 200g).
  3. Môi trường ánh sáng: Chưa tích hợp bộ chiếu sáng chuyên dụng (Coaxial/Ring LED Illumination), hệ thống còn phụ thuộc nhất định vào ánh sáng môi trường xưởng.

Hướng nâng cấp mở rộng

  • Nâng cấp phần cứng thị giác: Thay thế bằng Camera công nghiệp chuẩn GigE/USB3 Vision (Basler, FLIR) tích hợp Global Shutter và ống kính C-mount điều chỉnh khẩu độ linh hoạt.
  • Tối ưu hóa Deep Learning: Chuyển đổi mô hình MobileNet sang định dạng ONNX Runtime hoặc TensorRT triển khai trên máy tính nhúng chuyên dụng (NVIDIA Jetson Orin Nano) gắn trực tiếp tại tủ điều khiển.
  • Cơ cấu chấp hành khí nén: Sử dụng xilanh khí nén tác động kép kết hợp van điện từ Solenoid để đạt tốc độ gạt phân loại lên đến 120 sản phẩm/phút.
  • Tích hợp SCADA/MES: Xây dựng máy chủ cơ sở dữ liệu SQL Server và giao diện Web SCADA quản trị tập trung OEE (Hiệu suất thiết bị tổng thể).

Đối tượng hưởng lợi

                              CÁC NHÓM ĐỐI TƯỢNG HƯỞNG LỢI
  ┌───────────────────────┬────────────────────────┬───────────────────────┐
  │     Sinh viên &       │    Kỹ sư Tự động hoá   │    Doanh nghiệp       │
  │     Nghiên cứu sinh   │    & Lập trình viên    │    Sản xuất Bao bì    │
  ├───────────────────────┼────────────────────────┼───────────────────────┤
  │ • Tài liệu mẫu về     │ • Mã nguồn chuẩn kết   │ • Giải pháp tự động   │
  │   Machine Vision      │   nối Python - PLC     │   hóa chi phí thấp    │
  │ • Kiến trúc MobileNet │ • Kinh nghiệm xử lý    │ • Giảm 90% lỗi lọt    │
  │   và Modbus TCP/IP    │   nhiễu công nghiệp    │   ra thị trường       │
  └───────────────────────┴────────────────────────┴───────────────────────┘
  • Sinh viên ngành Cơ điện tử / Điện tử - Viễn thông / Tự động hóa: Cung cấp tài liệu tham khảo thực tế về cách kết hợp giữa giải thuật phần mềm hiện đại và thiết bị chấp hành công nghiệp.
  • Kỹ sư tích hợp hệ thống (System Integrator): Cung cấp mẫu thiết kế hoàn chỉnh từ sơ đồ mạch điện, phương pháp nối dây TB6600, thiết lập thanh ghi Modbus đến logic điều khiển PLC.
  • Doanh nghiệp vừa và nhỏ (SMEs): Mô hình tham chiếu tối ưu để hiện đại hóa dây chuyền với chi phí đầu tư ban đầu cực thấp.

Câu hỏi thường gặp

1. Cấu hình phần cứng tối thiểu để triển khai hệ thống này là gì?

  • Phía điều khiển: 01 PLC Siemens S7-1200 (bất kỳ dòng CPU nào có cổng PROFINET như 1211C, 1212C, 1214C), 01 Driver TB6600, 01 Động cơ bước Nema 17, 01 Nguồn 24VDC-5A.
  • Phía xử lý ảnh: 01 PC/Laptop hoặc máy tính nhúng (Intel Core i3 thế hệ 6 trở lên hoặc Raspberry Pi 4 / Jetson Nano), RAM tối thiểu 4GB, cổng USB 2.0/3.0 và cổng mạng Ethernet LAN (RJ45).

2. Hệ thống có khả năng mở rộng phát hiện thêm các dạng lỗi mới không?

Hoàn toàn có thể. Do sử dụng mô hình học sâu MobileNet, khi có dạng lỗi mới (ví dụ: in lệch mép, sai màu sắc), người vận hành chỉ cần thu thập thêm 100-200 ảnh mẫu của dạng lỗi đó, gán nhãn và tái huấn luyện (Fine-tuning) lớp Transfer Learning cuối cùng của mô hình mà không cần lập trình lại toàn bộ hệ thống.

3. Tại sao chọn Modbus TCP/IP thay vì truyền thông nối tiếp RS485 (Modbus RTU)?

Modbus TCP/IP truyền dữ liệu trên nền cáp mạng Ethernet vật lý với tốc độ 10/100 Mbps, cao hơn rất nhiều so với RS485 (thường tối đa 115.2 kbps). Ngoài ra, cổng Ethernet có sẵn trên hầu hết các máy tính hiện đại, giúp loại bỏ sự cần thiết của các bộ chuyển đổi USB-to-RS485 và cho phép tích hợp trực tiếp vào hạ tầng mạng LAN nhà máy.

4. Hệ thống cần bảo trì định kỳ những hạng mục nào?

  • Hàng tuần: Vệ sinh bụi bẩn trên mặt kính camera và ống kính; kiểm tra độ căng dây đai băng tải.
  • Hàng tháng: Kiểm tra độ siết chặt của các đầu cốt dây điện tại cầu đấu PLC và Driver TB6600; kiểm tra nhiệt độ tản nhiệt của IC điều khiển động cơ.

5. Khả năng chống nhiễu trong môi trường công nghiệp được xử lý thế nào?

  • Hệ thống sử dụng nguồn tổ ong có mạch lọc chống quá áp, quá dòng.
  • Các tín hiệu điều khiển giữa PLC và Driver TB6600 được cách ly quang (Optocoupler Isolation) bên trong driver, ngăn chặn dòng điện cảm ứng ngược từ cuộn dây động cơ bước làm hỏng ngõ ra PLC.

Kết luận

Đồ án "Ứng dụng xử lý ảnh và máy học phân loại sản phẩm lỗi trên bao bì" là một minh chứng xuất sắc cho xu hướng hội tụ công nghệ giữa Trí tuệ nhân tạo (AI/Computer Vision)Tự động hóa truyền thống (Industrial Automation). Việc làm chủ toàn bộ chu trình từ thiết kế cơ điện tử, tích hợp mạch động lực, lập trình điều khiển logic PLC S7-1200, đến tối ưu hóa giải thuật học sâu MobileNet đã tạo nên một giải pháp hoàn chỉnh, đạt độ chính xác 96.8% với thời gian đáp ứng thực thời dưới 35 ms.

Đây không chỉ là công trình học thuật chất lượng cao đáp ứng chuẩn đầu ra của ngành Kỹ thuật Điện tử - Viễn thông, mà còn là sản phẩm ứng dụng có tiềm năng thương mại hóa rộng rãi, mở ra hướng đi hiệu quả cho các doanh nghiệp sản xuất trong công cuộc số hóa và tự động hóa kiểm định chất lượng sản phẩm.