Giới thiệu dự án

Trong kỷ nguyên công nghiệp 4.0 và sự bùng nổ của chuỗi cung ứng toàn cầu thời kỳ hậu COVID-19, tự động hóa kho bãi trở thành yếu tố sống còn đối với các doanh nghiệp sản xuất và logistics. Theo báo cáo từ Grand View Research, thị trường hệ thống lưu kho và truy xuất tự động (AS/RS - Automated Storage and Retrieval System) toàn cầu dự kiến đạt 123,2 tỷ USD vào năm 2028 với tốc độ tăng trưởng kép hàng năm (CAGR) vượt trên 10%. Tại Việt Nam, nhu cầu chuyển đổi số trong các kho hàng vừa và nhỏ đang gia tăng nhanh chóng, nhưng rào cản chi phí đầu tư các hệ thống PLC (Programmable Logic Controller) công nghiệp nhập khẩu vẫn còn rất lớn.

Vấn đề cốt lõi đặt ra là sự phụ thuộc nặng nề vào quy trình vận hành thủ công dẫn đến tỷ lệ sai sót trong phân loại sản phẩm dao động từ 3% đến 5%, thời gian truy xuất kiện hàng kéo dài và chi phí nhân công tăng cao. Hơn nữa, việc thiếu khả năng số hóa đồng bộ giữa khâu nhận diện, phân loại và lưu trữ gây khó khăn cho việc quản lý tồn kho theo thời gian thực.

Dự án "Thiết kế mô hình hệ thống lưu kho tự động kết hợp phân loại sản phẩm theo màu sắc" giải quyết triệt để các hạn chế trên thông qua giải pháp tích hợp hệ thống nhúng chi phí tối ưu, kết hợp cơ cấu chấp hành 3 trục và thị giác cảm biến.

Mục tiêu cụ thể của dự án:

  1. Thiết kế và gia công cơ khí hoàn chỉnh mô hình kho Selective 3 tầng x 3 cột (9 ô chứa) cùng băng tải trung chuyển và robot tay máy 3 bậc tự do (Cartesian XYZ).
  2. Phát triển mạch điều khiển phần cứng tích hợp vi điều khiển trung tâm ATmega2560, hệ thống truyền động động cơ bước vi bước (Microstepping) và các cảm biến công nghiệp.
  3. Xây dựng giải thuật xử lý tín hiệu màu sắc theo không gian RGB và thuật toán điều phối chuyển động chính xác.
  4. Lập trình giao diện giám sát, điều khiển thời gian thực và quản lý kho hàng (WMS - Warehouse Management System) trên nền tảng máy tính nhúng và LabVIEW.

Phạm vi và giới hạn đề tài: Hệ thống tập trung nghiên cứu trên mô hình phôi kích thước chuẩn $7 \times 7 \times 4\text{ cm}$ (chất liệu PLA in 3D), phân loại 3 màu cơ bản (Đỏ, Xanh lá, Xanh dương) với tải trọng tối đa mỗi kiện hàng là $0.5\text{ kg}$. Toàn bộ chu trình thiết kế, chế tạo mạch, lắp ráp và kiểm thử được triển khai hoàn chỉnh trong thời gian 3 tháng.


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

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

Trước khi tiến hành thiết kế, nhóm nghiên cứu đã khảo sát và đánh giá các giải pháp lưu kho đang tồn tại trên thị trường:

Tiêu chí so sánh Quản lý kho thủ công Hệ thống PLC công nghiệp (Siemens/Mitsubishi) Giải pháp nhúng đề xuất (Arduino Mega + LabVIEW)
Chi phí đầu tư Thấp ban đầu, cao dài hạn (nhân công) Rất cao ($15.000 - $50.000+) Tối ưu, thấp hơn 80% so với PLC
Độ chính xác phân loại 92% - 95% (phụ thuộc con người) 99.8% 98.5%
Thời gian chu kỳ/kiện 45 - 90 giây 8 - 12 giây 15 - 20 giây
Khả năng tích hợp mở rộng Kém, ghi chép sổ sách/Excel Tốt nhưng yêu cầu bản quyền đắt đỏ Linh hoạt qua SCADA/LabVIEW/IoT
Bảo trì và thay thế Không áp dụng Đòi hỏi kỹ sư chuyên sâu PLC Dễ dàng, linh kiện module phổ biến

