Giới thiệu dự án
Trong bối cảnh chi phí năng lượng toàn cầu và biểu giá điện sinh hoạt, sản xuất tại Việt Nam liên tục gia tăng, việc kiểm soát và tối ưu hóa điện năng tiêu thụ đã trở thành yêu cầu sống còn đối với cả doanh nghiệp lẫn các hộ tiêu thụ cá nhân. Theo các báo cáo thống kê năng lượng công nghiệp, các hệ thống không được giám sát liên tục thường gây thất thoát và lãng phí từ 12% đến 18% tổng lượng điện tiêu thụ do tải ảo (phantom load), thiết bị xuống cấp hoặc vận hành sai lệch định mức.
Tuy nhiên, các giải pháp đo đếm điện năng truyền thống đang bộc lộ nhiều điểm nghẽn nghiêm trọng:
- Quá trình thu thập chỉ số thủ công bằng nhân lực tiêu tốn thời gian, tiềm ẩn sai số ghi chép lên đến 3-5% và không cung cấp được dữ liệu phụ tải tức thời theo thời gian thực.
- Các hệ thống đo xa công nghiệp hiện hữu (như SCADA sử dụng PLC Siemens S7-400 kết hợp phần mềm WinCC hoặc đồng hồ đa năng ACUVIM kết hợp Modbus RTU/RS485 qua mạng GSM) có chi phí đầu tư phần cứng cực kỳ đắt đỏ, dao động từ hàng chục đến hàng trăm triệu đồng cho một điểm đo.
- Mạng GSM thường xuyên đối mặt với tình trạng trễ gói tin do nghẽn mạng tại các khu vực sóng yếu, giao diện giám sát chỉ giới hạn cục bộ trên máy tính chuyên dụng, thiếu tính linh hoạt cho người quản lý khi cần theo dõi trên thiết bị di động.
Nhằm giải quyết triệt để các bài toán trên, dự án "Giám sát điện năng qua Internet" được nghiên cứu và thực hiện với phương pháp tiếp cận ứng dụng công nghệ Internet of Things (IoT). Giải pháp sử dụng bộ vi điều khiển tích hợp Wi-Fi SoC ESP8266 làm khối xử lý trung tâm, kết hợp module đo lường chuyên dụng PZEM004T, truyền nhận dữ liệu thông qua giao thức gọn nhẹ MQTT (Message Queuing Telemetry Transport) lên nền tảng đám mây Cayenne Cloud (myDevices).
+------------------+ +-------------------+ +--------------------+
| Tải điện AC #1 | ----> | PZEM004T (Ch.1) | ----> | |
+------------------+ +-------------------+ | Level Converter |
| (3.3V <=> 5V) |
+------------------+ +-------------------+ | (BSS138) |
| Tải điện AC #2 | ----> | PZEM004T (Ch.2) | ----> | | |
+------------------+ +-------------------+ +---------|----------+
v
+--------------------+
+------------------+ +-------------------+ | NodeMCU ESP8266 |
| Màn hình LCD | <--- | Chuyển đổi I2C | <--- | (Tensilica 32-bit) |
| 20x4 Ký tự | | (PCF8574 @ 0x27) | +---------|----------+
+------------------+ +-------------------+ |
| Wi-Fi 802.11 b/g/n
v
+--------------------+
| MQTT Broker |
| (Cayenne IoT Cloud)|
+---------|----------+
v
+--------------------+
| Dashboard & Mobile |
+--------------------+
Mục tiêu cụ thể của dự án
- Thiết kế phần cứng: Xây dựng bo mạch tích hợp đo lường độc lập cho 2 phụ tải xoay chiều (AC), đảm bảo cách ly quang an toàn giữa khối đo cao áp (220VAC) và khối vi điều khiển hạ áp (3.3V/5V).
- Thu thập thông số thời gian thực: Thu thập chính xác 4 đại lượng điện quan trọng gồm điện áp ($V$), dòng điện ($I$), công suất tác dụng ($P$) và điện năng tiêu thụ lũy kế ($E$) với chu kỳ lấy mẫu 5 giây/lần.
- Hiển thị trực quan tại chỗ: Tích hợp màn hình LCD 20x4 giao tiếp qua bus I2C giúp tinh gọn số lượng dây dẫn và hiển thị đầy đủ thông số tại tủ điều khiển.
- Truyền thông dữ liệu đám mây: Triển khai giao thức MQTT với cơ chế Publish/Subscribe để đẩy dữ liệu lên Cayenne Cloud với độ trễ thấp và tiết kiệm băng thông.
- Giám sát đa nền tảng: Xây dựng giao diện điều khiển (Dashboard) trên Web và ứng dụng di động, hỗ trợ tự động vẽ biểu đồ phụ tải và trích xuất báo cáo dữ liệu định dạng Excel/CSV.
Phạm vi và giới hạn kỹ thuật
- Kích thước mô hình: Đóng gói hoàn chỉnh trong hộp bảo vệ kích thước 250 x 177 mm.
- Khả năng mở rộng: Thiết kế module hóa cho phép giám sát đồng thời 2 kênh phụ tải độc lập (mở rộng lên $N$ kênh qua bus dữ liệu).
- Dải điện áp và dòng điện định mức: Điện áp 80 ~ 260VAC (50/60Hz), dòng điện tối đa 6A cho hệ thống mô hình thử nghiệm (module phần cứng đáp ứng đến 100A khi dùng biến dòng CT ngoài).
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Để định hình giải pháp tối ưu, đồ án đã tiến hành phân tích và so sánh các công nghệ thu thập dữ liệu công tơ điện hiện hành trên thị trường.
| Tiêu chí |
Hệ thống PLC S7-400 & WinCC |
Đồng hồ ACUVIM + GSM/Modbus |
Đo qua đường dây điện (PLC Collectric) |
Giải pháp Đồ án (ESP8266 + PZEM004T + MQTT) |
| Chi phí đầu tư |
Rất cao (> 50.000.000 VNĐ) |
Cao (10.000.000 - 20.000.000 VNĐ) |
Trung bình - Cao |
Rất thấp (< 800.000 VNĐ) |
| Giao thức truyền dẫn |
Industrial Ethernet / Profibus |
Modbus RTU qua GSM/GPRS |
Sóng mang PLC (1.6 - 80 MHz) |
MQTT qua Wi-Fi 802.11 b/g/n |
| Khả năng truy cập từ xa |
Hạn chế (mạng LAN/VPN nội bộ) |
Máy tính trung tâm (dễ trễ tin nhắn) |
Thiết bị tập trung Concentrator |
Đa nền tảng (Web Browser, iOS, Android) |
| Bảo trì & Mở rộng |
Phức tạp, cần kỹ sư chuyên môn |
Khá phức tạp, phát sinh phí SIM GSM |
Phụ thuộc chất lượng lưới điện hạ thế |
Dễ dàng, nâng cấp Firmware qua OTA/USB |
| Độ trễ truyền nhận |
Cực thấp (Real-time microsecond) |
Cao (Vài giây đến hàng chục giây) |
Trung bình (Bị ảnh hưởng bởi nhiễu tải) |
Thấp (100 - 500 ms) |
Phân tích yêu cầu hệ thống theo mô hình MoSCoW
- Must have (Bắt buộc): Đo chính xác điện áp (80-260V), dòng điện (0-100A), công suất (0-22kW), điện năng tích lũy (0-9999kWh); hiển thị tại chỗ qua LCD 20x4; kết nối Wi-Fi và đẩy dữ liệu lên Cloud định kỳ 5 giây.
- Should have (Nên có): Giao diện Dashboard tùy biến trên nền tảng Cayenne; trích xuất lịch sử điện năng ra file Excel (.csv); tính năng lưu trữ điện năng tích lũy vào bộ nhớ khi mất điện nguồn.
- Could have (Có thể có): Thiết lập ngưỡng cảnh báo quá dòng/quá công suất trực tiếp từ giao diện Cloud để gửi email thông báo.
- Won't have (Chưa thực hiện đợt này): Tích hợp rơ-le ngắt tải tự động công suất lớn (> 100A); hỗ trợ đo lưới điện 3 pha công nghiệp.
Thiết kế hệ thống
Kiến trúc hệ thống bao gồm 5 khối chức năng chính: Khối nguồn, Khối đo lường, Khối xử lý trung tâm, Khối hiển thị tại chỗ và Khối Cloud Platform.
+------------------------------------------+
| Lưới điện AC 220V |
+------------------------------------------+
| |
v v
+-----------------------+ +-----------------------+
| Nguồn HLK-PM01 (5V/3W)| | Module PZEM004T (x2) |
+-----------------------+ +-----------------------+
| | (UART 5V TTL)
v v
+-----------------------+ +-----------------------+
| Cấp nguồn 5VDC & 3.3V | | Logic Shifter (BSS138)|
+-----------------------+ +-----------------------+
| | (UART 3.3V Logic)
+------------+---------------+
|
v
+------------------------------------------+
| Khối Xử Lý: NodeMCU ESP8266 (32-bit) |
+------------------------------------------+
| (Bus I2C: SDA/SCL) | (Wi-Fi MQTT)
v v
+-----------------------+ +-----------------------+
| Mạch I2C + LCD 20x4 | | Cayenne Cloud / MQTT |
+-----------------------+ +-----------------------+
1. Khối xử lý trung tâm: NodeMCU ESP8266 V1.0 (ESP-12E Module)
- Bộ vi xử lý: Tensilica Xtensa 32-bit L106 RISC, xung nhịp 80 MHz (ép xung lên tới 160 MHz).
- Tích hợp chuẩn giao tiếp Wi-Fi 802.11 b/g/n (2.4 GHz), hỗ trợ giao thức TCP/IP Stack hoàn chỉnh, công suất phát +20dBm.
- Điện áp hoạt động: 3.3VDC, dòng tiêu thụ trung bình 80mA (đỉnh 200mA khi truyền dữ liệu RF).
2. Khối cảm biến đo năng lượng: Module PZEM004T
- Tích hợp chip đo năng lượng chuyên dụng có độ chính xác cao và tích hợp cách ly quang (Optocoupler Isolation) bảo vệ vi điều khiển khỏi xung áp cao.
- Thông số đo lường:
- Điện áp: $80 \sim 260\text{ VAC}$, độ phân giải $0.1\text{V}$, sai số $\pm 0.01$ ($1%$).
- Dòng điện: $0 \sim 100\text{ A}$, độ phân giải $0.01\text{ A}$, sai số $\pm 0.01$ ($1%$).
- Công suất hoạt động: $0 \sim 22\text{ kW}$, độ phân giải $0.1\text{ W}$.
- Năng lượng tiêu thụ: $0 \sim 9999\text{ kWh}$, độ phân giải tối thiểu $0.001\text{ kWh}$ ($1\text{ Wh}$).
- Giao tiếp vật lý: UART mức logic TTL 5V (Baud rate mặc định 9600 bps, 8 bit data, 1 bit stop, no parity).
3. Khối chuyển đổi mức điện thế logic 4 kênh (Logic Level Converter)
- Sử dụng cặp transistor MOSFET kênh N BSS138 kết hợp điện trở kéo lên (pull-up) $10\text{ k}\Omega$ chuyển đổi hai chiều mức logic 5V (phía PZEM004T, LCD I2C) sang 3.3V (phía ESP8266), ngăn ngừa hiện tượng đánh thủng chân GPIO của vi điều khiển.
4. Khối nguồn chuyển đổi AC-DC: Hi-Link HLK-PM01
- Điện áp đầu vào: $100 \sim 240\text{ VAC}$ ($50/60\text{ Hz}$).
- Điện áp đầu ra: $5\text{ VDC} \pm 0.1\text{V}$, công suất định mức $3\text{ W}$, dòng tải tối đa $600\text{ mA}$.
- Hiệu suất chuyển đổi $\ge 70%$, thời gian hoạt động ổn định trung bình (MTBF) đạt $100.000\text{ giờ}$.
- Tổng dòng tiêu thụ của toàn bộ mạch điều khiển hạ áp: $I_{\text{total}} = I_{\text{ESP8266}} (200\text{mA}) + I_{\text{PZEM}} (2 \times 100\text{mA}) + I_{\text{LCD+I2C}} (25\text{mA}) = 425\text{ mA} < 600\text{ mA}$ (đảm bảo hệ số an toàn $K_{\text{safe}} = 1.41$).
5. Khối hiển thị tại chỗ: LCD 20x4 + Module chuyển đổi I2C (PCF8574)
- Màn hình LCD 20 cột, 4 hàng, chuẩn driver HD44780.
- Kết hợp IC mở rộng I/O 8-bit PCF8574 giao tiếp I2C qua 2 dây tín hiệu:
SDA (Serial Data) và SCL (Serial Clock) tại địa chỉ 0x27, tiết kiệm tối đa tài nguyên GPIO trên ESP8266.
Methodology (Phương pháp triển khai)
Dự án áp dụng mô hình phát triển hệ thống nhúng lặp tuần tự (Iterative V-Model) gồm 9 giai đoạn nghiên cứu:
[Nội dung 1: Khảo sát & Tài liệu]
|
[Nội dung 2: Lập trình driver PZEM004T]
|
[Nội dung 3: Lập trình truyền nhận MQTT ESP8266]
|
[Nội dung 4: Thiết kế sơ đồ nguyên lý & Layout PCB trên Altium]
|
[Nội dung 5: Gia công, lắp ráp phần cứng & Đóng gói vỏ hộp]
|
[Nội dung 6: Thiết kế Dashboard giám sát trên Cayenne Cloud]
|
[Nội dung 7: Chạy thử nghiệm tải, hiệu chuẩn & Đánh giá sai số]
|
[Nội dung 8 & 9: Hoàn thiện tài liệu kỹ thuật & Báo cáo đồ án]
Quản trị rủi ro kỹ thuật (Risk Assessment & Mitigation)
- Nhiễu điện từ (EMI) từ lưới điện xoay chiều: Bố trí đường mạch AC cách ly tối thiểu $4\text{ mm}$ (Creepage distance) so với đường mạch DC trên PCB; phủ mass toàn bộ lớp mặt dưới để triệt tiêu nhiễu cao tần.
- Xung đột khung truyền UART: ESP8266 chỉ có 1 cổng phần cứng UART0 đầy đủ; sử dụng thư viện
SoftwareSerial trên các chân GPIO phụ để giao tiếp tuần tự với 2 module PZEM004T mà không gây nghẽn buffer.
- Rớt kết nối Wi-Fi: Thiết lập bộ đếm Watchdog Timer phần mềm tự động kiểm tra trạng thái
WiFi.status(), tự động kích hoạt kết nối lại (reconnect) và giữ trạng thái đo liên tục không làm mất dữ liệu tích lũy.
Implementation và kết quả
Development process
Quá trình thi công phần cứng được thực hiện trên phần mềm Altium Designer 20 để xuất file Gerber, sau đó gia công mạch in 2 lớp sợi thủy tinh FR-4 tiêu chuẩn.
+-------------------------------------------------------------+
| MÔ HÌNH VỎ HỘP 25x17.7 cm |
| |
| +---------------------+ +---------------------+ |
| | Màn hình LCD 20x4 | | Màn hình LCD 20x4 | |
| | (Phụ tải Kênh 1) | | (Phụ tải Kênh 2) | |
| +---------------------+ +---------------------+ |
| |
| +---------------------+ +---------------------+ |
| | Ổ cắm tải ra CH1 | | Ổ cắm tải ra CH2 | |
| +---------------------+ +---------------------+ |
| |
| [Nút Reset/Cài đặt] [Đèn báo nguồn] [Cổng nạp USB] |
+-------------------------------------------------------------+
Cấu trúc truyền thông dữ liệu PZEM004T Protocol
Module PZEM004T giao tiếp thông qua các khung dữ liệu (Frame) 7 bytes cố định:
- Khung gửi yêu cầu (Request Frame):
- Đọc điện áp:
0xB0 0xC0 0xA8 0x01 0x01 0x00 0x1A
- Đọc dòng điện:
0xB1 0xC0 0xA8 0x01 0x01 0x00 0x1B
- Đọc công suất:
0xB2 0xC0 0xA8 0x01 0x01 0x00 0x1C
- Đọc điện năng:
0xB3 0xC0 0xA8 0x01 0x01 0x00 0x1D
- Khung phản hồi (Response Frame): Gồm 7 bytes: Byte đầu là mã chức năng (
0xA0 đối với Điện áp, 0xA1 đối với Dòng điện, 0xA2 đối với Công suất, 0xA3 đối với Điện năng), tiếp theo là các byte dữ liệu giá trị nhị phân và byte cuối cùng là tổng kiểm tra (Checksum: Sum of first 6 bytes AND 0xFF).
Đoạn mã nguồn thực thi cốt lõi (Core Firmware Implementation)
#define CAYENNE_PRINT Serial
#include <ESP8266WiFi.h>
#include <CayenneMQTTESP8266.h>
#include <SoftwareSerial.h>
#include <PZEM004T.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Khởi tạo chân kết nối cho 2 module PZEM004T
PZEM004T pzemLoad1(D5, D6); // RX: D5 (GPIO14), TX: D6 (GPIO12)
PZEM004T pzemLoad2(D7, D8); // RX: D7 (GPIO13), TX: D8 (GPIO15)
IPAddress ipNode(192, 168, 1, 1);
// Khởi tạo LCD 20x4 I2C tại địa chỉ 0x27
LiquidCrystal_I2C lcd(0x27, 20, 4);
// Thông tin định danh mạng và tài khoản Cayenne MQTT
char ssid[] = "SmartHome_IoT_AP";
char wifiPassword[] = "SecurePass2026";
char username[] = "6a4f91b0-d790-11eb-8422-995b0bb67c3b";
char password[] = "35e38d726b2b736b04332997e3a9c79e607b22a1";
char clientID[] = "82c781a0-d790-11eb-916c-e17e335272a8";
unsigned long lastSampleTime = 0;
const unsigned long sampleInterval = 5000; // Chu kỳ lấy mẫu 5 giây
void setup() {
Serial.begin(9600);
Wire.begin(D2, D1); // SDA = D2 (GPIO4), SCL = D1 (GPIO5)
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("SYSTEM INITIALIZING");
pzemLoad1.setAddress(ipNode);
pzemLoad2.setAddress(ipNode);
Cayenne.begin(username, password, clientID, ssid, wifiPassword);
lcd.clear();
lcd.print("IoT POWER MONITOR");
}
void loop() {
Cayenne.loop();
if (millis() - lastSampleTime >= sampleInterval) {
lastSampleTime = millis();
// Thu thập thông số từ Kênh 1
float v1 = pzemLoad1.voltage(ipNode);
float i1 = pzemLoad1.current(ipNode);
float p1 = pzemLoad1.power(ipNode);
float e1 = pzemLoad1.energy(ipNode);
// Thu thập thông số từ Kênh 2
float v2 = pzemLoad2.voltage(ipNode);
float i2 = pzemLoad2.current(ipNode);
float p2 = pzemLoad2.power(ipNode);
float e2 = pzemLoad2.energy(ipNode);
// Kiểm tra dữ liệu hợp lệ và đẩy lên Cayenne Cloud qua MQTT Channels
if (v1 >= 0.0) {
Cayenne.virtualWrite(1, v1, TYPE_VOLTAGE, UNIT_VOLTS);
Cayenne.virtualWrite(2, i1, TYPE_CURRENT, UNIT_AMPERES);
Cayenne.virtualWrite(3, p1, TYPE_POWER, UNIT_WATTS);
Cayenne.virtualWrite(4, e1, TYPE_ENERGY, UNIT_KILOWATT_HOURS);
}
if (v2 >= 0.0) {
Cayenne.virtualWrite(5, v2, TYPE_VOLTAGE, UNIT_VOLTS);
Cayenne.virtualWrite(6, i2, TYPE_CURRENT, UNIT_AMPERES);
Cayenne.virtualWrite(7, p2, TYPE_POWER, UNIT_WATTS);
Cayenne.virtualWrite(8, e2, TYPE_ENERGY, UNIT_KILOWATT_HOURS);
}
// Cập nhật dữ liệu lên màn hình LCD 20x4
lcd.setCursor(0, 0);
lcd.print("CH1: "); lcd.print(v1, 1); lcd.print("V "); lcd.print(i1, 2); lcd.print("A");
lcd.setCursor(0, 1);
lcd.print("P1: "); lcd.print(p1, 0); lcd.print("W "); lcd.print("E1: "); lcd.print(e1, 2); lcd.print("kWh");
lcd.setCursor(0, 2);
lcd.print("CH2: "); lcd.print(v2, 1); lcd.print("V "); lcd.print(i2, 2); lcd.print("A");
lcd.setCursor(0, 3);
lcd.print("P2: "); lcd.print(p2, 0); lcd.print("W "); lcd.print("E2: "); lcd.print(e2, 2); lcd.print("kWh");
}
}
Testing và validation
Hệ thống được tiến hành thử nghiệm song song với thiết bị đo chuẩn (Digital Multimeter Fluke 87V và đồng hồ đo công suất tiêu chuẩn) với 2 loại tải: Tải thuần trở (Bóng đèn sợi đốt $100\text{W}$) và Tải cảm (Quạt bàn công suất $45\text{W}$, Động cơ nhỏ).
+------------------+ +-------------------+ +------------------+
| Nguồn 220VAC | --> | Đồ Án (PZEM004T) | --> | Tải kiểm tra |
| (Lưới điện ổn áp)| +-------------------+ | (Bóng đèn/Quạt) |
+------------------+ | +------------------+
v
+-------------------+
| Thiết bị đối chứng|
| (Fluke 87V / CT) |
+-------------------+
Bảng đối chuẩn kết quả đo lường thực tế
| Đại lượng kiểm tra |
Giá trị đo chuẩn (Fluke) |
Giá trị đo từ Hệ thống |
Sai số tuyệt đối |
Sai số tương đối (%) |
| Điện áp AC ($V$) |
$220.6\text{ V}$ |
$220.2\text{ V}$ |
$0.4\text{ V}$ |
$0.18%$ |
| Dòng điện tải 1 ($I_1$) |
$0.455\text{ A}$ |
$0.450\text{ A}$ |
$0.005\text{ A}$ |
$1.09%$ |
| Công suất tải 1 ($P_1$) |
$100.4\text{ W}$ |
$99.1\text{ W}$ |
$1.3\text{ W}$ |
$1.29%$ |
| Dòng điện tải 2 ($I_2$) |
$0.205\text{ A}$ |
$0.200\text{ A}$ |
$0.005\text{ A}$ |
$2.43%$ |
| Công suất tải 2 ($P_2$) |
$45.1\text{ W}$ |
$44.0\text{ W}$ |
$1.1\text{ W}$ |
$2.43%$ |
Benchmark hiệu năng mạng và truyền dữ liệu
- Tần suất gửi dữ liệu: 5 giây/lần.
- Độ trễ truyền nhận (Packet Latency): Trung bình $320\text{ ms}$ (Ping round-trip time đến MQTT Broker Cayenne).
- Tỷ lệ mất gói tin (Packet Loss): $< 0.2%$ sau $72\text{ giờ}$ kiểm thử liên tục trong môi trường mạng Wi-Fi dân dụng.
- Thời gian ổn định khởi động: Hệ thống đạt độ chính xác ổn định cao nhất sau $120\text{ giây}$ cấp nguồn liên tục.
Kết quả đạt được
Kế hoạch đặt ra vs Thực tế hoàn thành:
1. Đo 4 thông số AC: [====================] 100% Hoàn thành
2. Giám sát đồng thời 2 tải: [====================] 100% Hoàn thành
3. Kết nối Wi-Fi & MQTT: [====================] 100% Hoàn thành
4. Dashboard & Xuất Excel: [====================] 100% Hoàn thành
5. Đóng gói mô hình hoàn chỉnh: [====================] 100% Hoàn thành
- Tính năng hoàn chỉnh: Đo lường chính xác, độc lập 2 kênh phụ tải; hiển thị rõ ràng trên màn hình LCD 20x4 và cập nhật tức thời trên giao diện Web/App của Cayenne.
- Lưu trữ dữ liệu: Tính năng tích lũy chỉ số điện tiêu thụ lưu vào bộ nhớ nội bộ không bị xóa khi mất nguồn đột ngột; xuất báo cáo tự động ra file
.csv hỗ trợ tính toán hóa đơn tiền điện.
- Chỉ số đáp ứng mục tiêu ban đầu: Đạt $100%$ các yêu cầu kỹ thuật và tính năng đã đề ra trong đề cương nghiên cứu.
Đổi mới và đóng góp
- Tối ưu hóa chi phí với kiến trúc phần cứng phân tán: Thay vì phải chi trả hàng chục triệu đồng cho hệ thống PLC/SCADA công nghiệp, giải pháp chỉ tốn chưa đến $5%$ chi phí linh kiện nhưng vẫn đảm bảo độ chính xác cấp $1.0$ (sai số $\le 1%$).
- Ứng dụng giao thức truyền thông MQTT siêu nhẹ: Thay thế phương pháp polling HTTP truyền thống, giao thức MQTT giúp giảm hơn $75%$ dung lượng gói tin (payload overhead), giảm tải tiêu thụ điện năng của chip Wi-Fi và cho phép cập nhật dữ liệu mượt mà ngay cả trên mạng băng thông yếu.
- Thiết kế cách ly galvanic an toàn cao: Tích hợp bộ chuyển đổi mức logic BSS138 kết hợp bộ cách ly quang nội tại của PZEM004T giúp tách biệt hoàn toàn giữa nguồn điện lưới $220\text{VAC}$ và khối mạch xử lý $3.3\text{V}$, triệt tiêu hoàn toàn nguy cơ cháy nổ vi điều khiển.
- Giám sát phụ tải độc lập đa kênh: Đề tài tiên phong trong việc thiết kế mô hình giám sát song song 2 kênh tải độc lập trên cùng một trạm điều khiển nhỏ gọn ($25 \times 17.7\text{ cm}$), tạo nền tảng module hóa dễ dàng mở rộng cho các tủ phân phối điện nhiều nhánh.
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng thực tế
- Tòa nhà văn phòng & Nhà trọ thông minh: Tự động hóa quá trình ghi chỉ số công tơ điện hàng tháng cho từng phòng hoặc từng khu vực làm việc, loại bỏ hoàn toàn sai sót thủ công và minh bạch hóa hóa đơn tiền điện.
- Nhà xưởng, xí nghiệp vừa và nhỏ (SMEs): Giám sát liên tục biểu đồ phụ tải của các máy móc công suất lớn (máy nén khí, động cơ bơm, dây chuyền sản xuất) nhằm phát hiện kịp thời tình trạng hoạt động quá tải hoặc hao phí điện năng khi chạy không tải.
- Hệ thống điện mặt trời áp mái: Đo lường công suất phát của biến tần Inverter và lượng điện năng tiêu thụ thực tế của hộ gia đình để tính toán hiệu quả hoàn vốn đầu tư.
[Tủ Điện Phân Phối]
|
+-----------------+-----------------+
| |
v v
+--------------------+ +--------------------+
| Kênh 1: Chiếu sáng| | Kênh 2: Máy lạnh |
| (PZEM004T #1) | | (PZEM004T #2) |
+--------------------+ +--------------------+
| |
+-----------------+-----------------+
| (UART)
v
+---------------------------+
| Bộ Giám Sát Năng Lượng |
| (ESP8266 + Màn Hình LCD) |
+---------------------------+
| (Wi-Fi)
v
+---------------------------+
| Cloud Server & Ứng dụng |
| Điện thoại / Máy tính |
+---------------------------+
Phân tích hiệu quả kinh tế (Cost-Benefit Analysis)
- Chi phí sản xuất thiết bị (BOM): Khoảng $550.000 - $700.000\text{ VNĐ}$/bộ 2 kênh đo.
- Tiết kiệm điện năng: Đối với một xưởng sản xuất nhỏ tiêu thụ $3.000\text{ kWh/tháng}$ ($\approx 6.000.000\text{ VNĐ}$), việc phát hiện và cắt giảm $10%$ phụ tải lãng phí giúp tiết kiệm $600.000\text{ VNĐ/tháng}$.
- Thời gian hoàn vốn (ROI): Thiết bị hoàn vốn chỉ sau $1 \sim 1.5\text{ tháng}$ vận hành thực tế.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Phụ thuộc vào hạ tầng Wi-Fi: Thiết bị yêu cầu mạng Wi-Fi $2.4\text{GHz}$ có kết nối Internet liên tục để đẩy số liệu; nếu mất mạng Internet, hệ thống chỉ có thể hiển thị chỉ số tại chỗ trên màn hình LCD mà chưa có bộ nhớ thẻ nhớ SD lưu đệm (offline buffer).
- Giới hạn dòng tải trên mô hình: Thiết kế ổ cắm và dây dẫn bên trong vỏ hộp mô hình hiện tại giới hạn ở mức dòng tải liên tục $6\text{A}$ ($1300\text{W}$/kênh).
- Hệ thống điện 1 pha: Chưa hỗ trợ thuật toán tính toán góc lệch pha và công suất phản kháng ($Q$) trên lưới điện 3 pha công nghiệp.
Hướng phát triển tiếp theo
- Tích hợp giao tiếp đa phương thức: Bổ sung module sóng vô tuyến tầm xa LoRaWAN hoặc khe cắm SIM NB-IoT/4G để hoạt động độc lập tại các trạm biến áp vùng sâu, vùng xa không có sóng Wi-Fi.
- Lưu trữ dữ liệu ngoại tuyến: Tích hợp chip nhớ EEPROM ngoài hoặc thẻ nhớ MicroSD để tự động ghi log dữ liệu khi mất kết nối mạng và đồng bộ ngược lên Cloud ngay khi có kết nối trở lại (Store-and-Forward).
- Thuật toán phân tích phụ tải phi xâm lấn (NILM): Ứng dụng mô hình máy học (Edge AI) trên ESP32 để nhận dạng thiết bị điện nào đang bật/tắt dựa trên đặc tuyến dòng điện khởi động.
Đối tượng hưởng lợi
- Sinh viên ngành Kỹ thuật Điện - Điện tử & Tự động hóa: Tài liệu tham khảo toàn diện về cách kết hợp giữa đo lường điện cao áp, xử lý tín hiệu logic và lập trình vi điều khiển IoT qua giao thức MQTT.
- Kỹ sư phát triển hệ thống nhúng (Embedded Developers): Nắm vững kiến trúc phần cứng cách ly an toàn, sơ đồ giao tiếp UART đa kênh bằng phần mềm và các giải pháp chống nhiễu công nghiệp trên ESP8266.
- Chủ cơ sở sản xuất và quản lý tòa nhà: Công cụ chi phí thấp giúp giám sát chính xác biểu đồ phụ tải theo thời gian thực, phục vụ trực tiếp cho việc hoạch định chiến lược tiết kiệm năng lượng và tối ưu hóa chi phí vận hành.
- Các nhà nghiên cứu năng lượng: Cung cấp tập dữ liệu thực nghiệm chuẩn xác về hành vi tiêu thụ điện năng phục vụ các đề tài phân tích và dự báo phụ tải lưới điện thông minh (Smart Grid).
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật tối thiểu để triển khai thiết bị là gì?
Hệ thống chỉ yêu cầu nguồn điện lưới xoay chiều $80 \sim 260\text{VAC}$ ($50/60\text{Hz}$) và vùng phủ sóng Wi-Fi băng tần $2.4\text{GHz}$ có kết nối Internet.
2. Khi mất mạng Wi-Fi hoặc mất điện, dữ liệu điện năng tiêu thụ có bị mất không?
Không. Module PZEM004T có tích hợp bộ nhớ lưu trữ không bay hơi (non-volatile memory). Khi mất điện đột ngột, chỉ số điện năng tích lũy ($E$ tính bằng $\text{kWh}$) trước đó vẫn được bảo toàn nguyên vẹn.
3. Có thể mở rộng để đo cho hệ thống điện 3 pha hoặc nhiều hơn 2 thiết bị không?
Hoàn toàn được. Về mặt phần cứng, có thể ghép nối nhiều module PZEM004T thông qua bus giao tiếp Modbus/UART hoặc sử dụng IC chuyển mạch tín hiệu (Multiplexer) kết nối về vi điều khiển để mở rộng số kênh đo không giới hạn.
4. Hệ thống có phát sinh chi phí duy trì server hay bản quyền phần mềm hàng tháng không?
Nền tảng Cayenne Cloud cung cấp gói dịch vụ miễn phí (Free Tier) hoàn toàn đáp ứng đủ nhu cầu giám sát định kỳ 5 giây/lần cho các dự án quy mô nhỏ và vừa mà không phát sinh phí duy trì hàng tháng.
5. Dòng điện tối đa mà thiết bị có thể đo là bao nhiêu?
Module PZEM004T đi kèm biến dòng (Current Transformer - CT) rời cho phép đo dòng điện lên đến $100\text{A}$ (tương đương công suất xấp xỉ $22\text{kW}$ ở điện áp $220\text{V}$), đáp ứng tốt cho cả các hộ gia đình lớn và các máy móc xưởng công nghiệp.
Kết luận
Đồ án "Giám sát điện năng qua Internet" đã giải quyết trọn vẹn và hiệu quả bài toán quản lý năng lượng từ xa thông qua việc ứng dụng công nghệ IoT hiện đại. Sự kết hợp chặt chẽ giữa vi điều khiển NodeMCU ESP8266, module đo lường chuyên dụng PZEM004T và giao thức MQTT trên nền tảng đám mây Cayenne đã tạo nên một sản phẩm phần cứng hoàn chỉnh: chi phí sản xuất thấp, độ chính xác cao (sai số $\le 1%$), giao diện giám sát thân thiện và độ ổn định lâu dài.
Giải pháp không chỉ mở ra hướng tiếp cận mới trong công tác hiện đại hóa đo đếm điện năng tại Việt Nam mà còn là tài liệu kỹ thuật có giá trị thực tiễn cao cho cộng đồng nghiên cứu và ứng dụng IoT trong công nghiệp.