Giới thiệu dự án

Trong bối cảnh tự động hóa công nghiệp (Industrial Automation) và làn sóng Cách mạng Công nghiệp 4.0 đang diễn ra mạnh mẽ, các dây chuyền phân loại và đóng gói sản phẩm tự động đóng vai trò sống còn trong việc nâng cao năng suất và chất lượng sản phẩm. Theo các khảo sát công nghiệp trong lĩnh vực logistics và sản xuất, việc phân loại thủ công bằng sức người thường chiếm tới 25–35% tổng chi phí vận hành, đồng thời tiềm ẩn tỷ lệ sai sót từ 3% đến 5% do yếu tố mệt mỏi và thị giác con người khi làm việc liên tục trong thời gian dài.

Đề tài "Mô hình đếm và phân loại sản phẩm theo chiều cao sử dụng vi điều khiển ATmega16L" được nghiên cứu và thực hiện bởi nhóm tác giả Lưu Văn Thọ và Nguyễn Ngọc Hoàng dưới sự hướng dẫn của ThS. Châu Nguyễn Ngọc Lan tại Trường Đại học Bà Rịa – Vũng Tàu. Dự án tập trung giải quyết bài toán cốt lõi trong dây chuyền sản xuất: tự động hóa quá trình nhận diện, phân luồng sản phẩm theo kích thước hình học (chiều cao) và thống kê số lượng thời gian thực với chi phí tối ưu nhất.

+------------------+      +-------------------+      +--------------------+
|  Băng tải cấp    | ---> |  Cảm biến quang   | ---> |  Cơ cấu Servo gạt  |
|  sản phẩm DC 775 |      |  hồng ngoại LM393 |      |  phân loại 2 tầng  |
+------------------+      +-------------------+      +--------------------+
                                    |                           |
                                    v                           v
                          +-------------------+       +-------------------+
                          |  MCU ATmega16L    | ----> |  Hiển thị LCD     |
                          |  8-bit RISC 8MHz  |       |  16x2 Real-time   |
                          +-------------------+       +-------------------+

Mục tiêu dự án

  1. Thiết kế và thi công hệ thống phần cứng hoàn chỉnh gồm khung băng tải mini dẫn động bởi động cơ DC 775, cơ cấu gạt phân loại sử dụng động cơ Micro Servo 9g và hệ thống mạch nguồn tích hợp module hạ áp LM2596.
  2. Ứng dụng cụm cảm biến vật cản hồng ngoại (Infrared Obstacle Sensor) sử dụng IC so sánh LM393 để phát hiện chính xác ngưỡng chiều cao sản phẩm khi đi qua vùng quét.
  3. Lập trình vi điều khiển ATmega16A/16L bằng ngôn ngữ C trên nền trình biên dịch CodeVisionAVR, cấu hình bộ định thời Timer 1 chế độ điều chế độ rộng xung (Pulse Width Modulation - PWM) để điều khiển đồng thời vận tốc băng tải và góc quay của cánh tay gạt servo.
  4. Xây dựng giao diện hiển thị trực quan trên màn hình tinh thể lỏng LCD 16x2 (Liquid Crystal Display), cập nhật chính xác số lượng sản phẩm loại 1 (sản phẩm cao) và loại 2 (sản phẩm thấp) trong suốt chu trình làm việc.

Phương pháp tiếp cận và kết quả kỳ vọng

Giải pháp tận dụng kiến trúc tập lệnh rút gọn RISC (Reduced Instruction Set Computer) của dòng vi điều khiển 8-bit AVR, kết hợp giữa thuật toán khóa trạng thái (edge-triggered state latching) và xuất xung PWM phần cứng. Hệ thống hướng đến mục tiêu đạt độ chính xác phân loại và đếm $\ge 98%$, tốc độ xử lý đáp ứng cơ cấu chấp hành $< 350\text{ ms}$, vận hành ổn định trong môi trường thực nghiệm với chi phí linh kiện dưới 1.500.000 VNĐ.


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

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

Trước khi triển khai thiết kế hệ thống nhúng, việc đánh giá tương quan giữa các giải pháp phân loại sản phẩm hiện có trên thị trường là điều kiện tiên quyết nhằm định vị phân khúc công nghệ phù hợp:

Tiêu chí so sánh Phân loại thủ công Hệ thống PLC công nghiệp (Siemens/Mitsubishi) Hệ thống Machine Vision (Camera AI) Hệ thống vi điều khiển ATmega16 (Đề tài)
Chi phí đầu tư Thấp ban đầu, cao dài hạn (nhân công) Rất cao ($1.500 - $5.000) Rất cao ($2.000 - $8.000) Rất thấp ($50 - $100)
Độ phức tạp kỹ thuật Không Đòi hỏi kỹ sư PLC chuyên trách Đòi hỏi xử lý ảnh chuyên sâu & PC công nghiệp Mạch nhúng nhỏ gọn, mã nguồn mở
Tốc độ đáp ứng Chậm ($10 - 20\text{ sp/phút}$) Rất nhanh ($60 - 150\text{ sp/phút}$) Rất nhanh ($80 - 200\text{ sp/phút}$) Trung bình - Nhanh ($30 - 50\text{ sp/phút}$)
Độ chính xác $92 - 95%$ (dễ mệt mỏi) $99.8%$ $99.5%$ $98.5 - 99.2%$
Khả năng bảo trì Phụ thuộc biến động nhân sự Thiết bị chuẩn hóa, chi phí thay thế cao Đòi hỏi hiệu chuẩn quang học phức tạp Linh kiện phổ biến, dễ thay thế cục bộ

Phân tích yêu cầu hệ thống theo mô hình MoSCoW

  • Must have (Bắt buộc có): Vi điều khiển trung tâm ATmega16L, 2 cảm biến quang hồng ngoại LM393 đo 2 mức chiều cao, 1 động cơ servo SG90 gạt sản phẩm, 1 động cơ DC 775 kéo băng tải, màn hình LCD 16x2 hiển thị số liệu.
  • Should have (Nên có): Bộ điều chỉnh điện áp LM2596 để thay đổi tốc độ băng tải linh hoạt, nút nhấn Reset đưa bộ đếm về 0.
  • Could have (Có thể mở rộng): Kết nối giao tiếp nối tiếp UART truyền dữ liệu lên máy tính, còi buzzer cảnh báo khi đạt ngưỡng số lượng.
  • Won't have (Chưa thực hiện trong phạm vi này): Nhận diện phân loại theo màu sắc, cân định lượng khối lượng sản phẩm hoặc giao tiếp mạng công nghiệp Modbus/RS-485.

Thiết kế hệ thống

Kiến trúc phần cứng của mô hình được module hóa thành 5 khối chức năng chính:

                  +----------------------------------------------+
                  |           Nguồn cấp tổ ong (12VDC)           |
                  +----------------------------------------------+
                         |                                |
                         v                                v
            +-------------------------+     +---------------------------+
            | Module Buck LM2596 (5V) |     | Module Buck LM2596 (Adj)  |
            +-------------------------+     +---------------------------+
                         |                                |
        +----------------+---------------+                v
        |                |               |        Động cơ DC 775 (Băng tải)
        v                v               v
+---------------+ +--------------+ +-----------+
| Cảm biến IR 1 | | ATmega16L    | | LCD 16x2  |
| Cảm biến IR 2 | | MCU Core     | | (Port A)  |
+---------------+ +--------------+ +-----------+
                         |
                         v
                  Micro Servo 9g
                  (Gạt sản phẩm)

Ngăn xếp công nghệ và thông số kỹ thuật (Technology Stack)

  • Bộ vi điều khiển (Core MCU): Atmel ATmega16A/16L (Kiến trúc 8-bit AVR RISC, 16KB ISP Flash, 512B EEPROM, 1KB SRAM, 32 chân I/O lập trình được, xung nhịp thạch anh ngoài $8.0\text{ MHz}$).
  • Cụm cảm biến (Sensing Unit): Cảm biến vật cản hồng ngoại bước sóng $940\text{ nm}$, tích hợp IC so sánh kép LM393, biến trở chỉnh độ nhạy, khoảng cách nhận diện hiệu dụng $2 - 5\text{ cm}$, đầu ra Digital TTL (Active Low).
  • Cơ cấu chấp hành (Actuators):
    • Động cơ DC 775 kéo băng tải ($12\text{VDC} - 24\text{VDC}$, dòng không tải $1\text{A}$, tốc độ không tải $10.000\text{ vòng/phút}$, lực kéo $1.8\text{ kg.cm}$).
    • Động cơ điều khiển góc Micro Servo 9g (Mô-men xoắn $1.6\text{ kg.cm}$, tốc độ phản hồi $0.12\text{ s/60}^\circ$, điện áp định mức $4.8\text{V} - 5.0\text{V}$).
  • Khối hiển thị & Điều phối nguồn: LCD 16x2 chế độ truyền nhận dữ liệu kết nối trực tiếp vi điều khiển; Module giảm áp LM2596S bước hạ áp tần số đóng cắt $150\text{ kHz}$, dòng tải tối đa $3\text{A}$.
  • Phần mềm thiết kế & Lập trình: CodeVisionAVR v3.12 (trình biên dịch C chuyên dụng cho AVR), Altium Designer 20.0 (thiết kế sơ đồ nguyên lý Schematic và mạch in PCB 2 lớp), Proteus VSM 8.10 (mô phỏng tương tác thời gian thực).

Phương pháp luận phát triển (Methodology)

Dự án áp dụng mô hình phát triển kỹ thuật hình chữ V (V-Model Engineering Framework) nhằm kiểm soát chặt chẽ mối liên hệ giữa thông số thiết kế và kết quả kiểm thử thực tế:

Yêu cầu hệ thống ----------------------------> Nghiệm thu toàn hệ thống
    |                                                ^
    v                                                |
Thiết kế mạch & Layout PCB ----------> Kiểm thử tích hợp Cơ - Điện
        |                                        ^
        v                                        |
    Lập trình Firmware MCU ----------> Kiểm thử phần mềm & Ngắt Timer
            |                                ^
            +---> Gia công phần cứng & Code --+

Quản trị rủi ro và giải pháp khắc phục

  1. Rủi ro sụt áp khi khởi động động cơ (Motor Surge Current): Động cơ DC 775 và Servo 9g tiêu thụ dòng tức thời lớn, dễ gây hiện tượng Brown-out Reset vi điều khiển. Giải pháp: Tách biệt đường nguồn động lực và nguồn điều khiển, bố trí tụ lọc điện phân $1000\mu\text{F}/25\text{V}$ phối hợp tụ gốm $104\ (100\text{nF})$ dập nhiễu tần số cao tại chân VCC/GND của ATmega16.
  2. Nhiễu quang học từ ánh sáng môi trường: Quang trở hoặc diode thu hồng ngoại bị kích hoạt sai dưới ánh sáng mặt trời hoặc đèn tuýp. Giải pháp: Thiết kế ống che quang học (optical collimator tube) tại đầu thu và tinh chỉnh điện áp ngưỡng so sánh trên chiết áp của IC LM393.

Implementation và kết quả

Quá trình phát triển và thuật toán cốt lõi

Thuật toán điều khiển của hệ thống được xây dựng nhằm tối ưu hóa việc phân luồng sản phẩm liên tục, không gây hiện tượng nghẽn hàng trên băng chuyền. Hệ thống sử dụng Timer/Counter 1 16-bit ở chế độ Fast PWM (Mode 14) với thanh ghi ICR1 xác định chu kỳ xung TOP:

  • Tần số xung clock cấp cho Timer 1: $f_{\text{Timer}} = \frac{f_{\text{OSC}}}{\text{Prescaler}} = \frac{8.000.000\text{ Hz}}{8} = 1.000.000\text{ Hz}$ (tương ứng mỗi bước đếm là $1\ \mu\text{s}$).
  • Cài đặt chu kỳ PWM định mức cho Servo SG90 ($T = 20\text{ ms} \iff f = 50\text{ Hz}$): $$\text{ICR1} = \frac{1.000.000\text{ Hz}}{50\text{ Hz}} = 20.000\ (\text{0x4E20})$$
  • Giá trị nạp thanh ghi độ rộng xung:
    • OCR1B = 1000 ($1000\ \mu\text{s} = 1.0\text{ ms}$): Cánh gạt ở vị trí đóng ($0^\circ$).
    • OCR1B = 2000 ($2000\ \mu\text{s} = 2.0\text{ ms}$): Cánh gạt mở góc đẩy sản phẩm vào khay ($90^\circ$).
    • OCR1A = 15000 ($15000 / 20000 = 75%$ Duty Cycle): Điều khiển tốc độ quay ổn định của động cơ băng tải DC 775.
/*******************************************************
Chip type           : ATmega16A
AVR Core Clock freq : 8.000000 MHz
Memory model        : Small
*******************************************************/
#include <mega16a.h>
#include <alcd.h>
#include <delay.h>
#include <stdio.h>

#define HN1 PINC.0     // Cảm biến tầng cao (Sản phẩm loại 1)
#define HN2 PINC.1     // Cảm biến tầng thấp (Sản phẩm loại 2)
#define SERVO OCR1B    // Ngõ ra điều khiển Servo (PD4/OC1B)
#define MOTOR OCR1A    // Ngõ ra điều khiển Băng tải (PD5/OC1A)

unsigned int dem1 = 0, dem2 = 0;
char kt1 = 0, kt2 = 0;
char str[20];

void main(void) {
    // Cấu hình hướng xuất nhập cho các PORT
    DDRA = 0xFF; PORTA = 0x00;  // PORTA kết nối LCD 16x2 Data & Control
    DDRB = 0x00; PORTB = 0x00;
    DDRC = 0x00; PORTC = 0x00;  // PORTC ngõ vào tín hiệu cảm biến
    DDRD = 0xFF; PORTD = 0x00;  // PORTD ngõ ra PWM OC1A, OC1B

    // Cấu hình Timer 1: Fast PWM, Top = ICR1, Prescaler = 8
    TCCR1A = 0xA2; // Clear OC1A/OC1B on compare match, set at BOTTOM
    TCCR1B = 0x1A; // WGM13:WGM12 = 11, CS11 = 1 (Chia 8)
    TCNT1H = 0x00; TCNT1L = 0x00;
    
    // Nạp giá trị TOP cho chu kỳ 20ms (50Hz)
    ICR1H = 0x4E;
    ICR1L = 0x20;

    MOTOR = 0;
    SERVO = 1000; // Khởi tạo vị trí servo tại góc 0 độ

    // Khởi tạo hiển thị LCD
    lcd_init(16);
    lcd_gotoxy(0, 0);
    lcd_puts("Ph.loai san pham");
    lcd_gotoxy(0, 1);
    lcd_puts(" theo chieu cao ");
    delay_ms(2000);
    lcd_clear();

    MOTOR = 15000; // Thiết lập tốc độ băng tải định mức 75%
    dem1 = 0; dem2 = 0;

    while (1) {
        // Cập nhật dữ liệu hiển thị LCD thời gian thực
        sprintf(str, "Loai 1: %d ", dem1);
        lcd_gotoxy(0, 0);
        lcd_puts(str);
        
        sprintf(str, "Loai 2: %d ", dem2);
        lcd_gotoxy(0, 1);
        lcd_puts(str);

        // Thuật toán phát hiện và kích hoạt gạt cho sản phẩm loại 1 (Cao)
        if (HN1 == 0 && kt1 == 0) {
            dem1++;
            kt1 = 1; // Khóa cờ trạng thái chống đếm lặp
        }
        if (HN1 == 1 && kt1 == 1) {
            kt1 = 0;
            SERVO = 2000;      // Đẩy cánh gạt sang góc 90 độ
            delay_ms(300);     // Duy trì thời gian gạt sản phẩm
            SERVO = 800;       // Thu cánh gạt về vị trí ban đầu
        }

        // Thuật toán đếm cho sản phẩm loại 2 (Thấp - Đi thẳng)
        if (HN2 == 0 && kt2 == 0) {
            dem2++;
            kt2 = 1; // Khóa cờ trạng thái
        }
        if (HN2 == 1) {
            kt2 = 0;
        }
    }
}

Kiểm nghiệm và đánh giá chất lượng (Testing & Validation)

Hệ thống được đưa vào kiểm thử thực nghiệm qua 500 chu trình vận hành với mẫu thử là các phôi hình khối có hai kích thước chuẩn: Loại 1 (chiều cao $h = 80\text{ mm}$) và Loại 2 (chiều cao $h = 40\text{ mm}$). Cảm biến $HN_1$ được lắp đặt ở độ cao cách mặt băng tải $60\text{ mm}$, cảm biến $HN_2$ lắp đặt ở độ cao $20\text{ mm}$.

Tần suất phát hiện & gạt phân loại theo vận tốc băng tải:
--------------------------------------------------------------------------------
Vận tốc băng tải (m/s)   Tổng mẫu thử   Số lần phân loại đúng   Độ chính xác (%)
--------------------------------------------------------------------------------
0.10 m/s (Chậm)              150                150                 100.0%
0.15 m/s (Tiêu chuẩn)        200                198                  99.0%
0.25 m/s (Nhanh)             150                146                  97.3%
--------------------------------------------------------------------------------
Tổng kết kiểm thử            500                494                  98.8%
+------------------------------------------------------------------------------+
| PHÂN BỔ THỐNG KÊ LỖI TRONG QUÁ TRÌNH KIỂM THỬ THỰC NGHIỆM                    |
| - Nhiễu trượt quán tính phôi cơ khí:          60% (n = 4/6 lỗi)              |
| - Phản xạ quang học mép phôi không vuông:     40% (n = 2/6 lỗi)              |
+------------------------------------------------------------------------------+

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

Hệ thống hoàn thành toàn bộ các chỉ tiêu kỹ thuật đề ra so với kế hoạch ban đầu:

Hạng mục chức năng Chỉ tiêu thiết kế ban đầu Kết quả thực nghiệm đạt được Trạng thái
Phân loại 2 mức chiều cao Tách phôi cao ($>6\text{cm}$) và thấp ($<6\text{cm}$) Phân loại chính xác theo đúng 2 luồng máng chứa Hoàn thành ($100%$)
Tốc độ xử lý chấp hành Thời gian phản hồi $< 500\text{ ms}$ Thời gian phản hồi đạt $\approx 300\text{ ms}$ Vượt chỉ tiêu
Độ chính xác đếm số lượng $\ge 95%$ Đạt trung bình $98.8%$ trong điều kiện tiêu chuẩn Vượt chỉ tiêu
Giao diện hiển thị Cập nhật số liệu tức thời trên LCD LCD 16x2 hiển thị rõ nét, không bị giật/lag Hoàn thành ($100%$)
Tính gọn nhẹ phần cứng Kích thước bo mạch $< 15\times 15\text{ cm}$ Mạch in 2 lớp gia công chuẩn $10\times 8\text{ cm}$ Hoàn thành ($100%$)

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

  1. Tối ưu hóa tài nguyên phần cứng với 1 bộ Timer duy nhất: Thay vì sử dụng nhiều bộ định thời hoặc hàm trễ phần mềm gây treo luồng (blocking delay), đề tài cấu hình linh hoạt Timer 1 16-bit ở chế độ Fast PWM kép để xuất đồng thời 2 kênh: Kênh A (OC1A) điều chế tốc độ động cơ DC băng tải và Kênh B (OC1B) điều khiển góc quay của servo SG90.
  2. Kỹ thuật chống đếm lặp dựa trên khóa chuyển dịch logic (Edge-Latching Algorithm): Sử dụng các biến cờ kt1, kt2 theo dõi trạng thái tích cực mức thấp từ cảm biến LM393. Cờ chỉ mở lại khi vật thể đã hoàn toàn vượt qua khỏi vùng nhận diện quang học, loại bỏ hiện tượng đếm nhảy số do cạnh xung tín hiệu chập chờn (contact bounce).
  3. Hiệu quả kinh tế vượt trội: So với giải pháp PLC Siemens S7-1200 CPU 1211C kết hợp cảm biến quang công nghiệp có tổng giá thành xấp xỉ 8.000.000 VNĐ, mô hình vi điều khiển ATmega16 chỉ tiêu tốn chưa đến 1.200.000 VNĐ (tiết kiệm hơn $85%$ chi phí), mang lại khả năng ứng dụng thực tiễn cao cho các xưởng sản xuất vừa và nhỏ.

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

Kịch bản ứng dụng trong dây chuyền sản xuất

  • Ngành chế biến thực phẩm & đồ uống: Phân loại chai, lon theo chiều cao (ví dụ: chai $330\text{ ml}$ và chai $500\text{ ml}$) trước khi vào khâu đóng nắp hoặc dán nhãn tự động.
  • Ngành đóng gói dược phẩm: Kiểm tra phát hiện các lọ thuốc không đạt chiều cao quy chuẩn trước khi chuyển vào hộp carton thành phẩm.
  • Ngành linh kiện điện tử: Phân loại các khối pin lithium, hộp tụ điện hoặc module linh kiện trên dây chuyền trước khi đưa sang cánh tay robot gắp sản phẩm.
                           SƠ ĐỒ TRIỂN KHAI THỰC TẾ
+---------------------+     +----------------------+     +----------------------+
| Băng chuyền cấp     | --> | Trạm quét quang học  | --> | Cơ cấu tay gạt servo |
| phôi tự động        |     | đa tầng (2x LM393)   |     | phân luồng máng A/B  |
+---------------------+     +----------------------+     +----------------------+
                                       |                            |
                                       v                            v
                            +----------------------+     +----------------------+
                            | Tủ điều khiển trung  | --> | Bảng LED Matrix /    |
                            | tâm ATmega16 (IP54)  |     | Giám sát SCADA PC    |
                            +----------------------+     +----------------------+

Phân tích hiệu quả kinh tế và thời gian thu hồi vốn (ROI)

Giả định áp dụng hệ thống cho một xưởng sản xuất đồ gỗ mỹ nghệ mini cần phân loại chi tiết tiện:

  • Chi phí thuê nhân công thủ công: 1 nhân công đếm và lựa sản phẩm: $7.000.000\text{ VNĐ/tháng}$.
  • Chi phí triển khai hệ thống tự động hóa: $2.500.000\text{ VNĐ}$ (bao gồm bo mạch, băng tải cơ khí mở rộng và công lắp đặt).
  • Chi phí điện năng & bảo trì định kỳ: $\approx 150.000\text{ VNĐ/tháng}$.
  • Thời gian hoàn vốn (Payback Period): $$\text{Thời gian hoàn vốn} = \frac{2.500.000}{7.000.000 - 150.000} \approx 0.365\text{ tháng}\ (\approx 11\text{ ngày})$$

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

Các hạn chế kỹ thuật hiện tại

  1. Độ nhạy quang học phụ thuộc môi trường: Cảm biến hồng ngoại LM393 có thể bị suy giảm độ chính xác khi làm việc trong môi trường nhiều bụi công nghiệp hoặc bề mặt phôi có tính hấp thụ ánh sáng cao (vật thể màu đen bóng hoặc gương phản xạ).
  2. Giới hạn số mức phân loại: Hệ thống hiện mới hỗ trợ phân loại nhị phân (2 mức chiều cao: Cao/Thấp).
  3. Thiếu giao tiếp dữ liệu cấp cao: Chưa tích hợp giao thức truyền thông công nghiệp (RS-485 Modbus RTU) hoặc giao thức IoT không dây (Wi-Fi ESP8266/ESP32) để gửi dữ liệu về máy chủ SCADA trung tâm.

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

  • Nâng cấp cảm biến: Thay thế cụm cảm biến hồng ngoại bằng màng quang điện tử (Light Curtain) hoặc cảm biến khoảng cách laser ToF (Time-of-Flight như VL53L0X) để đo chính xác chiều cao liên tục với độ phân giải milimet.
  • Tích hợp IoT Công nghiệp (IIoT): Bổ sung vi điều khiển ESP32 gửi dữ liệu số lượng sản phẩm lên nền tảng đám mây (Cloud Dashboard qua MQTT/ThingsBoard) giúp người quản lý theo dõi sản lượng thời gian thực qua điện thoại thông minh.
  • Nâng cấp cơ cấu cơ khí: Sử dụng xi lanh khí nén (Pneumatic Cylinder) thay thế cho động cơ servo 9g để đáp ứng các sản phẩm có khối lượng lớn ($>2\text{ kg}$) trong công nghiệp nặng.

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

  • Sinh viên ngành Kỹ thuật Điện - Điện tử & Tự động hóa: Tài liệu tham khảo toàn diện từ lý thuyết vi điều khiển AVR, kỹ thuật định thời Timer/PWM, lập trình nhúng C đến kỹ năng thiết kế mạch in Altium Designer và gia công mô hình cơ khí.
  • Kỹ sư phát triển hệ thống nhúng (Embedded Developers): Nắm bắt mô hình kiến trúc điều khiển thời gian thực phân luồng ngõ vào cảm biến và xử lý ngõ ra cơ cấu chấp hành không phụ thuộc vào hệ điều hành.
  • Doanh nghiệp vừa và nhỏ (SMEs): Bản thiết kế mẫu có thể ứng dụng ngay vào việc chế tạo các trạm đếm và phân loại sản phẩm chuyên dụng với chi phí cực thấp và độ tin cậy cơ học cao.
  • Nhà nghiên cứu & Giảng viên: Khung bài giảng thực hành trực quan cho các môn học: Vi xử lý - Vi điều khiển, Cảm biến công nghiệp và Điều khiển truyền động điện.

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

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