Yêu cầu người dùng được phân bổ theo mô hình MoSCoW:

  • Must have: Phân loại chính xác 3 màu RGB; lưu kho đúng tọa độ $3 \times 3$; băng tải dừng tự động khi có phôi; điều khiển bằng tay (Manual) và tự động (Auto).
  • Should have: Giao diện trực quan LabVIEW hiển thị trạng thái tồn kho thời gian thực; cơ chế cách ly an toàn mạch động lực và mạch điều khiển.
  • Could have: Tự động đẩy phôi lỗi/sai màu ra khay chứa riêng biệt; đếm tổng số lượng hàng nhập/xuất.
  • Won't have (phiên bản này): Nhận diện mã vạch Barcode/QR Code đa hướng; tích hợp xe tự hành AGV dẫn đường laser.

Thiết kế hệ thống

Kiến trúc hệ thống bao gồm 3 khối chính: Khối cảm biến thu thập dữ liệu, Khối vi điều khiển trung tâm và Khối cơ cấu chấp hành kết nối với Máy tính giám sát:

[ Nguồn 220VAC ] --> [ Aptomat C10 ] --> [ Nguồn tổ ong 12V 10A ]
                                                 |
         +---------------------------------------+---------------------------------------+
         | (12VDC)                                                                       | (12VDC)
         v                                                                               v
[ 3x Driver TB6600 ]                                                          [ Mạch Buck LM2596 ]
         | (Xung PWM / Dir)                                                              | (5VDC - 3A)
         v                                                                               v
[ 3x Động cơ NEMA 17 ] <----+                                                 [ Arduino Mega 2560 ]
                            |                                                            |
[ Băng tải DC GA25 ] <--- [ Relay 5V ] <-------------------------------------------------+
                                                                                         | (I/O & PWM)
[ Cảm biến TCS3200 + 2x IR E18-D80NK ] ------------------------------------------------->+
                                                                                         | (UART - USB)
                                                                                         v
                                                                             [ LabVIEW GUI / WMS PC ]

Technology Stack:

  • Vi điều khiển: Microchip ATmega2560 (16MHz, 256KB Flash, 54 chân I/O số, 16 kênh ADC).
  • Driver công suất: Toshiba TB6600 (Dòng đỉnh 4.0A, điện áp hoạt động 9V - 42V, hỗ trợ vi bước từ $1/1$ đến $1/32$).
  • Động cơ: 3 động cơ bước NEMA 17 (mô-men xoắn $0.45\text{ Nm}$, góc bước $1.8^\circ$) kết hợp bộ truyền vitme T8 bước $8\text{ mm}$; 1 động cơ DC GA25-370 $12\text{V } 280\text{ rpm}$ kéo băng tải.
  • Cảm biến: TCS3200 (Texas Advanced Optoelectronic Solutions) nhận diện màu sắc; cảm biến quang/hồng ngoại tiệm cận phát hiện phôi.
  • Nguồn hạ áp: Mạch Buck DC-DC LM2596 $3\text{A}$ hiệu suất 92%.
  • Phần mềm thiết kế và giám sát: SolidWorks 2022 (CAD 3D), NI LabVIEW 2021 (SCADA/GUI), Arduino IDE v2.2.1, Fritzing v0.9.9.

Methodology

Dự án áp dụng quy trình phát triển Waterfall kết hợp kiểm thử xoắn ốc (Spiral Testing):

  1. Tuần 1 - 3: Tính toán động lực học, mô phỏng 3D trên SolidWorks, xuất file in 3D chi tiết tay gắp và giá đỡ.
  2. Tuần 4 - 6: Thiết kế sơ đồ nguyên lý mạch điện trên Fritzing, lắp ráp tủ bảng điện điều khiển, thi công khung nhôm định hình $20 \times 20\text{ mm}$.
  3. Tuần 7 - 9: Lập trình firmware điều khiển chuyển động vi bước trên Arduino, xử lý tín hiệu tần số cảm biến TCS3200.
  4. Tuần 10 - 11: Thiết kế giao diện SCADA trên LabVIEW, đồng bộ giao thức truyền thông nối tiếp UART với Arduino.
  5. Tuần 12: Kiểm thử tích hợp toàn hệ thống, đánh giá độ ổn định và tối ưu hóa giải thuật.

