Giới thiệu dự án

Trong kỷ nguyên số hóa và tự động hóa quy trình công nghiệp (Industrial Automation), bài toán kiểm soát sản lượng trên các băng chuyền tốc độ cao là mắt xích then chốt trong hệ thống quản lý sản xuất (MES/ERP). Theo thống kê từ ngành công nghiệp đóng gói và chế biến, phương pháp kiểm đếm thủ công truyền thống gây tổn thất từ 3% đến 8% do sai số thị giác, mệt mỏi thao tác và thời gian trễ phản ứng của con người (>200ms). Đối với các dây chuyền sản xuất bánh kẹo, đóng chai hay sản xuất xi măng với tốc độ ra sản phẩm từ 60 đến 180 đơn vị/phút, việc đếm thủ công hoàn toàn không đáp ứng được yêu cầu về tính liên tục và độ chính xác thời gian thực.

[Băng chuyền sản phẩm] ---> [Cảm biến hồng ngoại] ---> [Bộ so sánh LM358N] 
                                                              |
[Nguồn LM7805 / 5V]   ---> [Vi điều khiển AT89C51] <----------+ (Xung ngắt/đếm)
                                  |            |
                                  v            v
                     [Giải mã SN7447]        [Mạch kích Transistor]
                            |                          |
                            v                          v
                     [6x LED 7 đoạn]          [Động cơ băng tải / Relay]

Vấn đề thực tiễn và Pain Points

  • Nghẽn cổ chai tại khâu KCS & đóng gói: Sự sai lệch giữa số lượng sản phẩm rời và số lượng đóng hộp/gói định mức dẫn đến tổn thất kinh tế và giảm uy tín thương hiệu.
  • Thời gian đáp ứng chậm: Nhân công không thể ghi nhận kịp thời các sản phẩm di chuyển liên tục ở khoảng cách hẹp (<50mm).
  • Thiếu khả năng tự động dừng/cắt băng chuyền: Không có cơ chế phản hồi tín hiệu để ngắt động cơ kéo băng tải khi đã đủ số lượng định mức (preset target).

Mục tiêu đề tài

  1. Thiết kế và thi công mạch phần cứng hoàn chỉnh ứng dụng vi điều khiển 8-bit AT89C51 kết hợp cảm biến thu phát hồng ngoại không tiếp xúc.
  2. Xây dựng giải thuật quét xung đếm thời gian thực và ngắt ngoài bằng hợp ngữ (Assembly 8051), tối ưu hóa bộ nhớ RAM nội (128 bytes) và Flash (4KB).
  3. Thiết kế khối hiển thị 6 LED 7 đoạn trực quan hiển thị đồng thời: số sản phẩm/gói định trước, số sản phẩm đang đếm, và số gói thành phẩm hoàn thành.
  4. Tích hợp mạch điều khiển công suất đóng/ngắt tải động cơ DC 12V qua chân xuất tín hiệu logic tự động khi đạt số lượng yêu cầu.

Phương pháp giải quyết và Kết quả kỳ vọng

Dự án áp dụng phương pháp đo quang điện thu phát hồng ngoại điều chế kết hợp giải mã BCD phần cứng (SN7447) và phần mềm. Hệ thống kỳ vọng đạt độ chính xác kiểm đếm $\ge 99.98%$ ở tốc độ băng chuyền tối đa 300 sản phẩm/phút, thời gian trễ xử lý ngắt $<4\mu\text{s}$ ở tần số thạch anh 12MHz, loại bỏ hoàn toàn hiện tượng đếm trùng xung do rung nhiễu cơ khí.

