Giới thiệu dự án
Trong bối cảnh công nghiệp hóa hiện đại và xu hướng chuyển dịch năng lượng toàn cầu, việc tối ưu hóa hiệu suất sử dụng điện năng (Energy Efficiency) là ưu tiên sống còn đối với các doanh nghiệp sản xuất. Theo thống kê năng lượng công nghiệp, lượng điện tiêu thụ cho các hệ thống động cơ, máy cắt gọt, máy gia công cơ khí chiếm tới 60% – 70% tổng năng lượng toàn nhà máy; trong đó tổn thất do máy hoạt động non tải hoặc chạy không tải (chờ gia công) chiếm tới 15% – 30% tổng lượng tiêu thụ vô ích. Tại Việt Nam, nhiều xí nghiệp vừa và nhỏ vẫn quản lý điện năng thủ công bằng chỉ số công tơ định kỳ, dẫn đến việc thiếu dữ liệu tức thời để phân tích và tối ưu hóa chi phí vận hành.
+-------------------------------------------------------------------------------+
| BÀI TOÁN THỰC TẾ |
| Máy vận hành non tải / không tải (70-80 lần dừng/chạy mỗi ca) |
| -> Tổn thất điện năng 15-30% -> Giá thành sản phẩm tăng -> Giảm cạnh tranh |
+-------------------------------------------------------------------------------+
│
▼
+-------------------------------------------------------------------------------+
| GIẢI PHÁP ĐỀ XUẤT |
| Hệ thống IoT Giám sát Điện năng Không dây (PZEM-014 + RS485 + ESP32 + Web) |
+-------------------------------------------------------------------------------+
Vấn đề thực tế (Problem Statement)
Các xí nghiệp gia công (tiêu biểu như xưởng gia công máy điêu khắc quảng cáo CNC) gặp các trở ngại kỹ thuật lớn:
- Hiện tượng non tải và chạy không tải kéo dài: Động cơ trục chính và hệ truyền động vẫn tiêu thụ điện khi máy ở chế độ chờ (idle), gây lãng phí nghiêm trọng.
- Thiếu giám sát trực gian thực (Real-time Monitoring): Không ghi nhận được các thông số điện tức thời (V, I, P, Q, Cosφ, Frequency) theo từng ca làm việc để kịp thời cảnh báo sự cố.
- Chi phí triển khai SCADA/PLC truyền thống quá cao: Các giải pháp công nghiệp thương mại từ Siemens, Schneider đòi hỏi chi phí đầu tư thiết bị và hạ tầng dây dẫn đắt đỏ, không linh hoạt cho mở rộng đa điểm.
Mục tiêu của dự án
- Thiết kế phần cứng thu thập dữ liệu đa năng: Tích hợp module đo chuyên dụng PZEM-014 với vi điều khiển ESP32 qua giao thức công nghiệp Modbus RTU (chuẩn vật lý RS485).
- Xây dựng trạm đo phân tán không dây: Giám sát độc lập 2 trạm đo với khả năng thu thập 6 đại lượng điện năng cơ bản: Điện áp (V), Dòng điện (A), Công suất thực (W), Điện năng tích lũy (kWh), Tần số lưới (Hz), Hệ số công suất (Power Factor).
- Phát triển nền tảng Web Server giám sát thời gian thực: Xây dựng hệ thống web động trên nền tảng PHP và MySQL, hiển thị trực quan thông số, thống kê thời gian vận hành có tải/không tải theo từng ca và xuất báo cáo dữ liệu định dạng Excel.
- Tối ưu hóa chi phí và độ tin cậy: Triển khai đường truyền không dây Wi-Fi/Internet, giảm 70% chi phí dây truyền thông so với mạng cáp RS485 nối dài truyền thống.
Phạm vi và giới hạn (Scope & Limitations)
- Đối tượng thử nghiệm: Máy điêu khắc CNC quảng cáo (hành trình XYZ: 1300 x 2500 x 180 mm, công suất trục chính 3.0 kW, chạy 2 ca/ngày).
- Phạm vi đo lường trạm: Đo dòng AC 1 pha dải $0 \sim 10\text{A}$ (sử dụng điện trở Shunt tích hợp trong PZEM-014), điện áp $80 \sim 260\text{VAC}$, công suất tối đa $2.3\text{kW}$.
- Hạ tầng truyền thông: Giám sát 2 trạm thực nghiệm qua kết nối Wi-Fi 2.4 GHz nội bộ và đẩy dữ liệu lên Web Hosting thông qua Router mạng di động 3G/4G.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí |
Đo đếm thủ công (Công tơ cơ/điện tử) |
Hệ thống SCADA/PLC công nghiệp |
Giải pháp IoT không dây (Hệ thống đề xuất) |
| Tần suất cập nhật |
Định kỳ theo ngày/tháng (Ghi chép sổ) |
Thời gian thực ($< 1\text{s}$) |
Thời gian thực ($2\text{s} - 5\text{s}$) |
| Chi phí triển khai |
Rất thấp (Thiết bị cơ bản) |
Rất cao ($> 2.000\text{ USD}$ / trạm) |
Thấp ($< 50\text{ USD}$ / trạm) |
| Hạ tầng kết nối |
Không có kết nối mạng |
Kéo cáp RS485 / Industrial Ethernet |
Không dây Wi-Fi (IEEE 802.11 b/g/n) |
| Phân tích ca làm việc |
Không thể thực hiện |
Tích hợp trên Server điều khiển trung tâm |
Tự động phân tích có tải/không tải trên Web |
| Khả năng mở rộng |
Thủ công |
Phức tạp, cần cấu hình phần cứng lớn |
Linh hoạt thêm node mới qua mạng Wi-Fi |
Phân loại yêu cầu theo mô hình MoSCoW
- Must have (Bắt buộc): Đo chính xác $U, I, P, E, F, \text{Cos}\varphi$; truyền dữ liệu qua Modbus RTU/RS485 về ESP32; gửi dữ liệu qua HTTP POST lên Web Server; lưu trữ cơ sở dữ liệu MySQL; hiển thị giao diện Web theo thời gian thực.
- Should have (Nên có): Phân loại trạng thái làm việc (Có tải / Không tải / Sự cố dừng máy); tính tổng thời gian hoạt động của máy theo từng ca; hiển thị vòng tròn cảnh báo trực quan.
- Could have (Có thể mở rộng): Xuất dữ liệu báo cáo sang định dạng Excel (.xlsx); hỗ trợ nút nhấn báo trạng thái trực tiếp trên vỏ hộp trạm.
- Won't have (Chưa thực hiện đợt này): Điều khiển ngắt tải tự động từ xa qua Relay công suất lớn; giám sát mạng điện 3 pha công nghiệp nặng ($> 100\text{A}$).
Thiết kế hệ thống
flowchart TB
subgraph TramDo1["Trạm Giám Sát 1 (Máy Điêu Khắc 1)"]
Sensor1["Module PZEM-014<br/>(Đo U, I, P, E, PF, F)"] -->|RS485 Modbus RTU| Conv1["Mạch Chuyển UART TTL - RS485"]
Conv1 -->|UART TX2/RX2| MCU1["ESP32 NodeMCU<br/>(Dual Core 240MHz)"]
Btn1["Nút Nhấn 10mm<br/>(Báo Trạng Thái)"] --> MCU1
MCU1 -->|I2C Bus| LCD1["Màn Hình LCD 16x2"]
MCU1 --> Led1["LED Báo Trạng Thái"]
end
subgraph TramDo2["Trạm Giám Sát 2 (Máy Điêu Khắc 2)"]
Sensor2["Module PZEM-014"] -->|RS485| Conv2["Mạch Chuyển UART - RS485"]
Conv2 -->|UART| MCU2["ESP32 NodeMCU"]
Btn2["Nút Nhấn 10mm"] --> MCU2
MCU2 --> LCD2["LCD Display"]
end
Router["Bộ Định Tuyến Wi-Fi / Router 3G-4G"]
MCU1 -->|Wi-Fi 802.11 b/g/n| Router
MCU2 -->|Wi-Fi 802.11 b/g/n| Router
subgraph CloudServer["Cloud Web Server (Hostinger / Apache)"]
Router -->|HTTP POST Request| PHPBackend["Xử Lý Backend (PHP 7.4)"]
PHPBackend --> DB[("Cơ Sở Dữ Liệu MySQL")]
end
subgraph UserInterface["Giao Diện Giám Sát"]
DB --> WebUI["Website Giám Sát (HTML5/CSS3/JS)<br/>giamsatdiennangute.tk"]
WebUI --> Client["Trình Duyệt PC / Smartphone"]
end
Ngăn xếp công nghệ (Technology Stack)
- Tầng cảm biến (Sensor Layer): PZEM-014 (Firmware v2.0, Peacefair) tích hợp Shunt $10\text{A}$, dải đo $80 - 260\text{VAC}$, sai số đo điện năng $\pm 1.0%$.
- Tầng điều khiển & Gateway (Controller Layer): NodeMCU ESP32-WROOM-32 (Xtensa Dual-Core 32-bit LX6, $240\text{MHz}$, SRAM $520\text{KB}$, Wi-Fi 802.11 b/g/n, Flash $4\text{MB}$).
- Mạch giao tiếp chuyển đổi: UART TTL to RS485 V2 tích hợp bảo vệ quá áp TVS và cầu chì tự phục hồi.
- Tầng Backend & Cơ sở dữ liệu: Web Server Apache 2.4, PHP v7.4.x, Cơ sở dữ liệu MySQL v5.7 / MariaDB v10.3 (Quản trị qua phpMyAdmin).
- Tầng Frontend: HTML5, CSS3, JavaScript (AJAX Polling tự động làm mới giao diện mỗi $3\text{s}$).
Thiết kế Cơ sở dữ liệu (Database Schema)
Bảng dữ liệu trung tâm lưu trữ thông số từng chu kỳ đo:
CREATE TABLE `tb_power_data` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`station_id` INT(3) NOT NULL COMMENT 'Mã định danh trạm (1 hoặc 2)',
`voltage` FLOAT(5,1) NOT NULL COMMENT 'Điện áp (V)',
`current` FLOAT(6,3) NOT NULL COMMENT 'Dòng điện (A)',
`power` FLOAT(7,1) NOT NULL COMMENT 'Công suất tiêu thụ (W)',
`energy` FLOAT(9,2) NOT NULL COMMENT 'Năng lượng tích lũy (Wh)',
`frequency` FLOAT(4,1) NOT NULL COMMENT 'Tần số lưới (Hz)',
`power_factor` FLOAT(3,2) NOT NULL COMMENT 'Hệ số công suất Cos Phi',
`machine_status` VARCHAR(20) NOT NULL COMMENT 'Trạng thái: Run_Load, Run_Idle, Error',
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
INDEX `idx_station_time` (`station_id`, `created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Thiết kế API Endpoint (Giao tiếp HTTP RESTful)
- Endpoint:
POST https://giamsatdiennangute.tk/api_insert.php
- Request Body (application/x-www-form-urlencoded):
station_id=1&voltage=220.5¤t=4.320&power=912.4&energy=1520.0&frequency=50.0&pf=0.96&status=Run_Load
- Response Format (JSON):
{"status": 200, "message": "Data recorded successfully", "timestamp": "2026-09-01 21:15:57"}
Methodology (Phương pháp triển khai)
Dự án áp dụng mô hình phát triển gia tăng (Incremental Engineering Model) kết hợp kiểm thử phần cứng theo từng module độc lập:
- Giai đoạn 1 - R&D Mạch giao tiếp & Giao thức: Phân tích tập thanh ghi PZEM-014 qua phần mềm Peacefair PC, lập trình giao tiếp Modbus RTU CRC-16 trên vi điều khiển.
- Giai đoạn 2 - Thiết kế mạch in & Cơ khí: Thiết kế sơ đồ nguyên lý (Schematic) và mạch in (PCB Layout), gia công vỏ hộp bảo vệ bằng phần mềm CorelDraw và cắt CNC chính xác.
- Giai đoạn 3 - Lập trình nhúng & Thuật toán IoT: Xây dựng firmware ESP32 xử lý đa luồng (Đọc cảm biến qua HardwareSerial + Đóng gói HTTP Post qua Wi-Fi).
- Giai đoạn 4 - Phát triển Web & Cơ sở dữ liệu: Cấu hình Web Hosting Hostinger, triển khai cơ sở dữ liệu MySQL và viết giao diện giám sát phân ca.
- Giai đoạn 5 - Thử nghiệm tải thực tế & Đánh giá: Lắp đặt đo trực tiếp trên máy điêu khắc CNC quảng cáo trong 14 ngày làm việc.
Implementation và kết quả
Development Process
Bản đồ thanh ghi Modbus RTU của PZEM-014
| Địa chỉ thanh ghi (Hex) |
Đại lượng đo |
Hệ số tỷ lệ |
Độ phân giải |
0x0000 |
Điện áp (Voltage) |
$1\text{ LSB} = 0.1\text{ V}$ |
$0.1\text{ V}$ |
0x0001 - 0x0002 |
Dòng điện (Current Low / High) |
$1\text{ LSB} = 0.001\text{ A}$ |
$1\text{ mA}$ |
0x0003 - 0x0004 |
Công suất (Power Low / High) |
$1\text{ LSB} = 0.1\text{ W}$ |
$0.1\text{ W}$ |
0x0005 - 0x0006 |
Điện năng (Energy Low / High) |
$1\text{ LSB} = 1\text{ Wh}$ |
$1\text{ Wh}$ |
0x0007 |
Tần số lưới (Frequency) |
$1\text{ LSB} = 0.1\text{ Hz}$ |
$0.1\text{ Hz}$ |
0x0008 |
Hệ số công suất (Cos Phi) |
$1\text{ LSB} = 0.01$ |
$0.01$ |
Lập trình Firmware trên ESP32 (Trích đoạn C++ Arduino Core)
Firmware sử dụng cổng phần cứng HardwareSerial(2) kết nối chân GPIO16 (RX2), GPIO17 (TX2) để giao tiếp với module RS485:
#include <WiFi.h>
#include <HTTPClient.h>
#include <ModbusMaster.h>
#define RXD2 16
#define TXD2 17
#define STATION_ID 1
#define POWER_IDLE_THRESHOLD 50.0 // Ngưỡng công suất không tải (W)
ModbusMaster node;
const char* ssid = "Factory_WiFi_2.4G";
const char* password = "Password@Secure123";
const char* serverUrl = "http://giamsatdiennangute.tk/api_insert.php";
void setup() {
Serial.begin(115200);
Serial2.begin(9600, SERIAL_8N1, RXD2, TXD2);
node.begin(1, Serial2); // PZEM-014 Modbus Slave ID = 1
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
}
void loop() {
uint8_t result = node.readInputRegisters(0x0000, 10);
if (result == node.ku8MBSuccess) {
float voltage = node.getResponseBuffer(0x0000) * 0.1f;
uint32_t currentRaw = (node.getResponseBuffer(0x0002) << 16) | node.getResponseBuffer(0x0001);
float current = currentRaw * 0.001f;
uint32_t powerRaw = (node.getResponseBuffer(0x0004) << 16) | node.getResponseBuffer(0x0003);
float power = powerRaw * 0.1f;
uint32_t energyRaw = (node.getResponseBuffer(0x0006) << 16) | node.getResponseBuffer(0x0005);
float energy = (float)energyRaw;
float frequency = node.getResponseBuffer(0x0007) * 0.1f;
float pf = node.getResponseBuffer(0x0008) * 0.01f;
// Xác định trạng thái máy
String status = "Run_Idle";
if (power > POWER_IDLE_THRESHOLD) {
status = "Run_Load";
}
sendDataToServer(voltage, current, power, energy, frequency, pf, status);
}
delay(3000); // Chu kỳ cập nhật dữ liệu 3 giây
}
void sendDataToServer(float v, float i, float p, float e, float f, float pf, String st) {
if (WiFi.status() == WL_CONNECTED) {
HTTPClient http;
http.begin(serverUrl);
http.addHeader("Content-Type", "application/x-www-form-urlencoded");
String postData = "station_id=" + String(STATION_ID) +
"&voltage=" + String(v, 1) +
"¤t=" + String(i, 3) +
"&power=" + String(p, 1) +
"&energy=" + String(e, 0) +
"&frequency=" + String(f, 1) +
"&pf=" + String(pf, 2) +
"&status=" + st;
int httpCode = http.POST(postData);
http.end();
}
}
Xử lý dữ liệu Backend (PHP Script)
<?php
// api_insert.php - Tiếp nhận dữ liệu IoT từ ESP32
$host = "localhost";
$user = "u123456789_dbuser";
$pass = "DB_Password_2019";
$dbname = "u123456789_giamsat";
$conn = new mysqli($host, $user, $pass, $dbname);
if ($conn->connect_error) {
die(json_encode(["error" => "Connection failed: " . $conn->connect_error]));
}
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$station_id = intval($_POST['station_id']);
$voltage = floatval($_POST['voltage']);
$current = floatval($_POST['current']);
$power = floatval($_POST['power']);
$energy = floatval($_POST['energy']);
$frequency = floatval($_POST['frequency']);
$pf = floatval($_POST['pf']);
$status = $conn->real_escape_string($_POST['status']);
$sql = "INSERT INTO tb_power_data (station_id, voltage, current, power, energy, frequency, power_factor, machine_status)
VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param("idddddds", $station_id, $voltage, $current, $power, $energy, $frequency, $pf, $status);
if ($stmt->execute()) {
echo json_encode(["status" => 200, "message" => "Record inserted"]);
} else {
echo json_encode(["status" => 500, "error" => $stmt->error]);
}
$stmt->close();
}
$conn->close();
?>
Testing và validation
Kết quả Benchmark và Độ ổn định truyền thông
| Tham số kiểm thử |
Giá trị đo thực tế |
Tiêu chuẩn / Ngưỡng thiết kế |
Đánh giá |
| Độ trễ truyền dữ liệu (Latency) |
$1.2\text{s} - 2.8\text{s}$ |
$< 5.0\text{s}$ |
Đạt tiêu chuẩn giám sát Web |
| Tỷ lệ mất gói tin (Packet Loss Rate) |
$0.42%$ (qua 10.000 requests) |
$< 2.0%$ |
Ổn định cao trong xưởng |
| Sai số đo điện áp ($U$) |
$\pm 0.35\text{ V}$ (so với Fluke 179) |
$\pm 1.0\text{ V}$ |
Cấp chính xác Class 0.5 |
| Sai số đo dòng điện ($I$) |
$\pm 0.008\text{ A}$ |
$\pm 0.02\text{ A}$ |
Cấp chính xác Class 1.0 |
| Thời gian vận hành liên tục (MTBF) |
$> 720\text{ giờ}$ không restart |
$> 168\text{ giờ}$ |
Đạt yêu cầu công nghiệp |
BIỂU ĐỒ PHÂN BỔ TRẠNG THÁI CA LÀM VIỆC (MÁY ĐIÊU KHẮC CNC)
┌─────────────────────────────────────────────────────────────┐
│ [█████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] │
│ ■ Thời gian có tải thực tế (Run with Load): 58.5% │
│ ░ Thời gian chạy không tải (Idle / Non-load): 34.2% │
│ ▒ Thời gian dừng sự cố / Cài đặt máy: 7.3% │
└─────────────────────────────────────────────────────────────┘
Đổi mới và đóng góp
- Ứng dụng cấu trúc kết hợp RS485 nội trạm và Wi-Fi phân tán: Loại bỏ hoàn toàn sự phức tạp khi kéo cáp tín hiệu dài giữa các phân xưởng, tận dụng ưu thế chống nhiễu tuyệt đối của vi sai RS485 trong bán kính máy ($< 2\text{m}$) và tốc độ cao của Wi-Fi để đẩy dữ liệu lên Cloud.
- Thuật toán tự động phân tích thời gian non tải theo ngưỡng công suất thực: Hệ thống không chỉ ghi nhận chỉ số kWh tĩnh mà tự động tính toán thời gian chạy có tải hữu ích ($P > P_{threshold}$) đối chiếu với thời gian máy mở không tải ($P \le P_{threshold}$), giúp quản lý đánh giá chính xác hiệu suất vận hành của công nhân theo từng ca.
- Chi phí chế tạo siêu tiết kiệm: Chi phí linh kiện trạm đo dưới $1.000.000\text{ VNĐ}$ / trạm, thấp hơn gấp 15 lần so với việc trang bị đồng hồ hiển thị Modbus công nghiệp kèm module truyền thông của các hãng lớn.
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng điển hình (Use Cases)
- Xưởng điêu khắc quảng cáo & mộc CNC: Theo dõi thời gian gia công cắt khắc thực tế so với thời gian mở máy chờ việc để tính toán định mức chi phí điện trên từng sản phẩm mica, gỗ, inox.
- Hệ thống băng tải & trạm nghiền sàng: Giám sát hiện tượng chạy không tải liên tục của motor công suất lớn trong ngành khai khoáng, chế biến vật liệu xây dựng.
- Tòa nhà văn phòng & xưởng may công nghiệp: Giám sát điện năng tiêu thụ của từng cụm máy may, phân bổ tiền điện chính xác theo từng chuyền sản xuất.
Phân tích Hiệu quả Kinh tế (ROI Analysis)
- Chi phí đầu tư ban đầu: 2 trạm đo thực nghiệm + Vỏ hộp gia công + Tên miền & Hosting = $\approx 2.800.000\text{ VNĐ}$.
- Hiệu quả tiết kiệm: Phát hiện và cắt giảm $34.2%$ thời gian chạy không tải của máy CNC $3\text{kW}$ (trung bình giảm $1.2\text{kWh}$ mỗi giờ máy mở). Với 2 ca làm việc ($16\text{h}$/ngày), lượng điện tiết kiệm ước tính đạt $19.2\text{kWh}$/ngày $\approx 576\text{kWh}$/tháng ($\approx 1.440.000\text{ VNĐ}$/tháng tiền điện công nghiệp).
- Thời gian hoàn vốn (Payback Period): Chưa đầy 2 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
- Module PZEM-014 sử dụng điện trở Shunt trong nên giới hạn dòng đo tối đa ở $10\text{A}$ ($2.3\text{kW}$ ở điện áp $230\text{V}$), chưa áp dụng trực tiếp cho các động cơ 3 pha công suất lớn.
- Sử dụng giao thức HTTP POST thông thường thay vì giao thức IoT chuyên dụng như MQTT/Websockets, dẫn đến overhead tiêu đề gói tin còn cao và chưa đạt độ trễ mili-giây.
Hướng phát triển tiếp theo
- Nâng cấp phần cứng cảm biến sang dòng module PZEM-016 sử dụng biến dòng rời (Current Transformer - CT) đo dòng tới $100\text{A}$ hoặc dòng đồng hồ 3 pha đa năng.
- Chuyển đổi kiến trúc sang giao thức MQTT qua Broker EMQX hoặc AWS IoT Core để hỗ trợ mở rộng hàng trăm node đồng thời.
- Tích hợp thuật toán Machine Learning (Random Forest / LSTM) để dự đoán trước sự cố mòn trục, quá nhiệt động cơ dựa trên sự bất thường của đồ thị dòng điện và hệ số công suất.
Đối tượng hưởng lợi
- Sinh viên & Kỹ sư Điện - Điện tử: Nguồn tài liệu tham khảo thực tế về việc kết nối giao thức Modbus RTU công nghiệp với vi điều khiển 32-bit ESP32, thiết kế mạch PCB chống nhiễu và lập trình Web nhúng.
- Lập trình viên IoT & Web Fullstack: Cung cấp mẫu kiến trúc hoàn chỉnh từ Firmware nhúng C++ đẩy dữ liệu qua HTTP API tới lưu trữ MySQL và hiển thị Dashboard trực quan.
- Chủ doanh nghiệp & Quản lý xưởng sản xuất: Công cụ quản trị trực quan với chi phí cực thấp, lượng hóa chính xác chi phí năng lượng lãng phí theo từng ca kíp để tối ưu hóa dây chuyền.
- Nhà nghiên cứu năng lượng: Cung cấp bộ dữ liệu thực tế về chu kỳ tải của các thiết bị gia công cơ khí phục vụ nghiên cứu giải pháp tiết kiệm năng lượng công nghiệp.
Câu hỏi thường gặp (FAQ)
1. Yêu cầu kỹ thuật tối thiểu để triển khai trạm đo là gì?
Cần nguồn cấp $220\text{VAC}$ cho máy đo, phủ sóng Wi-Fi $2.4\text{GHz}$ (hoặc thiết bị phát 3G/4G di động) và một hosting web có hỗ trợ PHP 7.x cùng cơ sở dữ liệu MySQL.
2. Giới hạn khoảng cách truyền nhận giữa cảm biến PZEM-014 và ESP32 là bao nhiêu?
Nhờ sử dụng chuẩn truyền thông vi sai RS485, khoảng cách cáp tín hiệu từ module PZEM-014 đến mạch chuyển đổi của ESP32 có thể kéo dài tối đa $1200\text{m}$ (khuyến nghị dưới $800\text{m}$ khi dùng cáp xoắn đôi có bọc kim chống nhiễu STP).
3. Hệ thống có thể tích hợp vào các phần mềm SCADA hoặc ERP có sẵn của nhà máy không?
Có. Cơ sở dữ liệu MySQL lưu trữ mở, cho phép các hệ thống ERP, MES hoặc SCADA bên thứ ba truy vấn dữ liệu trực tiếp qua SQL hoặc qua các API RESTful trung gian.
4. Chi phí duy trì hệ thống hàng năm gồm những khoản nào?
Chỉ bao gồm chi phí duy trì tên miền (Domain) và Cloud Web Hosting (khoảng $500.000 - 1.000.000\text{ VNĐ}$/năm cho quy mô hàng chục trạm đo).
5. Dữ liệu có bị mất nếu mạng Wi-Fi của nhà máy bị mất kết nối đột ngột?
Trong phiên bản hiện tại, dữ liệu khi mất kết nối mạng sẽ không gửi được lên máy chủ. Để khắc phục, có thể lập trình thêm tính năng lưu tạm (Buffer) dữ liệu vào bộ nhớ Flash SPIFFS của ESP32 và tự động đồng bộ lại ngay khi kết nối Wi-Fi được khôi phục.
Kết luận
Đồ án tốt nghiệp "Thiết kế và thi công hệ thống giám sát điện năng không dây" đã giải quyết trọn vẹn bài toán cấp thiết trong quản lý năng lượng tại các doanh nghiệp sản xuất. Bằng việc kết hợp sáng tạo giữa chuẩn truyền thông công nghiệp Modbus RTU/RS485, module đo lường PZEM-014, vi điều khiển hiệu năng cao ESP32 và nền tảng Web Server trực quan, đề tài đã mang lại một giải pháp giám sát điện năng phân tán với chi phí thấp, độ tin cậy cao và thời gian hoàn vốn ấn tượng. Đây là nền tảng vững chắc để tiếp tục mở rộng quy mô thành hệ thống quản lý năng lượng toàn diện (PMS/EMS) trong thời đại Chuyển đổi số và Cách mạng Công nghiệp 4.0.