Giới thiệu dự án

Sự bùng nổ của cuộc Cách mạng Công nghiệp 4.0 và xu hướng Internet of Things (IoT) đã tái định hình toàn diện phương thức quản trị năng lượng cũng như tự động hóa tòa nhà. Theo các báo cáo thống kê công nghiệp, việc chuyển dịch từ các thiết bị đóng cắt thủ công sang hệ thống điều khiển tự động có khả năng tối ưu hóa tới 18 - 25% lượng điện năng tiêu thụ lãng phí trong các hộ gia đình và phân xưởng sản xuất.

Tuy nhiên, phần lớn hệ thống điện dân dụng và công nghiệp hiện nay tại Việt Nam vẫn phụ thuộc vào công tắc cơ học truyền thống hoặc các bộ điều khiển cục bộ không có kết nối mạng. Thực trạng này tạo ra nhiều bất cập:

  • Nguy cơ mất an toàn điện: Người dùng phải tiếp xúc trực tiếp với bảng điện khi tay ướt hoặc trong môi trường ẩm ướt, tiềm ẩn rủi ro rò rỉ điện cao áp.
  • Thiếu khả năng phản hồi trạng thái hai chiều (Bi-directional State Feedback): Người vận hành không thể giám sát trạng thái BẬT/TẮT thực tế của thiết bị khi rời khỏi hiện trường, dẫn đến sự cố quá tải hoặc tiêu hao điện năng kéo dài.
  • Khoảng cách điều khiển bị giới hạn: Các giải pháp dùng sóng hồng ngoại (IR) hoặc sóng vô tuyến RF 315/433MHz chỉ hoạt động trong phạm vi ngắn (dưới 30m) và bị cản trở bởi tường chắn bê tông.

Đồ án "Điều khiển và giám sát thiết bị điện qua mạng Internet" của sinh viên Nguyễn Ngọc Khánh (Ngành Điện Tự Động Công Nghiệp, Trường Đại học Quản lý và Công nghệ Hải Phòng, hướng dẫn bởi TS. Đoàn Hữu Chức) được xây dựng nhằm giải quyết triệt để các rào cản trên.

Mục tiêu cụ thể của dự án:

  1. Thiết kế và chế tạo phần cứng điều khiển trung tâm sử dụng vi điều khiển tích hợp Wi-Fi SoC ESP8266 kết hợp module Relay 4 kênh cách ly quang (Optocoupler).
  2. Phát triển firmware tối ưu trên nền tảng Arduino framework, ứng dụng giao thức TCP/IP và chuẩn giao tiếp Virtual Pin của hệ sinh thái Blynk IoT.
  3. Xây dựng giao diện điều khiển và giám sát thời gian thực trên thiết bị di động (hệ điều hành iOS và Android).
  4. Đảm bảo thời gian đáp ứng lệnh (latency) dưới 200ms và cơ chế đồng bộ trạng thái khi mất kết nối mạng.

Phạm vi nghiên cứu tập trung vào việc làm chủ khối vi điều khiển trung tâm, cấu hình giao tiếp mạng qua Wi-Fi chuẩn IEEE 802.11 b/g/n dải tần 2.4GHz, và đóng cắt tải xoay chiều AC 220V/10A. Giới hạn của mô hình là phụ thuộc vào hạ tầng Wi-Fi sẵn có và chưa tích hợp đo lường dòng điện chuyên sâu.


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

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

Trước khi tiến hành thiết kế hệ thống, đồ án đã tiến hành đánh giá chi tiết các giải pháp điều khiển đóng cắt đang tồn tại trên thị trường:

Giải pháp Ưu điểm Nhược điểm Chi phí triển khai
Công tắc cơ khí truyền thống Chi phí rẻ, độ bền cơ học cao, lắp đặt đơn giản. Không thể điều khiển từ xa, không có giám sát trạng thái, rủi ro phóng tia lửa điện. Thấp (< 50.000 VNĐ/điểm)
Điều khiển từ xa sóng vô tuyến RF (315/433MHz) Không cần kéo dây tín hiệu, điều khiển xuyên tường nhẹ. Một chiều (không báo trạng thái về), dễ bị nhiễu sóng đồng tần, giới hạn cự ly < 50m. Trung bình (150.000 - 300.000 VNĐ)
Thiết bị nhà thông minh đóng gói (Smart Plug/Sonoff) Thẩm mỹ cao, có sẵn ứng dụng di động. Phụ thuộc hoàn toàn vào máy chủ nước ngoài (Cloud Vendor Lock-in), khó can thiệp tùy biến phần cứng. Cao (300.000 - 700.000 VNĐ/kênh)
Hệ thống ESP8266 + Blynk IoT (Đồ án đề xuất) Linh hoạt tùy biến, chi phí thấp, giám sát trạng thái 2 chiều, phản hồi tức thời qua Internet. Cần kiến thức lập trình nhúng và thiết kế mạch điện an toàn. Rất tối ưu (~ 250.000 VNĐ cho 4 kênh)

Dựa trên phân loại yêu cầu theo mô hình MoSCoW:

  • Must have (Bắt buộc có): Khả năng đóng cắt 4 kênh rơ-le độc lập, điều khiển qua internet từ app di động, cơ chế tự phục hồi kết nối Wi-Fi khi mất tín hiệu.
  • Should have (Nên có): Cơ chế đồng bộ trạng thái ảo (Virtual Pin synchronization) với phần cứng khi khởi động lại, đèn LED báo trạng thái trực quan trên mạch.
  • Could have (Có thể có): Hẹn giờ bật/tắt tự động thông qua Timer widget.
  • Won't have (Chưa thực hiện): Điều khiển cục bộ không cần Wi-Fi qua giao thức Mesh hoặc điều khiển giọng nói offline.

Thiết kế hệ thống

Kiến trúc tổng thể của hệ thống tuân theo mô hình Client - Server - Embedded Hardware đa tầng:

[ Người Dùng (Mobile App) ] 
[ Module NodeMCU ESP8266 (MCU) ]
[ Mạch Cách Ly Quang PC817 (Optocoupler) ]

Danh mục công nghệ và phiên bản sử dụng

  • Vi điều khiển: NodeMCU ESP8266 ESP-12E (Tensilica L106 32-bit core, xung nhịp 80MHz, Flash 4MB).
  • Môi trường phát triển (IDE): Arduino IDE v1.8.19.
  • ESP8266 Core for Arduino: Phiên bản v3.0.2.
  • IoT Library: Blynk Library C++ v1.0.1.
  • Giao tiếp tầng mạng: Bộ giao thức TCP/IPv4 chuẩn RFC 791, ICMP RFC 792, giao tiếp nối tiếp UART baud rate 115200 bps.

Sơ đồ kết nối chân phần cứng (Pinout Mapping)

Chân ESP8266 NodeMCU Chân Module Relay 4 Kênh Chức năng kỹ thuật
GND GND Nối chung mass hệ thống logic
VU (USB 5V Out) VCC Cấp nguồn 5VDC nuôi cuộn hút relay qua bộ cách ly
D1 (GPIO5) IN1 Điều khiển Đèn 1 (Active-Low Trigger)
D2 (GPIO4) IN2 Điều khiển Đèn 2 (Active-Low Trigger)
D3 (GPIO0) IN3 Điều khiển Thiết bị 3 (Active-Low Trigger)
D4 (GPIO2) IN4 Điều khiển Thiết bị 4 (Active-Low Trigger)

Module relay được trang bị optocoupler PC817 giúp cách ly điện áp logic 3.3V/5V của vi điều khiển với khối tiếp điểm điện xoay chiều AC 250V/10A. Jumper nguồn RY_VCC cho phép tách nguồn nuôi cuộn cảm độc lập, triệt tiêu xung điện áp ngược (Back-EMF) sinh ra khi cuộn cảm relay đóng cắt.

Methodology

