Giới thiệu dự án

Trong bối cảnh công nghiệp sản xuất hiện đại – đặc biệt là các ngành gia công giày da, may mặc túi xách, đóng gói bao bì và lắp ráp linh kiện điện tử – công đoạn dán keo đóng vai trò quyết định đến độ bền và thẩm mỹ của thành phẩm. Theo các khảo sát ngành sản xuất phụ trợ, công đoạn dán keo thủ công chiếm tới 25-35% tổng thời gian gia công chi tiết nhưng lại là khâu có tỷ lệ lỗi cao nhất (từ 8-15% phế phẩm do tràn keo, thiếu keo hoặc đường keo không đồng đều). Hơn nữa, việc công nhân tiếp xúc liên tục với dung môi hữu cơ bay hơi từ keo công nghiệp đặt ra nhiều quan ngại về an toàn lao động.

+-------------------------------------------------------------------------------+
|                             KIẾN TRÚC TỔNG THỂ HỆ THỐNG                       |
+-------------------------------------------------------------------------------+
|  [ CAMERA 1080p ] ---> [ XỬ LÝ ẢNH (Python/OpenCV) ]                          |
|                                |                                              |
|                                v (Tọa độ đỉnh biên & Thông số điều khiển)     |
|                       [ GIAO THỨC SNAP7 / ETHERNET ]                          |
|                                |                                              |
|                                v (DB Blocks / S7comm)                         |
|  [ GIAO DIỆN GUI (Tkinter) ] <-> [ PLC SIEMENS S7-1200 (CPU 1214C DC/DC/DC) ] |
|                                       |                                       |
|               +-----------------------+-----------------------+               |
|               | (Xung PTO 100kHz)     | (Xung PTO 100kHz)     | (Tín hiệu DO) |
|               v                       v                       v               |
|       [ DRIVER DM542 (Trục X) ] [ DRIVER DM542 (Trục Y) ] [ VAN KHÍ NÉN 24V ] |
|               |                       |                       |               |
|               v                       v                       v               |
|       [ STEPPER MOTOR 57 ]    [ STEPPER MOTOR 57 ]     [ ĐẦU PHUN KEO ]       |
|               |                       |                       |               |
|               +-----------> [ BÀN CƠ KHÍ 2 TRỤC X-Y ] <-------+               |
+-------------------------------------------------------------------------------+

Vấn đề thực tế (Problem Statement)

Các giải pháp dán keo hiện hành bộc lộ rõ những hạn chế:

  • Phun keo thủ công: Phụ thuộc hoàn toàn vào tay nghề thợ, năng suất thấp (khoảng 30-45 giây/sản phẩm), đường keo không kiểm soát được lưu lượng và chiều rộng, lãng phí 20-30% lượng keo tiêu hao.
  • Máy CNC phun keo truyền thống: Mặc dù đảm bảo độ chính xác cao nhưng đòi hỏi lập trình quỹ đạo G-code hoặc nạp tọa độ cố định bằng tay (Teaching Pendant). Khi đổi mẫu mã sản phẩm (size giày, kiểu túi), kỹ sư mất 15-30 phút để cài đặt lại tọa độ cơ khí và quỹ đạo chạy, làm gián đoạn dây chuyền sản xuất hàng loạt vừa và nhỏ.

Mục tiêu đề tài (Project Objectives)

  1. Xây dựng hoàn chỉnh mô hình cơ khí điều khiển chuyển động 2 trục (X-Y) sử dụng động cơ bước và trục vít me T8.
  2. Thiết kế thuật toán xử lý ảnh trên nền tảng Python/OpenCV để nhận diện tự động biên dạng sản phẩm 2D, trích xuất tọa độ đỉnh biên mà không cần lập trình trước quỹ đạo.
  3. Thiết lập mạng truyền thông công nghiệp Ethernet thời gian thực giữa máy tính xử lý ảnh (PC) và bộ điều khiển logic lập trình được (PLC Siemens S7-1200) thông qua thư viện Snap7.
  4. Lập trình giải thuật điều khiển đồng bộ vận tốc 2 trục ($V_x, V_y$) và đóng/mở van điện từ khí nén chính xác tại từng phân đoạn di chuyển.
  5. Xây dựng giao diện giám sát và điều khiển người dùng (GUI) trực quan bằng thư viện Tkinter.

Giải pháp và Phạm vi

Đề tài tích hợp công nghệ Thị giác máy tính (Computer Vision) kết hợp Tự động hóa công nghiệp (Industrial Automation). Hệ thống sử dụng một Camera ghi nhận hình ảnh phôi trên bàn máy, giải thuật xử lý ảnh phân đoạn và tính toán tọa độ vector biên, sau đó truyền trực tiếp xuống PLC S7-1200 qua giao thức S7comm (Snap7) để thực thi chuyển động nội suy 2 trục với độ chính xác đạt dưới $\pm 0.5\text{ mm}$.

  • Phạm vi áp dụng: Sản phẩm 2D dạng phẳng (da giày, vải, bìa carton, phôi nhựa mỏng), khổ làm việc $300\text{ mm} \times 300\text{ mm}$, tải trọng đầu phun tối đa $1.5\text{ kg}$.

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

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

Tiêu chí đánh giá Phun keo thủ công Máy CNC cố định (G-code) Hệ thống phun keo tự động (Đồ án)
Độ chính xác vị trí Thấp ($\pm 2.0 - 5.0\text{ mm}$) Rất cao ($\pm 0.05\text{ mm}$) Cao ($\pm 0.3 - 0.5\text{ mm}$)
Thời gian đổi mẫu (Changeover) 0 phút (nhưng sai số cao) 15 - 30 phút (lập trình lại) < 3 giây (Auto-detection)
Tính linh hoạt biên dạng Phụ thuộc mắt nhìn Cố định theo file nạp Tự thích ứng mọi hình dạng phẳng
Chi phí đầu tư Cực thấp Rất cao (150 - 300 triệu VNĐ) Thấp (15 - 25 triệu VNĐ)
Yêu cầu trình độ vận hành Lao động phổ thông Kỹ thuật viên CNC Công nhân thao tác 1 nút bấm

Yêu cầu hệ thống theo mô hình MoSCoW

  • Must Have (Bắt buộc): Tự động nhận diện biên dạng 2D; truyền thông ổn định PC-PLC qua Snap7; phát xung PTO điều khiển 2 trục X-Y; điều khiển van khí nén đóng/mở chính xác tại điểm bắt đầu/kết thúc đường biên.
  • Should Have (Nên có): Giao diện GUI hiển thị hình ảnh xử lý theo thời gian thực; nút dừng khẩn cấp (Emergency Stop); cơ chế Home tự động khi khởi động hệ thống.
  • Could Have (Có thể mở rộng): Nhận diện đồng thời nhiều đối tượng độc lập trong một lần chụp; tự động tính toán lưu lượng keo theo tốc độ di chuyển bàn máy.
  • Won't Have (Chưa thực hiện): Bù sai số biên dạng 3D cong vênh; tích hợp cánh tay Robot 6 bậc tự do.

Thiết kế hệ thống