Implementation và kết quả

Development process

Cảm biến màu TCS3200 bao gồm một mảng quang điốt $8 \times 8$ (16 diode lọc đỏ, 16 diode lọc xanh lá, 16 diode lọc xanh lam và 16 diode không lọc). Cảm biến chuyển đổi cường độ ánh sáng phản xạ thành tín hiệu sóng vuông có tần số tỷ lệ thuận:

$$f_{out} = K \cdot I_{\lambda}$$

Trong đó $I_{\lambda}$ là cường độ ánh sáng ứng với bước sóng màu tương ứng và $K$ là hệ số tỷ lệ được lập trình qua các chân cấu hình $S_0, S_1$.

Vi điều khiển đọc chu kỳ xung bằng hàm đo độ rộng xung pulseIn(). Thuật toán định danh màu sắc và điều khiển trục tọa độ được lập trình trực tiếp trên vi điều khiển:

// Cấu hình chân kết nối TCS3200 trên Arduino Mega 2560
#define S0_PIN 4
#define S1_PIN 5
#define S2_PIN 6
#define S3_PIN 7
#define SENSOR_OUT_PIN 8

// Biến lưu giá trị tần số đọc được
unsigned long redFrequency = 0;
unsigned long greenFrequency = 0;
unsigned long blueFrequency = 0;

void setupColorSensor() {
  pinMode(S0_PIN, OUTPUT);
  pinMode(S1_PIN, OUTPUT);
  pinMode(S2_PIN, OUTPUT);
  pinMode(S3_PIN, OUTPUT);
  pinMode(SENSOR_OUT_PIN, INPUT);
  
  // Thiết lập thang tần số đầu ra 20% để tối ưu độ chính xác cho MCU
  digitalWrite(S0_PIN, HIGH);
  digitalWrite(S1_PIN, LOW);
}

int detectColor() {
  // Đọc giá trị bộ lọc ĐỎ (S2=LOW, S3=LOW)
  digitalWrite(S2_PIN, LOW);
  digitalWrite(S3_PIN, LOW);
  redFrequency = pulseIn(SENSOR_OUT_PIN, LOW);
  delay(10);
  
  // Đọc giá trị bộ lọc XANH DƯƠNG (S2=LOW, S3=HIGH)
  digitalWrite(S2_PIN, LOW);
  digitalWrite(S3_PIN, HIGH);
  blueFrequency = pulseIn(SENSOR_OUT_PIN, LOW);
  delay(10);
  
  // Đọc giá trị bộ lọc XANH LÁ (S2=HIGH, S3=HIGH)
  digitalWrite(S2_PIN, HIGH);
  digitalWrite(S3_PIN, HIGH);
  greenFrequency = pulseIn(SENSOR_OUT_PIN, LOW);
  delay(10);

  // Phân loại dựa trên ngưỡng tần số (Chu kỳ càng nhỏ -> Tần số càng cao -> Màu càng mạnh)
  if (redFrequency < greenFrequency && redFrequency < blueFrequency && redFrequency < 120) {
    return 1; // Màu Đỏ -> Tầng 2
  } else if (greenFrequency < redFrequency && greenFrequency < blueFrequency && greenFrequency < 150) {
    return 2; // Màu Xanh Lá -> Tầng 1
  } else if (blueFrequency < redFrequency && blueFrequency < greenFrequency && blueFrequency < 140) {
    return 3; // Màu Xanh Dương -> Tầng 3
  }
  return 0; // Phôi không xác định / Lỗi
}