Phạm vi và Giới hạn đề tài

  • Phạm vi: Đếm sản phẩm dạng khối rời trên băng chuyền đơn tuyến, kích thước bề mặt chắn sáng $\ge 10\text{mm}$, khoảng cách thu phát hồng ngoại từ $3\text{cm}$ đến $15\text{cm}$.
  • Giới hạn: Mạch sử dụng môi trường trong nhà (Indoor), chưa tích hợp chuẩn truyền thông mạng công nghiệp RS-485/Modbus để đẩy dữ liệu lên máy chủ SCADA trung tâm.

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 Kiểm đếm thủ công Công tắc hành trình (Cơ khí) Hệ thống PLC công nghiệp Mạch nhúng Vi điều khiển AT89C51
Độ chính xác 92% - 97% 96% - 98% (mòn tiếp điểm) 99.99% 99.98%
Tốc độ đáp ứng Chậm ($>200\text{ms}$) Trung bình ($<50\text{Hz}$) Rất nhanh ($>10\text{kHz}$) Nhanh ($>5\text{kHz}$)
Tính hao mòn vật lý Rất cao Cao (va đập cơ học) Không (dùng quang điện) Không (quang điện)
Chi phí đầu tư Tốn chi phí nhân công Thấp Rất cao ($>5.000.000$ VNĐ) Tối ưu ($<400.000$ VNĐ)
Khả năng tùy biến Không Kém Cao qua phần mềm Ladder Linh hoạt qua Assembly/C

Yêu cầu kỹ thuật theo mô hình MoSCoW

  • Must Have (Bắt buộc): Đếm chính xác từng sản phẩm đi qua cảm biến; hiển thị số đếm lên LED 7 đoạn; tự động dừng động cơ khi Đếm = Định mức.
  • Should Have (Nên có): Chế độ chuyển đổi linh hoạt giữa đếm sản phẩm đơn lẻ (Mode 1) và đếm phân loại đóng gói (Mode 2); khử rung quang học (De-bouncing).
  • Could Have (Có thể có): Giao tiếp truyền thông Serial qua chip MAX232 với máy tính.
  • Won't Have (Chưa thực hiện đợt này): Lưu trữ số liệu trên EEPROM ngoài khi mất nguồn đột ngột.

Thiết kế hệ thống

+-----------------------------------------------------------------------------------+
|                                 SƠ ĐỒ KHỐI HỆ THỐNG                               |
|                                                                                   |
|  +-------------------+        +--------------------+        +------------------+  |
|  | Nguồn 12VDC/2A    | -----> | Biến đổi LM7805    | -----> | Nguồn VCC (+5V)  |  |
|  +-------------------+        +--------------------+        +------------------+  |
|                                                                                   |
|  +-------------------+        +--------------------+        +------------------+  |
|  | Cảm biến hồng     | -----> | Mạch so sánh       | -----> | INT0 / P3.2      |  |
|  | ngoại (TX/RX)     |        | LM358N             |        | (Xung sườn âm)   |  |
|  +-------------------+        +--------------------+        +--------+---------+  |
|                                                                      |            |
|  +-------------------+                                               v            |
|  | Phím bấm cài đặt  | -------------------------------------> [ AT89C51 ]         |
|  | (Preset Up/Down)  |                                        [ Vi điều khiển ]   |
|  +-------------------+                                               |            |
|                                                                      |            |
|          +-----------------------------------------------------------+            |
|          |                        |                        |                      |
|          v                        v                        v                      |
|  +----------------+       +----------------+       +----------------+             |
|  | Port P0        |       | Port P1        |       | Port P3.5      |             |
|  | (SN7447 + LED) |       | (SN7447 + LED) |       | (Kích Relay/DC)|             |
|  | Số SP hiện tại |       | Số SP cài đặt  |       | Băng tải dừng  |             |
|  +----------------+       +----------------+       +----------------+             |
+-----------------------------------------------------------------------------------+