Cấu hình phần cứng (Hardware BOM & Specifications)

  1. Bộ điều khiển trung tâm (PLC): Siemens S7-1200 CPU 1214C DC/DC/DC (Mã 6ES7 214-1AG40-0XB0, Firmware V4.5). Cung cấp 14 ngõ vào số 24VDC, 10 ngõ ra số Transistor hỗ trợ 4 ngõ phát xung tốc độ cao PTO/PWM lên đến $100\text{ kHz}$.
  2. Bộ truyền động (Driver): 02 Driver vi bước DM542 (Điện áp hoạt động 24-50VDC, dòng đỉnh 4.2A, cài đặt vi bước 1600 xung/vòng).
  3. Động cơ chấp hành: 02 Động cơ bước 2 pha NEMA 23 (Step Motor 57HS56, góc bước $1.8^\circ$, moment giữ $1.2\text{ N}\cdot\text{m}$, dòng định mức 2.8A).
  4. Cơ cấu truyền động: Trục vít me bi/vít me T8 bước 8mm (Lead 8mm, Pitch 2mm, 4 đầu ren), dẫn hướng thanh trượt tròn mạ crom phi 12mm kèm bạc trượt SC12UU.
  5. Cơ cấu phun: Van điện từ khí nén 2/2 ngõ (Solenoid Valve 24VDC, áp suất hoạt động 0.15 - 0.8 MPa) kết hợp bình chứa keo chịu áp lực và kim phun định lượng.
  6. Cảm biến và Camera: 02 Cảm biến tiệm cận NPN Inductive Sensor phát hiện điểm Home; 01 Camera độ phân giải Full HD (1920x1080@30fps).

Cấu hình phần mềm và Môi trường phát triển

  • PLC Programming IDE: Siemens TIA Portal V17 (Ngôn ngữ lập trình Ladder Logic - LAD).
  • Vision & GUI Environment: Python 3.10 trên nền IDE PyCharm Professional 2023.2.
  • Libraries: OpenCV (v4.8.1), Snap7 Python wrapper (v1.3), NumPy (v1.24.3), Tkinter GUI toolkit.

Phương pháp luận và Quy trình thực hiện (Methodology)

Dự án được triển khai qua 6 giai đoạn với tổng thời gian 16 tuần:

Tuần 01 - 03: [Giai đoạn 1 & 2] Khảo sát thực tế, tính toán động học và lựa chọn thiết bị
Tuần 04 - 07: [Giai đoạn 3] Gia công cơ khí khung nhôm định hình 2020/2040, lắp ráp tủ điện PLC
Tuần 08 - 11: [Giai đoạn 4] Xây dựng thuật toán OpenCV trên Python và viết chương trình LAD trên TIA Portal
Tuần 12 - 14: [Giai đoạn 5] Tích hợp mạng truyền thông Snap7, cấu hình Data Block (DB), đồng bộ dữ liệu
Tuần 15 - 16: [Giai đoạn 6] Thử nghiệm thực địa, đo đạc sai số, tối ưu hóa thời gian chu kỳ

Ma trận đánh giá và giảm thiểu rủi ro kỹ thuật

Rủi ro kỹ thuật Mức độ Biện pháp giảm thiểu
Trượt bước (Step Loss) ở tốc độ cao Cao Cấu hình gia tốc hình thang (Trapezoidal ramp) trong PLC; giảm tải cơ khí; chọn tỷ lệ vi bước tối ưu 1600 ppr.
Độ trễ truyền thông PC - PLC Trung bình Tối ưu hóa chu kỳ ghi dữ liệu Snap7, chỉ truyền mảng tọa độ một lần khi bắt đầu chu kỳ; không ghi liên tục theo chu kỳ quét.
Nhiễu ánh sáng môi trường khi xử lý ảnh Cao Thiết lập hộp chiếu sáng đồng nhất (LED Ring 6500K); sử dụng bộ lọc không gian Gaussian kết hợp ngưỡng nhị phân thích ứng Otsu.
Trễ đáp ứng của van khí nén gây tràn keo Trung bình Bù thời gian đóng/mở van trước $50\text{ ms}$ trong khối hàm điều khiển PLC (Timer TON/TOF).

Implementation và kết quả

Quy trình phát triển (Development Process)

1. Thuật toán Xử lý ảnh và Trích xuất biên dạng (Python/OpenCV)

