Giới thiệu dự án

Trong kỷ nguyên phát triển mạnh mẽ của Công nghiệp 4.0 và xu hướng tự động hóa tòa nhà (Building Automation System - BAS), an ninh vật lý tại các điểm kiểm soát ra vào đóng vai trò sống còn đối với sự an toàn của các cơ sở hạ tầng. Theo các báo cáo thị trường kiểm soát ra vào toàn cầu, thị trường khóa cửa thông minh (Smart Lock) duy trì tốc độ tăng trưởng kép hàng năm (CAGR) trên 16.5%, phản ánh nhu cầu chuyển dịch tất yếu từ khóa cơ khí truyền thống sang các cơ chế xác thực điện tử không chạm và bảo mật đa lớp.

+-------------------------------------------------------------------------+
|                KIẾN TRÚC TỔNG THỂ HỆ THỐNG SMART LOCK                   |
+-------------------------------------------------------------------------+
| [Thẻ RFID 13.56MHz] ---> (RC522 - SPI)   \                              |
|                                           ---> [PIC16F877A] ---> Relay  |
| [Bàn phím 4x4]     ---> (Quét Matrix)   /      | (EEPROM)         |     |
|                                                v                  v     |
| [LCD 1602 + PCF8574] <--- (Bus I2C) <----------+           [Solenoid 12V|
+-------------------------------------------------------------------------+

Khóa cơ khí truyền thống bộc lộ nhiều điểm yếu cố hữu: nguy cơ bị sao chép chìa (lockpicking), chi phí thay thế cao khi thất lạc chìa khóa (chiếm tới 90% sự cố vận hành tại các khu chung cư/văn phòng), và hoàn toàn không có khả năng phân quyền hay truy vết thời gian thực. Trong khi đó, các hệ thống khóa thương mại cao cấp thường có giá thành đắt đỏ, sử dụng kiến trúc đóng và khó tích hợp tùy biến vào các hệ thống quản lý nội bộ.

Đề tài "Thiết kế mạch khóa cửa cho Smart nhận dạng bằng module RFID và Keypad sử dụng PIC 16F877A" do sinh viên Trịnh Minh Phương thực hiện dưới sự hướng dẫn của thầy Đặng Đắc Chi (Khoa Điện – Điện Tử, Trường Cao Đẳng Kỹ Thuật Cao Thắng) đã giải quyết triệt để bài toán trên bằng một giải pháp nhúng cục bộ độc lập (standalone embedded system), tin cậy và chi phí tối ưu.

                    +-----------------------------+
                    | Adapter 220VAC / 12VDC - 5A |
                    +--------------+--------------+
                                   |
         +-------------------------+-------------------------+
         | (Nguồn 12VDC)                                     | (Nguồn 12VDC)
         v                                                   v
+-------------------+                               +------------------+
| IC Ổn áp LM7805   |                               | Khối Công Suất   |
| (Tạo nguồn +5VDC) |                               | - Opto PC817     |
+--------+----------+                               | - Transistor     |
         |                                          | - Relay 5VDC     |
         +---------------+----------------+         +--------+---------+
         | (+5VDC)       | (+5VDC)        | (+5VDC)          | (Tiếp điểm NO)
         v               v                v                  v
+----------------+ +-----------+ +----------------+ +------------------+
| PIC16F877A     | | LCD 1602  | | LM1117-3.3     | | Chốt Điện Từ     |
| MCU (20MHz)    | | + PCF8574 | | (Hạ áp 3.3VDC) | | Solenoid 12VDC   |
+--------+-------+ +-----------+ +--------+-------+ +------------------+
         |                                | (+3.3VDC)
         | SPI Bus                        v
         +-----------------------> +----------------+
         | (SCK, MOSI, MISO, SDA)  | Module RFID    |
         |                         | RC522          |
         | GPIO (4 Row x 4 Col)    +----------------+
         +-----------------------> +----------------+
         |                         | Bàn phím Ma trận|
         | GPIO (Transistor C1815) | Keypad 4x4     |
         +-----------------------> +----------------+
                                   | Khối Cảnh Báo  |
                                   | (Buzzer & LED) |
                                   +----------------+

Mục tiêu kỹ thuật cụ thể của đề tài

  1. Thiết kế phần cứng hoàn chỉnh: Tích hợp vi điều khiển 8-bit PIC16F877A với module nhận dạng vô tuyến RFID-RC522 (tần số 13.56 MHz) và bàn phím ma trận mềm 4x4.
  2. Thuật toán quét phím và xử lý SPI/I2C: Lập trình giao tiếp SPI 4 dây cho RFID, giao tiếp I2C cho màn hình LCD 1602 qua chip mở rộng PCF8574 nhằm tiết kiệm tối đa tài nguyên chân I/O.
  3. Quản lý dữ liệu Non-Volatile: Khai thác bộ nhớ EEPROM 256 bytes nội của PIC16F877A để lưu trữ danh bạ UID thẻ hợp lệ và mật khẩu số (PIN), bảo toàn dữ liệu trên 40 năm mà không cần pin nuôi nguồn.
  4. Hệ thống điều khiển chấp hành và bảo vệ: Thiết kế mạch kích relay cách ly quang qua Optocoupler PC817, tích hợp diode dập xung ngược (Flyback Diode) để điều khiển chốt điện từ Solenoid 12VDC an toàn.
  5. Cơ chế kiểm soát an ninh đa tầng: Hỗ trợ mở khóa bằng thẻ RFID, mở khóa bằng mã PIN 4-6 ký tự, chức năng đổi mã PIN trực tiếp và thêm/xóa thẻ quản trị (Master Card/User Cards) trực quan qua giao diện LCD.

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

  • Phạm vi: Ứng dụng kiểm soát cửa văn phòng, căn hộ, phòng server quy mô vừa và nhỏ.
  • Giới hạn: Hệ thống vận hành ở chế độ offline, phạm vi đọc thẻ thụ động đạt chuẩn từ 1 đến 5 cm, lưu trữ tối đa giới hạn trong dung lượng EEPROM nội vi điều khiển.

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

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

Tiêu chí kỹ thuật Khóa cơ truyền thống Khóa số cơ khí độc lập Hệ thống RFID + Keypad PIC16F877A
Phương thức mở khóa Chìa răng cưa / chìa vi tính Phím bấm cơ học Thẻ không tiếp xúc 13.56MHz & Mã số điện tử
Khả năng đổi mã/ủy quyền Phải thay cả ổ khóa cơ Tháo ổ khóa để set lẫy cơ Đổi mã số & Thêm/Xóa thẻ qua giao diện LCD
Khả năng chống sao chép Rất thấp (dễ đúc lại chìa) Thấp (nhìn trộm dấu mòn phím) Cao (Thẻ mã hóa UID 4-byte/7-byte)
Phản hồi trạng thái Không có Không có LCD 1602 (I2C) + Còi Buzzer + LED báo
Cơ chế an toàn (Lockout) Không hỗ trợ Không hỗ trợ Cảnh báo còi hú khi nhập sai quá số lần quy định
Chi phí chế tạo / bảo trì Thấp / Khó mở rộng Trung bình Tối ưu, linh kiện phổ biến, dễ bảo dưỡng

Phân loại yêu cầu theo mô hình MoSCoW

  • Must have: Xác thực mở khóa bằng RFID Tag UID; Xác thực bằng Keypad 4x4; Điều khiển chốt Solenoid 12V qua Relay; Cảnh báo âm thanh khi xác thực thất bại.
  • Should have: Giao diện hiển thị LCD 1602 qua chuẩn I2C; Lưu trữ cấu hình trên EEPROM nội; Chức năng đổi Master PIN và Add/Delete User Tag.
  • Could have: Khả năng mở rộng giao tiếp máy tính qua cổng nối tiếp USART/RS-232 để đồng bộ dữ liệu.
  • Won't have: Kết nối Cloud không dây (Wi-Fi/Bluetooth) trong phiên bản phần cứng v1.0.

Thiết kế hệ thống

Danh mục công nghệ và linh kiện (Technology Stack)

  • Khối xử lý trung tâm (Core MCU): Microchip PIC16F877A (Kiến trúc Harvard RISC 14-bit, 35 tập lệnh đơn chu kỳ, thạch anh ngoài 20 MHz mang lại chu kỳ lệnh $T_{cy} = 200\text{ ns}$, 8KB Flash ROM, 368 Bytes RAM, 256 Bytes EEPROM).
  • Khối nhận dạng RFID: NXP MFRC522 IC, Tần số sóng mang 13.56 MHz (HF Band), Chuẩn giao tiếp SPI 4-wire (SCK, MOSI, MISO, SS), Điện áp hoạt động 3.3VDC.
  • Khối mở rộng I/O & Hiển thị: LCD 1602 ký tự (Driver HD44780) kết hợp module chuyển đổi giao tiếp I2C nền tảng PCF8574T (Địa chỉ I2C mặc định 0x27).
  • Khối nguồn hạ áp đa tầng:
    • Nguồn sơ cấp: Adapter AC-DC 220VAC sang 12VDC/5A.
    • Ổn áp 5VDC: IC LM7805 (dòng cực đại 1.5A, cấp cho PIC, LCD, Relay, Buzzer).
    • Ổn áp 3.3VDC: IC LM1117-3.3 (dòng cực đại 1.0A, cấp riêng biệt cho RFID RC522).
  • Khối công suất chấp hành:
    • Cách ly quang: Optocoupler PC817 (Điện áp cách ly $V_{iso} = 5000\text{ Vrms}$).
    • Đóng ngắt khuếch đại: Transistor NPN C1815 ($V_{CEO} = 50\text{V}, I_C = 150\text{mA}$).
    • Dập xung cảm ứng: Diode 1N4007 mắc song song ngược cuộn cảm Relay.
    • Chốt điện từ: Solenoid 12VDC dạng thường đóng (Fail-Secure).
                      +-----------------------------------------+
                      |         KHỐI NGUỒN ĐA TẦNG              |
                      |                                         |
                      |   Adapter 12VDC/5A                      |
                      |          |                              |
                      |          +---------> Cấp Solenoid 12V   |
                      |          |                              |
                      |          v                              |
                      |     IC LM7805 (5V)                      |
                      |          |                              |
                      |          +---------> Cấp PIC, LCD, Relay|
                      |          |                              |
                      |          v                              |
                      |    IC LM1117 (3.3V)                     |
                      |          |                              |
                      |          +---------> Cấp RFID-RC522     |
                      +-----------------------------------------+
                                         |
                                         v
+-----------------------+     +--------------------+     +-----------------------+
|  KHỐI TÍN HIỆU VÀO    |     | KHỐI XỬ LÝ TRUNG   |     | KHỐI CHẤP HÀNH & BÁO  |
|                       |     | TÂM (PIC16F877A)   |     |                       |
| - RFID RC522 (SPI)    | ==> | - 20MHz Crystal    | ==> | - LCD 1602 (I2C)      |
| - Keypad 4x4 (Matrix) |     | - 256B EEPROM      |     | - Opto PC817 -> Relay |
| - ICSP Programming    |     | - Bộ giải mã lệnh  |     | - Buzzer & Warning LED|
+-----------------------+     +--------------------+     +-----------------------+

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 tuần tự kiểm soát chặt chẽ qua 4 giai đoạn kỹ thuật:

+--------------------+      +--------------------+      +--------------------+      +--------------------+
| 1. Phân tích &     |      | 2. Thiết kế mạch   |      | 3. Phát triển      |      | 4. Đo kiểm &       |
|    Tính toán       | ===> |    Nguyên lý & PCB | ===> |    Firmware & Driver| ===>|    Tối ưu hóa      |
| - Tính dòng sụt áp |      | - Schematic Proteus|      | - CCS C Compiler   |      | - Đo xung logic    |
| - Phân bổ I/O Port |      | - Layout 2D PCB    |      | - Debug ICSP       |      | - Stress-test 12V  |
+--------------------+      +--------------------+      +--------------------+      +--------------------+

Tiến độ thực hiện chi tiết

+---------------------------------------------------------------------------------------------------+
| Kế hoạch triển khai dự án (30/09/2020 - 01/11/2020)                                               |
+-------------------+---------------------------------------------------------+---------------------+
| Thời gian         | Nội dung công việc                                      | Deliverables        |
+-------------------+---------------------------------------------------------+---------------------+
| 30/09/2020        | Nhận đề tài, khảo sát lý thuyết PIC và module RC522     | Đề cương kỹ thuật   |
| 01/10 - 13/10/2020| Thiết kế Schematic, tính toán linh kiện, layout PCB 2D  | Bản vẽ Altium/Eagle |
| 14/10 - 24/10/2020| Gia công bo mạch, hàn linh kiện, lắp ráp cơ khí mô hình | Bo mạch phần cứng   |
| 25/10 - 01/11/2020| Lập trình driver SPI, I2C, thuật toán EEPROM, đo kiểm   | Firmware & Báo cáo  |
+-------------------+---------------------------------------------------------+---------------------+

Triển khai và kết quả thực nghiệm

Quá trình phát triển Firmware

Firmware được biên dịch bằng trình biên dịch CCS C Compiler chuyên dụng cho dòng vi điều khiển Microchip. Cấu trúc mã nguồn tổ chức dạng Module hóa (Modular Code Architecture), phân tách rõ ràng giữa tầng phần cứng (HAL/Driver) và tầng logic điều khiển (Business Logic).

firmware/
├── main.c              # Vòng lặp điều khiển chính & State Machine
├── mfrc522.c / .h      # Driver giao tiếp SPI đọc thẻ Mifare RC522
├── i2c_lcd.c / .h      # Driver điều khiển PCF8574 xuất dữ liệu LCD 1602
├── keypad.c / .h       # Thuật toán quét ma trận phím & chống rung
└── eeprom_handler.c/.h # Quản lý vùng nhớ lưu trữ thẻ Master & User PIN

1. Thuật toán quét phím ma trận 4x4 (Row-Scan / Column-Read)

Kỹ thuật quét tích cực mức thấp (Active-Low Scanning) kết hợp chống rung phần mềm (Software Debouncing 20ms) giúp xác định chính xác tọa độ phím mà không gây hiện tượng nhấn đúp:

// Thư viện quét phím ma trận 4x4 tối ưu cho PIC16F877A
#define ROW1 PIN_B0
#define ROW2 PIN_B1
#define ROW3 PIN_B2
#define ROW4 PIN_B3
#define COL1 PIN_B4
#define COL2 PIN_B5
#define COL3 PIN_B6
#define COL4 PIN_B7

const char Keymap[4][4] = {
    {'1', '2', '3', 'A'},
    {'4', '5', '6', 'B'},
    {'7', '8', '9', 'C'},
    {'*', '0', '#', 'D'}
};

char Keypad_Scan(void) {
    int8 r, c;
    for(r = 0; r < 4; r++) {
        // Đặt tất cả các hàng lên mức cao, kéo riêng hàng đang quét xuống mức 0
        output_high(ROW1); output_high(ROW2); output_high(ROW3); output_high(ROW4);
        if(r == 0) output_low(ROW1);
        if(r == 1) output_low(ROW2);
        if(r == 2) output_low(ROW3);
        if(r == 3) output_low(ROW4);

        delay_us(10); // Thời gian ổn định điện áp đường bus

        // Kiểm tra tín hiệu các cột
        if(!input(COL1)) { delay_ms(20); while(!input(COL1)); return Keymap[r][0]; }
        if(!input(COL2)) { delay_ms(20); while(!input(COL2)); return Keymap[r][1]; }
        if(!input(COL3)) { delay_ms(20); while(!input(COL3)); return Keymap[r][2]; }
        if(!input(COL4)) { delay_ms(20); while(!input(COL4)); return Keymap[r][3]; }
    }
    return 0xFF; // Không có phím nào được nhấn
}

2. Thuật toán xác thực UID RFID qua giao tiếp SPI & EEPROM

Module MFRC522 giao tiếp với PIC16F877A qua bus SPI phần mềm/phần cứng. Mỗi thẻ RFID Mifare Classic 1K có 1 mã định danh UID 4 bytes ($32\text{ bits}$). Dữ liệu này được đối sánh trực tiếp với các block nhớ EEPROM:

// Cấu trúc kiểm tra UID thẻ với danh bạ thẻ lưu trong EEPROM nội
int1 Verify_RFID_Tag(int8 *card_uid) {
    int8 total_stored_cards = read_eeprom(0x00); // Địa chỉ 0x00 lưu số lượng thẻ
    int8 stored_uid[4];
    int8 i, j;
    int1 match = 0;

    for(i = 0; i < total_stored_cards; i++) {
        // Đọc 4 bytes UID của từng thẻ từ EEPROM (bắt đầu từ địa chỉ 0x10)
        for(j = 0; j < 4; j++) {
            stored_uid[j] = read_eeprom(0x10 + (i * 4) + j);
        }
        
        // So sánh 4 bytes UID
        if(memcmp(card_uid, stored_uid, 4) == 0) {
            match = 1;
            break;
        }
    }
    return match; // Trả về 1 nếu hợp lệ, 0 nếu không tồn tại
}

3. Thiết kế mạch công suất cách ly chống xung ngược

Khi ngắt điện đột ngột khỏi cuộn cảm Relay hoặc cuộn hút Solenoid 12V, hiện tượng tự cảm sinh ra một sức điện động ngược cực lớn:

$$e_L = -L \frac{di}{dt}$$

Xung điện áp ngược này có thể lên tới hàng trăm Volts, dễ dàng đánh thủng tiếp giáp bán dẫn của vi điều khiển. Giải pháp phần cứng đã tích hợp:

  1. Optocoupler PC817: Cách ly hoàn toàn đường mass (GND) kỹ thuật số của vi điều khiển với mass động lực của Relay.
  2. Diode 1N4007 (Flyback): Mắc phân cực ngược song song với cuộn cảm, tạo mạch vòng khép kín tiêu tán năng lượng từ trường an toàn.

Đo kiểm và đánh giá thực nghiệm

Hệ thống đã trải qua quá trình đo kiểm nghiêm ngặt với 500 chu kỳ đóng mở và 200 lượt quẹt thẻ liên tục:

Kịch bản kiểm thử Thông số đo kiểm thực tế Tiêu chuẩn đạt Kết quả
Khoảng cách nhận diện thẻ RFID $3.2 \pm 0.5\text{ cm}$ (Chuẩn thẻ ISO/IEC 14443 Type A) $\ge 2.0\text{ cm}$ ĐẠT (100%)
Thời gian đáp ứng quét thẻ $185\text{ ms}$ (tính từ lúc quẹt đến khi Relay đóng) $\le 300\text{ ms}$ ĐẠT
Độ trễ xử lý phím Keypad $35\text{ ms}$ (đã bao gồm chống rung phần mềm) $\le 50\text{ ms}$ ĐẠT
Tỷ lệ nhận dạng sai (FAR) $0.00%$ trên 200 lần thử nghiệm thẻ lạ $\le 0.01%$ ĐẠT
Nhiệt độ hoạt động LM7805 $48.5^\circ\text{C}$ khi tải liên tục (gắn tản nhiệt nhôm) $\le 70^\circ\text{C}$ ĐẠT
Bảo toàn dữ liệu khi ngắt điện $100%$ dữ liệu UID và Password giữ nguyên sau 50 lần cắt nguồn đột ngột $100%$ ĐẠT

Đổi mới và đóng góp kỹ thuật

  1. Tối ưu hóa bus giao tiếp tiết kiệm 75% chân I/O: Việc tích hợp chip PCF8574T để chuyển đổi toàn bộ giao tiếp 8-bit/4-bit song song của LCD 1602 sang bus nối tiếp I2C chỉ tiêu tốn 2 chân (RC3/SCL, RC4/SDA) của PIC16F877A, giải phóng các chân PORTB cho ma trận bàn phím và PORTC/PORTD cho bus SPI.
  2. Kiến trúc quản lý năng lượng phân tầng ổn định: Tách bạch 3 cấp điện áp ($12\text{V} \rightarrow 5\text{V} \rightarrow 3.3\text{V}$) giúp triệt tiêu hoàn toàn hiện tượng sụt áp Reset vi điều khiển (Brown-out Reset) khi chốt điện từ Solenoid phóng dòng khởi động ($I_{peak} \approx 1.2\text{A}$).
  3. Cơ chế xác thực kép 2FA linh hoạt trên vi điều khiển 8-bit: Cho phép kết hợp hoặc tùy chọn độc lập giữa thẻ RFID và mã số PIN bí mật, kèm chức năng phân quyền thẻ Master để cấu hình nhanh không cần nạp lại firmware qua máy tính.

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

+-----------------------------------------------------------------------------------+
|                        MÔ HÌNH TRIỂN KHAI THỰC TẾ                                 |
+-----------------------------------------------------------------------------------+
|                                                                                   |
|  [Adapter 220V/12V] ===> [Hộp Điều Khiển Trung Tâm]                               |
|                                | (PIC16F877A + LM7805 + Relay + Buzzer)           |
|                                |                                                  |
|            +-------------------+-------------------+                              |
|            | (Cáp Nguồn 12V)                       | (Cáp Dữ Liệu Nối Dài)        |
|            v                                       v                              |
|   [Chốt Khóa Solenoid]                    [Bảng Điều Khiển Ngoài Cửa]             |
|   (Lắp chìm khung cửa)                    - Mặt phím Keypad 4x4                  |
|                                           - Khe quét thẻ RFID-RC522               |
|                                           - Màn hình hiển thị LCD 1602           |
+-----------------------------------------------------------------------------------+

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

  • Hệ thống phòng lưu trữ server / Phòng thí nghiệm: Phân quyền nhân viên kỹ thuật thông qua thẻ từ cá nhân; trường hợp khẩn cấp có thể dùng mã Master Code để truy cập.
  • Căn hộ cho thuê / Ký túc xá thông minh: Quản lý cấp quyền thêm thẻ mới cho khách thuê chỉ bằng 2 bước quẹt thẻ Master và thẻ User trực tiếp tại cửa.

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

Tên linh kiện / Module Chủng loại kỹ thuật Số lượng Chi phí ước tính (VNĐ)
Vi điều khiển chính PIC16F877A (DIP-40) 01 45.000
Module quét thẻ RFID-RC522 13.56MHz + Thẻ Mifare 01 35.000
Màn hình hiển thị LCD 1602 Xanh lá + Module I2C PCF8574 01 42.000
Bàn phím ma trận Keypad 4x4 phím mềm 01 15.000
Khối nguồn & Công suất LM7805, LM1117-3.3, Relay 5V, Opto PC817, C1815 01 bộ 30.000
Chốt khóa điện từ Solenoid Lock 12VDC Fail-Secure 01 95.000
Bo mạch & Linh kiện thụ động PCB Phíp đồng gia công, Tụ lọc, Trở, Jack DC, Còi 01 bộ 40.000
Nguồn cấp ngoài Adapter 12VDC - 5A 01 65.000
TỔNG CHI PHÍ PHẦN CỨNG 367.000 VNĐ

Chi phí chỉ bằng khoảng 15-20% so với một bộ khóa thông minh thương mại cùng tính năng trên thị trường, mang lại tỷ suất hoàn vốn (ROI) tức thì cho các khu nhà trọ hoặc văn phòng nhiều phòng ban.


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

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

  • Bộ nhớ lưu trữ: Dung lượng EEPROM nội của PIC16F877A là 256 bytes, mỗi thẻ quản lý tiêu tốn 4 bytes UID $\rightarrow$ Giới hạn danh bạ tối đa lưu trữ được khoảng 50 thẻ nếu tối ưu cấu trúc dữ liệu.
  • Truy vết thời gian: Hệ thống chưa tích hợp IC thời gian thực RTC (như DS1307/DS3231) nên chưa thể lưu vết nhật ký ra vào kèm mốc thời gian thực (Timestamp Log).
  • Kết nối không dây: Vận hành dạng Standalone, chưa thể quản trị qua App điện thoại hay Dashboard Web.

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

  1. Mở rộng bộ nhớ ngoài: Tích hợp IC EEPROM ngoài chuẩn I2C như 24C32 / 24C256 để nâng quy mô quản lý lên $1.000+$ thẻ.
  2. Nâng cấp Vi điều khiển & IoT: Chuyển đổi nền tảng sang STM32 hoặc ESP32 để tích hợp Wi-Fi/Bluetooth, hỗ trợ mở khóa qua App di động, cập nhật Firmware qua OTA và đẩy nhật ký ra vào lên Cloud thông qua giao thức MQTT.
  3. Bổ sung nguồn dự phòng (UPS 12V): Tích hợp mạch sạc và pin sạc Lithium-ion 18650 3S ($11.1\text{V} - 12.6\text{V}$) để duy trì hoạt động liên tục tối thiểu 8-12 tiếng khi mất điện lưới.

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

+-----------------------------------------------------------------------------+
|                          ĐỐI TƯỢNG HƯỞNG LỢI                                |
+-----------------------------------------------------------------------------+
| [Sinh viên Kỹ thuật]   ---> Nền tảng học SPI, I2C, Matrix Scan & EEPROM     |
| [Kỹ sư Lập trình Nhúng]---> Code mẫu C tối ưu, giải pháp cách ly Opto/Relay  |
| [Chủ nhà trọ/Doanh nghiệp]-> Hệ thống bảo mật chi phí thấp (<400k VNĐ)      |
| [Nhà nghiên cứu]       ---> Dữ liệu thực nghiệm xác thực thẻ & chống nhiễu  |
+-----------------------------------------------------------------------------+
  • Sinh viên ngành Kỹ thuật Điện - Điện tử / Tự động hóa: Bộ tài liệu hoàn chỉnh từ nguyên lý phần cứng, sơ đồ layout mạch in đến thuật toán lập trình driver cho 3 chuẩn giao tiếp phổ biến (SPI, I2C, GPIO Matrix).
  • Kỹ sư phát triển hệ thống nhúng: Tham khảo thiết kế mạch bảo vệ công suất chống xung ngược và giải pháp chia tầng ổn áp chống nhiễu cho vi điều khiển 8-bit.
  • Chủ nhà trọ và Doanh nghiệp vừa & nhỏ: Sở hữu giải pháp khóa cửa an ninh độc lập với chi phí đầu tư siêu rẻ, độ bền phần cứng cao và khả năng tự bảo trì dễ dàng.

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

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

Hệ thống yêu cầu nguồn cấp 12VDC với dòng tối thiểu 2A (khuyến nghị 5A để đảm bảo chốt Solenoid đóng mở dứt khoát), mạch nạp PIC chuẩn ICSP (như PICKit 2 hoặc PICKit 3) để nạp file .hex, và môi trường vận hành khô ráo (nhiệt độ $-10^\circ\text{C}$ đến $65^\circ\text{C}$).

2. Khi bị mất điện đột ngột, dữ liệu thẻ và mật khẩu có bị mất không?

Hoàn toàn không. Dữ liệu thẻ và mã PIN được ghi trực tiếp vào bộ nhớ EEPROM nội của PIC16F877A. Đây là bộ nhớ bất biến (Non-volatile Memory) có khả năng lưu giữ dữ liệu an toàn trên 40 năm với chu kỳ ghi/xóa lên đến 1.000.000 lần.

3. Làm thế nào để thêm một thẻ RFID mới khi không có máy tính?

Hệ thống sử dụng cơ chế Master Card:

  1. Quẹt thẻ Master Card lần 1 $\rightarrow$ Hệ thống chuyển sang chế độ Add Tag Mode trên màn hình LCD.
  2. Đưa thẻ mới cần thêm vào vùng quét $\rightarrow$ PIC tự động đọc 4-byte UID và ghi vào địa chỉ trống trong EEPROM.
  3. Quẹt thẻ Master Card lần 2 để lưu cấu hình và thoát về màn hình khóa ban đầu.

4. Hệ thống xử lý thế nào khi có kẻ gian cố tình dò mật khẩu?

Chương trình tích hợp bộ đếm sai mã PIN (Error_Count). Nếu nhập sai liên tiếp quá 3 lần, vi điều khiển sẽ:

  • Vô hiệu hóa bàn phím trong 60 giây.
  • Kích hoạt Transistor C1815 phát còi hú cảnh báo liên tục qua Buzzer.
  • Nhấp nháy 2 LED đỏ cảnh báo trên panel cửa.

5. Tại sao không cấp trực tiếp nguồn 5V từ LM7805 cho module RFID-RC522?

IC MFRC522 là linh kiện hoạt động ở dải điện áp $2.5\text{V} - 3.6\text{V}$ (chuẩn danh định 3.3V). Nếu cấp nguồn 5V trực tiếp sẽ gây cháy hỏng module RF ngay lập tức. Do đó, thiết kế bắt buộc sử dụng IC ổn áp phụ LM1117-3.3 để hạ áp riêng biệt cho khối nhận dạng sóng vô tuyến.


Kết luận

Đồ án môn học Vi xử lý "Thiết kế mạch khóa cửa cho Smart nhận dạng bằng module RFID và Keypad sử dụng PIC 16F877A" của tác giả Trịnh Minh Phương đã chứng minh tính khả thi, độ tin cậy và giá trị thực tiễn vượt trội của một hệ thống kiểm soát an ninh nhúng. Bằng việc kết hợp hài hòa giữa vi điều khiển Microchip PIC16F877A, công nghệ thẻ không tiếp xúc RFID-RC522 và bàn phím bảo mật, đề tài đã giải quyết trọn vẹn bài toán xác thực hai yếu tố (2FA) với chi phí sản xuất tối ưu.

Toàn bộ sơ đồ nguyên lý, giải thuật quét phím và cấu trúc bộ nhớ EEPROM trong đồ án là tài liệu tham khảo kỹ thuật giá trị cho sinh viên và kỹ sư đang nghiên cứu trong lĩnh vực Tự động hóa và Kỹ thuật Vi điều khiển.