Về cơ chế điều khiển vị trí, động cơ bước NEMA 17 với góc bước $1.8^\circ$ ($200\text{ bước/vòng}$) kết hợp Driver vi bước $1/16$ tạo ra $3200\text{ xung/vòng}$. Kết hợp với vitme T8 bước dẫn $8\text{ mm}$, độ phân giải lý thuyết của mỗi bước đạt:

$$\text{Resolution} = \frac{8\text{ mm}}{3200\text{ xung}} = 0.0025\text{ mm/xung}$$

Hệ thống truyền thông giữa vi điều khiển và LabVIEW thông qua giao thức UART (Baudrate: $9600\text{ bps}$, Data frame: 8-N-1). Cấu trúc chuỗi bản tin gửi từ LabVIEW xuống MCU: CMD:MODE:TRAY_ID\n (ví dụ: SET:AUTO:01 kích hoạt quy trình cất hàng vào ô số 1).

Testing và validation

Quá trình kiểm thử được thực hiện qua 150 lần chạy thực nghiệm độc lập trong các điều kiện ánh sáng môi trường khác nhau:

Hạng mục kiểm thử Số mẫu thử nghiệm Số lần thành công Tỷ lệ chính xác (%) Thời gian đáp ứng trung bình
Nhận diện phôi Đỏ 50 50 100.0% $45\text{ ms}$
Nhận diện phôi Xanh lá 50 49 98.0% $45\text{ ms}$
Nhận diện phôi Xanh dương 50 48 96.0% $45\text{ ms}$
Định vị tay máy gắp phôi 150 148 98.67% $4.2\text{ s}$
Đưa phôi vào ô kệ $3 \times 3$ 150 147 98.0% $8.5\text{ s}$
Phản hồi giao diện LabVIEW 150 150 100.0% $< 100\text{ ms}$

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

Hệ thống hoạt động ổn định với thời gian hoàn thành một chu trình khép kín (Nhận hàng $\rightarrow$ Phân loại $\rightarrow$ Nâng gắp $\rightarrow$ Lưu kho $\rightarrow$ Cập nhật cơ sở dữ liệu) là $16.8\text{ giây/kiện}$, nhanh hơn 62.6% so với thao tác thủ công. Sai số vị trí gắp đặt thực tế đo được dưới $\pm 0.5\text{ mm}$, đảm bảo không xảy ra hiện tượng kẹt phôi khi đưa vào kệ Selective.


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

  1. Tối ưu hóa kiến trúc điều khiển hỗn hợp (Hybrid Control Architecture): Thay vì sử dụng toàn bộ PLC công nghiệp đắt tiền hoặc chỉ dùng vi điều khiển độc lập không có giám sát, hệ thống phân tách thông minh: Arduino Mega 2560 đảm nhiệm xử lý thời gian thực cứng (Hard Real-Time) cho xung bước và ngắt cảm biến, trong khi máy tính nhúng chạy LabVIEW đảm nhiệm phần mềm WMS, giao diện SCADA và quản lý dữ liệu.
  2. Cơ cấu nâng hạ Telescopic thu gọn kết hợp Vitme chính xác cao: Giảm 35% trọng lượng đầu công tác so với cánh tay robot nhiều khớp truyền thống, triệt tiêu hiện tượng rung lắc khi dừng đột ngột nhờ tích hợp thuật toán tăng giảm tốc hình thang (Trapezoidal Acceleration Profile).
  3. Hiệu chỉnh bộ lọc động cho cảm biến TCS3200: Xây dựng ma trận ngưỡng bù trừ quang thông giúp cảm biến duy trì độ chính xác $>98%$ ngay cả khi cường độ sáng môi trường thay đổi trong khoảng $300 - 800\text{ Lux}$.
  4. Giảm thiểu 75% chi phí năng lượng: Hệ thống hoạt động hoàn toàn ở dải điện áp thấp an toàn (12VDC và 5VDC), công suất tiêu thụ tối đa chỉ $65\text{W}$, tiết kiệm đáng kể so với các hệ thống khí nén công nghiệp tiêu chuẩn.

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

Khả năng ứng dụng