Quy trình xử lý ảnh trải qua 5 bước chính:

  1. Thu nhận khung hình từ Camera và chuyển đổi sang không gian màu xám (Grayscale).
  2. Áp dụng bộ lọc Gaussian 2D với kích thước kernel $5 \times 5$, độ lệch chuẩn $\sigma = 1.4$ để làm mịn ảnh và triệt tiêu nhiễu tần số cao:

$$G_\sigma(x, y) = \frac{1}{2\pi \sigma^2} \exp\left(-\frac{x^2+y^2}{2\sigma^2}\right)$$

  1. Phân ngưỡng nhị phân (Binary Thresholding) hoặc Canny Edge Detector để tách biên.
  2. Áp dụng toán tử hình thái học ErosionDilation nhằm loại bỏ các đốm nhiễu nhỏ và hàn gắn các đứt gãy trên biên.
  3. Sử dụng hàm cv2.findContours() kết hợp giải thuật xấp xỉ đa giác Ramer-Douglas-Peucker (cv2.approxPolyDP) để trích xuất danh sách các điểm cực trị $(X_i, Y_i)$ đại diện cho chu vi đối tượng.
import cv2
import numpy as np
import snap7
from snap7.util import set_bool, set_int, set_real

def process_contour_and_extract_coordinates(image_path, epsilon_factor=0.005):
    # 1. Đọc ảnh và tiền xử lý
    src = cv2.imread(image_path)
    gray = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)
    blurred = cv2.GaussianBlur(gray, (5, 5), 1.4)
    
    # 2. Phân ngưỡng nhị phân
    _, thresh = cv2.threshold(blurred, 127, 255, cv2.THRESH_BINARY_INV)
    
    # 3. Phép toán hình thái học Opening (Erosion -> Dilation)
    kernel = np.ones((3, 3), np.uint8)
    opening = cv2.morphologyEx(thresh, cv2.MORPH_OPEN, kernel, iterations=2)
    
    # 4. Tìm contours
    contours, _ = cv2.findContours(opening, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
    if not contours:
        return []
    
    # Lấy contour lớn nhất
    max_cnt = max(contours, key=cv2.contourArea)
    
    # 5. Xấp xỉ đa giác để giảm số điểm thừa
    epsilon = epsilon_factor * cv2.arcLength(max_cnt, True)
    approx_curve = cv2.approxPolyDP(max_cnt, epsilon, True)
    
    # Chuyển đổi tọa độ Pixel sang tọa độ thực Milimet (Tỉ lệ scale K = 0.25 mm/pixel)
    SCALE_RATIO = 0.25
    real_world_coords = []
    for pt in approx_curve:
        px, py = pt[0]
        real_world_coords.append((round(px * SCALE_RATIO, 2), round(py * SCALE_RATIO, 2)))
        
    return real_world_coords

2. Cơ chế truyền thông Snap7 và Cấu hình PLC Siemens S7-1200

Để cho phép Python truy cập bộ nhớ Data Block (DB) của S7-1200 thông qua Snap7:

  • Trên TIA Portal V17: Bật tùy chọn "Permit access with PUT/GET communication from remote partner" trong phần Protection & Security của CPU.
  • Tắt thuộc tính "Optimized block access" trong DB1 để các biến có địa chỉ Offset cố định theo chuẩn Byte/Bit.
def send_trajectory_to_plc(plc_ip, coordinates):
    client = snap7.client.Client()
    client.connect(plc_ip, 0, 1) # Rack 0, Slot 1 cho S7-1200
    
    if client.get_connected():
        # Ghi số lượng đỉnh biên vào DB1.DBW0 (Kiểu Int - 2 bytes)
        num_points = len(coordinates)
        data_num = bytearray(2)
        set_int(data_num, 0, num_points)
        client.db_write(1, 0, data_num)
        
        # Ghi tọa độ từng đỉnh: X (Real - 4 bytes), Y (Real - 4 bytes)
        # Offset bắt đầu từ DB1.DBD4
        offset = 4
        for x, y in coordinates:
            coord_bytes = bytearray(8)
            set_real(coord_bytes, 0, x)
            set_real(coord_bytes, 4, y)
            client.db_write(1, offset, coord_bytes)
            offset += 8
            
        # Kích hoạt tín hiệu START: DB1.DBX2.0 (Bool)
        trigger_byte = bytearray(1)
        set_bool(trigger_byte, 0, 0, True)
        client.db_write(1, 2, trigger_byte)
        
        client.disconnect()

3. Thuật toán Đồng bộ Chuyển động Đa trục (PLC Ladder / SCL Logic)

Để đường keo có độ dày đều, vận tốc tổng hợp của đầu phun phải giữ không đổi $V_{\text{target}}$. PLC tính toán vận tốc thành phần cho từng đoạn thẳng nối từ $(X_i, Y_i)$ đến $(X_{i+1}, Y_{i+1})$:

$$\Delta X = |X_{i+1} - X_i|, \quad \Delta Y = |Y_{i+1} - Y_i|$$

$$L = \sqrt{\Delta X^2 + \Delta Y^2}$$

$$V_x = V_{\text{target}} \cdot \frac{\Delta X}{L}, \quad V_y = V_{\text{target}} \cdot \frac{\Delta Y}{L}$$

Tần số xung PTO phát ra driver DM542 tương ứng:

$$F_{\text{pulse}} = \frac{V \cdot \text{Microstep}}{\text{Lead}} = \frac{V \cdot 1600\text{ pulses}}{8\text{ mm}} = 200 \cdot V \text{ (Hz)}$$

// Đoạn mã SCL minh họa tính toán vận tốc nội suy trong PLC S7-1200
#Delta_X := ABS(#Target_X - #Current_X);
#Delta_Y := ABS(#Target_Y - #Current_Y);
#Segment_Length := SQRT((#Delta_X * #Delta_X) + (#Delta_Y * #Delta_Y));

IF #Segment_Length > 0.01 THEN
    #Velocity_X := #V_Target * (#Delta_X / #Segment_Length);
    #Velocity_Y := #V_Target * (#Delta_Y / #Segment_Length);
    
    // Gọi khối hàm điều khiển chuyển động công nghệ MC_MoveVelocity
    #Inst_MC_MoveVel_X(Execute := TRUE, Velocity := #Velocity_X);
    #Inst_MC_MoveVel_Y(Execute := TRUE, Velocity := #Velocity_Y);
    #Valve_Control_DO := TRUE; // Mở van khí nén phun keo
ELSE
    #Valve_Control_DO := FALSE; // Đóng van khi hoàn thành phân đoạn
END_IF;

Thử nghiệm và Đánh giá kết quả

Hệ thống đã trải qua quá trình kiểm thử với hơn 100 mẫu thử có biên dạng hình học khác nhau (hình chữ nhật, đa giác lồi, đa giác lõm, đế giày mẫu).

Dữ liệu đo đạc thực nghiệm

Kịch bản thử nghiệm Số đỉnh biên ($N$) Thời gian xử lý ảnh Thời gian truyền Snap7 Thời gian phun keo Sai số quỹ đạo ($e_{\max}$)
Mẫu 1: Hình chữ nhật ($100 \times 60\text{ mm}$) 4 $85\text{ ms}$ $12\text{ ms}$ $3.2\text{ s}$ $\pm 0.18\text{ mm}$
Mẫu 2: Đa giác 8 cạnh đối xứng 8 $110\text{ ms}$ $15\text{ ms}$ $5.4\text{ s}$ $\pm 0.25\text{ mm}$
Mẫu 3: Biên dạng đế giày thời trang 22 $145\text{ ms}$ $22\text{ ms}$ $9.8\text{ s}$ $\pm 0.38\text{ mm}$
Mẫu 4: Đồng thời 2 đối tượng độc lập 16 $180\text{ ms}$ $28\text{ ms}$ $12.1\text{ s}$ $\pm 0.42\text{ mm}$
BIỂU ĐỒ PHÂN BỔ THỜI GIAN CHU KỲ (CHU TRÌNH 1 ĐỐI TƯỢNG PHỨC TẠP - TỔNG 10.05s)
+-------------------------------------------------------------------------------+
| [Xử lý ảnh: 1.4%] (145ms)                                                     |
| [Truyền thông Snap7: 0.2%] (22ms)                                             |
| [Hồi vị trí Home: 8.8%] (880ms)                                               |
| [Chấp hành di chuyển & Phun keo PTO: 89.6%] (9000ms)                          |
+-------------------------------------------------------------------------------+

Đánh giá độ tin cậy và lỗi hệ thống

  • Tỷ lệ nhận diện biên dạng chính xác: $98.6%$ trong điều kiện ánh sáng tiêu chuẩn ($> 400\text{ lux}$).
  • Thời gian đáp ứng van khí nén: Thời gian mở $15\text{ ms}$, thời gian ngắt hoàn toàn $20\text{ ms}$, loại bỏ triệt để hiện tượng nhỏ giọt keo ở cuối đường cong nhờ tính năng ngắt sớm (Early-cutoff logic).

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

  1. Tự động hóa hoàn toàn quy trình nhận diện (Zero-CAD Dependency): Khác biệt hoàn toàn với các dòng máy CNC phun keo trên thị trường cần nạp file bản vẽ DXF/G-code, hệ thống cho phép đặt phôi bất kỳ lên mặt bàn; thuật toán thị giác tự động căn chỉnh góc xoay, nhận diện tâm và vector hóa đường biên trong chưa đầy $200\text{ ms}$.
  2. Cấu trúc điều khiển Hybrid linh hoạt (PC-based Vision + PLC Reliability): Kết hợp năng lực tính toán xử lý ma trận ảnh mạnh mẽ của Python trên PC với độ bền bỉ, tính thời gian thực (real-time determinism) và khả năng chống nhiễu công nghiệp của PLC Siemens S7-1200.
  3. Tiết kiệm chi phí đầu tư đến 85%: Thay vì sử dụng các hệ thống Smart Camera công nghiệp đắt đỏ (như Cognex hay Keyence có giá từ $3.000 - $7.000 USD), giải pháp sử dụng Camera tiêu chuẩn kết hợp Open-source OpenCV và thư viện Snap7, giúp hạ giá thành sản xuất nguyên mẫu xuống dưới 1.000 USD nhưng vẫn đảm bảo độ phân giải đạt $0.25\text{ mm/pixel}$.
  4. Hiệu suất tiết kiệm nguyên liệu: Giảm thiểu $32%$ lượng keo dư thừa so với thao tác thủ công, đồng thời cải thiện năng suất lao động lên gấp $3.5$ lần.

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

Tình huống ứng dụng thực tế

  • Ngành công nghiệp Da giày & May mặc: Phun keo viền đế giày, dán mép túi xách, dán nhãn mác vải tự động.
  • Sản xuất bao bì, hộp quà cao cấp: Bôi keo liên kết mép gấp hộp carton định hình phức tạp.
  • Lắp ráp linh kiện ô tô và thiết bị gia dụng: Đi keo chống thấm (Gasket sealing), đổ keo bảo vệ mạch điện tử (Conformal coating) trên các module phẳng.
QUY TRÌNH TRIỂN KHAI VÀ VẬN HÀNH TRÊN DÂY CHUYỀN SẢN XUẤT
+-------------------+      +-------------------+      +-------------------+
|  1. ĐẶT PHÔI      | ---> |  2. NHẤN START    | ---> |  3. CHỤP ẢNH &    |
|  (Băng tải nạp)   |      |  (Giao diện GUI)  |      |     TRÍCH BIÊN    |
+-------------------+      +-------------------+      +-------------------+
                                                                |
                                                                v
+-------------------+      +-------------------+      +-------------------+
|  6. THÀNH PHẨM    | <--- |  5. PHUN KEO      | <--- |  4. TRUYỀN TỌA ĐỘ |
|  (Băng tải ra)    |      |     NỘI SUY X-Y   |      |     PC -> PLC     |
+-------------------+      +-------------------+      +-------------------+

Phân tích Kinh tế & Thời gian hoàn vốn (ROI)

  • Chi phí đầu tư hệ thống tự động: ~ $25.000.000\text{ VNĐ}$ (Bao gồm PLC S7-1200, Driver, Động cơ bước, Cơ khí, Camera, Nguồn 24V).
  • Chi phí nhân công dán keo thủ công: 2 công nhân $\times 8.000.000\text{ VNĐ/tháng} = 16.000.000\text{ VNĐ/tháng}$.
  • Khi áp dụng hệ thống: Cắt giảm được 1 nhân công trực tiếp, giảm hao hụt nguyên vật liệu keo ($2.000.000\text{ VNĐ/tháng}$).
  • Thời gian thu hồi vốn đầu tư (Payback Period):

$$\text{ROI} = \frac{25.000.000}{(8.000.000 + 2.000.000)} = 2.5 \text{ tháng}$$


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

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

  • Giới hạn không gian làm việc 2D: Chưa hỗ trợ bề mặt lồi lõm hoặc biến thiên theo trục Z; đầu phun chỉ di chuyển trên mặt phẳng tọa độ $Oxy$.
  • Hệ thống điều khiển vòng hở (Open-loop): Động cơ bước không có encoder phản hồi vị trí thực tế, tiềm ẩn rủi ro sai lệch tọa độ nếu bàn máy gặp chướng ngại vật cơ học gây kẹt tải.
  • Phụ thuộc vào độ tương phản ánh sáng: Thuật toán nhị phân hóa đòi hỏi phôi và nền bàn làm việc phải có sự khác biệt màu sắc rõ ràng (độ tương phản cao).

Hướng phát triển trong tương lai

  • Nâng cấp điều khiển chuyển động 3D: Tích hợp cảm biến khoảng cách Laser quang học hoặc Camera ToF (Time-of-Flight) để xây dựng bản đồ chiều cao biên dạng 3D, điều khiển thêm trục Z bám theo độ cong phôi.
  • Ứng dụng Động cơ Hybrid Servo: Thay thế động cơ bước thường bằng Closed-loop Stepper Motor (động cơ bước vòng kín có Encoder 1000 xung) nhằm triệt tiêu hoàn toàn hiện tượng trượt bước và nâng tốc độ di chuyển lên $200\text{ mm/s}$.
  • Trí tuệ nhân tạo (AI Deep Learning): Triển khai mạng nơ-ron tích chập (YOLOv8-Seg / U-Net) để nhận diện phân đoạn vật thể ngay cả trong điều kiện môi trường ánh sáng phức tạp, dầu mỡ hoặc phôi bị dính hoa văn gây nhiễu biên.

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

  • Sinh viên & Nghiên cứu sinh: Cung cấp tài liệu tham khảo hoàn chỉnh từ thiết kế cơ điện tử, giao thức truyền thông S7comm đến lập trình thị giác máy tính thực chiến.
  • Kỹ sư Tự động hóa & Lập trình viên: Nắm vững giải pháp tích hợp các ngôn ngữ hiện đại (Python, C++) với hệ sinh thái PLC truyền thống thông qua socket Ethernet và Snap7.
  • Doanh nghiệp vừa và nhỏ (SMEs): Sở hữu giải pháp tự động hóa chi phí thấp, thời gian hoàn vốn dưới 3 tháng, nâng cao tính cạnh tranh cho các đơn hàng xuất khẩu yêu cầu chuẩn hóa chất lượng.
  • Nhà nghiên cứu học thuật: Cung cấp dữ liệu thực nghiệm về độ chính xác động học khi kết hợp nội suy vận tốc PLC với dữ liệu trích xuất từ Computer Vision.

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

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

Máy tính điều khiển chỉ cần cấu hình cơ bản (Intel Core i3 thế hệ 8 trở lên, RAM 4GB, cổng mạng RJ45 Gigabit Ethernet) chạy Windows 10/11 hoặc Ubuntu Linux. Về phía cấp điều khiển, yêu cầu tối thiểu 01 PLC Siemens S7-1200 (bất kỳ dòng CPU nào có hỗ trợ PTO như 1211C, 1212C, 1214C DC/DC/DC) và 02 Driver điều khiển động cơ bước chấp nhận xung $24\text{VDC}$ hoặc $5\text{VDC}$.

2. Làm thế nào để giải quyết hiện tượng trễ hoặc mất kết nối giữa Python và PLC qua Snap7?

Thư viện Snap7 hoạt động trên nền giao thức TCP/IP chuẩn cổng 102. Để tránh độ trễ, chương trình Python cần thiết lập cơ chế kết nối thường trực (Persistent Connection), thực hiện đọc/ghi dữ liệu theo khối Byte liên tục (Block Access) thay vì đọc từng biến đơn lẻ, đồng thời đặt Timeout kết nối tối ưu ở mức $500\text{ ms}$.

3. Hệ thống xử lý thế nào khi sản phẩm bị đặt nghiêng trên bàn chụp ảnh?

Thuật toán cv2.findContoursapproxPolyDP trích xuất tọa độ theo không gian điểm ảnh thực tế độc lập với góc quay của đối tượng. Khi phôi đặt nghiêng, tọa độ các đỉnh biên trích xuất tự động xoay theo đúng góc thực tế; hệ thống tự động nội suy vận tốc $V_x, V_y$ theo phương nghiêng mà không cần căn chỉnh góc cơ khí.

4. Chi phí bảo trì định kỳ của hệ thống gồm những gì?

Hệ thống có kết cấu cơ khí đơn giản. Bảo trì định kỳ bao gồm: tra dầu bôi trơn trục vít me bi và thanh trượt mỗi 3 tháng; vệ sinh đầu kim phun keo bằng dung môi chuyên dụng sau mỗi ca làm việc (khoảng 5 phút); kiểm tra áp suất khí nén cấp vào van điện từ duy trì ổn định ở mức $4 - 6\text{ bar}$.

5. Có thể mở rộng hệ thống sang điều khiển 3 trục (X-Y-Z) hoặc 4 trục được không?

Hoàn toàn khả thi. PLC Siemens CPU 1214C DC/DC/DC tích hợp sẵn 4 bộ phát xung tốc độ cao PTO độc lập. Ta có thể bổ sung thêm trục Z để nâng hạ đầu phun và trục xoay C để định hướng góc phun keo bằng cách cấu hình thêm khối công nghệ Motion Control trong TIA Portal V17.


Kết luận

Đồ án tốt nghiệp "Hệ thống phun keo tự động" của nhóm tác giả Nguyễn Hữu Quang Vinh và Quách Thành Trung đã giải quyết bài toán tự động hóa linh hoạt trong khâu dán keo công nghiệp. Bằng cách kết hợp giữa thị giác máy tính OpenCV và bộ điều khiển công nghiệp Siemens S7-1200 qua giao thức Snap7, hệ thống đạt độ chính xác chuyển động dưới $\pm 0.4\text{ mm}$, thời gian nhận diện và tính toán quỹ đạo tức thời dưới $200\text{ ms}$, cắt giảm $70%$ thời gian cài đặt so với máy CNC truyền thống. Thành công của đồ án mở ra tiềm năng ứng dụng rộng rãi cho các doanh nghiệp sản xuất da giày, may mặc và bao bì tại Việt Nam trong tiến trình chuyển đổi số và nâng cao năng lực tự động hóa nhà máy.