Quy trình phát triển đồ án được triển khai theo mô hình V-Model lặp, chia làm 4 mốc thời gian (Milestones):

  1. Milestone 1 (Tuần 1 - 3): Khảo sát linh kiện, thiết kế sơ đồ nguyên lý mạch điện trên phần mềm mô phỏng, phân tích đặc tính dòng tải đóng cắt.
  2. Milestone 2 (Tuần 4 - 6): Lắp ráp mạch thực nghiệm, hàn board mạch, kiểm tra độ ổn định nguồn nuôi 5V/3.3V và tính năng cách ly quang.
  3. Milestone 3 (Tuần 7 - 9): Lập trình firmware trên Arduino IDE, cấu hình Virtual Pins trên Blynk App, thử nghiệm đồng bộ trạng thái.
  4. Milestone 4 (Tuần 10 - 12): Thử nghiệm tải thực tế AC 220V, đánh giá độ trễ mạng và tỷ lệ lỗi gói tin, viết tài liệu kỹ thuật.

Implementation và kết quả

Development process

Cấu trúc chương trình được tối ưu hóa nhằm tránh nghẽn luồng xử lý (Blocking loop). Trong các hệ thống IoT dùng ESP8266, việc sử dụng hàm delay() truyền thống sẽ làm gián đoạn việc phản hồi các gói tin Heartbeat Ping của nền tảng Blynk (chu kỳ 10 giây + 5 giây timeout), dẫn đến ngắt kết nối với máy chủ (Flood Error hoặc Device Offline). Do đó, toàn bộ tiến trình định thời được điều khiển qua BlynkTimer.

Cấu trúc mã nguồn Firmware trọng tâm

#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

// Thông tin xác thực mạng và Blynk Token
char auth[] = "Your_Auth_Token_Blynk_32Chars";
char ssid[] = "SmartHome_WiFi_2.4G";
char pass[] = "WiFiPasswordSecure";

// Định nghĩa chân phần cứng kết nối Relay
const int RELAY_PIN_1 = D1; // GPIO5 - Đèn 1
const int RELAY_PIN_2 = D2; // GPIO4 - Đèn 2
const int RELAY_PIN_3 = D3; // GPIO0 - Thiết bị 3
const int RELAY_PIN_4 = D4; // GPIO2 - Thiết bị 4

BlynkTimer timer;

// Hàm tự động đồng bộ trạng thái khi kết nối lại mạng thành công
BLYNK_CONNECTED() {
    Blynk.syncAll(); // Đồng bộ tất cả Virtual Pins từ Cloud xuống phần cứng
}

// Xử lý sự kiện từ Widget Virtual Pin V2 (Điều khiển Đèn 1)
BLYNK_WRITE(V2) {
    int switchState = param.asInt(); // Nhận giá trị 0 hoặc 1 từ Button Widget
    if (switchState == 1) {
        digitalWrite(RELAY_PIN_1, LOW);  // Active-Low: Kéo chân xuống GND để BẬT Relay
        Serial.println(F("[RELAY 1] ON - Tải đóng điện"));
    } else {
        digitalWrite(RELAY_PIN_1, HIGH); // Kéo lên 3.3V để TẮT Relay
        Serial.println(F("[RELAY 1] OFF - Tải ngắt điện"));
    }
}

// Xử lý sự kiện từ Widget Virtual Pin V3 (Điều khiển Đèn 2)
BLYNK_WRITE(V3) {
    int switchState = param.asInt();
    digitalWrite(RELAY_PIN_2, (switchState == 1) ? LOW : HIGH);
}

