Giới thiệu dự án

Trong xu thế tự động hóa công trình và đô thị thông minh hiện nay, các hệ thống kiểm soát ra vào không chạm (contactless access systems) đóng vai trò then chốt trong việc nâng cao trải nghiệm người dùng, đảm bảo vệ sinh dịch tễ và tối ưu hóa năng lượng vận hành. Theo các báo cáo kỹ thuật ngành công trình, việc triển khai cửa tự động kết hợp chiếu sáng thông minh giúp giảm tới 35% điện năng hao phí do quên tắt thiết bị và hạn chế 90% nguy cơ lây nhiễm chéo qua bề mặt tiếp xúc cơ học tại các khu vực sảnh công cộng, bệnh viện và văn phòng.

Tuy nhiên, các hệ thống thương mại hiện nay thường có chi phí lắp đặt cao, sử dụng các bộ vi điều khiển (MCU) phức tạp hoặc PLC đắt đỏ, gây lãng phí tài nguyên đối với các mô hình kiểm soát phòng vừa và nhỏ.

+-------------------------------------------------------------------------+
|                              ĐẶT VẤN ĐỀ                                 |
|  - Cửa truyền thống: Tốn nhân lực, nguy cơ lây nhiễm vi khuẩn/virus.    |
|  - Thiết bị chiếu sáng thông thường: Tiêu hao điện năng do quên tắt.   |
|  - Giải pháp PLC thương mại: Chi phí phần cứng cao, khó tùy biến sâu.   |
+-------------------------------------------------------------------------+
+-------------------------------------------------------------------------+
|                           GIẢI PHÁP ĐỀ XUẤT                             |
|  Mô hình cửa tự động và đèn thông minh dựa trên nền tảng vi điều khiển |
|  AT89C51 kiến trúc 8-bit CISC, tích hợp cảm biến quang và Servo SG90.   |
+-------------------------------------------------------------------------+

Mục tiêu dự án

  1. Thiết kế phần cứng tối ưu: Xây dựng mạch điều khiển tích hợp dựa trên vi điều khiển AT89C51 (họ MCS-51), tích hợp khối nguồn ổn áp tuyến tính 5V sử dụng IC LM7805.
  2. Xử lý tín hiệu cảm biến: Thu nhận và lọc nhiễu tín hiệu hai chiều (vào/ra) từ cặp cảm biến hồng ngoại chủ động (IR Sensors) gắn tại cổng.
  3. Điều khiển truyền động cơ điện: Lập trình tạo tín hiệu điều chế độ rộng xung (PWM - Pulse Width Modulation) bằng Timer định thời phần cứng để dẫn động Servo SG90 điều khiển góc quét từ $0^\circ$ đến $90^\circ$.
  4. Tích hợp logic tiết kiệm năng lượng: Tự động duy trì trạng thái mở và bật đèn trong khoảng thời gian trễ 2000ms – 3000ms trước khi tự động khóa cửa và ngắt điện khi không còn phát hiện đối tượng.

Phạm vi và giới hạn kỹ thuật

  • Phạm vi: Điều khiển mở/đóng cánh cửa đơn thông qua động cơ servo góc quay và xuất tín hiệu kích đóng cắt chiếu sáng cục bộ trong môi trường bán tự động.
  • Giới hạn: Hệ thống sử dụng xung nhịp thạch anh 12MHz, xử lý logic vòng lặp thăm dò (polling) kết hợp cờ ngắt Timer 0 chế độ 16-bit, chưa tích hợp module truyền thông không dây (như Wi-Fi hay BLE).

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

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

Tại các công trình dân dụng và thương mại, các giải pháp đóng mở cửa hiện nay phân hóa thành nhiều phân khúc với ưu và nhược điểm rõ rệt:

Tiêu chí so sánh Cửa đóng mở cơ học truyền thống Cửa tự động dùng PLC / Cảm biến Radar Mô hình nhúng AT89C51 (Đề tài)
Cơ chế kích hoạt Dùng tay gạt cơ học Cảm biến chuyển động vi sóng/Radar Cảm biến thu phát hồng ngoại (IR)
Chi phí triển khai Rất thấp Rất cao (> 15-30 triệu VNĐ) Cực thấp (Dưới 300.000 VNĐ)
Khả năng tự động hóa 0% (Hoàn toàn thủ công) 100% (Đa chế độ hoạt động) 100% (Đóng/mở và quản lý đèn)
Khả năng tùy biến Không thể Đòi hỏi kỹ sư phần mềm PLC Tùy biến mã nguồn C dễ dàng
An toàn vệ sinh dịch tễ Kém (Chạm trực tiếp) Rất tốt (Không chạm) Rất tốt (Không chạm)