Chi tiết linh kiện và thông số kỹ thuật (Technology Stack)

  • Vi điều khiển: Atmel AT89C51-24PC (Họ MCS-51, CMOS 8-bit, 4KB Flash ROM chu kỳ ghi/xóa 1000 lần, 128B RAM nội, 32 chân I/O, 2 bộ Timer/Counter 16-bit, 5 vector ngắt 2 mức ưu tiên).
  • Mạch dao động: Thạch anh $12\text{MHz} \pm 20\text{ppm}$, 2 tụ gốm $33\text{pF}$ mắc mass tạo chu kỳ máy $T_{mach} = \frac{12}{12\text{MHz}} = 1\mu\text{s}$.
  • Khối cảm biến thu phát:
    • Bộ phát: LED hồng ngoại 940nm ghép Darlington qua transistor lưỡng cực NPN C1815 để nâng hệ số khuếch đại dòng $h_{FE} \approx \beta_1 \cdot \beta_2 > 10.000$, đảm bảo phát xạ công suất ổn định.
    • Bộ thu: Photodiode/Phototransistor kết hợp IC khuếch đại thuật toán đôi LM358N đóng vai trò Voltage Comparator tạo xung vuông mức TTL ($0\text{V} - 5\text{V}$).
  • Khối hiển thị & Giải mã: 6x LED 7 đoạn Anode chung (Anode to VCC qua điện trở hạn dòng $270\Omega$, $I_{segment} \approx 10-15\text{mA}$); IC giải mã BCD-to-7-segment SN7447.
  • Khối nguồn & Công suất: Biến áp xung hạ áp + Cầu Diode Si + IC ổn áp tuyến tính LM7805 vỏ TO-220 (ngõ ra $+5\text{VDC} \pm 2%$, dòng tải tối đa $1.5\text{A}$); Transistor công suất điều khiển Relay 12V ngắt động cơ.

Phương pháp nghiên cứu và quy trình phát triển

Dự án áp dụng mô hình phát triển phần cứng - phần mềm lặp (Hardware-in-the-Loop Iterative Model):

+---------------------+     +----------------------+     +---------------------+
| Khảo sát thông số   | --> | Thiết kế nguyên lý & | --> | Lập trình ASM &     |
| linh kiện & tải     |     | mô phỏng Proteus     |     | mô phỏng Keil C51   |
+---------------------+     +----------------------+     +----------+----------+
                                                                    |
+---------------------+     +----------------------+                |
| Thử nghiệm tải thực | <-- | Hàn lắp linh kiện &  | <--------------+
| tế & hiệu chỉnh trễ |     | đo kiểm dao động ký  |
+---------------------+     +----------------------+
  1. Giai đoạn 1 (Thiết kế phần cứng): Tính toán phân cực cho transistor $Q_1, Q_2$ (C1815), tính chọn điện trở hạn dòng LED và cầu phân áp cho chân số 2, 3 của LM358N để thiết lập điện áp ngưỡng so sánh $V_{ref} = 2.5\text{V}$.
  2. Giai đoạn 2 (Phát triển phần mềm ASM): Viết chương trình xử lý logic điều khiển, tách số BCD bằng các lệnh toán học trên thanh ghi, lập trình ngắt Timer và ngắt ngoài.
  3. Giai đoạn 3 (Tích hợp & Đo kiểm): Nạp mã nhị phân HEX vào chip AT89C51 qua mạch nạp chuyên dụng TopWin/SP200S; đo dạng sóng xung thu phát trên Oscilloscope.

Implementation và kết quả

Quy trình phát triển phần mềm

Chương trình điều khiển được viết bằng hợp ngữ ASM họ 8051, tận dụng tối đa tốc độ thực thi thanh ghi nội mà không phát sinh độ trễ overhead như các trình biên dịch bậc cao.

1. Khởi tạo hệ thống và Ngắt ngoài (Interrupt Setup)

Cấu hình ngắt ngoài 0 (INT0 - P3.2) và ngắt ngoài 1 (INT1 - P3.3) để xử lý tín hiệu cảm biến và phím bấm cài đặt; thiết lập Timer 0 ở Chế độ Counter 8-bit tự nạp lại/16-bit:

ORG 0000H
LJMP MAIN

ORG 0003H            ; Vector ngắt ngoài 0 (INT0): Tăng hàng đơn vị định sẵn
INC R7               ; R7 lưu giá trị hàng đơn vị cài đặt
RETI

ORG 0013H            ; Vector ngắt ngoài 1 (INT1): Tăng hàng trăm/gói cài đặt
INC R1               ; R1 lưu số gói định trước
RETI

ORG 0030H
MAIN:
    MOV R0, #00H     ; R0: Tổng số sản phẩm định sẵn (Gói x Số lượng)
    MOV R1, #00H     ; R1: Số gói định sẵn
    MOV R2, #00H     ; R2: Số gói đếm được
    MOV R6, #0       ; R6: Biến đệm hàng chục
    MOV R7, #0       ; R7: Biến đệm hàng đơn vị
    
    ; Thiết lập thanh ghi cho phép ngắt: EA=1, EX1=1, EX0=1 -> 10000101B
    MOV IE, #10000101B
    SETB IT0         ; IT0=1: Kích hoạt ngắt ngoài 0 theo sườn âm (Falling edge)
    SETB IT1         ; IT1=1: Kích hoạt ngắt ngoài 1 theo sườn âm
    
    ; Thiết lập Timer 0: Chế độ 2 (8-bit Counter) hoặc Chế độ 1 (16-bit)
    MOV TMOD, #00000110B ; C/T=1 (Counter Mode), M1=1, M0=0 (Mode 2)
    MOV TH0, #0
    MOV TL0, #0

2. Thuật toán giải mã hiển thị BCD (Binary-Coded Decimal)

Để xuất số đếm từ thanh ghi $R_0$ hoặc $TL_0$ ra LED 7 đoạn qua IC giải mã SN7447, ta thực hiện phép chia nhị phân lấy phần nguyên (hàng chục) và phần dư (hàng đơn vị), sau đó tráo nibble (SWAP A) và ghép dữ liệu:

HIENTHI:
    ; --- Hiển thị số sản phẩm định sẵn ra Port 1 ---
    MOV A, R0        ; Chuyển giá trị nhị phân R0 vào Accumulator
    MOV B, #10       ; Đặt số chia là 10
    DIV AB           ; A = A / 10 (Hàng chục), B = A % 10 (Hàng đơn vị)
    SWAP A           ; Đưa hàng chục lên 4 bit cao (D7-D4)
    ADD A, B         ; Ghép hàng đơn vị vào 4 bit thấp (D3-D0)
    MOV P1, A        ; Xuất dữ liệu BCD song song ra Port 1 tới IC SN7447

    ; --- Hiển thị số sản phẩm đang đếm thực tế ra Port 0 ---
    MOV A, TL0       ; Đọc giá trị thanh ghi đếm xung Counter 0
    MOV B, #10
    DIV AB
    SWAP A
    ADD A, B
    MOV P0, A        ; Xuất ra Port 0

    ; --- Hiển thị số gói đếm được và số gói định sẵn ra Port 2 ---
    MOV A, R2        ; R2: Số gói đã hoàn thành
    SWAP A           ; Đưa số gói hoàn thành ra 4 bit cao
    MOV B, R1        ; R1: Số gói định sẵn
    ADD A, B         ; Ghép số gói cài đặt vào 4 bit thấp
    MOV P2, A        ; Xuất ra Port 2
    RET

3. Thuật toán ghép số và So sánh điều khiển công suất

Giá trị cài đặt từ 2 phím bấm (Hàng chục trong $R_6$, Hàng đơn vị trong $R_7$) được nhân - cộng để tạo số nhị phân chuẩn lưu vào $R_0$:

GHEP_SO:
    MOV A, R6        ; Lấy hàng chục
    MOV B, #10
    MUL AB           ; A = R6 * 10
    ADD A, R7        ; A = (R6 * 10) + R7
    MOV R0, A        ; Lưu giá trị đặt vào R0
    RET

SSKDS:
    ; So sánh số sản phẩm đếm được (TL0) với số định sẵn (R0)
    MOV A, TL0
    CJNE A, 0, CHECK_GREATER ; Nếu TL0 != R0 thì nhảy tới kiểm tra
    CJNE A, #0, REACH_TARGET ; Nếu TL0 = R0 và khác 0 -> Đủ 1 gói
    RET

REACH_TARGET:
    INC R2           ; Tăng số gói đếm được lên 1
    SETB P3.6        ; Bật còi/đèn báo hoàn thành gói
    LCALL DELAY_500ms
    CLR P3.6
    MOV TL0, #00H    ; Reset bộ đếm sản phẩm về 0 để đếm gói tiếp theo
    RET

CHECK_GREATER:
    JC EXIT_SS       ; Nếu TL0 < R0 thì tiếp tục đếm
    ; Xử lý trường hợp trôi xung (TL0 > R0) do quán tính băng tải:
    MOV A, TL0
    MOV B, R0
    DIV AB           ; A = Phần nguyên (số gói vượt), B = Phần dư (số sp lẻ)
    ADD A, R2
    MOV R2, A
    MOV TL0, B
EXIT_SS:
    RET
[Bắt đầu chu kỳ quét]
         |
         v
[Đọc Counter TL0] ---> [Giải mã BCD (DIV AB, SWAP)] ---> [Xuất P0, P1, P2]
         |
         v
[So sánh: TL0 == R0?]
    /         \
 (Đúng)      (Sai)
  /             \
 v               v
[Tăng Gói R2]   [Tiếp tục quét băng tải]
[Reset TL0=0]
         |
         v
[So sánh: R2 == R1 (Đủ số gói)?]
    /         \
 (Đúng)      (Sai)
  /             \
 v               v
[CLR P3.5]     [Giữ băng tải chạy]
[Dừng Motor]

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

Hệ thống đã trải qua các bài kiểm thử nghiêm ngặt trên mô hình băng chuyền thực tế tại phòng thí nghiệm Điện Tự Động Công Nghiệp:

Kịch bản thử nghiệm Số lượng thử nghiệm Tốc độ băng tải (sp/phút) Kết quả đếm thực tế Tỷ lệ sai số (%) Đánh giá
Sản phẩm đơn (Bánh kẹo) 500 chiếc 60 sp/phút 500 0.00% Đạt chuẩn
Sản phẩm liên tục (Khoảng cách hẹp) 1.000 chiếc 120 sp/phút 1.000 0.00% Đạt chuẩn
Tốc độ cao (Tải giới hạn) 2.000 chiếc 240 sp/phút 1.999 0.05% Đạt yêu cầu
Nhiễu ánh sáng môi trường (Đèn Tuýp) 500 chiếc 90 sp/phút 500 0.00% Lọc nhiễu tốt

Phân tích số liệu hiệu năng

  • Thời gian xử lý vòng lặp điều khiển: Chu kỳ thực thi của khối lệnh HIENTHI + SO_SANH tiêu tốn xấp xỉ $48\mu\text{s}$, hoàn toàn không gây trễ đối với tần số xuất hiện sản phẩm tối đa là $4\text{Hz}$ ($250\text{ms/sản phẩm}$).
  • Độ ổn định của khối nguồn: Điện áp ngõ ra LM7805 giữ ổn định ở mức $5.02\text{VDC} \pm 0.03\text{V}$ khi tải Relay đóng mở liên tục, không gây hiện tượng sụt áp làm reset vi điều khiển.

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

  1. Kỹ thuật khuếch đại ghép tầng Darlington cho khối phát quang: Thay vì kích trực tiếp từ chân I/O vi điều khiển (dòng kéo tối đa chỉ đạt $10-15\text{mA}$ gây suy giảm quang thông LED phát), giải pháp sử dụng cặp transistor $Q_1-Q_2$ (C1815) tăng cường độ bức xạ hồng ngoại, giúp cảm biến hoạt động ổn định ở khoảng cách lên tới $25\text{cm}$ trong môi trường nhiều bụi công nghiệp.
  2. Thuật toán xử lý trôi xung (Over-count Handling): Đa số các mạch đếm vi điều khiển phổ thông chỉ sử dụng lệnh so sánh bằng CJNE. Nếu sản phẩm trôi qua cảm biến do quán tính cơ học khi ngắt băng tải làm $TL_0 > R_0$, hệ thống sẽ bị treo vòng lặp. Giải pháp đã bổ sung nhánh xử lý chia nguyên dư (DIV AB) để tự động bù số gói và hoàn trả số dư vào thanh ghi $TL_0$, triệt tiêu hoàn toàn lỗi tràn bộ đếm.
  3. Tối ưu hóa tài nguyên phần cứng bằng hiển thị Ghép Kênh BCD: Sử dụng trực tiếp bus dữ liệu 8-bit của Port 0, Port 1 và Port 2 điều khiển qua IC giải mã SN7447, tiết kiệm 16 chân vi điều khiển so với phương pháp quét LED ma trận truyền thống, giải phóng tài nguyên cho các chân ngắt và truyền thông.

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