void setup() {
    Serial.begin(115200);
    
    // Khởi tạo trạng thái ban đầu cho các chân GPIO
    pinMode(RELAY_PIN_1, OUTPUT);
    pinMode(RELAY_PIN_2, OUTPUT);
    pinMode(RELAY_PIN_3, OUTPUT);
    pinMode(RELAY_PIN_4, OUTPUT);
    
    // Mặc định ban đầu TẮT tất cả Relay (Mức HIGH đối với module Active-Low)
    digitalWrite(RELAY_PIN_1, HIGH);
    digitalWrite(RELAY_PIN_2, HIGH);
    digitalWrite(RELAY_PIN_3, HIGH);
    digitalWrite(RELAY_PIN_4, HIGH);

    // Kết nối Blynk Server thông qua TCP port 8443
    Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 8443);
}

void loop() {
    Blynk.run();
    timer.run();
}

Testing và validation

Hệ thống được trải qua quá trình kiểm thử nghiêm ngặt trong điều kiện vận hành liên tục 72 giờ:

Kịch bản kiểm thử (Test Scenario) Điều kiện môi trường Kết quả kỳ vọng Kết quả đo đạc thực tế Trạng thái
TC01: Đóng cắt liên tục 500 chu kỳ Mạng Wi-Fi nội bộ, tải thuần trở 100W Không trượt xung, relay không bị kẹt tiếp điểm 500/500 chu kỳ thành công (100%) Đạt (Pass)
TC02: Kiểm tra độ trễ mạng qua 4G LTE Smartphone kết nối mạng 4G Viettel, MCU dùng Wi-Fi cáp quang VNPT Thời gian trễ từ khi bấm App đến khi Relay nhảy < 300ms Độ trễ trung bình: 142ms (Min: 98ms, Max: 210ms) Đạt (Pass)
TC03: Tự khôi phục khi mất Wi-Fi đột ngột Tắt Router Wi-Fi trong 60 giây, sau đó bật lại MCU tự kết nối lại và đồng bộ trạng thái từ Cloud Kết nối lại thành công sau 4.2 giây sau khi Router phát SSID Đạt (Pass)
TC04: Kiểm thử chịu tải dòng điện cao Tải điện AC 220V công suất 1500W (Máy sưởi) Tiếp điểm relay không quá nhiệt, không nhiễu sang MCU Nhiệt độ tiếp điểm: 41°C, MCU không bị Reset Đạt (Pass)

Kết quả đạt được

Hệ thống đã hoàn thành 100% mục tiêu thiết kế ban đầu:

  • Thời gian phản hồi: Đạt mức trung bình 85ms trong mạng Local LAN và 142ms qua môi trường Internet diện rộng (WAN).
  • Tính khả dụng (Uptime): Đạt 99.8% trong đợt thử nghiệm vận hành liên tục 3 ngày đêm.
  • Giao diện di động: 4 nút điều khiển độc lập trực quan, trạng thái màu sắc thay đổi tức thời khi lệnh được xác nhận từ phần cứng, loại bỏ hoàn toàn hiện tượng lệch pha trạng thái giữa nút bấm vật lý và màn hình điều khiển.

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

Đồ án mang lại các giá trị đổi mới kỹ thuật nổi bật:

  1. Giải pháp kiến trúc đồng bộ trạng thái ảo (Virtual Pin Synchronization): Thay vì can thiệp trực tiếp vào GPIO vật lý (vốn dễ gây treo vi điều khiển khi mất kết nối mạng), hệ thống sử dụng các Virtual Pin (V0 - V4) làm lớp đệm trừu tượng (Abstraction Layer). Khi hệ thống mất nguồn và khởi động lại, hàm BLYNK_CONNECTED() sẽ gọi Blynk.syncAll() để khôi phục chính xác trạng thái logic của thiết bị trước thời điểm mất điện.
  2. Thiết kế cách ly chống nhiễu kép: Tách biệt nguồn điều khiển logic 3.3V của ESP8266 và nguồn công suất 5V nuôi cuộn hút relay qua Optocoupler PC817, giúp triệt tiêu 100% hiện tượng xung sét cảm ứng làm vi điều khiển bị treo (Latch-up / Watchdog Reset) khi đóng cắt các tải cảm lớn như động cơ bơm nước hoặc máy biến áp.
  3. Hiệu quả kinh tế vượt trội: Giảm tới 65% chi phí chế tạo so với việc mua sắm các thiết bị Smart Switch thương mại có cùng số kênh đóng cắt trên thị trường.

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

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

  • Tự động hóa nhà ở (Smart Home): Bật/tắt bình nước nóng từ xa trước khi về nhà, kiểm tra và ngắt nguồn các thiết bị chiếu sáng khi ra khỏi nhà, phòng ngừa cháy nổ do chập điện.
  • Nông nghiệp thông minh (Smart Farming): Tự động đóng cắt máy bơm tưới tiêu, hệ thống chiếu sáng nhân tạo trong nhà màng, nhà kính từ bất kỳ đâu có sóng 3G/4G/5G.
  • Nhà xưởng công nghiệp quy mô nhỏ: Điều khiển từ xa hệ thống quạt thông gió công nghiệp, giám sát trạng thái dàn đèn chiếu sáng kho bãi ngoài giờ làm việc.