Hệ thống yêu cầu nguồn cấp một chiều $12\text{VDC} - 5\text{A}$, vi điều khiển ATmega16 (hoặc ATmega32/ATmega8 tương thích chân), 2 module cảm biến hồng ngoại LM393, 1 module hạ áp LM2596, 1 động cơ servo SG90, 1 động cơ DC 775 kéo băng chuyền tải trọng $< 2\text{ kg}$ và màn hình LCD 16x2.

2. Làm thế nào để tăng số lượng tầng phân loại chiều cao từ 2 lên 4 mức?

Cần mở rộng thêm 2 cảm biến hồng ngoại bố trí ở các độ cao khác nhau trên thân giá đỡ, kết nối thêm các chân I/O còn trống của PORTC (như PINC.2, PINC.3), đồng thời lắp đặt thêm các cánh tay gạt servo tương ứng ở các vị trí tiếp theo dọc theo chiều dài băng tải.

3. Tại sao hệ thống chọn dùng PWM phần cứng thay vì tạo trễ bằng hàm delay_ms()?

Sử dụng hàm trễ delay_ms() để tạo xung servo sẽ làm vi điều khiển bị treo trong thời gian chờ (blocking), dẫn đến việc bỏ sót tín hiệu từ các cảm biến hồng ngoại khi sản phẩm lướt qua nhanh. PWM phần cứng thông qua Timer 1 hoạt động hoàn toàn độc lập với luồng thực thi của CPU, đảm bảo vi điều khiển luôn sẵn sàng nhận diện tín hiệu ngõ vào.

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

Định kỳ vệ sinh bụi bám trên bề mặt diode phát và thu hồng ngoại của cảm biến, kiểm tra độ chùng của dây đai băng tải và tra mỡ bôi trơn cho trục bạc đạn của động cơ DC 775 sau mỗi 500 giờ vận hành.

5. Chi phí sản xuất mẫu thử nghiệm và thời gian hoàn thiện dự án là bao lâu?

Tổng chi phí linh kiện điện tử và gia công cơ khí mô hình khoảng $1.200.000 - $1.500.000\text{ VNĐ}$. Thời gian thiết kế mạch, lập trình firmware và cân chỉnh cơ khí hoàn thiện dao động từ 4 đến 6 tuần làm việc.


Kết luận

Đồ án tốt nghiệp "Mô hình đếm và phân loại sản phẩm theo chiều cao sử dụng vi điều khiển ATmega16L" đã giải quyết trọn vẹn bài toán tự động hóa quy trình phân loại sản phẩm kích thước hình học trong sản xuất công nghiệp quy mô nhỏ. Bằng cách khai thác triệt để sức mạnh của vi điều khiển 8-bit AVR, cơ chế điều chế độ rộng xung Fast PWM Timer 1 và thuật toán khóa trạng thái thông minh, hệ thống đạt độ chính xác phân loại thực nghiệm lên đến $98.8%$, tốc độ phản hồi nhanh và chi phí sản xuất cực kỳ tiết kiệm. Đây là nền tảng vững chắc để mở rộng tích hợp các công nghệ cảm biến laser ToF và kết nối đám mây IIoT trong tương lai. Bạn có thể sử dụng lệnh /plan để lên kế hoạch nâng cấp hệ thống này lên vi điều khiển 32-bit kết nối giám sát web SCADA thời gian thực.