Giới thiệu dự án
Bối cảnh và thực trạng tiêu thụ năng lượng
Trong bối cảnh chi phí năng lượng toàn cầu và tại Việt Nam liên tục gia tăng, việc giám sát và tối ưu hóa điện năng tiêu thụ đã trở thành ưu tiên hàng đầu cho cả hộ gia đình lẫn các cơ sở sản xuất công nghiệp vừa và nhỏ. Theo thống kê của Tập đoàn Điện lực Việt Nam (EVN), việc thiếu hụt công cụ giám sát trực quan theo thời gian thực (real-time) khiến các hộ tiêu thụ điện lãng phí từ 15% đến 25% tổng công suất điện năng hàng tháng do không kiểm soát được tải rò rỉ, thiết bị chạy không tải và sự cố điện tiềm ẩn.
Hầu hết các giải pháp công tơ cơ điện truyền thống chỉ cung cấp chỉ số tổng định kỳ mỗi tháng một lần, hoàn toàn không có khả năng cảnh báo sớm về các chỉ số bất thường như quá dòng, sụt áp hay rò rỉ khí gas dễ cháy – nguyên nhân hàng đầu dẫn đến các vụ hỏa hoạn chập điện nghiêm trọng.
flowchart LR
A[Hạ tầng điện 220VAC] --> B[Khối đo PZEM-004T]
B --> C[Node Master: STM32F103]
D[Node Slave 1: Arduino + MQ-2] -- LoRa 433MHz --> C
E[Node Slave 2: Arduino] -- LoRa 433MHz --> C
C -- SPI --> F[Module ESP8266]
F -- HTTPS/WSS --> G[(Firebase Realtime DB)]
G <--> H[Android Application]
C -- UART --> I[Module SIM800L]
I -- GSM/SMS --> J[Khách hàng]
Vấn đề kỹ thuật đặt ra
- Phụ thuộc kết nối Internet diện rộng: Các thiết bị nhà thông minh (Smart Home) phổ biến trên thị trường (như Sonoff, Tuya) bắt buộc từng node công tắc/đo lường phải kết nối trực tiếp vào mạng Wi-Fi 2.4GHz. Khi phạm vi phủ sóng Wi-Fi bị giới hạn bởi tường bê tông dày hoặc khoảng cách lớn (trên 30m), các node ngoại vi hoàn toàn mất kết nối.
- Thiếu khả năng tự vận hành khi mất điện lưới: Đa số các hệ thống giám sát và báo động hiện nay ngừng hoạt động hoàn toàn khi xảy ra mất điện, dẫn đến mất dữ liệu lịch sử và vô hiệu hóa chức năng cảnh báo an toàn khẩn cấp.
- Chi phí triển khai thiết bị thương mại cao: Các hệ thống giám sát năng lượng chuyên dụng công nghiệp (như Schneider PowerLogic, Siemens PAC) có chi phí phần cứng và bản quyền phần mềm lên tới hàng nghìn USD, không khả thi để ứng dụng quy mô hộ gia đình hay xưởng cơ khí nhỏ.
Mục tiêu đề tài
- Thiết kế và chế tạo hoàn chỉnh phần cứng hệ thống giám sát điện năng kết hợp điều khiển thiết bị điện theo mô hình mạng phân tán Master - Slave.
- Tích hợp công nghệ truyền thông vô tuyến tầm xa LoRa (Long Range) 433MHz để liên lạc giữa Master và các Slave trong bán kính tối thiểu 500m mà không cần hạ tầng Wi-Fi tại các node tớ.
- Thu thập chính xác 4 thông số điện năng cốt lõi: Điện áp ($U$), Dòng điện ($I$), Công suất tức thời ($P$), và Điện năng tiêu thụ tích lũy ($W$) với chu kỳ cập nhật dưới 2 giây.
- Tự động hóa quá trình cảnh báo sự cố rò rỉ khí gas thông qua module GSM (gọi điện thoại và gửi tin nhắn SMS khẩn cấp).
- Đảm bảo hệ thống duy trì hoạt động tối thiểu 4 giờ liên tục khi mất điện lưới 220VAC thông qua hệ thống mạch sạc và pin dự phòng Li-Po tích hợp.
- Xây dựng ứng dụng di động trên nền tảng Android kết nối cơ sở dữ liệu thời gian thực Firebase Realtime Database để người dùng giám sát và điều khiển từ xa.
Giải pháp kỹ thuật và tính khả thi
Hệ thống sử dụng kiến trúc phân tầng kết hợp:
- Node trung tâm (Master): Sử dụng vi điều khiển 32-bit ARM Cortex-M3 (STM32F103C8T6) xung nhịp 72MHz kết hợp module Wi-Fi ESP8266-12E để làm cầu nối (Gateway) đẩy dữ liệu lên Cloud Firebase và module GSM SIM800L để liên lạc di động.
- Node đo lường & chấp hành (Slave): Sử dụng vi điều khiển ATmega328P (Arduino Nano) kết hợp module cảm biến chuyên dụng PZEM-004T, cảm biến khí gas MQ-2 và module RF LoRa E32-TTL-100 (SX1278).
Phương pháp này tối ưu hóa chi phí khi chỉ duy nhất Node Master cần kết nối Internet, giảm thiểu tối đa điểm nghẽn băng thông và rủi ro mất kết nối mạng cục bộ.
Phạm vi và giới hạn đề tài
- Điện áp đo lường: Điện áp xoay chiều 1 pha $80\text{ VAC} - 250\text{ VAC}$, tần số $50/60\text{ Hz}$.
- Dòng điện và công suất tối đa: Dòng điện $0 - 100\text{ A}$ (sử dụng biến dòng CT rời), dải công suất $0 - 22\text{ kW}$.
- Dung lượng quản trị: 01 Node Master và 02 Node Slave, quản lý tối đa 12 tải điện độc lập (4 relay/node, dòng định mức 10A/250VAC mỗi relay, phù hợp tải điện trở/điện dung dưới 1000W).
- Phạm vi truyền thông LoRa: Hoạt động ổn định ở khoảng cách thực tế đến $500\text{ m}$ trong môi trường có vật cản đô thị.
- Nguồn điện dự phòng: Pin Li-Po dung lượng $2000\text{ mAh} / 3.7\text{ V}$ duy trì khối điều khiển và cảm biến hoạt động trong $4\text{ giờ}$ khi mất điện lưới.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng và đánh giá thị trường
| Tiêu chí so sánh |
Giải pháp Công tơ truyền thống |
Giải pháp Wi-Fi Smart Switch (Tuya/Sonoff) |
Giải pháp Đề tài (Master-Slave LoRa + IoT) |
| Phạm vi kết nối |
Đo tại chỗ bằng mắt |
Wi-Fi 2.4GHz ($<30\text{m}$, suy hao mạnh qua tường) |
LoRa 433MHz ($>500\text{m}$ xuyên tường vật cản) |
| Phụ thuộc Internet |
Không |
Từng thiết bị bắt buộc phải có Wi-Fi |
Chỉ duy nhất Node Master cần Internet |
| Độ chính xác đo đạc |
Cấp 1.0 hoặc 2.0 (tổng) |
Sai số dòng/áp $\approx 3-5%$ (ước lượng tải) |
Sai số $\le 1%$ (IC đo chuyên dụng PZEM-004T) |
| Cảnh báo khẩn cấp |
Không |
Push notification (phụ thuộc mạng Internet) |
SMS + Voice Call (qua GSM SIM800L) độc lập mạng |
| Khả năng lưu điện |
Không |
Mất kết nối ngay khi cúp điện |
Pin Li-Po 2000mAh tự động chuyển mạch ($4\text{h}$) |
| Chi phí triển khai/node |
Thấp ($10 - 15\text{ USD}$) |
Trung bình ($15 - 25\text{ USD}$/thiết bị đơn) |
Tối ưu ($12 - 18\text{ USD}$/node tích hợp đa tải) |
Ma trận ưu tiên yêu cầu người dùng (MoSCoW)
- Must have (Bắt buộc):
- Đo lường thời gian thực: Điện áp ($U$), Dòng điện ($I$), Công suất ($P$), Điện năng ($kWh$).
- Điều khiển đóng ngắt Relay 220VAC từ xa qua App Android và trực tiếp bằng nút nhấn cơ.
- Truyền thông không dây tầm xa giữa Master và Slave bằng module LoRa E32-TTL-100.
- Cảnh báo nồng độ khí gas vượt ngưỡng qua còi Buzzer tại chỗ và tin nhắn/cuộc gọi SMS GSM.
- Should have (Nên có):
- Hiển thị trực quan thông số tại Node Master qua màn hình LCD TFT 2.4 inch (SPI) và tại Slave qua LCD 16x02 (I2C).
- Chuyển mạch nguồn tự động không ngắt quãng (Seamless power switch) sang pin dự phòng khi mất điện.
- Could have (Có thể mở rộng):
- Tính toán trực tiếp số tiền điện theo bảng giá lũy tiến của EVN trên ứng dụng Android.
- Tính năng Reset chỉ số điện năng tiêu thụ tích lũy bằng phần mềm hoặc nút nhấn phần cứng.
- Won't have (Chưa thực hiện trong giai đoạn này):
- Đo kiểm hệ thống điện xoay chiều 3 pha công nghiệp.
- Phân tích dạng sóng hài và hệ số công suất $\cos\varphi$ chi tiết.
Thiết kế kiến trúc hệ thống
+-----------------------------------------------------------------------------------+
| CLOUD & CLIENT |
| +--------------------------+ +----------------------------+ |
| | Android App (Java SDK) | <--- HTTPS/WSS -> | Firebase Realtime Database | |
| +--------------------------+ +----------------------------+ |
+-----------------------------------------------------------------|-----------------+
|
ESP8266 (Wi-Fi)
| SPI Bus
+-----------------------------------------------------------------v-----------------+
| NODE MASTER (Phòng khách) |
| +-----------------------------------------------------------------------------+ |
| | MCU: STM32F103C8T6 (ARM Cortex-M3, 72MHz, 64KB Flash, 20KB SRAM) | |
| | - Màn hình hiển thị: LCD TFT 2.4" ILI9341 (Chuẩn giao tiếp SPI) | |
| | - Module GSM/GPRS: SIM800L (UART2: PA2/PA3, Chân Reset: PA4) | |
| | - Đo điện năng: PZEM-004T (UART1: PA9/PA10) | |
| | - Điều khiển tải: 4x Relay 5V cách ly BJT C1815 + Diode 1N4007 | |
| | - Nguồn: HLK-5M05 (220VAC->5VDC) + Pin LiPo 2000mAh + Sạc TP4056 | |
| +---------------------------------------|-------------------------------------+ |
| LoRa E32 | (UART3: PB10/PB11) |
+------------------------------------------|----------------------------------------+
| Sóng vô tuyến RF 433MHz (Bán kính 500m)
+------------------------------+------------------------------+
| |
+-----------v-------------------------------+ +---------------------------v-----------------+
| NODE SLAVE 1 (Phòng bếp) | | NODE SLAVE 2 (Phòng ngủ) |
| +---------------------------------------+ | | +---------------------------------------+ |
| | MCU: ATmega328P (Arduino Nano, 16MHz) | | | | MCU: ATmega328P (Arduino Nano, 16MHz) | |
| | - Cảm biến khí gas: MQ-2 (ADC A6) | | | | - Đo điện năng: PZEM-004T | |
| | - Đo điện năng: PZEM-004T | | | | (SoftwareSerial: D10/D11) | |
| | (SoftwareSerial: D10/D11) | | | | - Điều khiển tải: 4x Relay 5V | |
| | - Màn hình: LCD 16x02 + I2C PCF8574 | | | | - Màn hình: LCD 16x02 + I2C PCF8574 | |
| | - Module LoRa: E32 (SoftSerial: D2/D3)| | | | - Module LoRa: E32 (SoftSerial: D2/D3)| |
| | - Điều khiển tải: 4x Relay 5V | | | | - Nguồn: HLK-5M05 (5VDC/1A) | |
| | - Còi báo động: Buzzer 5V qua C1815 | | | +---------------------------------------+ |
| | - Nguồn: HLK-5M05 + Pin LiPo + TP4056 | | +-------------------------------------------+
| +---------------------------------------+ |
+-------------------------------------------+
Danh mục công nghệ và phiên bản phần mềm
- Phần cứng vi điều khiển:
- STM32F103C8T6 (ARM 32-bit Cortex-M3, 72 MHz, 64 Kbytes Flash).
- ATmega328P 8-bit AVR Microcontroller (16 MHz, 32 Kbytes Flash).
- ESP8266-12E Wi-Fi SoC (Tensilica L106 32-bit, 80 MHz).
- Công cụ lập trình và nạp code:
- Keil MDK-ARM v5.28 / STM32CubeMX v5.2.1 (Cấu hình Clock, DMA, GPIO).
- Arduino IDE v1.8.9 (Trình biên dịch cho ATmega328P và ESP8266 Core v2.5.2).
- Android Studio v3.4 (Build Gradle 3.4.1, compileSdkVersion 28, Java JDK 8).
- Hệ thống cơ sở dữ liệu Cloud:
- Google Firebase Realtime Database (REST API / WebSockets protocol).
Thiết kế cấu trúc dữ liệu Firebase Realtime Database
{
"HomeSystem": {
"LivingRoom_Master": {
"Voltage": 221.5,
"Current": 1.42,
"Power": 314.5,
"Energy": 12.85,
"Relays": { "Relay1": 1, "Relay2": 0, "Relay3": 1, "Relay4": 0 },
"PowerSource": "AC_GRID"
},
"Kitchen_Slave1": {
"Voltage": 220.8,
"Current": 2.15,
"Power": 474.7,
"Energy": 24.12,
"Relays": { "Relay1": 0, "Relay2": 0, "Relay3": 1, "Relay4": 1 },
"GasLeak": false,
"GasValue_PPM": 120
},
"BedRoom_Slave2": {
"Voltage": 222.0,
"Current": 0.65,
"Power": 144.3,
"Energy": 8.45,
"Relays": { "Relay1": 1, "Relay2": 0, "Relay3": 0, "Relay4": 0 }
}
}
}
Tính toán tham số mạch điện tử
1. Mạch kích hoạt Relay đóng cắt tải qua Transistor NPN C1815
Theo thông số kỹ thuật của cuộn hút Relay $5\text{ VDC}$:
- Dòng điện định mức cuộn hút: $I_{\text{Relay}} = 72\text{ mA}$.
- Dòng điện qua LED chỉ thị trạng thái: $I_{\text{LED}} = 3\text{ mA}$.
- Dòng cực góp khi Transistor dẫn bão hòa:
$$I_{C(\text{Sat})} = I_{\text{Relay}} + I_{\text{LED}} = 72 + 3 = 75\text{ mA}$$
- Với hệ số khuếch đại dòng bão hòa chọn an toàn $h_{FE} = 25$, dòng điện cực gốc cần thiết:
$$I_B = \frac{I_{C(\text{Sat})}}{h_{FE}} = \frac{75\text{ mA}}{25} = 3\text{ mA}$$
- Điện áp xuất mức cao từ vi điều khiển $V_{\text{OH}} = 5\text{ V}$, sụt áp mối nối $V_{\text{BE}} = 0.7\text{ V}$. Điện trở cực gốc $R_B$ được tính:
$$R_B = \frac{V_{\text{OH}} - V_{\text{BE}}}{I_B} = \frac{5 - 0.7}{3\cdot 10^{-3}} = 1.433\text{ k}\Omega$$
$\rightarrow$ Chọn giá trị điện trở thương mại chuẩn: $R_B = 1.5\text{ k}\Omega$.
2. Mạch kích hoạt còi báo động (Buzzer 5V)
- Dòng tiêu thụ tối đa của còi chip: $I_{\text{Buzzer}} = 30\text{ mA}$.
- Dòng cực gốc bão hòa với $h_{FE} = 25$:
$$I_B = \frac{30\text{ mA}}{25} = 1.2\text{ mA}$$
- Điện trở phân cực cực gốc:
$$R_B = \frac{5 - 0.7}{1.2\cdot 10^{-3}} = 3.583\text{ k}\Omega$$
$\rightarrow$ Chọn giá trị điện trở thương mại chuẩn: $R_B = 3.3\text{ k}\Omega$.
3. Mạch chuyển đổi nguồn tự động sử dụng P-Channel MOSFET FDN340P
Mạch bảo vệ và chuyển mạch sang Pin khi mất điện AC lưới 220V sử dụng Mosfet kênh P FDN340P kết hợp BJT C1815 điều khiển chân Gate. Khi nguồn 5V từ HLK-5M05 mất, điện áp Gate của FDN340P được kéo xuống GND qua điện trở phân cực $R_4 = 100\text{ k}\Omega$, thỏa mãn điều kiện dẫn bão hòa $V_{\text{GS}} < -1.5\text{ V}$, cấp điện áp từ Pin Li-Po $3.7\text{ V}$ lên hệ thống ngay lập tức mà không làm reset vi điều khiển ($t_{\text{switch}} < 5\mu\text{s}$).
Implementation và kết quả
Quy trình triển khai phần cứng và phần mềm
Giai đoạn 1: Thiết kế phần cứng & PCB (Tuần 1 - 5)
├── Phân tích linh kiện & khảo sát datasheet (STM32, Arduino, LoRa SX1278, PZEM-004T)
├── Thiết kế sơ đồ nguyên lý (Schematic) trên Altium Designer
└── Gia công mạch in (PCB) 2 lớp, hàn linh kiện kiểm tra ngắn mạch
Giai đoạn 2: Lập trình Firmware vi điều khiển (Tuần 6 - 9)
├── Cấu hình ngoại vi STM32F103 (USART1, USART2, USART3, SPI1) bằng Keil MDK
├── Xây dựng giao thức đóng gói dữ liệu UART đa điểm cho Module LoRa E32
├── Lập trình đọc cảm biến PZEM-004T, MQ-2 và giao tiếp tập lệnh AT SIM800L
└── Cấu hình module ESP8266 giao tiếp SPI với STM32 và đồng bộ Firebase Realtime DB
Giai đoạn 3: Phát triển ứng dụng di động Android (Tuần 10 - 11)
├── Thiết kế giao diện UI/UX trên Android Studio (XML Layout, Material Components)
└── Lập trình xử lý logic Java, lắng nghe sự kiện Realtime Database và tính cước điện
Giai đoạn 4: Tích hợp, đóng gói mô hình & thử nghiệm (Tuần 12 - 15)
├── Đóng hộp công nghiệp chuẩn kích thước 16x9x6cm cho Master và Slave
├── Kiểm thử khoảng cách truyền thông LoRa và độ chính xác cảm biến
└── Tối ưu hóa phản hồi hệ thống, sửa lỗi ngắt truyền thông và viết báo cáo
Triển khai thuật toán và mã nguồn cốt lõi
1. Đóng gói và giải mã khung truyền LoRa giữa Master và Slave (C/C++ Arduino & STM32)
Để chống xung đột dữ liệu trên đường truyền không dây đa điểm (Point-to-Multipoint), hệ thống định nghĩa cấu trúc khung truyền nhị phân chuẩn hóa cố định kích thước 10 bytes:
$$\text{[Header: 0xAA]} \mid \text{[Slave_ID: 0x01/0x02]} \mid \text{[Cmd_Type]} \mid \text{[Data 4 Bytes]} \mid \text{[Checksum]} \mid \text{[Tail: 0x55]}$$
// Cấu trúc gói tin truyền thông LoRa giữa Master và Slave
typedef struct __attribute__((packed)) {
uint8_t header; // 0xAA - Khởi tạo khung truyền
uint8_t node_id; // ID trạm Slave (0x01: Bếp, 0x02: Phòng ngủ)
uint8_t command; // 0x01: Gửi dữ liệu điện áp/dòng, 0x02: Điều khiển Relay
uint8_t relay_status; // Trạng thái 4 bit Relay [B0..B3]
float power_val; // Giá trị công suất thực tế đọc từ PZEM-004T (4 bytes)
uint8_t checksum; // Byte kiểm tra toàn vẹn dữ liệu XOR
uint8_t tail; // 0x55 - Kết thúc khung truyền
} LoRa_Packet_t;
// Hàm tính Checksum kiểm tra toàn vẹn gói tin
uint8_t Calculate_Checksum(uint8_t *data, uint8_t len) {
uint8_t crc = 0x00;
for (uint8_t i = 0; i < len; i++) {
crc ^= data[i];
}
return crc;
}
2. Lập trình đọc dữ liệu từ Module PZEM-004T qua UART trên STM32F103 (Keil C)
#include "stm32f10x.h"
#include "stm32f10x_usart.h"
// Mảng lệnh chuẩn đọc điện áp gửi tới PZEM-004T (Địa chỉ mặc định 192.168.1.1)
const uint8_t CMD_READ_VOLTAGE[7] = {0xB0, 0xC0, 0xA8, 0x01, 0x01, 0x00, 0x1A};
void PZEM_Request_Voltage(void) {
for (uint8_t i = 0; i < 7; i++) {
while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);
USART_SendData(USART1, CMD_READ_VOLTAGE[i]);
}
}
// Xử lý chuỗi phản hồi 7 bytes từ PZEM: [0xA0][0x00][Voltage High][Voltage Low][0x00][Checksum]
float PZEM_Parse_Voltage(uint8_t *response) {
if (response[0] == 0xA0) {
uint16_t raw_voltage = (response[1] << 8) | response[2];
float voltage = (float)raw_voltage + ((float)response[3] / 10.0f);
return voltage;
}
return -1.0f; // Lỗi đọc cảm biến
}
3. Điều khiển cảnh báo qua SIM800L khi phát hiện rò rỉ khí Gas (Master MCU)
void SIM800L_Send_Emergency_Alert(const char *phoneNumber, const char *message) {
char atCommand[64];
// Đưa module về chế độ gửi SMS dạng Text
USART2_SendString("AT+CMGF=1\r\n");
Delay_ms(500);
// Thiết lập số điện thoại nhận tin
sprintf(atCommand, "AT+CMGS=\"%s\"\r\n", phoneNumber);
USART2_SendString(atCommand);
Delay_ms(500);
// Gửi nội dung tin nhắn cảnh báo
USART2_SendString(message);
// Gửi ký tự kết thúc Ctrl+Z (0x1A)
while (USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET);
USART_SendData(USART2, 0x1A);
Delay_ms(3000);
// Kích hoạt cuộc gọi trực tiếp khẩn cấp
sprintf(atCommand, "ATD%s;\r\n", phoneNumber);
USART2_SendString(atCommand);
}
Kết quả thử nghiệm và đánh giá thực nghiệm
1. Kiểm tra độ chính xác đo lường điện năng (So sánh với Đồng hồ chuẩn Fluke 179)
| Mẫu thử tải thực tế |
Điện áp Fluke ($V$) |
Điện áp PZEM ($V$) |
Dòng Fluke ($A$) |
Dòng PZEM ($A$) |
Sai số điện áp ($%$) |
Sai số dòng ($%$) |
| Bóng đèn sợi đốt (60W) |
220.4 |
220.2 |
0.272 |
0.270 |
0.09% |
0.73% |
| Quạt điện (45W) |
220.5 |
220.6 |
0.204 |
0.205 |
0.04% |
0.49% |
| Ấm siêu tốc (1500W) |
218.6 |
218.2 |
6.861 |
6.840 |
0.18% |
0.30% |
| Bếp hồng ngoại (2000W) |
216.4 |
216.0 |
9.240 |
9.210 |
0.18% |
0.32% |
| Tổng thể trung bình |
-- |
-- |
-- |
-- |
0.12% |
0.46% |
2. Đánh giá cự ly và độ trễ truyền thông không dây LoRa E32-TTL-100 (433MHz, 20dBm)
| Khoảng cách (m) |
Môi trường thử nghiệm |
Tỷ lệ gói tin thành công (Packet Delivery Rate) |
Độ trễ khứ hồi trung bình (Round-Trip Time) |
| $50\text{ m}$ |
Trong nhà (Xuyên 3 bức tường 20cm) |
100% (500/500 packets) |
$45\text{ ms}$ |
| $200\text{ m}$ |
Đô thị (Nhà dân che chắn mật độ cao) |
99.4% (497/500 packets) |
$52\text{ ms}$ |
| $500\text{ m}$ |
Đô thị (Khuôn viên trường ĐH SPKT TP.HCM) |
98.2% (491/500 packets) |
$68\text{ ms}$ |
| $1000\text{ m}$ |
Không gian thoáng (Tầm nhìn thẳng LOS) |
95.6% (478/500 packets) |
$84\text{ ms}$ |
3. Thử nghiệm hệ thống chuyển nguồn dự phòng khi mất điện
- Thời gian chuyển mạch: Đạt dưới $5\mu\text{s}$, hệ thống không xảy ra hiện tượng khởi động lại (MCU Reset), tụ lọc $1000\mu\text{F}$ duy trì ổn định mức logic 3.3V và 5V.
- Thời lượng hoạt động bằng Pin: Pin $2000\text{ mAh}$ duy trì Master hoạt động được 4 giờ 15 phút (ở chế độ quét LoRa định kỳ và bật màn hình TFT).
Đổi mới và đóng góp
Các điểm cải tiến kỹ thuật nổi bật
- Kiến trúc mạng lai (Hybrid Topology) LoRa - Wi-Fi tối ưu: Loại bỏ hoàn toàn sự lệ thuộc vào bộ phát Wi-Fi tại các vị trí cách xa trung tâm nhà hoặc nhà xưởng nhiều tầng. Chỉ một Node Master duy nhất tiêu thụ băng thông Internet, giúp giảm 66.7% lưu lượng kết nối Wi-Fi cục bộ so với các giải pháp IoT truyền thống.
- Khả năng sống sót cao (High Resilience) với bộ lưu điện tích hợp: Sự kết hợp giữa IC sạc chuyên dụng TP4056, mạch khóa Mosfet FDN340P và module GSM SIM800L độc lập giúp hệ thống vẫn phát hiện được rò rỉ khí gas và gọi điện cảnh báo cho chủ nhà ngay cả khi kẻ gian cố tình ngắt cầu dao tổng của tòa nhà.
- Thuật toán tính tiền điện thời gian thực thông minh: Tích hợp công thức tính lũy tiến bậc thang theo biểu giá bán lẻ điện sinh hoạt 6 bậc hiện hành của Bộ Công Thương trực tiếp trên ứng dụng Android, giúp người dùng ước tính chính xác chi phí phát sinh theo từng ngày mà không cần đợi hóa đơn cuối tháng.
Tiết kiệm chi phí triển khai: [=======================] 65% so với hệ thống công nghiệp
Khoảng cách truyền thông không dây: [==================================] Tăng gấp 10 lần Wi-Fi
Độ chính xác đo lường điện năng: [=============================] Sai số cực thấp (< 0.5%)
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng thực tế
- Tòa nhà gia đình và biệt thự nhiều tầng: Node Master đặt tại phòng khách tầng 1 kết nối Wi-Fi gia đình; các Node Slave đặt tại phòng bếp (giám sát nấu nướng, rò rỉ gas) và tầng thượng/phòng ngủ (nơi sóng Wi-Fi từ tầng trệt không thể tiếp cận).
- Khu nhà trọ cho thuê hoặc homestay mini: Chủ nhà trọ quản lý việc tiêu thụ điện năng của từng phòng trọ độc lập thông qua các Node Slave mà không cần cấp mật khẩu Wi-Fi riêng cho thiết bị của từng phòng, tự động chốt số điện chính xác chống thất thoát.
- Xưởng sản xuất cơ khí vừa và nhỏ: Giám sát dòng tiêu thụ của các máy tiện, máy hàn công suất lớn nhằm cảnh báo sớm tình trạng máy kẹt rô-to, quá tải nhiệt gây nguy cơ cháy nổ.
Phân tích chi phí linh kiện (Bill of Materials - BOM) cho 1 bộ hoàn chỉnh
| Thành phần linh kiện |
Số lượng |
Đơn giá ước tính (VND) |
Thành tiền (VND) |
| Board ARM STM32F103C8T6 + Arduino Nano |
1 + 2 |
120.000 + 130.000 |
250.000 |
| Module LoRa E32-TTL-100 (433MHz) |
3 |
110.000 |
330.000 |
| Module đo điện năng PZEM-004T + CT |
3 |
145.000 |
435.000 |
| Module GSM SIM800L + Module Wi-Fi ESP8266 |
1 + 1 |
95.000 + 55.000 |
150.000 |
| Cảm biến MQ-2 + Còi Buzzer + Màn hình LCD |
1 bộ |
180.000 |
180.000 |
| Khối nguồn AC-DC HLK-5M05, Pin LiPo 2000mAh, TP4056 |
3 bộ |
110.000 |
330.000 |
| Rơ-le, linh kiện phụ trợ, vỏ hộp nhựa công nghiệp |
3 bộ |
90.000 |
270.000 |
| Tổng chi phí phần cứng hoàn thiện |
-- |
-- |
~1.945.000 VND (~80 USD) |
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Giao thức truyền thông LoRa hoạt động ở chế độ Bán song công (Half-duplex) nên khi mở rộng số lượng Node Slave lên trên 10 trạm, thời gian quét vòng (Polling time) dữ liệu sẽ tăng lên từ $3-5\text{ giây}$.
- Module PZEM-004T phiên bản hiện tại chưa hỗ trợ đo lường trực tiếp cho dòng điện xoay chiều 3 pha công nghiệp nặng.
- Chi phí duy trì thẻ SIM mạng Viettel/Vinaphone để gửi SMS định kỳ phụ thuộc vào cước viễn thông thông thường.
Hướng phát triển mở rộng
- Nâng cấp chuẩn mạng LoRaWAN: Triển khai giao thức mạng LoRaWAN với Gateway đa kênh để hỗ trợ kết nối đồng thời hàng trăm Node cảm biến với bán kính phủ sóng lên đến $3 - 5\text{ km}$.
- Tích hợp thuật toán học máy (Machine Learning): Ứng dụng mô hình phân tách phụ tải phi xâm phạm (Non-Intrusive Load Monitoring - NILM) để tự động nhận dạng loại thiết bị điện đang bật dựa trên đặc tính sóng hài dòng điện.
- Mở rộng Server cục bộ: Bổ sung Web Server nhúng trực tiếp trên Raspberry Pi để hệ thống hoạt động hoàn toàn Offline khi mạng Internet quốc tế bị gián đoạn.
Đối tượng hưởng lợi
- Sinh viên & Kỹ sư nhúng (Embedded Developers): Cung cấp mã nguồn mẫu, sơ đồ nguyên lý thực tế về giao tiếp đa vi điều khiển (ARM Cortex-M3 kết hợp AVR và ESP8266) qua các bus truyền thông SPI, I2C, UART.
- Doanh nghiệp sản xuất & Hộ gia đình: Sở hữu giải pháp quản lý điện năng minh bạch, tiết kiệm từ 15-20% hóa đơn tiền điện hàng tháng, phòng ngừa hỏa hoạn chập cháy hiệu quả.
- Nhà nghiên cứu IoT: Cung cấp dữ liệu thực nghiệm về đặc tính suy hao truyền sóng của công nghệ LoRa 433MHz trong môi trường bê tông đô thị tại Việt Nam.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật 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 $100\text{ VAC} - 240\text{ VAC}$ tần số $50/60\text{ Hz}$, một mạng Wi-Fi $2.4\text{ GHz}$ có kết nối Internet tại vị trí đặt Node Master và một SIM điện thoại còn tiền trong tài khoản lắp vào khe cắm SIM800L để phục vụ tính năng gọi điện/nhắn tin cảnh báo.
2. Khi mất kết nối Wi-Fi, hệ thống có tiếp tục điều khiển được không?
Có. Hệ thống hoàn toàn có thể được điều khiển trực tiếp bằng các nút nhấn cơ khí gắn trên mặt hộp điều khiển của Master và Slave. Các Node Slave vẫn tiếp tục gửi dữ liệu cảnh báo cháy/gas về Master qua sóng LoRa cục bộ; còi Buzzer vẫn hú và SIM800L vẫn thực hiện cuộc gọi khẩn cấp mà không cần đến Wi-Fi.
3. Giới hạn số lượng Node Slave kết nối vào một Master là bao nhiêu?
Theo thiết kế phần mềm hiện tại với cấu hình địa chỉ 16-bit của module LoRa E32, Master có thể quản lý trên lý thuyết lên tới 255 Node Slave. Tuy nhiên, để đảm bảo độ trễ cập nhật dữ liệu dưới $2\text{ giây}$, quy mô tối ưu khuyến nghị là từ $5 - 8\text{ Node Slave}$ cho mỗi Gateway Master.
4. Module PZEM-004T có an toàn khi lắp đặt cùng tủ điện 220V không?
Tuyệt đối an toàn. Module PZEM-004T tích hợp sẵn biến dòng đo gián tiếp (Current Transformer - CT) nên dây tải không cần cắt nối trực tiếp. Phần mạch xử lý logic UART được cách ly quang học hoàn toàn (Optocoupler Isolation) với phần điện áp cao 220VAC, ngăn chặn 100% rủi ro sốc điện sang vi điều khiển và người dùng.
5. Thời gian thu hồi vốn (ROI) khi lắp đặt hệ thống cho gia đình là bao lâu?
Với tổng chi phí chế tạo khoảng $1.950.000\text{ VND}$, dựa trên mức tiết kiệm điện trung bình từ $200.000 - 300.000\text{ VND/tháng}$ của một hộ gia đình sử dụng nhiều thiết bị công suất lớn, thời gian hoàn vốn đầu tư phần cứng chỉ dao động từ 6 đến 8 tháng.
Kết luận
Đề tài "Thiết kế và thi công hệ thống giám sát điện năng tiêu thụ kết hợp với điều khiển thiết bị điện từ xa thông qua Internet và LoRa" đã hoàn thành 100% mục tiêu nghiên cứu và thi công thực nghiệm. Dự án giải quyết triệt để bài toán giám sát năng lượng và điều khiển thiết bị tại những khu vực bị hạn chế sóng Wi-Fi bằng việc kết hợp thông minh giữa công nghệ vô tuyến tầm xa LoRa và nền tảng điện toán đám mây Firebase.
Hệ thống đạt độ chính xác đo lường cao (sai số dưới 0.5%), hoạt động bền bỉ, an toàn nhờ cơ chế bảo vệ nguồn liên tục và khả năng phản ứng tức thời với sự cố rò rỉ khí gas qua mạng di động GSM. Đây là giải pháp công nghệ có tính ứng dụng thực tiễn cao, giá thành hợp lý, sẵn sàng chuyển giao và thương mại hóa trong xu hướng phát triển Nhà thông minh (Smart Home) và Nông nghiệp/Công nghiệp thông minh hiện nay.