
Hệ thống giám sát và điều khiển năng lượng mặt trời với ESP32
Xây dựng mô hình DC điện áp thấp dùng ESP32 để đo điện áp, dòng điện, công suất năng lượng mặt trời, giám sát pin và điều khiển tải DC qua MQTT.
1. Giới thiệu dự án
Dự án này hướng dẫn xây dựng một mô hình giám sát và điều khiển năng lượng mặt trời dùng ESP32 trong phạm vi học tập kỹ thuật. Hệ thống tập trung vào đo điện áp, dòng điện, công suất từ tấm pin mặt trời, theo dõi điện áp pin lưu trữ và điều khiển tải DC nhỏ qua MQTT.
Mô hình phù hợp để học IoT, năng lượng tái tạo, đo lường điện DC, điều khiển tải và xây dựng dashboard giám sát từ xa. Nội dung không hướng dẫn đấu nối điện lưới, inverter, hệ hòa lưới hoặc chuỗi pin mặt trời điện áp cao.
2. Mục tiêu kỹ thuật
Mục tiêu | Mô tả |
|---|---|
Đo năng lượng đầu vào | Dùng INA219 để đo điện áp bus, dòng điện và công suất trong phạm vi module cho phép. |
Theo dõi pin lưu trữ | Dùng mạch chia áp đưa điện áp pin về mức an toàn cho chân ADC của ESP32. |
Điều khiển tải DC | Dùng relay hoặc MOSFET module để bật tắt tải DC nhỏ, không cấp tải trực tiếp từ GPIO. |
Giám sát từ xa | ESP32 gửi telemetry lên MQTT theo chu kỳ. |
Bảo vệ cơ bản | Tự tắt tải khi điện áp pin thấp và chỉ bật lại khi pin phục hồi. |
3. Phạm vi an toàn
Dự án chỉ áp dụng cho hệ DC điện áp thấp, khuyến nghị dùng tấm pin 6V, 9V hoặc 12V, pin lưu trữ có mạch bảo vệ hoặc bộ sạc phù hợp, dòng tải nhỏ và dây dẫn đúng tiết diện.
⚠️ Không đấu nối điện 220V AC. Không đấu inverter. Không đấu hệ điện mặt trời hòa lưới. Không thao tác với chuỗi PV điện áp cao. Nếu điện áp DC lớn hơn 50V hoặc hệ có công suất lớn, cần người có chuyên môn điện kiểm tra.
4. Kiến trúc hệ thống
Tấm pin mặt trời
-> INA219 đo áp, dòng, công suất
-> Bộ sạc năng lượng mặt trời
-> Pin lưu trữ DC
-> Buck converter 5V
-> ESP32
Pin lưu trữ DC
-> Relay hoặc MOSFET module
-> Tải DC nhỏ
ESP32
-> MQTT Broker
-> Dashboard giám sát và điều khiển5. Dữ liệu hệ thống
Trường dữ liệu | Ý nghĩa |
|---|---|
pv_voltage | Điện áp đo được tại đường tấm pin hoặc đường nguồn đang giám sát. |
pv_current_ma | Dòng điện đo qua INA219, đơn vị mA. |
pv_power_mw | Công suất tức thời, đơn vị mW. |
battery_voltage | Điện áp pin sau khi tính từ mạch chia áp. |
load | Trạng thái tải DC. |
mode | Chế độ AUTO hoặc MANUAL. |
6. Nguyên tắc kiểm tra trước khi cấp nguồn
Trước khi cấp nguồn cho ESP32, cần dùng đồng hồ đo để xác nhận cực tính pin, điện áp đầu ra buck converter, điện áp tại chân ADC sau mạch chia áp và dòng tải dự kiến.
✅ Chỉ cấp nguồn khi đầu ra buck ổn định, chân ADC không vượt quá 3.3V và tải DC nằm trong giới hạn của relay hoặc MOSFET module.
Hướng dẫn chi tiết
Danh sách bài viết mở rộng cho dự án này.
Phần 1: Tổng quan hệ thống giám sát năng lượng mặt trời
Giới thiệu kiến trúc mô hình DC điện áp thấp, vai trò của ESP32, INA219, bộ sạc, pin lưu trữ, tải DC và MQTT.
Phần 2: Chuẩn bị linh kiện và thông số an toàn
Chọn ESP32, tấm pin, bộ sạc, pin lưu trữ, INA219, buck converter, relay hoặc MOSFET và mạch chia áp đúng phạm vi DC điện áp thấp.
Phần 3: Đấu nối phần cứng ESP32, INA219, pin và tải DC
Hướng dẫn đấu INA219 qua I2C, đo dòng tấm pin, đo pin bằng mạch chia áp, cấp nguồn ESP32 qua buck 5V và điều khiển tải DC.
Phần 4: Lập trình ESP32 đo năng lượng và gửi dữ liệu MQTT
Cài thư viện, cấu hình Wi-Fi, MQTT topic, đọc INA219, đọc pin qua ADC, gửi telemetry và nhận lệnh điều khiển tải DC.
Phần 5: Dashboard giám sát và điều khiển qua MQTT
Thiết kế dashboard hiển thị điện áp, dòng điện, công suất, điện áp pin, trạng thái tải và nút điều khiển ON OFF AUTO qua MQTT.
Phần 6: Kiểm tra, hiệu chỉnh và hoàn thiện hệ thống
Kiểm tra nguồn, hiệu chỉnh điện áp pin, kiểm tra MQTT, xử lý lỗi thường gặp và hoàn thiện mô hình giám sát năng lượng mặt trời ESP32.