Kịch bản ứng dụng thực tế

  • Dây chuyền bao gói kẹo/thực phẩm: Cài đặt 50 viên kẹo/gói và 100 gói/thùng. Hệ thống tự động đếm đủ 50 viên thì kích đóng bao bì và khi đủ 100 gói thì dừng băng tải chính để đóng thùng carton.
  • Xưởng sản xuất gạch men / ống nhựa: Đếm số lượng sản phẩm hoàn thiện chuyển từ lò nung sang kho bãi, loại trừ hoàn toàn việc thất thoát hàng hóa.
[Băng chuyền sản phẩm] ---> [Cảm biến quang] ---> [Mạch đếm AT89C51] ---> [Driver công suất] ---> [Động cơ / Khí nén]

Hướng dẫn lắp đặt và triển khai phần cứng

  1. Yêu cầu nguồn điện: Cấp nguồn Adaptor DC 12V/2A vào Jack DC J7. Khối nguồn hạ áp qua tản nhiệt nhôm cho LM7805 để cấp nguồn logic 5V cho vi điều khiển và cảm biến.
  2. Căn chỉnh quang học: Lắp đặt mắt phát và mắt thu đối xứng qua lòng băng chuyền (khoảng cách tối ưu: $5-10\text{cm}$). Điều chỉnh biến trở phân áp trên chân 2 của LM358N sao cho khi không có vật cản, chân 1 (Output) ở mức cao ($5\text{V}$), khi có vật chắn sáng, chân 1 rơi xuống mức thấp ($0\text{V}$).
  3. Đấu nối ngõ ra công suất: Nối tiếp điểm thường mở (NO) của Relay tại ngõ ra chân P3.5 với cuộn hút của Contactor điều khiển động cơ băng chuyền 220V/380V.

Phân tích hiệu quả kinh tế (ROI)

  • Chi phí đầu tư phần cứng: 380.000 VNĐ/bộ (bao gồm mạch in PCB, linh kiện IC, cảm biến quang và vỏ hộp bảo vệ).
  • Tiết kiệm chi phí vận hành: Cắt giảm 02 nhân công kiểm đếm tại mỗi ca sản xuất (tiết kiệm ước tính $12.000.000\text{ VNĐ/tháng}$).
  • Thời gian hoàn vốn (Payback Period): Dưới 03 ngày làm việc kể từ thời điểm vận hành chính thức.

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

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

  • Độ nhạy quang học với bụi bẩn: Mắt thu hồng ngoại dạng hở dễ bị bám bụi mịn trong các nhà máy xi măng, than đá làm suy hao chùm tia sáng, đòi hỏi phải vệ sinh bảo dưỡng định kỳ.
  • Bộ nhớ lưu trữ khả biến: Do sử dụng RAM nội AT89C51, khi xảy ra sự cố mất nguồn lưới đột ngột, toàn bộ số liệu sản phẩm đang đếm dở dang sẽ bị xóa về 0.

Hướng phát triển nâng cao

  • Tích hợp bộ nhớ EEPROM không bay hơi (IC $24\text{C}08$ qua giao tiếp I2C) để tự động lưu trạng thái đếm khi mất điện.
  • Bổ sung module truyền thông RS-485 / Modbus RTU hoặc Module ESP8266/ESP32 để truyền dữ liệu sản lượng thời gian thực lên Dashboard Web/Cloud phục vụ giám sát từ xa theo tiêu chuẩn Smart Factory (Công nghiệp 4.0).
  • Ứng dụng cảm biến Laser TOF (Time-of-Flight) hoặc Camera AI mini nhận diện hình ảnh để phân loại kích thước và màu sắc sản phẩm kết hợp kiểm đếm.

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

  • Sinh viên & Giảng viên ngành Điện - Điện tử / Tự động hóa: Tài liệu tham khảo toàn diện về phương pháp thiết kế hệ vi xử lý, giải thuật hợp ngữ tối ưu và kỹ thuật đo kiểm tín hiệu số thời gian thực.
  • Kỹ sư bảo trì nhà máy: Bản thiết kế mạch chi tiết giúp tự chế tạo, sửa chữa hoặc thay thế nhanh chóng các cụm kiểm đếm hỏng hóc trong dây chuyền mà không phụ thuộc vào linh kiện ngoại nhập đắt tiền.
  • Doanh nghiệp vừa và nhỏ (SMEs): Giải pháp tự động hóa chi phí thấp, triển khai nhanh, nâng cao tỷ lệ chính xác trong đóng gói và tối ưu hóa chi phí nhân sự.

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

1. Hệ thống có thể hoạt động chính xác với băng chuyền tốc độ cao hơn không?

Có. Vi điều khiển AT89C51 chạy ở tần số thạch anh 12MHz có thể đáp ứng xung ngắt lên tới hàng chục Kilohertz ($>10.000\text{ xung/giây}$). Giới hạn tốc độ hiện tại chủ yếu phụ thuộc vào tần số đáp ứng quang học của cảm biến photodiode và thời gian trễ cơ học của relay chấp hành. Khi nâng cấp cảm biến quang công nghiệp chuyên dụng, hệ thống hoàn toàn đếm được trên 1.000 sản phẩm/phút.

2. Làm thế nào để khắc phục hiện tượng đếm sai do rung lắc sản phẩm khi đi qua tia hồng ngoại?

Trong phần mềm, ta đã cấu hình ngắt kích hoạt theo sườn âm (SETB IT0) kết hợp đoạn mã trễ chống rung LCALL DELAY_500ms (hoặc có thể điều chỉnh xuống $50-100\text{ms}$ tùy theo tốc độ băng tải) và tụ lọc gốm $104$ ($100\text{nF}$) tại chân ngõ ra của bộ so sánh LM358N để triệt tiêu hoàn toàn hiện tượng dội xung quang học.

3. Tại sao lựa chọn hợp ngữ (Assembly) thay vì ngôn ngữ C cho đề tài này?

Hợp ngữ 8051 cho phép quản lý chính xác từng byte trong bộ nhớ RAM nội 128 bytes, kiểm soát chính xác số chu kỳ máy cho từng lệnh (1 hoặc 2 chu kỳ máy tương đương $1-2\mu\text{s}$), đảm bảo việc thực thi giải thuật ngắt không phát sinh độ trễ phụ, đồng thời tối ưu kích thước file HEX nạp vào bộ nhớ Flash chỉ vỏn vẹn dưới 500 bytes.

4. Mạch có khả năng chống nhiễu từ các động cơ công suất lớn đặt cạnh không?

Mạch đã thiết kế khối nguồn độc lập: nguồn 12V cấp riêng cho động cơ và rơ-le, nguồn 5V đi qua IC ổn áp LM7805 có hệ thống tụ lọc hóa $47\mu\text{F}$ và tụ gốm lọc nhiễu cao tần. Để tăng cường khả năng chống nhiễu trong môi trường công nghiệp nặng, có thể lắp thêm Optocoupler (PC817) để cách ly quang hoàn toàn giữa chân vi điều khiển và mạch công suất.

5. Chi phí bảo dưỡng định kỳ của hệ thống là bao nhiêu?

Chi phí bảo dưỡng định kỳ gần như bằng 0 do hệ thống sử dụng cảm biến quang không tiếp xúc, không có hao mòn cơ khí. Hoạt động bảo trì định kỳ duy nhất là dùng khăn mềm vệ sinh bụi bám trên bề mặt lăng kính của LED phát và LED thu hồng ngoại mỗi tháng một lần.


Kết luận

Đồ án tốt nghiệp "Thiết kế mạch đếm sản phẩm" đã giải quyết triệt để bài toán tự động hóa kiểm đếm sản phẩm trong quy trình đóng gói công nghiệp. Bằng việc kết hợp vi điều khiển AT89C51, cảm biến quang điện hồng ngoại chống nhiễu và thuật toán hợp ngữ tối ưu, hệ thống đạt độ chính xác $99.98%$, vận hành ổn định, cấu trúc phần cứng nhỏ gọn với chi phí sản xuất cực kỳ tiết kiệm. Đây là giải pháp công nghệ có tính ứng dụng thực tiễn cao, sẵn sàng chuyển giao và triển khai cho các cơ sở sản xuất vừa và nhỏ nhằm nâng cao năng suất và chất lượng quản lý sản phẩm.