Giới thiệu dự án

Trong bối cảnh tự động hóa và kiến trúc thông minh đang trở thành xu hướng tất yếu của các đô thị hiện đại, các thiết bị kiểm soát ra vào đóng vai trò hạt nhân trong việc nâng cao chất lượng vận hành công trình. Theo các báo cáo thị trường tự động hóa tòa nhà (Building Automation Systems - BAS), việc sử dụng hệ thống cửa tự động giúp giảm đến 30% tổn thất nhiệt lượng điều hòa không khí tại các sảnh đón và tối ưu hóa 45% lưu lượng di chuyển trong giờ cao điểm. Đồ án "Thiết kế mô hình hệ thống cửa tự động sử dụng vi điều khiển AT89C51" được thực hiện tại Khoa Công nghệ Thông tin / Kỹ thuật Máy tính - Trường Đại học Kỹ thuật Công nghiệp Thái Nguyên dưới sự hướng dẫn của ThS. Nguyễn Tiến Duy, giải quyết trực tiếp bài toán tự động hóa cửa thông minh với chi phí thấp và độ tin cậy cao.

+-------------------------------------------------------------------------+
|                KIẾN TRÚC TỔNG THỂ HỆ THỐNG CỬA TỰ ĐỘNG                  |
+-------------------------------------------------------------------------+
|                                                                         |
|   +--------------------+     Analog      +-------------------------+    |
|   | Cảm biến Hồng ngoại| --------------->| Bộ chuyển đổi ADC 0804  |    |
|   | (IR Optical Sensor)|                 | (Chuyển đổi tín hiệu)   |    |
|   +--------------------+                 +-------------------------+    |
|                                                       | 8-bit Bus (P1)  |
|   +--------------------+                              v                 |
|   | Bàn phím điều khiển|                 +-------------------------+    |
|   | (Nút bấm Manual)   | --------------->|   Vi điều khiển 8-bit   |    |
|   +--------------------+     Logic I/O   |         AT89C51         |    |
|                                          | (Xử lý FSM & Quản lý    |    |
|   +--------------------+                 |  ngắt Timer0/Timer1)    |    |
|   | Mạch tạo dao động  | --------------->|                         |    |
|   | Thạch anh & Reset  |                 +-------------------------+    |
|   +--------------------+                              |                 |
|                                                       | PWM / Control   |
|   +--------------------+                              v                 |
|   | Khối nguồn ổn áp   |                 +-------------------------+    |
|   | LM7805 (5V/500mA)  |                 | IC Công suất Cầu H L298 |    |
|   | Nguồn cấp 12V DC   |                 | (Dual Full-Bridge Driver|    |
|   +--------------------+                 +-------------------------+    |
|             |                                         |                 |
|             +-----------------------------------------+                 |
|                                                       v                 |
|                                          +-------------------------+    |
|                                          |  Động cơ DC Motor 12V   |    |
|                                          | (Kéo ray trượt cánh cửa)|    |
|                                          +-------------------------+    |
|                                                                         |
+-------------------------------------------------------------------------+

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

Các hệ thống cửa truyền thống đòi hỏi lực tác động cơ học trực tiếp, tạo ra rào cản lớn đối với người khuyết tật, người mang vác hành lý nặng hoặc các khu vực yêu cầu vô trùng cao như bệnh viện, phòng sạch. Mặt khác, việc cửa bị mở liên tục do sơ suất dẫn đến lãng phí điện năng nghiêm trọng trong các không gian sử dụng điều hòa trung tâm. Các giải pháp cửa tự động thương mại nhập khẩu hiện nay tuy hiện đại nhưng giá thành dao động từ 25 - 60 triệu VNĐ, cấu trúc phức tạp và khó tùy biến cho các dự án quy mô vừa và nhỏ.

Mục tiêu dự án

  1. Nghiên cứu và chế tạo thành công mô hình phần cứng cửa trượt tự động tỷ lệ thu nhỏ, mô phỏng chính xác cơ chế chuyển động tịnh tiến và giới hạn hành trình.
  2. Xây dựng mạch xử lý trung tâm dựa trên vi điều khiển 8-bit AT89C51 kết hợp bộ chuyển đổi tương tự - số ADC0804 và mạch công suất cầu H L298.
  3. Phát triển firmware bằng Hợp ngữ (Assembly 8051) tối ưu hóa kích thước bộ nhớ, tích hợp cơ chế điều chế độ rộng xung (PWM) thông qua ngắt Timer nhằm kiểm soát tốc độ đóng/mở mượt mà.
  4. Đảm bảo thời gian đáp ứng phát hiện đối tượng dưới 150ms và sai số hành trình chuyển động dưới 1.5%.

Hướng tiếp cận giải pháp

Hệ thống kết hợp cảm biến hồng ngoại phát hiện chuyển động/khoảng cách, đưa tín hiệu analog qua bộ chuyển đổi ADC0804 để số hóa dữ liệu về Port 1 của vi điều khiển AT89C51. Thuật toán phần mềm liên tục phân tích tín hiệu cảm biến và hệ thống nút nhấn chế độ (Manual/Auto). Dựa trên máy trạng thái hữu hạn (FSM), vi điều khiển xuất tín hiệu logic và xung PWM đến mạch công suất L298 để điều khiển động cơ DC 12V quay thuận (mở cửa), quay nghịch (đóng cửa) hoặc phanh hãm chủ động.

Kết quả kỳ vọng

  • Thời gian trễ đóng mở sau khi nhận diện: $< 120\text{ ms}$.
  • Hiệu suất năng lượng: Giảm $35%$ công suất tiêu thụ ở chế độ không tải thông qua thuật toán tự động ngắt công suất động cơ.
  • Độ ổn định vận hành: Hoạt động liên tục qua $10.000$ chu kỳ đóng/mở không phát sinh lỗi tràn ngăn xếp hay treo vi điều khiển.

Phạm vi và giới hạn

  • Phạm vi: Thiết kế hoàn thiện sơ đồ nguyên lý, mạch in PCB (ARES), mô phỏng tương tác trên Proteus VSM và lập trình Hợp ngữ kiểm thử trên mô hình phần cứng thực nghiệm.
  • Giới hạn: Cảm biến hồng ngoại analog chịu ảnh hưởng bởi ánh sáng môi trường cường độ cao ($> 10.000\text{ Lux}$); mô hình áp dụng cho cửa trượt đơn 1 cánh tải trọng giả lập dưới $5\text{ kg}$.

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

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

Hệ thống điều khiển đóng mở trên thị trường hiện nay phân hóa thành nhiều phân khúc với các đặc trưng kỹ thuật riêng biệt:

Tiêu chí phân tích Cửa trượt cơ khí truyền thống Hệ thống Relay & Cảm biến rời Hệ thống vi điều khiển AT89C51 (Đề xuất) Hệ thống PLC Công nghiệp (Siemens S7-1200)
Chi phí triển khai Rất thấp (< 2 triệu VNĐ) Thấp (3 - 5 triệu VNĐ) Tối ưu (4 - 7 triệu VNĐ) Rất cao (20 - 45 triệu VNĐ)
Độ phức tạp phần cứng Đơn giản, cơ khí thuần túy Trung bình, nhiều dây nối logic Tối ưu, thiết kế nguyên khối PCB Module công nghiệp phức tạp
Khả năng điều chỉnh tốc độ Không hỗ trợ Rất khó, dùng biến trở thô Mềm dẻo thông qua xung PWM Linh hoạt qua biến tần/Analog out
Độ trễ phản hồi Phụ thuộc con người $300\text{ ms} - 500\text{ ms}$ $< 120\text{ ms}$ $< 50\text{ ms}$
Khả năng mở rộng ngoại vi Không Hạn chế Cao (hỗ trợ ADC, UART, Keypad) Rất cao (Fieldbus, Modbus, Profinet)
                Biểu đồ phân loại yêu cầu MoSCoW
+-------------------------------------------------------------------+
| MUST HAVE (Bắt buộc)                                              |
| - Đóng/Mở cửa tự động khi có tín hiệu cảm biến hồng ngoại.        |
| - Cơ chế phanh động cơ tránh va đập cuối hành trình.              |
| - Mạch nguồn bảo vệ ổn định điện áp 5VDC cho MCU.                 |
+-------------------------------------------------------------------+
| SHOULD HAVE (Nên có)                                              |
| - Nút bấm chuyển chế độ Manual (Mở/Đóng/Dừng cưỡng bức).          |
| - Điều chế xung PWM mềm kiểm soát gia tốc đóng/mở.                |
+-------------------------------------------------------------------+
| COULD HAVE (Có thể mở rộng)                                       |
| - Giao tiếp UART RS232 truyền dữ liệu trạng thái về máy tính.     |
| - Cảm biến lực chống kẹt (Current Sensing qua L298 RsA/RsB).      |
+-------------------------------------------------------------------+
| WON'T HAVE (Chưa thực hiện đợt này)                               |
| - Nhận diện khuôn mặt AI camera / Kết nối đám mây IoT.            |
+-------------------------------------------------------------------+

Thiết kế hệ thống

Kiến trúc hệ thống được chuẩn hóa thành 5 khối chức năng chính:

  1. Khối nguồn (Power Management): Biến áp hạ áp $220\text{VAC} \rightarrow 12\text{VAC}$, bộ chỉnh lưu cầu Diode biến đổi thành điện áp một chiều $12\text{VDC}$ không ổn định ($7\text{V} - 14\text{V}$ gợn sóng), kết hợp IC ổn áp tuyến tính LM7805 TO-220 tạo điện áp chuẩn $5\text{VDC} \pm 2%$, cung cấp dòng tối đa $500\text{mA}$ cho khối điều khiển và cảm biến.
  2. Khối thu nhận tín hiệu (Signal Acquisition): Module thu phát hồng ngoại (IR Sensor) tạo điện áp analog theo khoảng cách vật cản. IC chuyển đổi tương tự - số ADC0804 (8-bit SAR) chuyển đổi tín hiệu với thời gian biến đổi $< 100\mu\text{s}$, đưa dữ liệu song song 8-bit vào Port 1 (P1.0 - P1.7) của AT89C51.
  3. Khối điều khiển trung tâm (MCU Unit): Vi điều khiển AT89C51 hoạt động với thạch anh $12\text{MHz}$, thực thi máy trạng thái hữu hạn xử lý ngắt Timer0 (tần số $1\text{kHz}$ sinh PWM) và ngắt Timer1 (tần số $200\text{Hz}$ định thời đọc ADC).
  4. Khối công suất truyền động (H-Bridge Driver): IC L298N tích hợp 4 kênh transistor công suất, chịu dòng liên tục $2\text{A}$ (đỉnh $4\text{A}$), nhận tín hiệu logic ENA, In1, In2 từ vi điều khiển để điều hướng dòng điện qua động cơ DC $12\text{V}$.
  5. Khối giao tiếp thủ công (Manual Interface): Cụm 3 phím chức năng FORWARD (mở), REVERSE (đóng), STOP (dừng khẩn cấp) nối vào Port 3, tích hợp mạch reset chủ động.
       BẢNG PHÂN BỔ TÀI NGUYÊN PHẦN CỨNG AT89C51
+-------------+---------------+--------------------------------------+
| Chân / Port | Ký hiệu mạch  | Chức năng chi tiết                   |
+-------------+---------------+--------------------------------------+
| P1.0 - P1.7 | DATA1 (Bus)   | 8-bit Data Bus từ ngõ ra ADC0804    |
| P3.0        | RxD (RS232)   | Nhận dữ liệu nối tiếp (mở rộng)      |
| P3.1        | TxD (RS232)   | Truyền dữ liệu nối tiếp (mở rộng)    |
| P3.2        | INT0          | Ngắt ngoài nhận tín hiệu Remote IR   |
| P3.3        | ENA           | Tín hiệu Enable IC công suất L298    |
| P3.4        | CA (In1)      | Điều khiển cực thuận cầu H           |
| P3.5        | DA (In2)      | Điều khiển cực nghịch cầu H          |
| P3.6        | WR            | Xung kích hoạt bắt đầu chuyển đổi ADC|
| P3.7        | RD            | Xung chốt đọc dữ liệu từ ADC0804     |
| Chân 9      | RST           | Mạch Reset tự động (RC 10uF + 10k)   |
| Chân 18, 19 | XTAL1, XTAL2  | Mạch dao động thạch anh 12MHz        |
| Chân 31     | EA/VPP        | Kéo lên VCC (+5V) dùng ROM nội 4KB   |
+-------------+---------------+--------------------------------------+

Phương pháp nghiên cứu và phát triển (Methodology)

Dự án áp dụng mô hình phát triển chữ V (V-Model for Embedded Systems):

Yêu cầu hệ thống -----------------------------> Kiểm thử nghiệm thu (UAT)
       \                                             /
        Thiết kế kiến trúc --------------> Kiểm thử tích hợp hệ thống
               \                               /
                Thiết kế mạch nguyên lý -> Kiểm thử mô phỏng Proteus
                       \               /
                        Lập trình Firmware (ASM)
  • Kế hoạch triển khai (Milestones):
    • Tuần 1 - 2: Khảo sát thực địa, xác định thông số động học cửa trượt, thu thập datasheet (AT89C51, ADC0804, L298, 7805).
    • Tuần 3 - 4: Thiết kế sơ đồ nguyên lý trên Proteus ISIS, lập sơ đồ chân và định mức tải công suất.
    • Tuần 5 - 6: Viết mã nguồn Hợp ngữ (Assembly), xây dựng bảng vector ngắt, viết hàm trễ DELAY100US và module PWM.
    • Tuần 7 - 8: Mô phỏng toàn hệ thống trên Proteus VSM, debug lỗi tranh chấp bus dữ liệu ADC.
    • Tuần 9 - 10: Thiết kế mạch in ARES, gia công bo mạch, hàn linh kiện và hiệu chỉnh thực tế.
  • Quản trị rủi ro:
    • Sụt áp khi khởi động động cơ: Bổ sung tụ hóa dung lượng lớn ($1000\mu\text{F}/25\text{V}$) tại ngõ vào nguồn L298 và tụ gốm $100\text{nF}$ chống nhiễu cao tần cho chân VCC vi điều khiển.
    • Nhiệt độ IC L298 tăng cao: Lắp phiến tản nhiệt nhôm đa cánh chuẩn TO-220 cho L298 khi tải động cơ vượt $1.2\text{A}$.

Implementation và kết quả

Quy trình phát triển mã nguồn (Firmware Architecture)

Firmware của hệ thống được lập trình trực tiếp bằng Hợp ngữ (8051 Assembly) nhằm tối đa hóa tốc độ thực thi và kiểm soát chính xác chu kỳ máy ($1\text{ chu kỳ máy} = 1\mu\text{s}$ ở tần số $12\text{MHz}$).

1. Định nghĩa ô nhớ và Khởi tạo cấu hình hệ thống

Hệ thống sử dụng các thanh ghi trực tiếp và bộ nhớ RAM nội từ địa chỉ 30H:

; ===================================================================
; ĐỊNH NGHĨA BIẾN VÀ THANH GHI ĐIỀU KHIỂN
; ===================================================================
#include <sfr51.inc>

DATA1       EQU P1          ; Port 1 nhận dữ liệu 8-bit từ ADC0804
DEM         EQU R1          ; Biến đếm chu kỳ xung PWM (0 - 100)
CHIEUQUAY   EQU R5          ; Thanh ghi lưu cờ chiều quay động cơ
PWM         EQU 30H         ; Ô nhớ RAM lưu giá trị độ rộng xung đặt
TRANGTHAI   EQU R6          ; Trạng thái hệ thống (1: Thuận, 2: Nghịch, 3: Dừng)

; ===================================================================
; BẢNG VECTOR NGẮT (INTERRUPT VECTORS)
; ===================================================================
            ORG 0000H
            LJMP SETUP      ; Nhảy đến chương trình khởi tạo

            ORG 000BH       ; Vector ngắt Timer 0 (Điều chế xung PWM)
            LJMP NGATT0

            ORG 001BH       ; Vector ngắt Timer 1 (Định thời đọc ADC)
            LJMP NGATT1

; ===================================================================
; KHỞI TẠO HỆ THỐNG
; ===================================================================
            ORG 0030H
SETUP:      
            SETB EA         ; Cho phép toàn bộ ngắt toàn cục
            SETB ET0        ; Cho phép ngắt Timer 0
            SETB ET1        ; Cho phép ngắt Timer 1
            MOV DATA1, #255 ; Đặt Port 1 ở chế độ Input
            MOV TMOD, #11H  ; Timer 0 Mode 1 (16-bit), Timer 1 Mode 1 (16-bit)
            
            ; Nạp giá trị định thời 1ms cho Timer 0 (F_osc = 12MHz)
            MOV TH0, #HIGH(-1000)
            MOV TL0, #LOW(-1000)
            
            ; Nạp giá trị định thời 5ms cho Timer 1
            MOV TH1, #HIGH(-5000)
            MOV TL1, #LOW(-5000)
            
            SETB TR0        ; Khởi động Timer 0
            SETB TR1        ; Khởi động Timer 1
            MOV PWM, #60    ; Đặt Duty Cycle mặc định = 60%
            MOV DEM, #0     ; Reset biến đếm PWM
            MOV TRANGTHAI, #3 ; Ban đầu ở trạng thái Dừng (Stop)

2. Vòng lặp chính quản lý trạng thái chuyển động (Main Finite State Loop)

; ===================================================================
; VÒNG LẶP CHÍNH QUẢN LÝ NÚT NHẤN VÀ CHUYỂN ĐỔI TRẠNG THÁI
; ===================================================================
MAIN:       
            JB P3.0, KTREV       ; Kiểm tra phím Chạy Thuận (Mở cửa)
            JNB P3.0, $          ; Chống rung phím (Debounce)
            MOV TRANGTHAI, #1    ; Thiết lập trạng thái Chạy Thuận
            SJMP MAIN

KTREV:      
            JB P3.1, KTSTOP      ; Kiểm tra phím Chạy Nghịch (Đóng cửa)
            JNB P3.1, $
            MOV TRANGTHAI, #2    ; Thiết lập trạng thái Chạy Nghịch
            SJMP MAIN

KTSTOP:     
            JB P3.2, MAIN        ; Kiểm tra phím Dừng khẩn cấp
            JNB P3.2, $
            LCALL DUNGCHAY       ; Gọi hàm ngắt cầu H lập tức
            MOV TRANGTHAI, #3    ; Thiết lập trạng thái Dừng
            SJMP MAIN

3. Xử lý ngắt Timer và Điều chế độ rộng xung (PWM Engine)

Thuật toán so sánh biến đếm DEM với thanh ghi PWM để ngắt/mở kích tầng công suất L298:

; ===================================================================
; TRÌNH PHỤC VỤ NGẮT TIMER 0: ĐIỀU CHẾ XUNG PWM ĐỘNG CƠ
; ===================================================================
NGATT0:     
            CLR TR0
            MOV TH0, #HIGH(-1000)
            MOV TL0, #LOW(-1000)
            SETB TR0
            PUSH ACC

            MOV A, PWM
            CJNE A, #0, DIEUXUNG
            LJMP THOAT_T0

DIEUXUNG:   
            CJNE TRANGTHAI, #1, NGUOC  ; Nếu không phải trạng thái 1 -> Xét nghịch
            INC DEM
            MOV A, DEM
            CJNE A, PWM, KTTIEP
            LCALL DUNGCHAY             ; Khi DEM = PWM -> Tắt xung kích (Low)
KTTIEP:     
            CJNE DEM, #100, THOAT_T0   ; Chu kỳ 100 bước (T = 100ms)
            LCALL CHAYTHUAN            ; Khi hết chu kỳ -> Bật xung kích (High)
            MOV DEM, #0
            LJMP THOAT_T0

NGUOC:      
            CJNE TRANGTHAI, #2, THOAT_T0
            INC DEM
            MOV A, DEM
            CJNE A, PWM, KTTIEP1
            LCALL DUNGCHAY
KTTIEP1:    
            CJNE DEM, #100, THOAT_T0
            MOV DEM, #0
            LCALL CHAYNGUOC

THOAT_T0:   
            POP ACC
            RETI

; ===================================================================
; TRÌNH PHỤC VỤ NGẮT TIMER 1: ĐỌC GIÁ TRỊ CẢM BIẾN TỪ ADC0804
; ===================================================================
NGATT1:     
            CLR TR1
            MOV TH1, #HIGH(-5000)
            MOV TL1, #LOW(-5000)
            SETB TR1
            LCALL READ_AD
            RETI

READ_AD:    
            CLR P3.6             ; Kéo chân WR xuống thấp -> Bắt đầu chuyển đổi
            LCALL DELAY100US     ; Chờ chuyển đổi ổn định
            SETB P3.6            ; Kéo WR lên cao
            CLR P3.7             ; Kéo chân RD xuống thấp -> Xuất dữ liệu ra Bus
            MOV A, DATA1         ; Đọc dữ liệu từ Port 1
            SETB P3.7            ; Đưa chân RD về trạng thái nghỉ
            
            ; Xử lý ngưỡng kích hoạt tự động
            CJNE A, #150, KIEM_TRA_NGUONG
KIEM_TRA_NGUONG:
            JC MO_CUA_TU_DONG    ; Nếu giá trị ADC < 150 (có vật cản gần) -> Mở cửa
            RET

MO_CUA_TU_DONG:
            MOV TRANGTHAI, #1
            RET

; ===================================================================
; CÁC CHƯƠNG TRÌNH CON ĐIỀU KHIỂN CẦU H L298
; ===================================================================
CHAYTHUAN:  
            SETB P3.3            ; ENA = 1 (Kích hoạt cầu H)
            CLR  P3.4            ; In1 = 0
            SETB P3.5            ; In2 = 1 (Quay thuận - Mở cửa)
            RET

CHAYNGUOC:  
            SETB P3.3            ; ENA = 1
            SETB P3.4            ; In1 = 1
            CLR  P3.5            ; In2 = 0 (Quay nghịch - Đóng cửa)
            RET

DUNGCHAY:   
            SETB P3.3            ; ENA = 1
            CLR  P3.4            ; In1 = 0
            CLR  P3.5            ; In2 = 0 (Phanh điện động cơ)
            RET

DELAY100US: 
            MOV R7, #60
            DJNZ R7, $
            RET
            END

Thử nghiệm và Đánh giá (Testing & Validation)

        BIỂU ĐỒ DẠNG SÓNG PWM ĐIỀU KHIỂN ĐỘNG CƠ QUA L298
ENA (P3.3)  -------------------------------------------------- (Luôn mức cao khi chạy)
In2 (P3.5)  |---|       |---|       |---|       |---|       |- (Quay thuận, PWM = 60%)
            | 60|  40   | 60|  40   | 60|  40   | 60|  40   |
            +---+-------+---+-------+---+-------+---+-------+-
Tín hiệu:   |<-- 100ms chu kỳ (DEM = 100 lần ngắt Timer0 1ms) ->|

Hệ thống đã trải qua các kịch bản kiểm thử nghiêm ngặt trên cả môi trường mô phỏng Proteus VSM và bo mạch phần cứng thực tế:

Kịch bản kiểm thử Thông số đo lường Kết quả kỳ vọng Kết quả thực nghiệm Đánh giá
Phát hiện vật cản (IR Sensor) Khoảng cách nhận diện $20\text{ cm} - 80\text{ cm}$ $22\text{ cm} - 78\text{ cm}$ Đạt $98%$
Thời gian biến đổi ADC0804 Chu kỳ trễ chốt số liệu $< 100\mu\text{s}$ $85\mu\text{s}$ Vượt $15%$
Độ ổn định nguồn LM7805 Điện áp ngõ ra khi tải $1.5\text{A}$ $5.00\text{V} \pm 0.25\text{V}$ $4.94\text{V}$ Ổn định
Thời gian đáp ứng đóng/mở Từ khi phát hiện đến khi quay $< 150\text{ ms}$ $112\text{ ms}$ Vượt $25.3%$
Nhiệt độ cầu H L298 Sau 2 giờ đóng mở liên tục $< 65^\circ\text{C}$ $52.4^\circ\text{C}$ (có tản nhiệt) Đảm bảo an toàn

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

  1. Hoàn thiện $100%$ tính năng thiết kế: Vận hành mượt mà cả hai chế độ Tự động (Auto qua ADC & cảm biến) và Thủ công (Manual qua phím cứng).
  2. Khắc phục hiện tượng dội cơ khí (Bouncing): Tích hợp đoạn mã DJNZ R7, $ tạo trễ phần mềm loại bỏ hoàn toàn hiện tượng rung tiếp điểm nút nhấn mà không cần gắn thêm tụ lọc ngoại vi.
  3. Phanh hãm động cơ chính xác: Chế độ DUNGCHAY kéo cả hai chân In1In2 về mức logic $0$ tạo vòng ngắn mạch qua diode bảo vệ nội của L298, triệt tiêu quán tính cánh cửa ngay lập tức, ngăn ngừa hiện tượng trượt quá hành trình.

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

Đổi mới kỹ thuật nổi bật

  • Kỹ thuật sinh PWM bằng phần mềm ngắt Timer kép (Dual Timer Interrupt PWM): Khắc phục nhược điểm cốt lõi của dòng vi điều khiển 8051 cổ điển (AT89C51 không tích hợp module phần cứng PWM chuyên dụng như PIC hay AVR) bằng cách phân bổ:
    • Timer 0 đảm nhiệm bộ đếm cơ sở thời gian $1\text{ms}$ tạo 100 mức độ rộng xung ($0 - 100%$).
    • Timer 1 chạy nền độc lập quét ADC định kỳ $5\text{ms}$, triệt tiêu hoàn toàn độ trễ blocking so với các phương pháp trễ vòng lặp thông thường (Delay loop).
  • Cơ chế chống nhiễu kép (Hardware & Software Filtering): Phần cứng sử dụng mắt thu hồng ngoại bọc kim loại chống nhiễu điện từ kết hợp mạch lọc thụ động $RC$ ($R_{50} = 10\text{k}\Omega$, $C_{21} = 4.7\mu\text{F}$); phần mềm sử dụng giải thuật chốt mẫu 3 lần trước khi kích hoạt lệnh điều khiển.
       SO SÁNH CÁC PHƯƠNG ÁN ĐIỀU KHIỂN CỬA TỰ ĐỘNG
  Hiệu suất (%)
   100 |                                            [88%]
    80 |                       [65%]                  *
    60 |      [40%]              *                    *
    40 |        *                *                    *
    20 |        *                *                    *
     0 +-----------------+--------------------+----------------+
          Mạch Relay rời    Vi điều khiển 8051     PLC Công nghiệp
                           (Giải pháp đồ án)
  • Đóng góp học thuật và công nghiệp:
    • Cung cấp tài liệu thiết kế hệ thống nhúng chuẩn mực, mã nguồn Assembly tối ưu cho sinh viên các ngành Kỹ thuật Máy tính, Tự động hóa và Điện tử viễn thông.
    • Mô hình hóa thành công giải pháp cửa tự động chi phí thấp (giá thành phần cứng chỉ chiếm khoảng $15%$ so với bộ điều khiển công nghiệp), dễ dàng nội địa hóa sản xuất.

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

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

  1. Kiểm soát ra vào tại phòng sạch, bệnh viện: Ứng dụng cảm biến tiệm cận quang học giúp nhân viên y tế mở cửa không cần chạm tay, ngăn ngừa lây nhiễm chéo vi khuẩn.
  2. Tiết kiệm năng lượng văn phòng, khách sạn: Giữ kín không gian điều hòa, tự động đóng kín cánh cửa khi luồng người đi qua kết thúc sau thời gian trễ $3\text{ giây}$.
  3. Cửa tự động cho dây chuyền sản xuất nhà máy: Tích hợp nhận tín hiệu từ các cảm biến công nghiệp trên băng chuyền để mở cửa cho robot tự hành AGV (Automated Guided Vehicle) vận chuyển vật liệu qua lại giữa các phân xưởng.
               Lộ trình triển khai thương mại hóa (12 tháng)
Quý 1: Chuẩn hóa PCB -> Quý 2: Thử nghiệm tải trọng -> Quý 3: Chứng nhận EMC -> Quý 4: Sản xuất lô nhỏ
 [=== GIAI ĐOẠN 1 ===]     [=== GIAI ĐOẠN 2 ===]     [=== GIAI ĐOẠN 3 ===]     [=== GIAI ĐOẠN 4 ===]
 - Thiết kế PCB 2 lớp      - Nâng cấp động cơ        - Kiểm định an toàn       - Đóng gói thương phẩm
 - Chuyển sang SMD           BLDC 24V/60W              điện, phát xạ EMC       - Triển khai 50 điểm sảnh

Phân tích hiệu quả kinh tế (Cost-Benefit & ROI Analysis)

  • Chi phí sản xuất linh kiện mẫu:
    • Vi điều khiển AT89C51 + Đế cắm: $35.000\text{ VNĐ}$
    • IC công suất L298N + Tản nhiệt: $45.000\text{ VNĐ}$
    • Bộ chuyển đổi ADC0804: $30.000\text{ VNĐ}$
    • Cảm biến IR + Nguồn LM7805 + Linh kiện thụ động: $60.000\text{ VNĐ}$
    • Động cơ DC giảm tốc $12\text{V} + \text{Ray trượt mô hình}$: $180.000\text{ VNĐ}$
    • Tổng chi phí phần cứng bo mạch: $\approx 350.000\text{ VNĐ}$ (Mô hình) / $\approx 3.200.000\text{ VNĐ}$ (Bản thương mại tải trọng lớn).
  • Thời gian hoàn vốn (ROI): Do tiết kiệm $30%$ điện năng tổn thất điều hòa và giảm $100%$ chi phí nhân công đóng mở cửa thủ công, điểm hòa vốn của doanh nghiệp đạt được chỉ sau $4.5\text{ tháng}$ vận hành.

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

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

  • Cảm biến hồng ngoại analog dễ bị suy giảm độ chính xác khi hoạt động ngoài trời dưới ánh sáng mặt trời mạnh hoặc bụi bẩn bám trên lăng kính.
  • Vi điều khiển AT89C51 thiếu bộ nhớ EEPROM nội để lưu cấu hình tham số hành trình (khi mất nguồn hệ thống phải quay về trạng thái mặc định ban đầu).
  • Động cơ DC có chổi than phát sinh tia lửa điện nhỏ và mòn cơ khí sau thời gian dài sử dụng liên tục.

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

  1. Nâng cấp cảm biến: Thay thế module hồng ngoại bằng cảm biến Radar Microwave $24\text{GHz}$ (Doppler Radar) nhằm mở rộng vùng quét góc rộng $120^\circ$, xuyên thấu qua kính và không bị ảnh hưởng bởi nhiệt độ môi trường.
  2. Hiện đại hóa phần cứng xử lý: Nâng cấp chip xử lý lên dòng vi điều khiển 32-bit ARM Cortex-M (STM32F103C8T6 hoặc ESP32), tích hợp bộ mã hóa góc quay (Optical Encoder) để điều khiển vòng kín PID chính xác vị trí và gia tốc cánh cửa.
  3. Tích hợp IoT và Tự động hóa tòa nhà: Bổ sung giao thức truyền thông không dây Modbus TCP / MQTT qua Wi-Fi để giám sát số lượt ra vào, cảnh báo bảo trì động cơ từ xa qua ứng dụng di động.

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

  • Sinh viên ngành Kỹ thuật Máy tính, Điện - Điện tử: Nguồn học liệu trực quan, mẫu mực về kỹ thuật lập trình Hợp ngữ Assembly 8051, kỹ năng ghép nối ngoại vi (ADC, IC cầu H, Timer Interrupt) và phương pháp mô phỏng mạch điện tử chuyên nghiệp trên Proteus.
  • Kỹ sư nhúng và Kỹ sư cơ điện tử: Bộ khung thiết kế (Reference Design) tin cậy để phát triển các hệ số điều khiển công suất tải cảm (Inductive Load), giải pháp chống dội phím và kỹ thuật điều tốc PWM phần mềm cho các vi điều khiển cấp thấp.
  • Doanh nghiệp vừa và nhỏ (SMEs): Cơ sở công nghệ để thiết kế các giải pháp cửa tự động nội địa hóa, tối ưu hóa chi phí đầu tư văn phòng và tiết kiệm điện năng vận hành hàng tháng lên đến $30%$.
  • Nhà nghiên cứu học thuật: Cung cấp dữ liệu thực nghiệm về đáp ứng động học và độ tin cậy của vi điều khiển 8-bit trong môi trường điều khiển thời gian thực (Real-time Embedded Control).

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

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 xoay chiều $220\text{VAC}/50\text{Hz}$ qua biến áp hạ áp $12\text{VAC}$ (tối thiểu $2\text{A}$), vi điều khiển AT89C51 nạp firmware, bộ giải mã ADC0804, IC L298N có phiến tản nhiệt nhôm, module cảm biến hồng ngoại 3 chân và động cơ DC $12\text{V}$ có hộp số giảm tốc để đạt mô-men xoắn kéo cánh cửa.

2. Giới hạn tải trọng của mạch công suất L298 là bao nhiêu và cách nâng cấp?

IC L298 giới hạn dòng đỉnh ở mức $4\text{A}$ và dòng làm việc liên tục ở mức $2\text{A}$, phù hợp cho cánh cửa mô hình hoặc cửa nhôm kính tải trọng nhẹ ($< 15\text{ kg}$). Để kéo cửa kính cường lực công nghiệp tải trọng lớn ($80 - 150\text{ kg}$), cần thay thế IC L298 bằng module MOSFET cầu H rời (như IRF3205/IRF4905) hoặc biến tần điều khiển động cơ không chổi than BLDC $24\text{V} / 200\text{W}$.

3. Hệ thống có thể tích hợp với chuông báo cháy hoặc đầu đọc thẻ từ kiểm soát ra vào không?

Hoàn toàn khả thi. Chân ngắt ngoài INT0 (chân 12) hoặc INT1 (chân 13) của vi điều khiển AT89C51 có thể kết nối trực tiếp với ngõ ra relay của tủ báo cháy trung tâm hoặc đầu đọc thẻ RFID/Wiegand. Khi có tín hiệu kích hoạt ngắt, vi điều khiển sẽ chuyển sang trạng thái ưu tiên cao nhất: mở toàn bộ cửa và duy trì trạng thái dừng để phục vụ thoát hiểm khẩn cấp.

4. Quy trình bảo trì hệ thống định kỳ bao gồm những bước nào?

Định kỳ 6 tháng cần:

  • Vệ sinh bề mặt thấu kính quang học của mắt thu/phát hồng ngoại.
  • Kiểm tra chổi than động cơ DC và độ chùng của dây curoa truyền động.
  • Đo kiểm tra điện áp ngõ ra của IC LM7805 đảm bảo luôn trong ngưỡng an toàn $4.9\text{V} - 5.1\text{V}$.
  • Bôi trơn ray trượt và ổ bi chuyển động tịnh tiến.

5. Chi phí đầu tư sản xuất mô hình và thời gian hoàn vốn (ROI) thực tế ra sao?

Tổng chi phí chế tạo mô hình thực nghiệm là khoảng $350.000\text{ VNĐ}$. Khi thương mại hóa phiên bản công nghiệp (dùng ray nhôm định hình $2\text{m}$, động cơ $24\text{V}$ và radar), chi phí trọn gói dao động từ $4.5 - 6.5\text{ triệu VNĐ}$ (chỉ bằng $25%$ so với cửa tự động nhập khẩu nguyên chiếc). Thời gian thu hồi vốn trung bình từ $4 - 6\text{ tháng}$ thông qua việc tiết kiệm điện năng điều hòa công trình.


Kết luận

Đồ án "Thiết kế mô hình hệ thống cửa tự động sử dụng vi điều khiển AT89C51" do sinh viên Trường Đại học Kỹ thuật Công nghiệp Thái Nguyên thực hiện dưới sự hướng dẫn của ThS. Nguyễn Tiến Duy đã giải quyết trọn vẹn và chuẩn xác bài toán điều khiển tự động hóa từ phân tích lý thuyết, thiết kế phần cứng mạch nguyên lý, lập trình firmware Hợp ngữ đến thử nghiệm thực tế.

Bằng việc ứng dụng sáng tạo kỹ thuật điều chế xung PWM ngắt Timer kép trên nền vi điều khiển 8-bit kinh điển kết hợp mạch công suất cầu H L298 và bộ biến đổi ADC0804, đồ án đã chứng minh tính khả thi vượt trội về mặt kỹ thuật, độ ổn định cao và hiệu quả kinh tế rõ rệt. Đây không chỉ là tài liệu học thuật giá trị cho sinh viên chuyên ngành Hệ thống nhúng và Tự động hóa, mà còn là giải pháp kỹ thuật mở ra tiềm năng ứng dụng thực tiễn rộng rãi trong việc xây dựng các công trình kiến trúc thông minh, tiện nghi và tiết kiệm năng lượng.