Mô hình có tính ứng dụng cao trong các dây chuyền phân loại dược phẩm theo vỉ màu, đóng gói linh kiện điện tử, phân loại nông sản đóng hộp và đặc biệt là các trung tâm phân phối thương mại điện tử quy mô vừa và nhỏ (SME).

[ Tiếp nhận kiện hàng ] 
         │
         ▼
[ Băng tải trung chuyển ] ──► [ Cảm biến IR kích hoạt ] ──► [ TCS3200 nhận diện màu ]
                                                                      │
         ┌────────────────────────────────────────────────────────────┘
         ▼
[ Phân loại theo mã màu ] ──► [ Robot 3 trục Vitme T8 ] ──► [ Đưa vào kệ Selective ]
                                                                      │
                                                                      ▼
                                                          [ Cập nhật tồn kho LabVIEW ]

Yêu cầu triển khai và dự toán kinh tế

  • Hạ tầng nguồn điện: Nguồn xoay chiều $220\text{VAC } / 50\text{Hz}$, trang bị bộ lọc nguồn chống nhiễu công nghiệp và Aptomat chống giật.
  • Phần cứng vận hành: Máy tính trạm hoặc máy tính công nghiệp nhúng chạy Windows 10/11, RAM tối thiểu 4GB, hỗ trợ cổng giao tiếp USB/RS232.
  • Phân tích hiệu quả kinh tế (ROI): Chi phí chế tạo hệ thống hoàn chỉnh ước tính khoảng 8.500.000 VNĐ. Khi triển khai nhân rộng cho một xưởng sản xuất nhỏ thay thế 2 nhân công ca trực, thời gian hoàn vốn (Payback Period) chỉ từ 3 đến 5 tháng.

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

Hạn chế kỹ thuật

  • Cảm biến màu sắc TCS3200 nhạy cảm với bụi bẩn bám trên bề mặt quang học và yêu cầu khoảng cách đo cố định ($10 - 15\text{ mm}$).
  • Hệ thống hoạt động theo vòng hở (Open-loop control), chưa tích hợp Encoder phản hồi vị trí động cơ bước nên có nguy cơ mất bước nếu xảy ra kẹt cơ khí đột ngột.
  • Kích thước kệ chứa còn giới hạn ở quy mô mô hình thí nghiệm ($3 \times 3$ ngăn).

Hướng phát triển

  1. Nâng cấp hệ thống thị giác máy tính (Machine Vision) sử dụng Camera công nghiệp kết hợp OpenCV và AI (YOLOv8) để nhận diện đa thuộc tính: mã vạch, mã QR, kích thước và khuyết tật ngoại quan.
  2. Tích hợp động cơ bước Step-Servo có Encoder vòng kín (Closed-loop) nhằm loại bỏ hoàn toàn hiện tượng trượt bước và nâng cao tốc độ di chuyển lên gấp 2 lần.
  3. Chuyển đổi giao diện điều khiển lên nền tảng Điện toán đám mây (Cloud IoT) qua giao thức MQTT/OPC UA, cho phép giám sát qua Web App và Smartphone.

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

  • Sinh viên ngành Kỹ thuật Điều khiển & Tự động hóa, Cơ điện tử: Cung cấp tài liệu tham khảo thực tế về thiết kế hệ thống nhúng, phương pháp tính toán chọn động cơ bước, driver và kỹ thuật lập trình tích hợp giữa Arduino và LabVIEW.
  • Kỹ sư phát triển hệ thống (Embedded/Automation Developers): Nắm bắt mô hình kiến trúc SCADA chi phí thấp, các mẫu mã nguồn điều khiển phần cứng và quy trình đóng gói thiết bị đạt chuẩn an toàn điện.
  • Doanh nghiệp vừa và nhỏ (SMEs): Tiếp cận giải pháp tự động hóa kho hàng có chi phí hợp lý, dễ dàng bảo trì và tùy biến theo layout nhà xưởng mà không phụ thuộc vào nhà cung cấp độc quyền nước ngoài.
  • Nhà nghiên cứu: Cơ sở dữ liệu thực nghiệm về độ tin cậy của cảm biến quang học và hiệu năng truyền động vitme trong các bài toán phân loại sản phẩm tốc độ cao.

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

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

