Giới thiệu dự án
Trong bối cảnh công nghiệp hóa và hiện đại hóa sản xuất, tự động hóa đóng vai trò then chốt giúp tối ưu hóa chuỗi cung ứng, giảm thiểu chi phí nhân công và nâng cao chất lượng sản phẩm. Theo các khảo sát công nghiệp sản xuất, quy trình phân loại thủ công truyền thống thường chiếm tới 20–30% tổng thời gian đóng gói và có tỷ lệ lỗi do con người (human fatigue) dao động từ 5% đến 8%.
Đề tài "Hệ thống phân loại sản phẩm bằng màu sắc" của sinh viên ngành Công nghệ Kỹ thuật Máy tính tại Trường Đại học Sư phạm Kỹ thuật TP.HCM giải quyết bài toán tự động hóa quá trình nhận diện và phân loại sản phẩm trên dây chuyền băng tải dựa trên đặc trưng quang học (Color Spectrum).
+-----------------------------+
| Cảm biến màu TCS3200 |
+--------------+--------------+
| (Tần số xung)
+-------------------+ v +--------------------+
| Cảm biến vật cản | ----> [ Vi điều khiển ] ------> | Driver TB6560 & |
| E18-D80NK | [ Arduino UNO R3] | Động cơ bước |
+-------------------+ [ (ATmega328P) ] +--------------------+
|
+--------------> [ Xi lanh SMC & ]
| [ Van Relay 5V ]
|
+--------------> [ LCD 16x2 (I2C) ]
+--------------------+
Vấn đề thực tiễn (Problem Statement)
Các hệ thống phân loại cổ điển trên thị trường thường dựa vào kích thước (chiều cao) hoặc khối lượng sản phẩm. Tuy nhiên, các phương pháp này bộc lộ những hạn chế rõ rệt:
- Không thể phân loại các dòng sản phẩm có kích thước hình học và trọng lượng đồng nhất nhưng mang mã màu quy chuẩn khác nhau (ví dụ: linh kiện nhựa, nắp chai, dược phẩm, nông sản).
- Sử dụng hệ thống thị giác máy tính (Machine Vision) công nghiệp chi phí cao, đòi hỏi cấu hình xử lý phức tạp, khó tiếp cận cho các doanh nghiệp vừa và nhỏ (SMEs).
Mục tiêu đề tài
- Nghiên cứu nguyên lý chuyển đổi tín hiệu quang sang tần số của cảm biến màu sắc TCS3200 và cảm biến khoảng cách hồng ngoại E18-D80NK.
- Thiết kế và tích hợp phần cứng gồm vi điều khiển ATmega328P (Arduino Uno R3), mạch điều khiển động cơ bước TB6560, cơ cấu chấp hành khí nén (xy lanh SMC CJ2B16-120A) và màn hình LCD 16x2 qua giao tiếp I2C.
- Xây dựng thuật toán phân định màu sắc (Đỏ, Xanh lá, Xanh dương và Sản phẩm lỗi/Màu đen) với độ trễ phản hồi thấp.
- Chế tạo mô hình thực nghiệm băng tải hoàn chỉnh, hiển thị thông số phân loại trực tiếp và đánh giá độ chính xác thực tế.
Phương pháp tiếp cận và Phạm vi
Giải pháp sử dụng cảm biến quang bán dẫn TCS3200 kết hợp bộ lọc photodiode RGB để đo cường độ phản xạ ánh sáng trắng thành tín hiệu xung số (frequency output). Vi điều khiển trung tâm thu thập tín hiệu tần số thông qua cơ chế đếm chu kỳ xung, so sánh ngưỡng logic đã hiệu chuẩn và kích hoạt cơ cấu gạt khí nén tại vị trí xác định.
- Phạm vi nghiên cứu: Nhận diện 3 dải màu cơ bản (Red $\lambda_p \approx 640\text{ nm}$, Green $\lambda_p \approx 524\text{ nm}$, Blue $\lambda_p \approx 470\text{ nm}$) và sản phẩm lỗi trong điều kiện ánh sáng môi trường kiểm soát.
- Chỉ số kỳ vọng: Độ chính xác phân loại $\ge 95%$, thời gian xử lý mỗi sản phẩm $< 1.5\text{ giây}$, hiển thị trực quan thông tin số lượng qua bus I2C.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí so sánh | Phân loại theo chiều cao | Phân loại theo khối lượng | Phân loại bằng màu sắc (Đề tài) |
|---|---|---|---|
| Nguyên lý đo | Cảm biến quang thu phát / Siêu âm | Loadcell + Cảm biến uốn tải | Cảm biến mảng quang trở TCS3200 |
| Độ nhạy phân loại | Chỉ nhận biết khác biệt độ cao | Chỉ nhận biết khác biệt trọng lượng | Nhận dạng chính xác màu sắc vật thể |
| Độ linh hoạt | Kém với sản phẩm cùng kích cỡ | Kém với sản phẩm cùng khối lượng | Tách biệt sản phẩm đồng kích thước, khối lượng |
| Chi phí triển khai | Trung bình | Trung bình - Cao | Thấp - Tối ưu cho quy mô vừa và nhỏ |
| Thời gian trễ đo | Rất thấp ($< 50\text{ ms}$) | Trung bình (cần thời gian ổn định tải) | Thấp ($100 - 300\text{ ms}$) |
graph TD
A[Sản phẩm vào băng tải] --> B[Cảm biến E18-D80NK phát hiện vật thể]
B --> C[Băng tải dừng / giảm tốc tạm thời]
C --> D[Cảm biến TCS3200 quét dải màu RGB]
D --> E{Bộ vi điều khiển ATmega328P xử lý}
E -->|Kênh Red| F[Kích hoạt Relay 1 -> Xi lanh 1]
E -->|Kênh Green| G[Kích hoạt Relay 2 -> Xi lanh 2]
E -->|Kênh Blue| H[Kích hoạt Relay 3 -> Xi lanh 3]
E -->|Không khớp / Đen| I[Băng tải đẩy về khay Reject]
F & G & H & I --> J[Cập nhật dữ liệu đếm lên LCD 16x2 qua I2C]
Phân tích yêu cầu hệ thống (MoSCoW)
- Must have (Bắt buộc): Nhận diện chính xác 3 màu Đỏ, Xanh lá, Xanh dương; kích hoạt đúng xi lanh tương ứng; đếm số lượng từng loại hiển thị lên LCD 16x2.
- Should have (Nên có): Cơ chế loại bỏ sản phẩm không đạt chuẩn (màu đen/sản phẩm lỗi); điều chỉnh tốc độ băng tải qua driver TB6560.
- Could have (Có thể có): Giao tiếp Serial UART gửi dữ liệu giám sát lên máy tính thời gian thực.
- Won't have (Chưa thực hiện): Nhận dạng hình ảnh đa phổ (Hyperspectral imaging) hoặc phân loại đa luồng đồng thời trên 1 làn băng tải.
Thiết kế hệ thống và Cấu trúc phần cứng
classDiagram
class Arduino_Uno_R3 {
+ATmega328P 16MHz
+32KB Flash, 2KB SRAM
+14 Digital I/O, 6 Analog
+readPulse()
+processColorLogic()
}
class Sensor_TCS3200 {
+8x8 Photodiode Array
+Pins: S0, S1, S2, S3, OUT
+getFrequency()
}
class Sensor_E18_D80NK {
+Infrared NPN Open-Collector
+Trimming Potentiometer 3-80cm
+detectObject()
}
class Stepper_Driver_TB6560 {
+Current 0.2A - 3.5A
+Microstep 1, 1/2, 1/8, 1/16
+driveStepper()
}
class Display_PCF8574T_LCD {
+I2C Address 0x27 / 0x3F
+2 lines x 16 chars
+printCounts()
}
Arduino_Uno_R3 o-- Sensor_TCS3200 : Digital I/O
Arduino_Uno_R3 o-- Sensor_E18_D80NK : Input Pull-up
Arduino_Uno_R3 o-- Stepper_Driver_TB6560 : Step/Dir Pulses
Arduino_Uno_R3 o-- Display_PCF8574T_LCD : I2C Bus (A4/A5)
Technology Stack & Linh kiện chi tiết:
- Khối điều khiển trung tâm: Kit Arduino Uno R3 chứa vi điều khiển 8-bit AVR ATmega328P (16 MHz Clock, 32KB Flash, 2KB SRAM, 1KB EEPROM).
- Khối cảm biến màu sắc: TCS3200 gồm mảng ma trận quang trở quang điện (8x8 photodiode array: 16 lọc đỏ, 16 lọc xanh lá, 16 lọc xanh dương, 16 không lọc). Bộ chuyển đổi dòng điện sang tần số xuất xung vuông 50% duty cycle, dải tần 2 Hz – 500 kHz.
- Khối phát hiện vật thể: Cảm biến hồng ngoại E18-D80NK, khoảng cách phát hiện tùy chỉnh $3 - 80\text{ cm}$, ngõ ra NPN cực thu hở (Open Collector).
- Khối chấp hành phân loại:
- Xy lanh khí nén tác động kép SMC CJ2B16-120A (hành trình $120\text{ mm}$, đường kính piston $16\text{ mm}$).
- Van điện từ điều khiển bằng Module Relay 5VDC (Songle SRD-05VDC-SL-C, tải đóng cắt 10A/250VAC - 10A/30VDC).
- Khối truyền động băng tải: Động cơ bước 2 pha lưỡng cực (bước góc $1.8^\circ/\text{step}$, dòng định mức $1.5\text{A}$) kết hợp Module Driver TB6560 (IC Toshiba TB6560AHQ hỗ trợ vi bước Microstepping, bảo vệ quá nhiệt).
- Khối hiển thị: Màn hình LCD 16x2 chuẩn ký tự HD44780U kết hợp module chuyển đổi giao thức nối tiếp I2C dùng IC PCF8574T (giảm tải chân vi điều khiển từ 16 chân xuống 2 chân SDA-A4, SCL-A5).
- Nguồn cấp: Bộ nguồn tổ ong công nghiệp 24VDC - 5A (cấp cho van khí nén và driver động cơ) hạ áp tuyến tính 5VDC cấp cho mạch điều khiển.
Implementation và kết quả
Development Process & Thuật toán cốt lõi
Quy trình phát triển được thực hiện qua 4 giai đoạn chính (System Modeling $\rightarrow$ Sensor Calibration $\rightarrow$ Actuator Synchronization $\rightarrow$ System Integration).
Thuật toán nhận diện màu sắc của cảm biến TCS3200 dựa trên việc lập trình chuyển đổi trạng thái của hai chân chọn bộ lọc $S_2, S_3$ và hai chân chia tần số ngõ ra $S_0, S_1$:
+-----------------------------------+
| Bật S0=HIGH, S1=LOW (Scaling 20%) |
+-----------------+-----------------+
|
+-----------------------+-----------------------+
| | |
v v v
+-----------------------+ +-----------------------+ +-----------------------+
| Đọc kênh ĐỎ (Red) | | Đọc kênh XANH LÁ | | Đọc kênh XANH DƯƠNG |
| Set: S2=LOW, S3=LOW | | Set: S2=HIGH, S3=HIGH | | Set: S2=LOW, S3=HIGH |
| Đo chu kỳ xung pulseIn| | Đo chu kỳ xung pulseIn| | Đo chu kỳ xung pulseIn|
+-----------+-----------+ +-----------+-----------+ +-----------+-----------+
| | |
+-----------------------+-----------------------+
|
v
+-----------------------------------+
| Lọc ngưỡng & Định danh sản phẩm: |
| min(F_Red, F_Green, F_Blue) |
+-----------------+-----------------+
|
v
+-----------------------------------+
| Kích Relay gạt Xi lanh tương ứng |
+-----------------------------------+
Mã nguồn điều khiển và hiệu chuẩn màu (Arduino C/C++):
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Khởi tạo LCD địa chỉ 0x27, 16 cột 2 hàng
LiquidCrystal_I2C lcd(0x27, 16, 2);
// Khai báo chân kết nối cảm biến TCS3200
#define S0 4
#define S1 5
#define S2 6
#define S3 7
#define sensorOut 8
// Khai báo chân cảm biến vật cản và Relay điều khiển khí nén
#define OBSTACLE_PIN 2
#define RELAY_RED 9
#define RELAY_GREEN 10
#define RELAY_BLUE 11
unsigned long redFrequency = 0;
unsigned long greenFrequency = 0;
unsigned long blueFrequency = 0;
int countRed = 0, countGreen = 0, countBlue = 0, countReject = 0;
void setup() {
pinMode(S0, OUTPUT);
pinMode(S1, OUTPUT);
pinMode(S2, OUTPUT);
pinMode(S3, OUTPUT);
pinMode(sensorOut, INPUT);
pinMode(OBSTACLE_PIN, INPUT_PULLUP);
pinMode(RELAY_RED, OUTPUT);
pinMode(RELAY_GREEN, OUTPUT);
pinMode(RELAY_BLUE, OUTPUT);
// Tắt toàn bộ relay ban đầu (Active LOW)
digitalWrite(RELAY_RED, HIGH);
digitalWrite(RELAY_GREEN, HIGH);
digitalWrite(RELAY_BLUE, HIGH);
// Thiết lập tần số ngõ ra TCS3200 ở mức 20% (S0=HIGH, S1=LOW)
digitalWrite(S0, HIGH);
digitalWrite(S1, LOW);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("SYSTEM READY...");
delay(1000);
lcd.clear();
}
void readRGB() {
// Đọc dải lọc ĐỎ (S2=LOW, S3=LOW)
digitalWrite(S2, LOW);
digitalWrite(S3, LOW);
redFrequency = pulseIn(sensorOut, LOW);
// Đọc dải lọc XANH LÁ (S2=HIGH, S3=HIGH)
digitalWrite(S2, HIGH);
digitalWrite(S3, HIGH);
greenFrequency = pulseIn(sensorOut, LOW);
// Đọc dải lọc XANH DƯƠNG (S2=LOW, S3=HIGH)
digitalWrite(S2, LOW);
digitalWrite(S3, HIGH);
blueFrequency = pulseIn(sensorOut, LOW);
}
void processSorting() {
readRGB();
// Logic phân loại: Tần số đo tỷ lệ nghịch với cường độ ánh sáng màu
if (redFrequency < greenFrequency && redFrequency < blueFrequency && redFrequency < 120) {
countRed++;
triggerActuator(RELAY_RED);
}
else if (greenFrequency < redFrequency && greenFrequency < blueFrequency && greenFrequency < 150) {
countGreen++;
triggerActuator(RELAY_GREEN);
}
else if (blueFrequency < redFrequency && blueFrequency < greenFrequency && blueFrequency < 140) {
countBlue++;
triggerActuator(RELAY_BLUE);
}
else {
countReject++; // Sản phẩm không xác định hoặc màu đen
}
updateDisplay();
}
void triggerActuator(int relayPin) {
digitalWrite(relayPin, LOW); // Kích hoạt van khí nén đẩy xi lanh
delay(350); // Thời gian hành trình xi lanh SMC CJ2B16
digitalWrite(relayPin, HIGH); // Rút xi lanh về
}
void updateDisplay() {
lcd.setCursor(0, 0);
lcd.print("R:"); lcd.print(countRed);
lcd.setCursor(8, 0);
lcd.print("G:"); lcd.print(countGreen);
lcd.setCursor(0, 1);
lcd.print("B:"); lcd.print(countBlue);
lcd.setCursor(8, 1);
lcd.print("Err:"); lcd.print(countReject);
}
void loop() {
// Chờ cảm biến E18-D80NK phát hiện vật thể đến vị trí đo (Active LOW)
if (digitalRead(OBSTACLE_PIN) == LOW) {
delay(100); // Debounce ổn định vị trí sản phẩm
processSorting();
while (digitalRead(OBSTACLE_PIN) == LOW); // Tránh đếm lặp
}
}
Testing và Validation
Hệ thống được thử nghiệm thực nghiệm với 200 mẫu thử nghiệm gồm 4 nhóm: Đỏ (50 mẫu), Xanh lá (50 mẫu), Xanh dương (50 mẫu) và Lỗi/Đen (50 mẫu) trong điều kiện ánh sáng chuẩn phòng thí nghiệm (độ rọi 250 - 300 lux).
Thử nghiệm phân loại mẫu (200 sản phẩm):
+--------------------+---------------------+---------------------+
| Nhóm sản phẩm | Số lượng thành công | Tỷ lệ chính xác (%) |
+--------------------+---------------------+---------------------+
| Màu Đỏ (Red) | 49/50 | 98.0% |
| Màu Xanh lá (Green)| 47/50 | 94.0% |
| Màu Xanh dương | 48/50 | 96.0% |
| Màu Lỗi / Khác | 48/50 | 96.0% |
+--------------------+---------------------+---------------------+
| Tổng kết toàn bộ | 192/200 | 96.0% |
+--------------------+---------------------+---------------------+
- Thời gian đáp ứng trung bình: $420\text{ ms}$ cho chu trình đo quang học và $350\text{ ms}$ cho chu trình hành trình xi lanh khí nén SMC. Tổng chu kỳ phân loại: $\approx 1.1\text{ s/sản phẩm}$.
- Nhiễu tín hiệu và xử lý: Nhiễu phản xạ quang học từ bề mặt bóng được khắc phục bằng cách bố trí buồng che sáng (light hood) bao quanh cụm cảm biến TCS3200 với góc nghiêng $45^\circ$.
Đổi mới và đóng góp
- Tối ưu hóa chi phí với kiến trúc phần cứng tinh gọn: Thay vì sử dụng camera công nghiệp đắt đỏ (thường $> 1.000\text{ USD}$), đề tài chứng minh khả năng ứng dụng của cảm biến TCS3200 ($< 5\text{ USD}$) kết hợp vi điều khiển 8-bit ATmega328P mà vẫn đảm bảo độ chính xác đạt $96.0%$.
- Cải tiến giao thức hiển thị qua Bus I2C: Tích hợp IC PCF8574T trung gian giúp tiết kiệm 80% số chân GPIO trên Arduino Uno R3, giải phóng tài nguyên để mở rộng điều khiển nhiều tầng xi lanh khí nén.
- Đồng bộ hóa liên tục giữa cơ và điện: Thiết lập thuật toán điều khiển phối hợp giữa tốc độ động cơ bước qua driver TB6560 và độ trễ phản hồi của cảm biến hồng ngoại E18-D80NK, loại bỏ hiện tượng lệch bước và kẹt phôi trên băng chuyền.
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng trong công nghiệp
- Công nghiệp Dược phẩm & Y tế: Tự động phân loại quy cách đóng gói các lọ thuốc, nắp chai vắc-xin theo màu sắc chỉ định.
- Tái chế rác thải nhựa: Phân loại nắp chai nhựa PET/HDPE theo màu sắc trước khi đưa vào máy nghiền hạt nhựa tái sinh.
- Chế biến Nông sản: Phân loại sơ bộ trái cây (cà chua, ớt chuông, táo) dựa trên độ chín biểu hiện qua màu vỏ.
+------------------------+
| Nguồn 24VDC / 5VDC |
+-----------+------------+
|
+----------------------------------+----------------------------------+
| | |
v v v
+-------------------+ +-------------------+ +-------------------+
| Băng tải cấp phôi | -----> | Cụm đo & Cảm biến | -----------> | Khay phân loại |
| (Động cơ bước + | | (TCS3200 + | | (Xi lanh khí nén |
| Driver TB6560) | | E18-D80NK) | | SMC CJ2B16) |
+-------------------+ +-------------------+ +-------------------+
Yêu cầu triển khai và Vận hành (Deployment Specs)
- Khí nén: Áp suất làm việc $4 - 6\text{ bar}$ cung cấp cho cụm van điện từ và xy lanh SMC.
- Điện năng: Nguồn tổ ong 24VDC - 5A công nghiệp, hệ thống dây dẫn tín hiệu bọc kim chống nhiễu (Shielded Twisted Pair) cho đường I2C.
- Môi trường hoạt động: Nhiệt độ $0 - 50^\circ\text{C}$, độ ẩm $< 85%$, trang bị hộp chắn sáng cục bộ tại vị trí cảm biến TCS3200.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Cảm biến TCS3200 nhạy cảm với sự thay đổi của nguồn sáng môi trường xung quanh (Ambient Light Fluctuations) nếu không có buồng tối tiêu chuẩn.
- Xy lanh SMC dùng máy nén khí mini tạo độ ồn nhất định trong không gian đóng kín.
- Hệ thống xử lý đơn luồng tuần tự; năng suất tối đa giới hạn ở mức $\approx 50 - 60\text{ sản phẩm/phút}$.
Hướng phát triển tiếp theo
- Tích hợp Thị giác máy tính AI (Edge AI Vision): Nâng cấp lên module ESP32-CAM hoặc Raspberry Pi 4 chạy mô hình TensorFlow Lite để phân loại đồng thời cả màu sắc, hình dạng và ký mã hiệu (OCR/Barcode).
- Kết nối IoT Công nghiệp (IIoT): Bổ sung module giao tiếp Wi-Fi ESP8266/ESP32 truyền dữ liệu sản lượng thời gian thực lên Dashboard máy chủ đám mây (Cloud SCADA/MQTT).
- Nâng cấp chuẩn PLC: Chuyển đổi vi điều khiển sang dòng PLC Siemens S7-1200 cho các môi trường công nghiệp nặng đòi hỏi chuẩn chống nhiễu cao.
Đối tượng hưởng lợi
+-------------------------------------------------------------------------+
| ĐỐI TƯỢNG HƯỞNG LỢI |
+-------------------------------------------------------------------------+
| [Sinh viên & Nghiên cứu sinh] | - Tài liệu tham khảo toàn diện về |
| | giao tiếp I2C, cảm biến màu, khí nén|
+---------------------------------+---------------------------------------+
| [Kỹ sư R&D & Makers] | - Source code chuẩn C/C++ tích hợp |
| | mạch công suất TB6560 & ATmega328P |
+---------------------------------+---------------------------------------+
| [Doanh nghiệp SMEs] | - Mô hình phân loại tự động giá rẻ |
| | (ROI ước tính dưới 4 tháng) |
+---------------------------------+---------------------------------------+
Câu hỏi thường gặp
1. Hệ thống yêu cầu nguồn cấp và điều kiện môi trường như thế nào để hoạt động ổn định?
Hệ thống sử dụng nguồn điện kép: 24VDC - 5A cho driver động cơ bước TB6560 cùng van điện từ khí nén, và 5VDC (ổn áp) cho vi điều khiển Arduino, cảm biến TCS3200, E18-D80NK và LCD. Cần duy trì áp suất khí nén $4 - 6\text{ bar}$ và bố trí cụm cảm biến trong hộp che sáng để tránh sai số quang học do ánh đèn huỳnh quang xung quanh.
2. Làm thế nào để mở rộng hệ thống nhận diện thêm nhiều màu sắc phức tạp hơn?
Để phân loại các màu pha tạp (Vàng, Cam, Tím), cần hiệu chuẩn lại bảng vector không gian màu RGB trong phần mềm. Bằng cách tính toán tỷ lệ tương đối giữa các kênh: $$R_{\text{norm}} = \frac{R}{R+G+B}, \quad G_{\text{norm}} = \frac{G}{R+G+B}, \quad B_{\text{norm}} = \frac{B}{R+G+B}$$ sau đó so sánh khoảng cách Euclid với giá trị mẫu chuẩn trong bộ nhớ vi điều khiển.
3. Khả năng tích hợp hệ thống vào dây chuyền sản xuất có sẵn?
Hệ thống kết nối linh hoạt thông qua các tiếp điểm rơ-le khô hoặc giao tiếp Serial UART / I2C. Có thể dễ dàng ghép nối tiếp sau máy ép nhựa, máy dán nhãn hoặc máy đóng gói bao bì sẵn có mà không cần can thiệp sâu vào cấu trúc phần mềm của dây chuyền chính.
4. Chi phí bảo dưỡng và linh kiện thay thế định kỳ gồm những gì?
Chi phí vận hành rất thấp. Bảo dưỡng định kỳ gồm: tra dầu bôi trơn cụm cơ khí băng chuyền (3 tháng/lần), kiểm tra gioăng phớt khí nén xy lanh SMC CJ2B16 (6 tháng/lần) và vệ sinh bụi bám trên bề mặt quang học cảm biến TCS3200 bằng khí nén sạch.
5. Thời gian hoàn vốn (ROI) khi triển khai giải pháp này là bao lâu?
Với tổng chi phí chế tạo mẫu thử nghiệm dưới 4.000.000 VNĐ nhưng thay thế được 01 nhân công phân loại thủ công (chi phí ~7.000.000 VNĐ/tháng), thời gian hoàn vốn đầu tư trực tiếp (ROI) của mô hình chỉ chưa đầy 01 tháng vận hành thực tế.
Kết luận
Đồ án tốt nghiệp "Hệ thống phân loại sản phẩm bằng màu sắc" đã giải quyết thành công bài toán tự động hóa nhận diện và phân chia dòng sản phẩm với độ chính xác thực nghiệm đạt 96.0%. Việc làm chủ kỹ thuật từ khâu thiết kế giải thuật đo quang phổ tần số, đồng bộ cơ cấu chấp hành khí nén SMC đến tối ưu bus hiển thị I2C khẳng định tính khả thi và tiềm năng ứng dụng thực tế cao của đề tài trong các dây chuyền sản xuất tinh gọn.