Dự toán chi phí và phân tích tài chính (BOM & ROI)

Linh kiện / Thiết bị Số lượng Đơn giá (VNĐ) Thành tiền (VNĐ)
Kit NodeMCU ESP8266 V3 CH340 01 75.000 75.000
Module Relay 4 kênh cách ly quang 5V 01 55.000 55.000
Nguồn xung AC-DC 220V sang 5V/2A 01 45.000 45.000
Hộp bảo vệ kỹ thuật chống cháy, dây nối, domino 01 bộ 40.000 40.000
Tổng chi phí phần cứng 215.000 VNĐ

Với một căn hộ 3 phòng ngủ sử dụng 3 bộ điều khiển (12 kênh), tổng chi phí chỉ khoảng 645.000 VNĐ. Ước tính mức tiết kiệm điện năng nhờ việc quản lý tắt thiết bị đúng lúc đạt khoảng 120.000 VNĐ/tháng, thời gian hoàn vốn đầu tư (ROI) đạt mức ấn tượng chỉ trong 5.3 tháng.


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

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

  • Ràng buộc chân khởi động (Bootloader Constraints): Các chân GPIO0, GPIO2 trên ESP8266 đóng vai trò cấu hình chế độ nạp Bootloader. Nếu mạch ngoài kéo các chân này xuống LOW trong lúc khởi động, ESP8266 sẽ rơi vào chế độ Flash Mode và không chạy chương trình.
  • Dải tần Wi-Fi: Chỉ hỗ trợ dải tần Wi-Fi 2.4GHz (IEEE 802.11 b/g/n), chưa thể kết nối trực tiếp với router phát Wi-Fi dải tần kép chuẩn 5GHz.

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

  • Nâng cấp vi điều khiển: Chuyển dịch sang nền tảng SoC ESP32 (Dual-Core 240MHz, tích hợp Bluetooth Low Energy BLE 5.0) để tăng số lượng kênh điều khiển lên 8 - 16 kênh và hỗ trợ cấu hình Wi-Fi qua Bluetooth.
  • Tích hợp cảm biến năng lượng: Bổ sung module đo công suất chuyên dụng PZEM-004T giao tiếp UART để thu thập điện áp, dòng điện RMS, công suất tức thời (W) và lượng điện tiêu thụ (kWh) gửi lên cơ sở dữ liệu thời gian thực.
  • Tích hợp trợ lý ảo: Kết nối giao tiếp Webhook thông qua IFTTT/Home Assistant để điều khiển giọng nói bằng Google Assistant và Amazon Alexa.

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

  • Sinh viên khối ngành Kỹ thuật Điện - Tự động hóa - Điện tử: Cung cấp mô hình tham khảo chuẩn mực về phương pháp tích hợp vi điều khiển nhúng với hệ thống điện động lực và dịch vụ đám mây IoT.
  • Kỹ sư và Lập trình viên nhúng: Nắm vững giải pháp xử lý sự kiện bất đồng bộ qua BlynkTimer, quy tắc phân định nguồn logic - công suất và cách lập trình Virtual Pin tối ưu hóa băng thông.
  • Doanh nghiệp vừa và nhỏ / Hộ sản xuất: Nhận chuyển giao giải pháp tự động hóa chi phí thấp, triển khai nhanh chóng để nâng cao năng suất và giám sát tiêu thụ năng lượng.
  • Nhà nghiên cứu: Tài liệu cung cấp số liệu thực nghiệm chuẩn xác về độ trễ mạng TCP/IP và độ tin cậy của vi điều khiển dòng L106 trong môi trường nhiễu công nghiệp.

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 điện AC 220V/50Hz ổn định, một Router phát sóng Wi-Fi 2.4GHz có kết nối Internet (tốc độ tối thiểu 512Kbps) và một smartphone chạy hệ điều hành Android 5.0 trở lên hoặc iOS 10.0 trở lên có cài đặt ứng dụng Blynk.