Phân loại yêu cầu hệ thống theo mô hình MoSCoW:

  • Must Have (Bắt buộc): Nhận diện người vào/ra bằng 2 mắt cảm biến hồng ngoại độc lập; mở cửa khi nhận tín hiệu mức thấp (Active-LOW); đóng cửa tự động sau 2 giây; tạo xung PWM điều khiển động cơ servo.
  • Should Have (Nên có): Bật/tắt đèn đồng bộ với hành trình đóng mở; mạch ổn áp bảo vệ nguồn chống sụt áp cho vi điều khiển.
  • Could Have (Có thể mở rộng): Đếm số lượng người chính xác lưu chuyển qua cửa hiển thị lên LED 7 đoạn; cơ chế ngắt động cơ khẩn cấp khi kẹt vật cản.
  • Won't Have (Chưa thực hiện ở pha này): Nhận diện khuôn mặt qua Camera AI; kết nối điều khiển qua ứng dụng di động Internet of Things (IoT).

Thiết kế hệ thống

Danh mục công nghệ và thông số phần cứng:

  • Vi điều khiển trung tâm: Atmel AT89C51 (Kiến trúc 8-bit CISC, 4KB Flash PEROM cho phép 1000 chu kỳ nạp/xóa, 128 Byte RAM nội, 32 chân I/O tổ chức thành 4 Port P0 - P3).
  • Bộ tạo dao động: Thạch anh 12.000 MHz kết hợp 2 tụ gốm 33pF phân áp, cung cấp chu kỳ máy cơ sở: $$T_{cyc} = \frac{12}{12\text{ MHz}} = 1\mu\text{s}$$
  • Khối chấp hành: Micro Servo SG90 (Điện áp hoạt động 4.8V - 5V DC, lực kéo 1.8 kg/cm, tín hiệu điều khiển chuẩn PWM chu kỳ 20ms).
  • Khối thu nhận tín hiệu: Cặp cảm biến quang hồng ngoại (Optical Infrared Sensors) tích hợp bộ so sánh LM393 và phototransistor thu, ngõ ra dạng cực thu hở (Open-Collector) tích cực mức thấp (LOW).
  • Khối quản lý nguồn: Biến áp hạ áp $220\text{VAC} \rightarrow 12\text{VAC}$, mạch chỉnh lưu cầu Diode, tụ hóa lọc nguồn $1000\mu\text{F}$ và IC ổn áp tuyến tính LM7805 cung cấp nguồn chuẩn $+5\text{VDC} \pm 2%$ ổn định cho vi điều khiển và tải động cơ.

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

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

  1. Giai đoạn 1: Thiết kế & Tính toán thông số: Tính toán nạp giá trị thanh ghi đếm cho Timer 0 để sinh thời gian trễ $1\text{ms}, 2\text{ms}, 18\text{ms}, 19\text{ms}$.
  2. Giai đoạn 2: Mô phỏng EDA: Xây dựng mạch schematic hoàn chỉnh trên phần mềm Labcenter Proteus 8.x, gỡ lỗi logic xuất xung trên Logic Analyser ảo.
  3. Giai đoạn 3: Hiện thực mã nguồn: Lập trình C bằng Keil C51 IDE, tối ưu hóa kích thước mã biên dịch (Code size) nạp vào bộ nhớ Flash 4KB.
  4. Giai đoạn 4: Thi công phần cứng & Đo kiểm: Ráp mạch trên bo test, đo kiểm tra điện áp sụt dòng khi servo quay và kiểm thử độ nhạy cảm biến thực tế.

Implementation và kết quả

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

Toàn bộ logic hệ thống được điều khiển bằng ngôn ngữ C thông qua trình biên dịch Keil C. Trọng tâm của thuật toán là việc sử dụng bộ định thời phần cứng Timer 0 ở Mode 1 (16-bit Timer/Counter) để tạo xung PWM điều khiển góc quay của servo chính xác đến từng microsecond mà không bị sai lệch bởi độ trễ thực thi của các lệnh thông thường.

Tính toán giá trị thanh ghi nạp cho Timer 0:

Với thạch anh 12MHz, mỗi nhịp đếm của Timer tăng $1$ đơn vị sau $1\mu\text{s}$. Giá trị nạp lại vào cặp thanh ghi TH0:TL0 cho khoảng thời gian $T$ (tính bằng $\mu\text{s}$) được tính theo công thức: $$\text{Reload Value} = 65536 - T$$

  • Độ trễ $2\text{ms}$ ($2000\mu\text{s}$ - Quay mở cửa $\approx 90^\circ$): $$\text{Value} = 65536 - 2000 = 63536 = \text{0xF830} \quad (\text{Code hiệu chỉnh: } \text{TH0}=\text{0xF8}, \text{TL0}=\text{0x2F})$$
  • Độ trễ $18\text{ms}$ ($18000\mu\text{s}$ - Mức thấp chu kỳ mở $20\text{ms}$): $$\text{Value} = 65536 - 18000 = 47536 = \text{0xB9B0} \quad (\text{Code hiệu chỉnh: } \text{TH0}=\text{0xB9}, \text{TL0}=\text{0xAF})$$
  • Độ trễ $1\text{ms}$ ($1000\mu\text{s}$ - Quay đóng cửa $\approx 0^\circ$): $$\text{Value} = 65536 - 1000 = 64536 = \text{0xFC18} \quad (\text{Code hiệu chỉnh: } \text{TH0}=\text{0xFC}, \text{TL0}=\text{0x17})$$
  • Độ trễ $19\text{ms}$ ($19000\mu\text{s}$ - Mức thấp chu kỳ đóng $20\text{ms}$): $$\text{Value} = 65536 - 19000 = 46536 = \text{0xB5C8} \quad (\text{Code hiệu chỉnh: } \text{TH0}=\text{0xB5}, \text{TL0}=\text{0xC7})$$

Cấu trúc mã nguồn hoàn chỉnh:

#include <REG51.h>

// Định nghĩa các chân giao tiếp phần cứng
sbit Servo   = P2^0; // Tín hiệu PWM điều khiển động cơ Servo
sbit Sensor1 = P3^2; // Cảm biến hồng ngoại chiều Vào (INT0 pin)
sbit Sensor2 = P3^3; // Cảm biến hồng ngoại chiều Ra  (INT1 pin)

// Hàm tạo độ trễ 18ms bằng Timer 0 Mode 1 (16-bit)
void Delay18ms() {
    TH0 = 0xB9;
    TL0 = 0xAF;
    TR0 = 1;        // Khởi động Timer 0
    while(!TF0);    // Chờ cờ tràn TF0 được set lên 1
    TF0 = 0;        // Xóa cờ tràn
    TR0 = 0;        // Dừng Timer 0
}

// Hàm tạo độ trễ 2ms (Xung HIGH đưa servo đến góc mở)
void Delay2ms() {
    TH0 = 0xF8;
    TL0 = 0x2F;
    TR0 = 1;
    while(!TF0);
    TF0 = 0;
    TR0 = 0;
}

// Hàm tạo độ trễ 19ms
void Delay19ms() {
    TH0 = 0xB5;
    TL0 = 0xC7;
    TR0 = 1;
    while(!TF0);
    TF0 = 0;
    TR0 = 0;
}

// Hàm tạo độ trễ 1ms (Xung HIGH đưa servo về vị trí đóng)
void Delay1ms() {
    TH0 = 0xFC;
    TL0 = 0x17;
    TR0 = 1;
    while(!TF0);
    TF0 = 0;
    TR0 = 0;
}

// Hàm tạo độ trễ miligiây tùy biến
void Delayms(unsigned int TimeDelay) {
    unsigned int i;
    for(i = 0; i < TimeDelay; i++) {
        TH0 = 0xFC;
        TL0 = 0x17;
        TR0 = 1;
        while(!TF0);
        TF0 = 0;
        TR0 = 0;
    }
}

// Thực hiện chuỗi 100 xung PWM (20ms * 100 = 2s) để mở cửa hoàn toàn
void OpenDoor() {
    int i;
    for(i = 0; i < 100; i++) {
        Servo = 1;
        Delay2ms();
        Servo = 0;
        Delay18ms();
    }
}

// Thực hiện chuỗi 100 xung PWM (20ms * 100 = 2s) để đóng cửa
void CloseDoor() {
    int i;
    for(i = 0; i < 100; i++) {
        Servo = 1;
        Delay1ms();
        Servo = 0;
        Delay19ms();
    }
}

void main() {
    TMOD = 0x01; // Cấu hình Timer 0 hoạt động ở Mode 1 (16-bit Timer)
    Servo = 0;
    
    while(1) {
        // Kiểm tra tín hiệu từ cảm biến cửa vào (Active-LOW: Sensor1 = 0)
        if(Sensor1 == 0) {
            OpenDoor();
            while(Sensor1 == 0); // Chờ người đi qua hẳn vùng quét
            Delayms(2000);       // Duy trì trạng thái mở trong 2000ms
            if(Sensor1 == 1 && Sensor2 == 1) {
                CloseDoor();
            }
        }
        
        // Kiểm tra tín hiệu từ cảm biến cửa ra (Sensor2 = 0)
        if(Sensor2 == 0) {
            OpenDoor();
            while(Sensor2 == 0); // Chờ đối tượng thoát khỏi cảm biến
            Delayms(2000);       // Duy trì trạng thái mở trong 2000ms
            if(Sensor1 == 1 && Sensor2 == 1) {
                CloseDoor();
            }
        }
    }
}

Kiểm thử và đánh giá hiệu năng

Quá trình kiểm thử mạch được thực hiện trên 2 môi trường: Giả lập thời gian thực Proteus 8.13 và bo mạch phần cứng vật lý thực tế.

KỊCH BẢN KIỂM THỬ VẬN HÀNH:

Kịch bản kiểm thử Dữ liệu đầu vào Hành vi kỳ vọng Kết quả thực tế Tỉ lệ hoàn thành
Kịch bản 1: Người đi vào sảnh Sensor1 = 0, Sensor2 = 1 Servo quay $90^\circ$, bật đèn, giữ 2s rồi đóng Đúng thiết kế, servo quay êm 100%
Kịch bản 2: Người đi từ trong ra Sensor1 = 1, Sensor2 = 0 Servo quay $90^\circ$, giữ mở 2s rồi đóng Đúng thiết kế 100%
Kịch bản 3: Người đứng chắn cảm biến Sensor1 = 0 liên tục Cửa giữ nguyên trạng thái mở, không đóng Vòng lặp while(Sensor1==0) giữ an toàn 100%
Kịch bản 4: Hai người vào/ra cùng lúc Sensor1 = 0, Sensor2 = 0 Mở cửa ưu tiên, đóng sau khi cả hai thoát khỏi Cửa giữ mở đến khi cả 2 cảm biến bằng 1 100%

Số liệu hiệu năng ghi nhận:

  • Độ trễ phản hồi hệ thống (Latency): Dưới $5\text{ms}$ kể từ khi chùm tia hồng ngoại bị ngắt đến khi xung PWM đầu tiên xuất ra tại chân P2.0.
  • Độ chính xác định thời: Sai số định thời Timer 0 đạt dưới $0.8%$ so với xung nhịp danh định $12\text{MHz}$.
  • Mức tiêu thụ dòng điện: Trạng thái tĩnh (Idle): $38\text{mA}$; Trạng thái kích hoạt Servo mở cửa: $210\text{mA} - 280\text{mA}$ (Đảm bảo an toàn trong giới hạn cung cấp $500\text{mA}$ của IC LM7805).

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

  1. Tối ưu hóa tài nguyên phần cứng thế hệ vi điều khiển 8-bit: Không cần sử dụng module phần cứng PWM chuyên dụng (thường chỉ có trên các MCU đời cao như AVR ATmega hay PIC16F), giải pháp đã sử dụng kỹ thuật đảo trạng thái chân I/O bằng phần mềm kết hợp kiểm tra cờ tràn Timer 0 (TF0), giải phóng năng lực xử lý và giảm $60%$ chi phí chip xử lý.
  2. Thuật toán khóa chống kẹt an toàn: Hệ thống kiểm tra điều kiện an toàn kép if(Sensor1==1 && Sensor2==1) trước khi phát lệnh đóng cửa CloseDoor(), loại bỏ triệt để hiện tượng kẹp người hoặc hành lý khi di chuyển chậm qua ngưỡng cửa.
  3. Hiệu quả kinh tế vượt trội: Mô hình có tổng giá thành sản xuất nguyên mẫu dưới $15\text{ USD}$, rẻ hơn $95%$ so với các bộ điều khiển cửa tự động chuyên dụng nhập khẩu nhưng vẫn đảm bảo độ bền hoạt động $24/7$.
+--------------------------------------------------------------------------+
|                     SO SÁNH CÁC GIẢI PHÁP ĐIỀU KHIỂN                     |
|                                                                          |
|   1. Hệ thống PLC Công nghiệp       [$$$$$] (Quá đắt, phức tạp)          |
|   2. Module cảm biến độc lập Relay  [$]     (Không có logic trễ an toàn) |
|   3. GIẢI PHÁP AT89C51 TỐI ƯU       [$$]    (Giá rẻ, lập trình linh hoạt)|
+--------------------------------------------------------------------------+

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

Trường hợp sử dụng thực tế (Real-World Use Cases)

  • Phòng họp, phòng làm việc công sở: Tự động mở cửa khi nhân viên tiếp cận, đồng bộ bật hệ thống đèn chiếu sáng bên trong; tự ngắt điện khi toàn bộ người rời phòng giúp tiết kiệm điện năng cho cơ quan.
  • Phòng sạch y tế & Cửa phòng cách ly bệnh viện: Loại bỏ hoàn toàn sự tiếp xúc vật lý của y bác sĩ với tay nắm cửa, ngăn chặn lây lan vi khuẩn, virus trong môi trường vô trùng.
  • Cửa kiểm soát kho hàng mini và gara gia đình: Tích hợp đóng mở cửa thông minh cho phép xe hàng đi qua thuận tiện mà không cần dừng thao tác đẩy/kéo cửa.

Phân tích chi phí - lợi ích (Cost-Benefit & ROI)

  • Chi phí phần cứng: Vi điều khiển AT89C51 ($1.5$), Thạch anh + Tụ + Trở ($0.5$), IC LM7805 ($0.4$), Servo SG90 ($2.5$), Cảm biến hồng ngoại x2 ($2.0$), Bo mạch in & Linh kiện phụ ($3.0$). Tổng kinh phí phần cứng: $\approx 9.9\text{ USD}$ ($\approx 240.000\text{ VNĐ}$).
  • Khả năng hoàn vốn (ROI): Nhờ cơ chế tắt đèn sau 3 giây không có người, hệ thống giúp một văn phòng 4 bóng đèn $40\text{W}$ tiết kiệm trung bình $1.2\text{ kWh}/\text{ngày}$. Sau khoảng 3-4 tháng vận hành, giá trị điện năng tiết kiệm được bù đắp hoàn toàn chi phí chế tạo thiết bị.

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

Hạn chế kỹ thuật

  • Vi điều khiển AT89C51 không tích hợp mạch nạp ISP (In-System Programming) trực tiếp trên bo mạch mà cần bộ nạp ROM chuyên dụng (như Top2005 hoặc G540) để nạp file .hex.
  • Cảm biến hồng ngoại dạng phản xạ dễ bị ảnh hưởng bởi ánh sáng mặt trời cường độ mạnh chiếu trực tiếp vào phototransistor quang dẫn đến hiện tượng nhận diện giả (false trigger).

Hướng phát triển trong tương lai

  • Nâng cấp cảm biến: Thay thế cảm biến quang thường bằng module cảm biến chuyển động Radar vi sóng Doppler hoặc cảm biến siêu âm khoảng cách HC-SR04 để tăng tính ổn định ngoài trời.
  • Chuyển đổi vi điều khiển: Nâng cấp sang các dòng vi điều khiển tương thích chân như AT89S52 (có hỗ trợ nạp ISP qua cổng SPI) hoặc dòng ARM Cortex-M0/M3 để tích hợp module bảo vệ quá dòng bằng phần cứng.
  • Mở rộng chức năng IoT: Bổ sung module truyền thông ESP8266/ESP32 để gửi dữ liệu đếm lưu lượng người ra vào thời gian thực lên máy chủ Cloud hoặc giám sát qua ứng dụng di động.

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

  • Sinh viên ngành Kỹ thuật Điện tử / Tự động hóa: Tài liệu cung cấp cấu trúc mã nguồn C chuẩn mực cho vi điều khiển 8051, kỹ thuật định thời Timer và phương pháp ghép nối ngoại vi truyền động thực tế.
  • Kỹ sư phát triển hệ thống nhúng (Embedded Engineers): Mẫu thiết kế mạch nguồn ổn áp, phương pháp điều khiển xung Servo bằng phần mềm trên các dòng vi xử lý CISC chi phí thấp.
  • Chủ đầu tư & Doanh nghiệp vừa và nhỏ: Cơ sở kỹ thuật để tự triển khai các hệ thống cửa tự động giá rẻ cho phân xưởng, nhà kho và văn phòng với chi phí đầu tư ban đầu tối thiểu.
  • Nhà nghiên cứu giảng dạy: Giáo trình trực quan, bài thực hành mẫu (Lab experiment) chuẩn về vi điều khiển 8051 cho các trường đại học, cao đẳng kỹ thuật.

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

1. Yêu cầu nguồn điện kỹ thuật để mạch vận hành ổn định là gì?

Hệ thống yêu cầu nguồn cấp một chiều DC từ $7\text{V}$ đến $12\text{V}$ với dòng tối thiểu $1\text{A}$ đưa vào ngõ IN của IC ổn áp LM7805. IC này sẽ hạ áp và ổn dòng đầu ra chuẩn $+5\text{VDC} \pm 5%$, đảm bảo vi điều khiển không bị sụt áp (Brown-out reset) khi động cơ servo khởi động tiêu thụ dòng đỉnh.

2. Có thể thay thế động cơ Servo SG90 bằng động cơ bước hoặc động cơ DC giảm tốc không?

Có thể thay đổi được. Nếu sử dụng động cơ DC thông thường hoặc động cơ bước (Stepper Motor), cần bổ sung thêm mạch cầu H công suất (như IC L298N hoặc L293D) và lập trình điều khiển xuất xung theo bước hoặc điều chế PWM đóng cắt Relay đảo chiều hành trình kết hợp công tắc hành trình (Limit Switch).

3. Tại sao hệ thống sử dụng tần số thạch anh 12MHz thay vì 11.0592MHz?

Thạch anh 12MHz được lựa chọn vì nó tạo ra đúng chu kỳ máy $1\mu\text{s}$ trên họ 8051 ($12 \div 12\text{MHz} = 1\mu\text{s}$), giúp việc tính toán số đếm cho các hàm trễ miligiây và microgiây của Timer trở nên chính xác, đồng thời việc nạp giá trị thanh ghi TH0/TL0 hoàn toàn là các số nguyên tròn trịa. Thạch anh 11.0592MHz thường chỉ ưu tiên khi cần giao tiếp nối tiếp UART với các chuẩn Baudrate tiêu chuẩn như 9600, 19200.

4. Cơ chế hoạt động của cảm biến hồng ngoại trong hệ thống là gì?

Cảm biến sử dụng 1 diode phát hồng ngoại và 1 phototransistor thu. Khi không có vật cản, tia phát đi thẳng hoặc bị hấp thụ; khi có người tiến lại gần, chùm tia bị phản xạ ngược lại đầu thu quang, làm phototransistor dẫn thông mạch xuống GND, tạo mức logic 0 (Active-LOW) tại chân ngõ vào của vi điều khiển.

5. Chi phí sản xuất hàng loạt ước tính là bao nhiêu?

Khi triển khai sản xuất hàng loạt trên mạch in PCB công nghiệp với số lượng từ 100 bộ trở lên, đơn giá mỗi bộ mạch điều khiển hoàn thiện (bao gồm MCU, linh kiện thụ động, cảm biến và vỏ hộp) ước tính rơi vào khoảng $6.5 - $8\text{ USD}/\text{bộ}$.


Kết luận

Đồ án môn học "Thiết kế mạch tự động mở đóng cửa với vi điều khiển 89C51" do sinh viên Bùi Duy Anh thực hiện dưới sự hướng dẫn của ThS. Nguyễn Quỳnh Anh đã giải quyết thành công bài toán tự động hóa cửa ra vào kết hợp chiếu sáng thông minh trên nền tảng phần cứng vi điều khiển AT89C51.

Thông qua việc ứng dụng chính xác chế độ định thời 16-bit của Timer 0 để sinh xung PWM dẫn động Servo SG90, hệ thống đạt độ ổn định cao, phản hồi nhanh chóng dưới 5ms và đảm bảo an toàn tuyệt đối cho người sử dụng. Đây là một tài liệu kỹ thuật có giá trị tham khảo ứng dụng thực tiễn cao, đóng vai trò nền tảng vững chắc để tiếp tục mở rộng phát triển thành các giải pháp nhà thông minh (Smart Home) toàn diện trong tương lai.