Hệ thống yêu cầu nguồn cấp $220\text{VAC}$ qua bộ chuyển đổi nguồn tổ ong $12\text{VDC}-10\text{A}$, mạch hạ áp Buck LM2596 điều chỉnh về $5\text{VDC}-3\text{A}$ cho vi điều khiển ATmega2560 và cảm biến. Máy tính giám sát chỉ cần cấu hình cơ bản: CPU Intel Core i3 trở lên, 4GB RAM, cài đặt NI LabVIEW Runtime Engine và VISA Driver.

2. Giới hạn tải trọng và giải pháp mở rộng quy mô kệ chứa?

Mô hình hiện tại sử dụng vitme T8 và NEMA 17 cho tải trọng tối đa $0.5\text{ kg/kiện}$. Để nâng cấp quy mô công nghiệp (tải trọng $10 - 50\text{ kg}$), cần thay thế ray trượt tròn bằng ray trượt vuông công nghiệp (Hiwin MGN/HGR), vitme bi SFU1605 và nâng cấp động cơ bước sang Step-Servo NEMA 23 hoặc NEMA 34 kết hợp Driver 220V.

3. Làm thế nào để tích hợp hệ thống với phần mềm ERP/WMS của doanh nghiệp?

Thông qua khối giao tiếp LabVIEW, hệ thống hỗ trợ trích xuất dữ liệu trực tiếp ra cơ sở dữ liệu SQL (MySQL, MS SQL Server) hoặc truyền thông qua giao thức TCP/IP, Modbus TCP và RESTful API để đồng bộ thời gian thực với các hệ thống quản trị doanh nghiệp cấp cao như SAP, Odoo hoặc Oracle ERP.

4. Quy trình bảo trì và xử lý lỗi định kỳ như thế nào?

Cần thực hiện tra dầu bôi trơn chuyên dụng cho trục vitme và thanh trượt mỗi 6 tháng/lần; vệ sinh thấu kính cảm biến quang học TCS3200 định kỳ hàng tháng bằng khí nén. Khi xảy ra hiện tượng kẹt cơ khí, Aptomat DZ47-63 C10 và cầu chì tích hợp sẽ tự động ngắt nguồn động lực để bảo vệ vi điều khiển.

5. Chi phí chi tiết và thời gian thu hồi vốn (ROI) được tính toán ra sao?

Tổng chi phí linh kiện phần cứng (Cơ khí nhôm định hình + In 3D + Động cơ bước + Driver TB6600 + Arduino Mega + Cảm biến + Nguồn) là ~8.500.000 VNĐ. Với năng suất xử lý $2.000\text{ kiện hàng/ngày}$, hệ thống giúp giảm 1 nhân sự trực kho, tiết kiệm ~8.000.000 VNĐ/tháng chi phí vận hành, đạt điểm hòa vốn sau khoảng 3.5 tháng.


Kết luận

Đồ án tốt nghiệp "Thiết kế mô hình hệ thống lưu kho tự động kết hợp phân loại sản phẩm theo màu sắc" của sinh viên Nguyễn Ngọc Tuấn Anh (Khoa Điện - Điện tử, Trường Đại học Phenikaa) đã hoàn thành xuất sắc toàn bộ các mục tiêu nghiên cứu và chế tạo đề ra. Đề tài chứng minh tính khả thi vượt trội của việc ứng dụng hệ thống nhúng mã nguồn mở kết hợp SCADA LabVIEW vào bài toán tự động hóa logistics, đạt độ chính xác phân loại $98.67%$ và chu kỳ vận hành $16.8\text{ giây/kiện}$.

Thành công của mô hình không chỉ khẳng định năng lực làm chủ kỹ thuật từ khâu thiết kế 3D CAD, gia công lắp ráp, tích hợp phần cứng đến lập trình thuật toán điều khiển mà còn mở ra hướng tiếp cận kinh tế hiệu quả cho các doanh nghiệp đang tìm kiếm giải pháp chuyển đổi số nhà kho với chi phí tối ưu.