2. Khi mất kết nối Internet, hệ thống có tiếp tục hoạt động không?

Các thiết bị rơ-le sẽ giữ nguyên trạng thái đóng/ngắt tại thời điểm mất mạng. Khi kết nối Internet được phục hồi, firmware với hàm BLYNK_CONNECTED() sẽ tự động đồng bộ lại trạng thái mới nhất được lưu trên Cloud Server mà không cần can thiệp thủ công.

3. Làm thế nào để chống nhiễu xung điện áp khi đóng cắt các tải cảm ứng như máy bơm?

Cần rút jumper nối tắt giữa VCCRY_VCC trên module relay, sau đó cấp một nguồn 5V ngoài riêng biệt cho chân RY_VCC để nuôi cuộn hút relay, giữ chân VCC kết nối với mức 3.3V logic của ESP8266 qua mạch opto PC817. Điều này bảo vệ 100% vi điều khiển khỏi sụt áp hoặc xung nhiễu Back-EMF.

4. Hệ thống có thể mở rộng điều khiển nhiều hơn 4 thiết bị không?

Hoàn toàn có thể. Người dùng có thể mở rộng lên 8 hoặc 16 kênh bằng cách sử dụng chip ghi dịch (Shift Register) 74HC595 qua giao tiếp SPI hoặc chuyển đổi trực tiếp sang vi điều khiển ESP32 vốn sở hữu hơn 25 chân GPIO đa dụng.

5. Chi phí duy trì hệ sinh thái IoT này hàng tháng là bao nhiêu?

Hệ thống sử dụng nền tảng Blynk Server tiêu chuẩn không mất phí duy trì hàng tháng đối với các ứng dụng điều khiển cơ bản, chỉ phát sinh chi phí điện năng tiêu thụ của mạch nhúng (chưa đến 2W công suất tĩnh, tương đương khoảng 3.000 VNĐ tiền điện mỗi tháng).


Kết luận

Đồ án tốt nghiệp "Điều khiển và giám sát thiết bị điện qua mạng Internet" của sinh viên Nguyễn Ngọc Khánh dưới sự hướng dẫn của TS. Đoàn Hữu Chức đã giải quyết xuất sắc bài toán điều khiển tự động hóa thiết bị điện từ xa thông qua sự kết hợp nhịp nhàng giữa phần cứng nhúng ESP8266 và nền tảng điện toán đám mây Blynk IoT. Đồ án không chỉ dừng lại ở mô hình lý thuyết mà còn chứng minh tính ứng dụng thực tiễn cao với độ trễ thấp (142ms), độ ổn định bền bỉ và hiệu quả kinh tế rõ rệt.

Giải pháp này mở ra tiềm năng to lớn trong việc hiện đại hóa lưới điện dân dụng, nông nghiệp công nghệ cao và các nhà xưởng thông minh tại Việt Nam. Quý độc giả, sinh viên và các kỹ sư có thể trực tiếp kế thừa kiến trúc phần cứng và mã nguồn trong tài liệu này để phát triển, tùy biến các ứng dụng IoT chuyên sâu hơn trong tương lai.