Professional Documents
Culture Documents
hihihuhu
hihihuhu
TỔNG QUAN
1.1 Đặt vấn đề
Đề tài luận án "Giám sát điện năng qua internet" tập trung vào việc sử dụng công nghệ
Internet of Things (IoT) và các thiết bị cảm biến không dây để giám sát và quản lý
điện năng từ xa. Trong bối cảnh tăng giá điện và nhu cầu tiết kiệm năng lượng, việc
này trở nên ngày càng quan trọng. Đề tài đã khảo sát các phương pháp truyền thống
như sử dụng module SIM hoặc phần mềm Acuview, nhưng gặp khó khăn về tin nhắn,
kết nối mạng và chi phí cao. Thay vào đó, đề tài đề xuất sử dụng IoT và kết nối qua
Wi-Fi để giám sát và ghi dữ liệu điện năng từ xa một cách hiệu quả hơn, không bị hạn
chế bởi khoảng cách truyền dữ liệu.
1.2 Mục tiêu
Kết quả cuối cùng của đề tài là xây dựng một hệ thống giám sát điện năng từ xa đo
các thông số về điện năng của nguồn xoay chiều của mạch điện như dòng điện, điện
áp, tần số, công suất và năng lượng tiêu thụ của hai hay nhiều thiết bị điện, bằng cách
truy cập vào trang web, người dùng có thể giám sát từ xa ở mọi nơi mọi lúc.
1.3 Nội dung nghiên cứu
Quá trình thực hiện đồ án thông qua 8 nội dung nghiên cứu sau:
- Nội dung 1: Tìm hiểu và tham khảo các tài liệu, giáo trình, nghiên cứu các chủ đề,
các nội dung liên quan đến đề tài.
- Nôi dung 2: Lập trình giao tiếp với module PZEM004T để đo các thông số điện
năng.
- Nội dung 3: Viết chương trình cho ESP8266 gửi dữ liệu lên Web.
- Nội dung 4: Kết nối mạch phần cứng giữa PZEM004T, ESP8266.
- Nôi dung 5: Thiết kế và thi công mô hình thiết bị hoàn thiện.
- Nôi dung 6: Xây dựng giao diện web giám sát thiết bị.
- Nội dung 7: Chạy thử nghiệm và cân chỉnh hệ thống.
- Nội dung 8: Kết luận và phát triển.
Chương 2. CƠ SỞ LÝ THUYẾT
Hình 2.0.1 Ví dụ về khung truyền, bao gồm 1 bit start, 8 bits data
và cuối cùng là 1 bit stop.
• Start bit
Đây là bit đầu tiên được truyền vào khung truyền, có chức năng thông báo cho thiết bị
nhận biết đang có một chuỗi dữ liệu sắp truyền đến. Đối với các dòng AVR nói chung
và UnoX nói riêng, ở trạng thái chưa có dữ liệu (Idle) đường truyền luôn kéo lên mức
cao. Khi có dữ liệu mới, đường truyền được kéo xuống mức thấp, do đó start bit sẽ
được quy định là mức 0.
• Dữ liệu (data)
Dữ liệu cần truyền thông thường gồm 8 bits, tuy nhiên chúng ta hoàn toàn có thể tùy
chỉnh số lượng bit data cho một gói tin, có thể là 5, 6, 7, 9… Trong quá trình truyền,
bit có trọng số thấp nhất (LSB) sẽ được truyền trước, và cuối cùng sẽ là bit có trọng số
cao nhất (MSB).
• Stop bits
Stop bits là một hoặc nhiều bit có chức năng thông báo cho thiết bị nhận biết rằng một
gói dữ liệu đã được gởi xong. Đây là bit quan trọng, cần phải có trong một khung
truyền. Giá trị của các stop bit luôn bằng mức Idle (mức nghỉ) và ngược với giá trị của
start bit. Đối với các dòng vi điều khiển AVR các bit kết thúc này luôn là mức cao.
• Sử dụng chuẩn giao tiếp Serial với boad Arduino Uno
Giao tiếp Serial giữa 2 thiết bị với nhau thông thường sẽ có 2 dây tín hiệu, đó là TX
(Transmitter) có chức năng truyền tải dữ liệu và RX (Receiver) có chức năng thu nhận
dữ liệu. 2 dây tín hiệu này được kết nối chéo nhau giữa 2 thiết bị. Cụ thể, TX của thiết
bị 1 kết nối với RX của thiết bị 2 và RX của thiết bị 1 kết nối với TX của thiết bị 2.
Điều đặc biệt của Serial đó là quá trình truyền và quá trình nhận dữ liệu được diễn ra
hoàn toàn độc lập với nhau.
Thông số kỹ thuật:
IC chính: ESP8266 Wifi SoC.
Phiên bản firmware: NodeMCU Lua.
Chip nạp và giao tiếp UART: CH340
GPIO tương thích hoàn toàn với firmware Node MCU.
Cấp nguồn: 5VDC MicroUSB hoặc Vin.
GIPO giao tiếp mức 3.3VDC
Tích hợp Led báo trạng thái, nút Reset, Flash.
Tương thích hoàn toàn với trình biên dịch Arduino.
Kích thước: 59 x 32mm.
Wifi chuẩn: Wireless 802.11 b / g / n.
03 chế độ: STA / AP / STA + AP.
Hỗ trợ: ADC, PWM, Cập nhật FW từ xa (OTA), Smart Networking.
Dòng điện tiêu thụ: ≈70mA (200mA MAX), Standby: <200uA.
Hỗ trợ UART: 110 – 460800bps.
Nhiệt độ hoạt động: - 40 ℃ ~ + 125 ℃.
Hình 2.4 Sơ đồ chân Arduino NodeMcu Lua WIFI V3 CH340
Tất cả các GPIO đều có trở kéo lên nguồn bên trong (ngoại trừ GPIO16 có trở
kéo xuống GND). Người dùng có thể cấu hình kích hoạt hoặc không kích hoạt
trở kéo này.
GPIO1 và GPIO3: hai GPIO này được nối với TX và RX của bộ UART0,
NodeMCU nạp code thông qua bộ UART này nên tránh sử dụng 2 chân GPIO
này.
GPIO0, GPIO2, GPIO15: đây là các chân có nhiệm vụ cấu hình mode cho
ESP8266 điều khiển quá trình nạp code nên bên trong NodeMCU (có tên gọi là
strapping pins) có các trở kéo để định sẵn mức logic cho chúng như sau:
GPIO0: HIGH, GPIO2: HIGH, GPIO15: LOW. Vì vậy khi muốn sử dụng các
chân này ở vai trò GPIO cần phải thiết kế một nguyên lý riêng để tránh xung
đột đến quá trình nạp code. Các bạn có thể tham khảo nguyên lý thiết kế mạch
GPIO9, GPIO10: hai chân này được dùng để giao tiếp với External Flash của
ESP8266 vì vậy cũng không thể dùng được (đã test thực nghiệm).
Như vậy, các GPIO còn lại: GPIO 4, 5, 12, 13, 14, 16 có thể sử dụng bình
thường.
Sơ đồ nguyên lý
Hệ thống được chia thành hai phần: dòng điện và điện áp cho phép đặt vào thiết
bị đầu vào và các dây giao tiếp nối tiếp, theo nhu cầu thực tế của khách hàng, với chân
TTL khác nhau hoàn toàn giao tiếp các thiết bị khác nhau.
d. Giao diện màn hình hiển thị
Màn hình chia làm 4 vị trí hiển thị, đó là điện áp, dòng điện, năng lượng và công
suất. Sau đây là mô tả ngắn gọn về từng thông số hiển thị:
Màn hình hiển thị điện áp
Đo và hiển thị điện áp lưới điện tần số công nghiệp tại thời điểm hiện tại.
Màn hình hiển thị dòng điện
Đo và hiển thị dòng điện tải, sử dụng cho dòng điện từ 10mA trở lên.
Màn hình hiển thị điện năng
Đo và hiển thị điện năng tiêu thụ hiện tại. Có hướng dẫn bổ sung rằng đơn vị đo năng
lượng tối thiểu là 0,001kWh, độ phân giải khá cao, đối với thử nghiệm tải điện năng
thấp (trong 100W), có thể quan sát quá trình tích lũy trực tiếp.
Màn hình hiển thị công suất
Đo và hiển thị công suất tải hiện tại, dùng cho công suất cao từ 1 W trở lên.
e. Giao tiếp
Module này được trang bị giao diện truyền dữ liệu nối tiếp TTL, đọc và thiết lập các
thông số liên quan thông qua cổng giao tiếp.
No Function Head Data1 - Data5 Sum
1a Voltage Req B0 C0 A8 01 01 00 (Computer sends a 1A
request to read the voltage value)
1b Voltage Resp A0 00 E6 02 00 00 (Meter reply the voltage 88
value is 230.2V)
2a Voltage Resp B1 C0 A8 01 01 00 (Computer sends a 1B
request to read the current value)
2b Current Resp A1 00 11 20 00 00 (Meter reply the current D2
value is 17.32A)
3a Active power Req B2 C0 A8 01 01 00 (Computer sends a 1C
request to read the active power value)
3b Active power Resp A2 08 98 00 00 00 (Meter reply the active 42
power value is 2200w)
Trong Hình 3.1, các chân tín hiệu của các linh kiện được đánh cùng số thứ tự sẽ được
kết nối bằng một dây dẫn điện với nhau. Cụ thể:
(1) Chân RX của PZEM004T nối với chân D2 của ESP8266 NodeMCU.
(2) Chân TX của PZEM004T nối với chân D1 của ESP8266 Node MCU.
(3) Chân VCC của PZEM004T nối với 3V của ESP8266 Node MCU.
(4) Chân GND của PZEM004T và chân GND của ESP8266 nối với cực âm GND của
nguồn.
(5) Chân Vin của ESP8266 nối với cực dương 5 V nguồn.
3.2 Sơ đồ khối hệ thống và lưu đồ giải thuật
3.2.1 Sơ đồ khối hệ thống
Thiết bị PZEM004T sẽ đọc các giá trị điện áp và dòng điện đo được từ hệ
thống, chuyển đổi thành chuỗi dữ liệu UART thông qua giao thức TTL (transistor-
transistor logic) độ trể dữ liệu là 5 ms và truyền đến phần xử lý Esp8266 NodeMCU.
Từ đó, dữ liệu được gửi lên mạng internet truyền đến máy chủ Blynk. Qua đó, các
thiết bị điện thoại thông minh có thể truy cập vào ứng dụng Blynk để xem các thông
số và trạng thái mà thiết bị đo được.
3.2.2 Lưu đồ giải thuật
Chương trình điều khiển cho hệ thống giám sát điện năng từ xa được xây dựng
dựa trên lưu đồ giải thuật như Hình 3.3.
Trước tiên, các đầu đo điện áp và biến dòng được kết nối vào hệ thống cần đo
và mô hình giám sát điện năng sẽ hoạt động khi được cấp nguồn. Sau đó, ESP8266
NodeMCU kiểm tra kết nối wifi, nếu wifi không kết nối được thì quá trình kết thúc;
ngược lại nếu kết nối được thì PZEM004T bắt đầu đọc số liệu từ biến dòng và các
điểm nhận điện áp thông qua biến áp cách ly được đặt sẵn trong PZEM004T. Bộ ADC
sẽ chuyển những tín hiệu thu được thành tín hiệu nhị phân và đóng thành các gói dữ
liệu theo chuẩn giao tiếp UART, tiếp theo xuất dữ liệu sang ESP8266 NodeMCU theo
tín hiệu dữ liệu không đồng bộ nối tiếp. Khi đó, ESP8266 NodeMCU sẽ tính toán theo
code lập trình và gửi lên server Blynk.
Ứng dụng Blynk sẽ hiển thị thông qua các dạng hiển thị số liệu ứng dụng được
tích hợp.
Bảng 3.3 Sơ đồ chương trình kết nối PZEM004T và ESP8266
Chương 4. KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN