THÀNH PHỐ HỒ CHÍ MINHĐỒ ÁN TỐ NGHIỆP NGÀNH CNKT ĐIỆN TỬ - VIỄN THÔNG THIẾT KẾ VÀ THI CÔNG ĐỒNG HỒ ĐO ĐIỆN NĂNG AC, EC GIÁM SÁT DỮ LIỆU TRÊN INTERNET GVHD: TRƯƠNG NGỌC ANH SVTH: NGUYỄN H
TỔNG QUAN
ĐẶT VẤN ĐỀ
Công nghệ IoTs (Internet of Things) đang trở thành xu hướng phát triển mạnh mẽ trong ngành công nghệ toàn cầu IoTs là sự kết nối giữa các thiết bị với Internet, cho phép chúng giao tiếp lẫn nhau và với máy tính bảng, tạo thành một hệ thống thông minh để trao đổi dữ liệu và điều khiển Xu hướng này ngày càng ảnh hưởng lớn đến đời sống con người và có ứng dụng rộng rãi trong nhiều lĩnh vực, đặc biệt là ngành Điện trong tương lai.
Việc sử dụng IoTs trong ngành Điện, bao gồm kiểm soát giám sát và thu thập dữ liệu (SCADA) cùng với cơ sở hạ tầng (AMI), có thể nâng cao hiệu suất và hiệu quả của lưới điện IoTs cải thiện khả năng phục hồi của lưới điện thông qua việc thu thập dữ liệu từ cảm biến, cho phép các tiện ích chủ động quản lý và phân bổ nguồn lực, tối ưu hóa việc sử dụng và cung cấp điện Hệ thống quản lý công nghệ truyền thông tiên tiến giúp giám sát và vận hành dễ dàng, giảm chi phí nhân công và tăng độ tin cậy cho doanh nghiệp Dữ liệu được truyền về máy tính trung tâm và sao lưu, giúp quản lý hiệu quả hơn Phần mềm với giao diện trực quan hỗ trợ quản lý vận hành và truy xuất dữ liệu nhanh chóng Tuy nhiên, nhiều doanh nghiệp trong nước vẫn chưa thể áp dụng công nghệ này do thiếu kinh phí, dẫn đến tình trạng hao hụt và quá tải, gây thiệt hại nghiêm trọng trong quá trình sản xuất.
Nhằm tạo ra một hệ thống giám sát điện năng đơn giản và hiệu quả, nhóm chúng tôi đã quyết định nghiên cứu đề tài “Thiết kế và thi công đồng hồ đo điện năng” Đề tài này không chỉ tìm ra hướng đi mới cho các doanh nghiệp mà còn góp phần phát triển ngành Điện, theo định hướng của thầy Trương Ngọc Anh.
AC, DC giám sát dữ liệu qua Internet”
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 2
Luận án khảo sát các phương pháp giám sát điện năng qua Internet, như sử dụng module SIM kết hợp RS232 và RS485 theo Modbus RTU Tuy nhiên, mạng GSM gặp khó khăn như trễ tin nhắn và sóng yếu, chỉ giám sát được trên máy tính Các phương pháp khác như phần mềm Acuview và PLC S7-400 có chi phí cao Đề tài “Thiết kế và thi công đồng hồ đo điện năng AC, DC giám sát dữ liệu trên Internet” nghiên cứu giao tiếp với thiết bị điện qua IoTs, hỗ trợ giám sát và quản lý điện năng từ xa, sử dụng vi điều khiển và truyền dữ liệu qua WiFi, không bị hạn chế khoảng cách.
MỤC TIÊU CỦA ĐỀ TÀI
Hệ thống giám sát điện năng từ xa được thiết kế và thi công để theo dõi các thông số nguồn AC và DC như dòng điện, điện áp, tần số và công suất tiêu thụ Người dùng có thể giám sát các thông số này thông qua nền tảng Web và ứng dụng điện thoại từ bất kỳ đâu có kết nối Internet.
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, PZEM017 để đ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 và đồng bộ trên App Smartphone
- Nội dung 4: Kết nối phần cứng giữa PZEM004T, PZEM017, Esp8266, LCD
- 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, App, kho lưu trữ dữ liệu
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 3
- Nội dung 7: Chạy thử nghiệm và cân chỉnh hệ thống
- Nội dung 8: Viết báo cáo luận án.
PHƯƠNG PHÁP NGHIÊN CỨU
Phương pháp điều tra khảo sát là nghiên cứu thực trạng và nhu cầu ứng dụng của đề tài trong thực tế, từ đó xác định mục tiêu cụ thể cho nghiên cứu.
Phương pháp chọn mẫu: Chọn mẫu có chủ đích có ứng dụng thực tế cao đáp ứng được mục tiêu đề ra của đề tài
Phương pháp thử nghiệm: Tiến hành thử nghiệm, kiểm tra và điều chỉnh hoạt động của mô hình.
BỐ CỤC ĐỒ ÁN
Chương 1: Tổng quan: Trình bày lí do chọn đề tài, tình hình nghiên cứu trong và ngoài nước, mục tiêu hướng tới, phương pháp nghiên cứu của đề tài và bố cục đồ án
Chương 2: Cơ sở lí thuyết: Trình bày tóm tắt cơ sở lí thuyết sẽ sử dụng để giải quyết vấn đề
Chương 3: Thiết kế và xây dựng hệ thống: Trình bày yêu cầu, sơ đồ khối hệ thống, hoạt động của hệ thống, tính toán và thiết kế phần cứng và phần mềm
Chương 4: Thi công hệ thống: Trình bày các bước thi công phần cứng cũng như thiết kế phần mềm của hệ thống thực tế đã làm trong quá trình nghiên cứu
Chương 5: Kết quả, nhận xét, đánh giá: Mô tả kết quả đạt được, nêu những vấn đề chưa được giải quyết
Chương 6: Kết luận và hướng phát triển: Đưa ra kết luận là đã hoàn thành theo như mục tiêu đề ra hay chưa, nêu hướng phát triển của đề tài
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 4
CƠ SỞ LÝ THUYẾT
TẦM QUAN TRỌNG CỦA VIỆC QUẢN LÝ ĐIỆN NĂNG
Giám sát chất lượng điện năng mang lại nhiều lợi ích cho người dân, giúp phát hiện sớm các sự cố trong quá trình sản xuất Nghiên cứu cho thấy hầu hết các vấn đề xảy ra đều liên quan đến hoạt động của người dân Việc này không chỉ giúp khách hàng kịp thời bảo trì, bảo dưỡng mà còn tránh được tổn thất lớn cho doanh nghiệp.
Trong sản xuất, độ tin cậy và tính nhất quán của nguồn cung cấp điện là yếu tố quan trọng cho hoạt động của các nhà máy và dịch vụ Các vấn đề như chất lượng điện kém, sụt áp hoặc sinh hài có thể gây ảnh hưởng tiêu cực Do đó, lắp đặt hệ thống giám sát điện năng sẽ hỗ trợ doanh nghiệp trong việc cải thiện hiệu suất và giảm thiểu rủi ro.
- Giám sát và quản lý dòng điện chính xác rõ ràng, cho số liệu chi tiết, xuất báo cáo theo từng ngày, tháng cụ thể
- Thường xuyên cập nhật thông tin dữ liệu tiêu thụ của doanh nghiệp
- Cảnh báo sớm sự cố kịp thời, hạn chế việc hư hỏng thiết bị toàn hệ thống
- Giảm công sức kiểm tra trực tiếp, thay vào đó có thể kiểm soát từ xa
- Kéo dài tuổi thọ của các thiết bị điện một cách tối ưu
- Là cơ sở dữ liệu để xem xét để thay thế sử dụng các thiết bị tiết kiệm điện năng hiệu quả.
GIỚI THIỆU VỀ MỘT SỐ HỆ THỐNG GIÁM SÁT VÀ QUẢN LÝ ĐIỆN NĂNG TỪ XA TRONG THỰC TẾ
2.2.1 Hệ thống giám sát và quản lý điện năng ứng dụng SCADA
Hệ thống SCADA giám sát và quản lý điện năng do ATSCADA Lab phát triển là một giải pháp toàn diện, đã được lắp đặt thành công cho nhiều đơn vị sản xuất công nghiệp.
Hệ thống chuyển đổi tín hiệu từ Modbus RTU sang Modbus TCP/IP được thiết kế để sử dụng trong mạng LAN có sẵn tại các tòa nhà và nhà máy trong khu công nghiệp.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 5 truyền tín hiệu với tốc độ cao Tiết kiệm chi phí kéo dây từ các vị trí đến trung tâm giám sát
Hình 2.1 Mô hình hệ thống giám sát điện năng SCADA
Các tham số điện trong hệ thống sản xuất được đo bằng các thiết bị chuyên dụng, có khả năng kết nối với thiết bị ngoại vi để tích hợp vào hệ thống SCADA, nhằm giám sát và quản lý điện năng hiệu quả.
Trong hệ thống giám sát và quản lý, phần mềm giám sát cho phép người quản lý thực hiện thao tác trực tiếp trên giao diện, giúp theo dõi và quản lý hiệu quả hơn.
Các tham số được trình bày một cách trực quan qua bảng số liệu và đồ thị, giúp người dùng dễ dàng xem, thao tác và xuất báo cáo cơ sở dữ liệu theo thời gian và đối tượng cụ thể.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 6
Lợi ích của việc áp dụng hệ thống SCADA giám sát và quản lý điện năng:
- Giám sát và quản lý tập trung toàn bộ hệ thống
- Hệ thống hoạt động liên tục 24/24
- Kiểm soát tần số, điện áp, dòng điện, công suất phản kháng điện năng tiêu thụ,…trực quan và chính xác
- Chức năng cảnh báo từ hệ thống giúp tăng khả năng đáp ứng nhanh chóng, xử lý sự cố triệt để
- Xuất báo cáo hệ thống tự động theo đối tượng, theo thời gian, theo mẫu
- Tiết kiệm thời gian và chi phí nhân công giám sát tại chỗ
- Giảm tối đa các sai sót so với quá trình thực hiện giám sát thủ công
- Chủ động lên kế hoạch bảo trì, bảo dưỡng tránh thời gian cháy máy
- Đưa ra các quyết định hợp lý trong sữa chữa hoặc đầu tư mới để đạt hiệu quả tốt nhất
2.2.2 Đồng hồ phân tích chất lượng điện năng (SFERE 720C) cho các hệ thống giám sát điện thông minh, chất lượng cao
Đồng hồ phân tích chất lượng điện năng SFERE 720C là thiết bị phổ biến trong hệ thống giám sát điện, với thiết kế hình vuông nhỏ gọn Cấu tạo đơn giản giúp việc lắp đặt và sử dụng trở nên dễ dàng.
SFERE 720C là thiết bị thu thập dữ liệu lý tưởng cho hệ thống phân phối điện thông minh và tự động hóa nhà máy Tất cả dữ liệu giám sát được truyền tải qua cổng giao tiếp kỹ thuật số RS485 tiêu chuẩn, hỗ trợ giao thức Modbus RTU cùng với các giao thức khác như Modbus TCP/IP và Bacnet.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 7
Hình 2.2 Đồng hồ SFERE 720C thực tế
SFERE 720C được đi kèm với phần mềm Eplan, cho phép người dùng có thể theo dõi chất lượng điện ngay tại máy tính
Hình 2.3 Giao diện phần mềm Eplan
Dữ liệu hiển thị trên màn hình được lưu trữ trong lịch sử, giúp người theo dõi phân tích tình trạng hoạt động của điện năng, xác định xem có đang quá tải hoặc vượt mức cho phép hay không, từ đó đưa ra các giải pháp phù hợp khi xảy ra sự cố.
Với những tính năng nổi bật, SFERE 720C được sử dụng phổ biến trong việc thu thập dữ liệu tại các tải, site và tụ điện Thiết bị này hỗ trợ các hệ thống quản lý năng lượng và giám sát trực quan, cả tại chỗ lẫn từ xa, giúp theo dõi và đánh giá các thông số điện, mang lại hiệu quả cao trong công việc.
* ( Sản phẩm chưa được phổ cập tại Việt Nam.)*
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 8
CÔNG NGHỆ IoTs
IoTs (Internet of Things) là thuật ngữ chỉ các đối tượng có khả năng nhận biết và tồn tại trong một kiến trúc kết nối Trong viễn cảnh này, mọi vật, động vật và con người đều được cấp định danh và có khả năng tự động truyền tải dữ liệu qua mạng mà không cần tương tác giữa con người với nhau hoặc giữa con người với máy tính IoTs phát triển từ sự hội tụ của công nghệ không dây, hệ thống vi cơ điện tử (MEMS) và Internet Thuật ngữ này được Kevin Ashton, nhà khoa học sáng lập trung tâm Auto-ID tại MIT, giới thiệu vào năm 1999.
2.3.2 Giao thức kết nối WiFi
WiFi (Wireless Fidelity hay mạng 802.11) là hệ thống không dây sử dụng sóng vô tuyến, tương tự như điện thoại di động, truyền hình và radio Kết nối WiFi thường được ưa chuộng bởi tính phổ biến và chi phí hợp lý, đặc biệt trong các mạng LAN với phạm vi kết nối giới hạn.
Sóng vô tuyến sử dụng cho WiFi tương tự như sóng vô tuyến cho điện thoại di động và các thiết bị khác, với khả năng chuyển và nhận sóng, cũng như chuyển đổi mã nhị phân 0 và 1 Tuy nhiên, sóng WiFi khác biệt ở chỗ chúng hoạt động ở tần số 2.4 Hz hoặc 5 Hz, cao hơn so với tần số của điện thoại di động và truyền hình, cho phép tín hiệu mang theo nhiều dữ liệu hơn.
- Dãy tần số hoạt động: 2.4GHz và 5 GHz bands
- Tốc độ xử lý tối đa: 600 Mbps
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 9
CHUẨN TRUYỀN DỮ LIỆU MODBUS RTU
Giao thức Modbus RTU là một chuẩn truyền nối tiếp, trong đó các cảm biến và cơ cấu chấp hành thường hoạt động như Slave Các thiết bị như máy tính, PLC, vi điều khiển và thiết bị HMI có thể đảm nhiệm vai trò Master, nhưng đôi khi cũng có thể hoạt động như Slave.
Hình 2.4 Mô phỏng kết nối giữa Modbus RTU Master- Modbus RTU Slaves
Giao thức Modbus RTU được xây dựng trên nền tảng giao thức truyền thông nối tiếp UART, một giao thức phổ biến trong vi điều khiển UART định nghĩa cấu trúc của một gói tin, và nội dung của các tin nhắn Modbus được tạo thành từ nhiều gói tin kết hợp lại.
Một bản tin Modbus RTU bao gồm: 1 byte địa chỉ - 1 byte mã hàm – n byte dữ liệu – 2 byte CRC Chức năng và vai trò cụ thể như sau:
Byte địa chỉ xác định thiết bị nhận dữ liệu (đối với Slave) hoặc dữ liệu nhận được từ địa chỉ vào (đối với Master) Địa chỉ này được quy định trong khoảng từ 0 đến 254.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 10
- Byte mã hàm: được quy định từ Master, xác định yêu cầu dữ liệu từ thiết bị Slave
- Byte dữ liệu: xác định dữ liệu trao đổi giữa Master và Slave
Master: 2 byte địa chỉ dữ liệu – 2 byte độ dài dữ liệu
Slave: 2 byte địa chỉ dữ liệu – 2 byte độ dài dữ liệu – n byte dữ liệu đọc được
Master: 2 byte địa chỉ dữ liệu – 2 byte độ dài dữ liệu – n byte dữ liệu cần ghi
Slave: 2 byte địa chỉ dữ liệu – 2 byte độ dài dữ liệu
- Byte CRC: 2 byte kiểm tra lỗi của hàm truyền, cách tính giá trị của Byte CRC
Giao thức UART trong vi điều khiển sử dụng chuẩn TTL hoặc CMOS Để giao tiếp với các thiết bị sử dụng giao thức Modbus RTU, cần thiết phải có mạch chuyển đổi TTL/CMOS-RS232 hoặc TTL/CMOS-RS485.
Hình 2.5 Kết nối phần cứng để sử dụng vi điều khiển chuẩn TTL với các thiết bị
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 11
GIỚI THIỆU PHẦN CỨNG
Hệ thống được thiết kế có sử dụng các module, các thiết bị sau:
Thiết bị đầu vào cảm biến dòng điện PZCT-2 100A và module đo điện áp PZEM-004T, PZEM017.
Module giúp chuyển đổi điện áp TTL sang giao tiếp RS-485.
Thiết bị đầu ra LCD 16x02.
Thiết bị xử lý trung tâm là vi điều khiển node MCU ESP8266.
Các chuẩn truyền dữ liệu I2C, Internet.
Thiết bị cung cấp nguồn 5V thông qua mạch nguồn thiết kế.
Nguồn ắc quy(12V) / pin cell 3,7V.
Thiết bị giao diện giám sát websever gồm laptop, smartphone.
2.5.1 Module đo thông số điện xoay chiều PZEM-004T
Module PZEM-004T cung cấp nhiều tính năng hữu ích như đo áp, đo dòng và công suất của thiết bị điện gia đình, đồng thời có bộ nhớ lưu trữ chỉ số tiêu thụ điện giống như công tơ điện Các thông số đo đạt được khá chính xác và hoàn thiện Tuy nhiên, PZEM-004T không có màn hình hiển thị trực tiếp, mà thay vào đó truyền các giá trị đo qua giao tiếp UART đến máy tính hoặc vi xử lý.
Hình 2.6 Hình ảnh thực tế PZEM-004T
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 12
Hình 2.7 Sơ đồ nối dây của PZEM-004T
Bảng 2.1 Thông số kỹ thuật của PZEM-004T Điện áp đo 80 ~ 260 VAC
Tần số dòng điện đo 45 – 65 Hz
Module kết nối đơn giản với tổng cộng 8 ngõ, bao gồm 4 ngõ cho điện áp AC và 4 ngõ cho giao tiếp với thiết bị DC Để đảm bảo an toàn, nhà sản xuất sử dụng Opto quang để cách ly giữa điện áp AC và DC Các cổng giao tiếp với thiết bị xử lý bao gồm 2 chân nguồn GND và 5V, cùng 2 chân TX, RX cho giao tiếp UART Ngoài ra, có 2 chân kết nối trực tiếp với điện lưới để đo điện áp và cung cấp nguồn cho các IC xử lý, cùng 2 chân kết nối với cuộn cảm CT để đo dòng tải thiết bị điện Sơ đồ kết nối chi tiết có thể tham khảo bên dưới.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 13
Phương pháp xử lí dữ liệu với PZEM004T
Hiện nay, module PZEM-004T đã được hỗ trợ tốt bởi thư viện Arduino Tuy nhiên, để làm việc một cách chuyên nghiệp hơn với module này, người dùng cần làm quen với việc xử lý dữ liệu trên các thanh ghi của nó, mỗi thanh ghi chứa 8 bit dữ liệu (1 byte).
Giao tiếp UART của module sử dụng 8 bit dữ liệu truyền nối tiếp, trong đó byte đầu tiên luôn là địa chỉ của module, có giá trị từ 0x01 đến 0xF7 Các byte tiếp theo phụ thuộc vào chức năng mà người dùng muốn giao tiếp với module.
Cấu trúc lệnh để vi xử lý có thể yêu cầu module gửi kết quả đo là:
“Địa chỉ module + 0x04 + 2 byte địa chỉ thanh ghi + 2 byte số lượng thanh ghi + 2 byte CRC kiểm tra.”
Địa chỉ module (1 byte): như đã nói ở trên, giá trị mặc định thường là 0x01
0x04 (1 byte): byte báo hiệu dữ liệu sử dụng cho việc truyền nhận dữ liệu đo
Địa chỉ thanh ghi (2 bytes): địa chỉ thanh ghi đầu tiên để lấy dữ liệu
Số lượng thanh ghi (2 bytes): số lượng thanh ghi yêu cầu module gửi
CRC kiểm tra (2 bytes): bit kiểm tra dữ liệu của phần cứng
Cấu trúc lệnh module trả về cho vi xử lý:
“Địa chỉ module + 0x04 + 1 byte số lượng thanh ghi + 2 byte dữ liệu + byte dữ liệu + … + 2 byte CRC kiểm tra.”
Địa chỉ module (1 byte): như đã nói ở trên, giá trị mặc định thường là 0x01
0x04 (1 byte): byte báo hiệu dữ liệu sử dụng cho việc truyền nhận dữ liệu đo
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 14
Số lượng thanh ghi (1 byte): báo số lượng thanh ghi (số byte) của dữ liệu đo mà module sẽ gửi
Byte dữ liệu: lần lượt các byte dữ liệu đo như điện áp, dòng điện, công suất,…sẽ được sắp xếp nối tiếp nhau theo bảng bên dưới
CRC kiểm tra (2 bytes): bit kiểm tra dữ liệu của phần cứng
Bảng 2.2 Bảng sắp xếp thứ tự thanh ghi Địa chỉ thanh ghi Mô tả Độ phân giải
0x0000 Giá trị điện áp 1 bit thấp nhất tương ứng với 0,1V
0x0001 Giá trị dòng điện (16 bits thấp) 1 bit thấp nhất tương ứng với 0,001A
0x0002 Giá trị dòng điện (16 bits cao)
0x0003 Giá trị công suất (16 bits thấp) 1 bit thấp nhất tương ứng với 0,1W
0x0004 Giá trị công suất (16 bits cao)
0x0005 Giá trị chỉ số (16 bits thấp) 1 bit thấp nhất tương ứng với 1Wh
0x0006 Giá trị chỉ số (16 bits cao)
0x0007 Giá trị tần số (16 bits) 1 bit thấp nhất tương ứng với 0,1Hz
0x0008 Giá trị hệ số công suất (16 bits) 1 bit thấp nhất tương ứng với 0,01
*Để hiểu rõ hơn ta có thể lấy 1 ví dụ:
Vi xử lý sẽ gửi 1 chuỗi giá trị như sau:
Như vậy, ta sẽ phân tích:
0x01: địa chỉ mặc định của module
0x04: báo hiệu truyền nhận dữ liệu đo
0x00 + 0x00: 2 bytes cho biết địa chỉ đầu tiên muốn nhận dữ liệu
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 15
0x00 + 0x09: cho biết vi xử lý muốn nhận 9 thanh ghi dữ liệu
0xHH + 0xLL: ký hiệu cho CRC check byte Phần này do module tự thực hiện, người thiết kế không cần quan tâm
Sau đó, module sẽ trả về 1 chuỗi giá trị như sau:
0x01: địa chỉ mặc định của module
0x04: báo hiệu truyền nhận dữ liệu đo
0x : có tổng cộng … thanh ghi dữ liệu được gửi đi
0x08 + 0x98: giá trị điện áp, ghép lại được 16 bit có giá trị là 0x0898 chuyển sang thập phân là 2200 nên giá trị điện áp là 220,0V
0x03 + 0xE8 + 0x00 + 0x00: giá trị dòng điện, ghép lại được 32 bit: 0x000003E8 chuyển sang thập phân là 1000 nên giá trị dòng điện là 1A
0x08 + 0x98 + 0x00 + 0x00: giá trị công suất, ghép lại được 32 bit: 0x00000898 chuyển sang thập phân là 2200 nên giá trị công suất là 220,0W
0x00 + 0x00 + 0x00 + 0x00: giá trị số chỉ tiêu thụ, ghép lại được 32 bit: 0x00000000 chuyển sang thập phân là 0 nên giá trị số chỉ là 0kWh
0x01 + 0xF4: giá trị tần số, ghép lại được 16 bit: 0x01F4 chuyển sang thập phân là 500 nên giá trị tần số là 50,0Hz
0x00 + 0x64: giá trị hệ số công suất, ghép lại được 16 bit: 0x0064 chuyển sang thập phân là 100 nên giá trị hệ số công suất là 1,00
0xHH + 0xLL: ký hiệu cho CRC check byte Phần này do module tự thực hiện, người thiết kế không cần quan tâm
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 16
Cấu trúc lệnh để reset giá trị số chỉ tiêu thụ:
“Địa chỉ module + 0x42 + 2 byte CRC kiểm tra”
Cũng như trên nhưng khác ở chỗ thay 0x04 thành 0x42 để báo cho module xoá dữ liệu số chỉ được lưu trong thanh ghi
Hình 2.8 Sơ đồ khối xử lý của module PZEM-004T-100A
2.5.2 Cảm biến dòng điện PZCT-02 100A
Hình 2.9 Hình ảnh thực tế Cảm biến dòng điện PZCT-02- 100A
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 17
Bảng 2.3 Thông số kỹ thuật Cảm biến dòng điện PZCT-2 100A
Nhiệt độ môi trường -40 – 85°C Độ ẩm tương đối ≤ 90% (40 ℃)
Tần số làm việc 50Hz ~ 60Hz
Cách nhiệt B cao cấp (130℃) Điện trở cách nhiệt > 1000MΩ thông thường
Cảm biến đo năng lượng đặc biệt này hoạt động với nguồn điện AC 220V và 380V, mang lại tính linh hoạt trong ứng dụng Nó sở hữu tính chất cơ học tốt và khả năng kháng môi trường, đồng thời mạch điện áp được thiết kế để đảm bảo sự cô lập, an toàn và đáng tin cậy.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 18
2.5.3 Module đo thông số điện một chiều PZEM-017
PZEM-017 được sử dụng để đo và theo dõi 4 thông số của hệ thống điện DC bao gồm điện áp, dòng điện, công suất và năng lượng tiêu thụ
Hình 2.10 Hình ảnh PZEM-017 thực tế
Bảng 2.4 Bảng thông số kỹ thuật của PZEM-017
Model PZEM-017 kèm trở Shunt 100A Điện áp đo và hoạt động 0,05~300VDC, sai số 0,01
Dòng điện đo và hoạt động 0,02~100A, sai số 0,01
Công suất đo và hoạt động 0,2~90kW, sai số 0,01
Năng lượng đo và hoạt động 0~9999kWh
Giao tiếp RS485 modbus baudrate 9600
The module utilizes the Modbus-RTU protocol for communication and currently supports addresses such as 0x03 (Read Holding Register), 0x04 (Read Input Register), 0x06 (Write Single Register), 0x41 (Calibration), and 0x42 (Reset Energy), among others.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 19
Phạm vi địa chỉ của slave là từ 0x01 đến 0xF7, trong khi địa chỉ 0x00 được sử dụng làm địa chỉ bắt đầu và không nhận phản hồi từ master Địa chỉ 0xF8 được sử dụng làm địa chỉ chung.
Cấu trúc lệnh cho vi xử lý yêu cầu module gửi kết quả đo bao gồm: Địa chỉ module, 0x04, địa chỉ thanh ghi Byte cao, địa chỉ thanh ghi Byte thấp, số thanh ghi Byte cao, số thanh ghi Byte thấp, và CRC kiểm tra Byte cao.
CRC Kiểm tra Byte thấp
Cấu trúc lệnh để module phản hồi kết quả đo là:
Kết quả đúng: Địa chỉ Slave + 0x04 + Số byte + 1 byte thanh ghi dữ liệu cao
+ 1 byte thanh ghi dữ liệu thấp + + CRC kiểm tra byte cao + CRC kiểm tra byte thấp
Kết quả lỗi: Địa chỉ Slave + 0x84 + mã lỗi + CRC kiểm tra byte cao + CRC kiểm tra byte thấp
Cấu trúc lệnh để reset giá trị số chỉ tiêu thụ:
“Địa chỉ module + 0x42 + CRC kiểm tra byte cao + CRC kiểm tra byte thấp”
Hình 2.11 Sơ đồ khối xử lý của module PZEM-004T-100A
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 20
2.5.4 Điện trở Shunt 100A 75mV Điện trở Shunt là một điện trở có độ chính xác cao được dùng để đo dòng điện chạy qua mạch Shunt được sử dụng trong điện kế để đo dòng điện lớn Nó được kết nối song song với mạch của điện kế nên có thể dễ dàng tính được dòng điện
Hình 2.12 Hình ảnh thực tế điện trở Shunt 100A-75mV
Cách tính điện trở Shunt: dựa vào dòng điện định mức tối đa Giá trị điện trở được cho bởi điện áp rơi ở dòng điện mức tối đa
Vd: Một điện trở shunt định mức 100A và 50 mV có điện trở 50/100 = 0,5 mOhm Điện áp rơi ở dòng điện tối đa thường được định mức là 50, 75 hoặc 100 mV
Các thông số quan trọng của điện trở bao gồm dung sai, hệ số nhiệt độ và công suất định mức Công suất định mức xác định lượng điện mà điện trở có thể tiêu tán mà không bị hỏng ở nhiệt độ môi trường nhất định Điện trở Shunt thường có hệ số suy giảm 66% để hoạt động liên tục nếu thời gian hoạt động vượt quá 2 phút Nhiệt độ cao ảnh hưởng tiêu cực đến độ chính xác của Shunt, bắt đầu từ 80 độ C, hiện tượng trôi nhiệt sẽ xảy ra và trở nên nghiêm trọng hơn khi nhiệt độ tăng Khi nhiệt độ đạt 140 độ C trở lên, điện trở sẽ bị hỏng và giá trị điện trở sẽ thay đổi vĩnh viễn.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 21
2.5.5 Module giao tiếp TTL RS485
Là module giúp chuyển đổi mức điện áp TTL sang giao tiếp RS-485
Module được thiết kế nhỏ gọn, tích hợp các linh kiện cần thiết để đảm bảo tốc độ truyền dẫn cao, khoảng cách truyền xa mà vẫn ổn định
Hình 2.13 Hình ảnh module TTL RS-485 thực tế
Hình 2.14 Sơ đồ nguyên lý module RS-485
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 22
Bảng 2.5 Bảng thông số kỹ thuật của module RS-485
Chip Max 485 Điện áp hoạt động 5V DC
Dòng điện hoạt động 300 uA
Công suất hoạt động 830 mW
Ngõ vào RO, RE, DI, DE
Tốc độ truyền tối đa 2 Mbps
Các chân module gồm có:
- DI - dữ liệu vào PIN 1
- RO - tín hiệu nhận đầu ra PIN 0
- DE; RE cho phép dữ liệu vào và cho phép được nhận, 2 chân này thường để nối liền với nhau và kết nối với Pin 2
Bus 485 truyền dữ liệu visai bằng 2 dây A, B nên khoảng cách truyền lớn (max 1200m), khả năng chống nhiễu tốt
Với A - B > 200mV sẽ tạo mức logic 1
Với B - A > 200mV sẽ tạo mức logic 0
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 23
Chuẩn RS 485 chỉ truyền trên 2 dây A và B sử dụng chênh lệch điện áp giữa
A và B hoạt động theo logic 0 hoặc 1 mà không so sánh với đất, giúp tín hiệu truyền đi xa hơn Khi xảy ra sụt áp, cả hai dây đều bị ảnh hưởng, nhưng tín hiệu vẫn duy trì ở mức logic 1 hoặc 0.
Module RS485 hỗ trợ giao tiếp tín hiệu điều khiển chuẩn RS-485 giữa các vi điều khiển và máy tính, giúp nâng cao khả năng truyền thông trong các ứng dụng.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 24
2.5.6 Module chuyển tiếp giao tiếp LCD sang I2C Để điều khiển và hiển thị được kí tự từ vi điều khiển xuất ra màn hình LCD20x4 cần có ít nhất là 10 đường nối đến chân của vi điều khiển (8 đường data từ D0 – D7 và 2 đường điều khiển RS, RW) nếu bit DL (data length) =1 hoặc cần ít nhất
Khi bit DL=0, mạch LCD yêu cầu 6 đường kết nối (4 đường dữ liệu từ D4 đến D7 và 2 đường điều khiển RS, RW), dẫn đến việc thiết kế mạch trở nên phức tạp và khó khăn trong việc lập trình Tuy nhiên, với module chuyển đổi I2C, chỉ cần kết nối 2 chân SDA và SCL với vi điều khiển, người dùng có thể dễ dàng điều khiển và hiển thị thông tin trên màn hình LCD.
Hình 2.16 Hình ảnh thực tế module giao tiếp I2C
Bảng 2.6 Bảng chức năng các chân của I2C
Chân Tên chân I/O Chức năng
1 GND Nguồn Chân nối mass
2 VCC Nguồn Chân nối điện áp +5V
3 SDA I/O Chân truyền nhận dữ liệu
4 SCL CLK Chân nhận xung clock
A0 A0 Jumber Chân thiết lập địa chỉ A0
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 25
A1 A1 Jumber Chân thiết lập địa chỉ A1
A2 A2 Jumber Chân thiết lập địa chỉ A2
Backlight Jumber Chân điều khiển đèn nền của LCD
Điều khiển độ tương phản của LCD có thể thực hiện thông qua Pot Chân Đối với module I2C, chúng ta có khả năng kết nối nhiều module I2C để hiển thị trên nhiều màn hình LCD cùng lúc bằng cách hàn các jump trên module I2C để thay đổi địa chỉ Địa chỉ mặc định của module khi chưa hàn các jump là 0x27.
Bảng 2.7 Bảng địa chỉ module giao tiếp I2C
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 26
Giới thiệu phần mềm
2.6.1 Phần mềm lập trình Arduino IDE 1.8.19
Phần mềm Arduino IDE là công cụ lập trình lý tưởng cho các board Arduino, với nhiều tiện ích như cài đặt nhanh chóng và dễ dàng Nó là mã nguồn mở, cho phép người dùng thêm các thư viện tùy ý, đồng thời hỗ trợ ngôn ngữ lập trình phổ biến.
Các bước cài đặt và sử sụng phần mềm:
Bước 1: Tải và cài đặt phiên bản mới nhất của Arduino từ trang web https://www.Arduino.cc, vào mục Software và chọn Download Arduino IDE Hãy chú ý chọn đúng phiên bản cho hệ điều hành của bạn Đối với Windows, có hai lựa chọn: tải file nén “.zip” hoặc file cài đặt “.exe” Phiên bản mới nhất hiện tại là 1.8.3 Sau khi tải về, tiến hành cài đặt chương trình.
Sau khi cài đặt thành công, hãy mở chương trình Arduino IDE và tạo một project mới Cấu trúc cơ bản của một project mới, hay còn gọi là sketch, bao gồm hai hàm chính là setup() và loop().
Hình 2.17 Giao diện phần mềm sau khi cài đặt
Chương trình mẫu bật tắt LED sử dụng Arduino và ESP8266 Do phần mềm mặc định không hỗ trợ thư viện cho module ESP8266, người dùng cần cài đặt thư viện này để có thể sử dụng.
The Industrial Electronics - Biomedical Department 27 software requires installation To set it up, navigate to File, select Preferences, and in the Additional Board Manager URLs textbox, add the following link: http://Arduino.esp8266.com/stable/package_esp8266com_index.json.
Tiếp theo vào Tool→Board→Boards Manager:
Chọn ESP8266 by ESP8266 Community, click vào Install
Tool→Board→NodeMCU 1.0 ESP8266-12E Module
Bước 3: Viết chương trình với cấu trúc cơ bản bao gồm hai hàm chính là setup và loop Hàm setup được thực thi mỗi khi khởi động chương trình để thiết lập các cài đặt cần thiết, trong khi hàm loop sẽ được gọi lặp đi lặp lại cho đến khi nguồn điện bị tắt.
Bước 4: Biên dịch và nạp code Sau khi hoàn tất việc viết code, tiến hành biên dịch cho đến khi không còn lỗi Sau đó, nạp chương trình vào bo mạch Arduino Khi nạp thành công, Arduino IDE sẽ hiển thị “Uploading Done” Kiểm tra xem Arduino có thực hiện đúng yêu cầu mong muốn hay không; nếu chưa, hãy hiệu chỉnh lại code và thực hiện biên dịch cùng nạp lại.
Hình 2.18 Hình ảnh khi biên dịch chương trình thành công
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 28
2.6.2 Phần mềm thiết kế mạch Proteus
Là một thành phần thiết kế mạch phổ biến, nó cung cấp nhiều chức năng tiện ích như thiết kế sơ đồ nguyên lý, thiết kế mạch layout (PCB), tạo mới linh kiện và mô phỏng mạch 3D hấp dẫn.
Hướng dẫn sử dụng phần mềm:
Bước 1: Khởi động chương trình Proteus Professional
Chạy chương trình bằng cách nhấp vào biểu tượng ISIS Professional trên Desktop hoặc chọn Windows >> Programs >> Proteus Professional >> ISIS Professional
Sau khi khởi động thành công ta được màn hình khởi động phầm mềm như hình 2.19
Hình 2.19 Màn hình khởi động của Proteus 8.12
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 29
Bước 2: Mở chương trình ISIS Professional
Nhấp vào biểu tượng Schematic Capture trên thanh công cụ của giao diện Proteus để mở chương trình con ISIS Professional
Hình 2.20 Biểu tượng Schematic Capture
Sau khi khởi động chương trình ISIS, một khu vực làm việc với các nút giao diện thiết kế mạch sẽ hiện ra Cần lưu ý rằng trong khu vực làm việc của ISIS có một khung vuông màu xanh, và khi thiết kế mạch, toàn bộ phần mạch phải nằm gọn trong khung này.
Hình 2.21 Cửa sổ làm việc của phần thiết kế mạch nguyên lý
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 30
Bước 3: Lấy tất cả linh kiện sử dụng từ thư viện của Proteus Để chọn mở linh kiện của Proteus, đầu tiện nhấp vào nút Component Mode
Hình 2.22 Biểu tượng nút Component Mode
Tiếp theo nhấp vào chữ P để mở thư viện
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 31
Khi mở thư viện, một cửa sổ sẽ xuất hiện như sau:
Hình 2.24 Cửa sổ tìm linh kiện
Keywords: tìm kiếm linh kiện
Category và Sub-category: chứa các thư viện linh kiện trong chương trình Proteus
Results: hiển thị các linh kiện khi được chọn trong thư viện
Schematic Review: hiển thị hình dạng của linh kiện
PCB Preview: hiển thị sơ đồ chân PCB của linh kiện
Trong cửa sổ chọn linh kiện, hãy nhập tên linh kiện cần tìm vào ô Keywords Sau khi đã lấy đủ linh kiện từ thư viện, nhấn nút OK để đóng cửa sổ thư viện và quay lại màn hình thiết kế.
Khi chọn linh kiện, cần lưu ý rằng chúng phải có sơ đồ PCB Nếu không, bạn sẽ phải tự tạo sơ đồ chân linh kiện khi chuyển sang thiết kế mạch in.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 32
Bước 4: Đưa linh kiện ra ngoài màn hình thiết kế
Nhấp chuột vào linh kiện trong ô Devices, sau đó di chuyển con trỏ ra ngoài màn hình thiết kế và click chuột để đặt linh kiện tại vị trí mong muốn.
Để di chuyển linh kiện, bạn chỉ cần nhấp và giữ chuột trái vào linh kiện cần di chuyển, sau đó rê chuột đến vị trí mới và thả chuột ra Ngoài ra, bạn cũng có thể sử dụng lệnh Block Move trên thanh công cụ để thực hiện việc di chuyển linh kiện.
Để xoay linh kiện, bạn chỉ cần đặt con trỏ vào vị trí cần xoay, nhấn chuột phải và chọn các lệnh xoay trái, phải hoặc 180 độ Bên cạnh đó, bạn cũng có thể lật linh kiện theo chiều ngang hoặc chiều dọc thông qua cửa sổ này.
Hình 2.26 Cửa sổ lệnh xoay linh kiện
Để xóa linh kiện, bạn chỉ cần nhấp chuột phải vào linh kiện cần xóa và chọn lệnh Delete Object từ menu ngữ cảnh Ngoài ra, bạn cũng có thể sử dụng phím Delete hoặc công cụ Block Delete trên thanh công cụ để thực hiện việc xóa linh kiện.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 33
Hình 2.27 Cửa sổ xóa linh kiện
Bước 5: Thay đổi thông số kỹ thuật của linh kiện
THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG
THIẾT KẾ PHẦN CỨNG
CHƯƠNG 3: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG
Chương này sẽ giới thiệu phương pháp tính toán, sơ đồ khối và sơ đồ nguyên lý của các board mạch trong hệ thống Nó cũng sẽ giải thích nguyên lý hoạt động và cách đo lường, truyền tải các thông số như điện áp, dòng điện và công suất của điện năng AC và DC Cuối cùng, chương sẽ chỉ ra cách giám sát dữ liệu từ xa qua Internet.
3.2.1 Sơ đồ khối của hệ thống
Hình 3.1 Sơ đồ khối của hệ thống
Khối xử lý trung tâm là bộ phận điều khiển chính của toàn bộ hệ thống, có nhiệm vụ kết nối với các khối xử lý và điều khiển khác để truyền dữ liệu điều khiển từ người sử dụng đến các thiết bị, đồng thời nhận dữ liệu từ các thiết bị trong hệ thống.
Bộ môn Điện tử Công nghiệp - Y sinh 52 phát triển các cảm biến có khả năng đọc dữ liệu từ các khối xử lý và gửi thông tin lên cơ sở dữ liệu, giúp người sử dụng giám sát từ xa một cách hiệu quả.
- Khối cảm biến: cảm biến PZCT-02-100A đo điện áp của điện năng AC
Khối đo điện năng AC sử dụng module chuyên dụng để đo các thông số như dòng điện, công suất và điện năng tiêu thụ AC, sau đó truyền dữ liệu về vi điều khiển trung tâm.
- Khối điện trở Shunt: điện trở Shunt 100A sử dụng để đo dòng điện bằng cách đo điện áp rơi trên điện trở
- Khối đo điện năng DC: sử dụng module đo điện năng DC thông qua module
RS485 để đo các thông số về dòng điện, công suất, điện năng tiêu thụ DC sau đó gửi về vi điều khiển trung tâm
- Khối hiển thị: hiển thị các thông số về điện năng đo được lên màn hình LCD
2004 để người sử dụng giám sát trực tiếp
- Khối nguồn: khối này có nhiệm vụ chuyển đổi điện áp từ 220VAC về 5VDC-
1A để cấp nguồn cho toàn board mạch hoạt động
- Khối Web: là nơi dữ liệu giám sát được esp gửi đến để lưu trữ Nền tảng web được sử dụng là blynk.cloud và google sheets
- Khối App điện thoại: thiết kế giao diện lưu trữ, hiển thị dữ liệu giám sát trên app Blynk IoT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 53
Bảng 3.1 Bảng so sánh các loại PZEM đo điện năng AC
Thông số kỹ thuật PZEM 061 PZEM 011 PZEM 004T
Kích thước (mm) 84.6 x 49.6 x 24.4 67 x 57.5 x 24 78 x 38 x 20 Điện áp đo (Vac) 80 ~ 260 (± 1 %) 80 ~ 260 (± 1 %) 80 ~ 260 (± 1 %) Dòng điện đo (A) 0 ~ 100 (± 1 %) 0 ~100 (± 1 %) 0 ~ 100 (± 1 %)
Phần mềm kiểm tra không không có
Giao tiếp vi điều khiển không không UART
* Giá của sản phẩm trên được tham khảo trên trang của nhà sản xuất Peacefair Link: https://www.machineryoffers.com/company/peacefair/product.html
PZEM-004T là lựa chọn lý tưởng để đo các thông số điện năng AC nhờ thiết kế nhỏ gọn và giá thành hợp lý hơn so với các loại PZEM khác Module này hỗ trợ giao tiếp UART, giúp dễ dàng kết nối và truyền dữ liệu tới ESP8266 để giám sát từ xa Hơn nữa, nhà sản xuất cung cấp phần mềm kiểm tra, cho phép người dùng đánh giá kết quả đo được và so sánh với thực tế của hệ thống, đảm bảo độ chính xác cao nhất.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 54
Hình 3.2 Sơ đồ nguyên lý khối đo điện năng AC
Hình 3.3 Sơ đồ kết nối thực tế PZEM-004T với Esp8266
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 55
Bảng 3.2 Bảng so sánh các loại PZEM đo điện năng DC
Thông số kỹ thuật PZEM 051 PZEM 015 PZEM 017
Kích thước (mm) 89.6 x 49.6 x 24.4 89.6 x 49.6 x 24.2 90 x 60.5 x 23 Điện áp đo (Vdc) 6.5 ~ 100 (± 1 %) 0 ~ 200 (± 1 %) 0 ~ 300 (± 1 %)
Phần mềm kiểm tra không không có
Giao tiếp vi điều khiển không không RS 485 Modbus
* Giá của sản phẩm trên được tham khảo trên trang của nhà sản xuất Peacefair
Link: https://www.machineryoffers.com/company/peacefair/product.html
PZEM 017 là lựa chọn hàng đầu cho việc đo các thông số điện năng DC nhờ thiết kế nhỏ gọn và vỏ ngoài chắc chắn Sản phẩm này nổi bật với các thông số vượt trội so với các PZEM cùng chức năng Hơn nữa, module sử dụng giao tiếp Modbus, một chuẩn giao tiếp phổ biến trong ngành công nghiệp hiện nay, đảm bảo tính truyền ổn định cao và khả năng chống nhiễu tốt với ESP8266 Giao tiếp Modbus của PZEM 017 với ESP8266 được thực hiện thông qua module TTL RS485.
Hình 3.4 Sơ đồ nguyên lý khối đo điện năng DC
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 56
Hình 3.5 Sơ đồ kết nối PZEM 017 với Esp8266 qua module RS485
Các giá trị dòng điện, điện áp, công suất tiêu thụ, công suất,…điện năng AC được đo bằng cảm biến dòng PZCT-02T
3.2.4 Khối xử lý trung tâm
Bảng 3.3 Bảng so sánh giữa Esp32 với Esp8266
Bảo mật Mã hóa Flash khởi động bảo mật
Tốc độ kết nối Wifi ( Mbps) 72.2 150
Chân hỗ trợ kết nối SPI/
Mặc dù ESP32 có nhiều ưu điểm hơn ESP8266 như số lượng chân GPIO nhiều hơn, tốc độ WiFi tốt hơn và hỗ trợ Bluetooth, nhưng theo yêu cầu của đồ án, ESP8266 vẫn đáp ứng đầy đủ yêu cầu về số lượng chân GPIO và tốc độ kết nối WiFi.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 57 chọn sử dụng module NodeMCU Esp8266 làm vi điều khiển chính, mặc dù kém hơn Esp 32 nhưng vẫn đảm bảo tính ổn định Esp 8266 có giá thành rẻ hơn và được hỗ trợ nhiều phần mềm, giúp kết nối với các thiết bị và giao tiếp với server qua Wifi Để giám sát dữ liệu từ các module PZEM-004T và PZEM017, chúng tôi kết nối chúng với vi điều khiển trung tâm theo sơ đồ mạch đã trình bày trong hình 3.2 và hình 3.4.
Nguồn điện xoay chiều 220 ~240 VAC cung cấp cho khối ngõ vào và nguồn AC trên module PZEM-004T Tổng dòng cho tất cả các linh kiện sử dụng nguồn 220 VAC là 6A, vì vậy chỉ nên sử dụng cho các thiết bị điện có dòng nhỏ hơn 6A trước khi cắm vào ổ cắm.
Nguồn điện DC với điện áp 12VDC chỉ phù hợp cho các khối ngõ vào có điện áp hoạt động tối đa là 12VDC Đối với các thiết bị có điện áp từ 12VDC trở lên, cần sử dụng nguồn DC khác để đảm bảo an toàn và tránh hư hỏng thiết bị.
Nguồn 5V được sử dụng cấp nguồn cho các module: PZEM-004T, PZEM 017,
RS 485, LCD I2C, Node MCU Esp8266 Tổng dòng tiêu thụ của hệ thống là 270 mA
Bảng 3.4 Bảng thông số điện áp và dòng tiêu thụ các linh kiện trong hệ thống
Tên linh kiện Điện áp (VDC) Dòng tiêu thụ (mA)
Sau khi thống kế các giá trị áp và dòng, ta cần nguồn cung cấp là 5V và dòng nhỏ hơn 1A
Nhóm đã chọn dùng adapter 5V-1A để cấp nguồn cho hệ thống hoạt động
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 58
3.2.6 Khối hiển thị Để dễ dàng theo dõi các thông số điện đo được ta sẽ hiển thị giá trị điện áp, dòng điện, điện năng và công suất của điện năng AC, DC trên màn hình LCD 20x04 Yêu cầu đặt ra là cấp đủ mức điện áp hoạt động cho LCD, các ký tự dữ liệu hiển thị rõ ràng, tránh việc hiển thị nhầm lẫn dữ liệu trong quá trình đo đạc Để giao tiếp LCD 20x04 với vi điều khiển trung tâm, nhằm tiết kiệm các cổng vào ra cho vi điều khiển bởi cần vi điều khiển trung tâm thực hiện thêm nhiều chức năng nên phải sử dụng thêm module chuyển giao trực tiếp sử dụng 6 chân giao tiếp qua I2C chỉ sử dụng 2 chân là module giao tiếp I2C PCF8574
Hình 3.5 Sơ đồ nguyên lý LCD 20x4 với Node MCU Esp8266
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 59
Hình 3.6 Kết nối LCD 20x4 với Node MCU Esp8266
Trong bối cảnh hệ sinh thái công nghệ đa dạng hiện nay, việc lựa chọn phần mềm giám sát không chỉ cần tính tiện dụng và khả năng triển khai đa nền tảng, mà còn phải đảm bảo thông tin được hiển thị rõ ràng, dễ hiểu và có tính thẩm mỹ cao Sau khi khảo sát một số phần mềm như Blynk, Cayenne, Android Studio, php Myadmin, nhóm nhận thấy Blynk là ứng dụng tiện lợi, hỗ trợ đa nền tảng di động và cho phép tạo biểu đồ đường giúp giám sát chi tiết Blynk còn có tính năng đồng bộ dữ liệu trên Web và App, thuận tiện cho việc giám sát từ xa Do đó, nhóm đã quyết định thiết kế giao diện giám sát trên Blynk.cloud và web Blynk.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 60
Hình 3.7 Sự tiện lợi của Blynk trên đa nền tảng
Một số thành phần chính trong nền tảng:
Bảng điều khiển Blynk Online cho phép người dùng thiết lập và sử dụng trên bất kỳ trình duyệt web nào trên máy tính Để bắt đầu, người dùng cần đăng ký bằng email, từ đó có thể điều khiển phần cứng từ xa thông qua website.
Blynk App là ứng dụng hỗ trợ cả hệ điều hành Android và iOS, cho phép người dùng tải về điện thoại cá nhân Tương tự như bảng điều khiển Blynk trực tuyến, ứng dụng này giúp theo dõi, giám sát và điều khiển từ xa phần cứng của các dự án Người dùng có thể tự do thiết kế giao diện phù hợp với nhu cầu của dự án, giống như khi thiết lập trên Web.
- Blynk Cloud: tiếp nhận, lưu trữ và xử lý tất cả các thông tin được gửi đến từ bảng điều khiển online hoặc Blynk App
Khi thực hiện thao tác trên ứng dụng Blynk hoặc bảng điều khiển Blynk Online, các lệnh sẽ được liên kết và chuyển đến Blynk Cloud để xử lý Sau đó, lệnh sẽ được gửi đến phần cứng đã được thiết lập, và phần cứng sẽ thực hiện lệnh và gửi dữ liệu ngược lại cho Blynk.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 61
SƠ ĐỒ NGUYÊN LÝ TOÀN MẠCH
Để thiết kế sơ đồ nguyên lý toàn mạch, hiện nay có nhiều phần mềm như Altium Designer, Orcad, Eagle, Proteus, và Kicad Trong số đó, Proteus được nhóm lựa chọn nhờ giao diện đẹp và các phím tắt tiện lợi, giúp quá trình thiết kế trở nên nhanh chóng và thuận tiện hơn.
Hình 3.8 Sơ đồ nguyên lý toàn mạch
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 63
3.4 Yêu cầu mô hình hệ thống Để đảm bảo về yêu cầu độ bền, kích thước cũng như tính thẩm mỹ của hệ thống nhóm đã tìm hiểu và lựa chọn như sau:
- Chất liệu vỏ mô hình: nhựa sino
- Mặt ngoài: lắp LCD 20x04, công tắc on/off, ổ điện 3 đấu và ngõ vào cấp nguồn cho Node MCU Esp8266
- Mặt trong chứa các linh kiện chính của hệ thống
Hình 3.9 Mặt ngoài mô hình thiết bị
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 61
THI CÔNG HỆ THỐNG
GIỚI THIỆU
Để đạt được mục tiêu đo điện năng AC và DC cũng như giám sát dữ liệu qua Internet, chúng tôi đã thiết kế mạch in và lắp ráp linh kiện một cách hợp lý nhằm đảm bảo tính gọn gàng và an toàn cho người sử dụng Sau khi hoàn thành, chúng tôi tiến hành đăng nhập vào Blynk Cloud để tạo tài khoản và thiết lập giao diện cho các kênh giám sát trực tuyến.
THI CÔNG HỆ THỐNG
4.2.1 Mô hình mạch in PCB
Mạch in của hệ thống được thiết kế trên phần mềm Proteus 8.12
Hình 4.1 Mạch in PCB vẽ trên Proteus
4.2.2 Lắp ráp mô hình hệ thống
Hệ thống được trang bị màn hình LCD 20x4, công tắc bật/tắt và một ổ điện để kết nối các tải AC, giúp theo dõi các thông số điện năng AC một cách hiệu quả.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 62
Hệ thống bao gồm các thành phần chính như PZEM-004T, PZEM017, RS485, điện trở Shunt và vi điều khiển trung tâm ESP8266, tất cả được kết nối với nhau bằng dây điện.
Hình 4.2 Mặt trên của mô hình
Mặt trên mô hình gồm:
- Vùng “2”: khóa mở đóng hộp
- Vùng “3”: ổ cắm 3 nổi LiOA OC3NCND
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 63
Hình 4.3 Mặt bên của mô hình
Mặt bên mô hình gồm:
- Vùng “1”: Công tắc on/off hệ thống
- Vùng “2”: Ngõ vào nguồn của hệ thống
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 64
Hình 4.4 Hình ảnh bên trong mô hình
Bên trong mô hình gồm các linh kiện được sắp xếp như sau:
Vùng “3”: vi điều khiển Esp8266
Vùng “5”: cảm biến dòng PZCT-02
Vùng “6”: công tắc hệ thống
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 65
LƯU ĐỒ GIẢI THUẬT HỆ THỐNG
4.3.1 Lưu đồ giải thuật chương trình chính
Node trung tâm đóng vai trò là gateway, điều phối và thu thập dữ liệu từ các node phụ Khi hệ thống được cấp nguồn, NodeMCu khởi tạo các cài đặt ban đầu cho PZEM-004T và thiết lập liên kết Modbus với RS485 cho PZEM 017, nhằm truyền và nhận dữ liệu về các giá trị điện năng đo được từ các module tương ứng.
Sau khi xác nhận kết nối Wifi và đăng nhập Blynk thành công, node trung tâm sẽ thực thi các chương trình con để lấy dữ liệu từ vi điều khiển Hệ thống sẽ gửi chuỗi dữ liệu đến LCD và Web Blynk Cloud, đồng thời đồng bộ điều khiển với App Blynk Cuối cùng, chương trình con sẽ đọc dữ liệu điện năng từ các PZEM để hiển thị.
Hình 4.5 Lưu đồ thuật toán chương trình chính Node trung tâm
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 66
4.3.2 Lưu đồ giải thuật chương trình con đưa dữ liệu lên Blynk
- Sau khi đăng nhập thành công vào Blynk đầu tiên ta sẽ tạo các biến phù hợp hoạt động trên Blynk thay thế cho các giá trị U, A, W,
Wh của điện năng AC, DC
Sau khi khởi tạo biến, chương trình sẽ kiểm tra tín hiệu kết nối giữa Blynk và ESP Khi nhận được tín hiệu gửi dữ liệu từ ESP8266, dự án sẽ chuyển sang chế độ Online và tiến hành đọc, hiển thị các thông số điện năng từ vi điều khiển lên màn hình.
Hình 4.6 Lưu đồ chương trình con đưa dữ liệu lên Blynk
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 67
4.4 HƯỚNG DẪN THIẾT KẾ GIAO DIỆN TRÊN PHẦN MỀM BLYNK Đầu tiên để sử dụng được phần mềm ta cần đăng ký một tài khoản bằng địa chỉ email của người dùng
Hình 4.7 Tạo tài khoản cho bảng điều khiển Blynk Online
Tiếp theo ta sẽ tạo mật khẩu để sử dụng cho tài khoản của mình
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 68
Hình 4.8 Tạo mật khẩu cho bảng điều khiển Blynk Online
Thực hiện đăng nhập vào tài khoản đã được tạo
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 69
Hình 4.9 Đăng nhập vào tài khoản Blynk
Sau đó sẽ thiết lập ứng dụng phù hợp với người dùng
Hình 4.10 Khởi tạo một ứng dụng mới
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 70
Hình 4.11 Thiết lập ứng dụng trên Blynk
Sau khi hoàn tất việc thiết lập sơ bộ cho ứng dụng, bước tiếp theo là truy cập vào phần Datastreams và chọn New Datastreams để cấu hình kết nối với phần cứng.
Hình 4.12 Tạo một Datasteams mới
Chọn kiểu kết nối mà người sử dụng cần dùng và ở dự án này ta sử dụng Vitural Pin
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 71
Hình 4.13 Lựa chọn kiểu kết nối
Thiết lập tên, giá trị và đơn vị cho các thông tin cần giám sát, cũng như các vị trí chân, cần phải phù hợp với phần mã đã được viết trước đó.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 72
Hình 4.14 Thiết lập các thông tin cho Điện Áp
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 73
Hình 4.15 Thiết lập các thông tin cho Dòng Điện
Chuyển sang phần Web Dashboard, người dùng có thể kéo thả các Widgets cần thiết vào vùng cho phép để tạo bảng điều khiển Blynk Online, đồng thời thiết lập các Pins và giá trị phù hợp với các Pins đã thiết lập ở phần Datastreams Ngoài ra, người dùng còn có thể tùy chỉnh màu sắc và thông tin hiển thị để tạo ra giao diện đẹp mắt và phù hợp với nhu cầu sử dụng của mình.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 74
Hình 4.16 Tạo bảng điều khiển giám sát dữ liệu cho Blynk
Thực hiện thiết lập giá trị cho các Widgets đã chọn
Hình 4.17 Cấu hình cho Label
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 75
Hình 4.18 Cấu hình cho Gauge
Hình 4.19 Cấu hình cho Chart
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 76
Hình 4.20 Bảng điều khiển hoàn thiện
Ngoài các Widgets đã được lựa chọn, bạn có thể sử dụng thêm các Widgets khác phù hợp với dự án của mình Tuy nhiên, cần lưu ý rằng một số Widgets miễn phí trong khi những Widgets khác yêu cầu thanh toán để sử dụng Do đó, hãy chọn lựa sao cho phù hợp với mục đích của bạn.
Sau khi đã xong phần “Templates” tiếp đến ta vào phần “Search”
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 77
Hình 4.22 Tạo một Device mới
Sau đó ta tạo tên Template và tên Device
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 78
Hình 4.24 Tên Template và Device
Hoàn thành bước này chúng ta đã xong công việc tạo bảng điều khiển cho việc giám sát Blynk trên Web
Hình 4.25 ID, Device Name, mã Auth_Token
Lưu ý đến tên ID, Device Name và mã Auth_Token của bảng điều khiển vì nó cần được copy để đưa vào phần code của toàn bộ hệ thống
Để gửi dữ liệu từ phần cứng của dự án đến Blynk Cloud, cần thực hiện thao tác gửi thông qua các dòng code sau đây.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 79
4.5 HƯỚNG DẪN THIẾT KẾ GIAO DIỆN TRÊN BLYNK APP
Blynk App hỗ trợ cả iOS và Android, giúp người dùng dễ dàng tải về từ App Store hoặc Google Play Sau khi tải về, người dùng có thể ngay lập tức sử dụng ứng dụng Blynk trên điện thoại của mình.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 80
Sau đó ta truy cập vào Blynk App rồi thực hiện việc đăng nhập bằng tài khoản đã đăng ký trước đó khi tạo bảng điều khiển Blynk Online
Ta thực hiện việc Login vì đã có tài khoản từ trước
Hình 4.27 Giao diện đăng nhập app Blynk
Sau đó đăng nhập bằng tài khoản đã tạo trước đó khi tạo bảng điều khiển Blynk
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 81
Hình 4.28 Đăng nhập app Blynk
Tiếp theo, chúng ta sẽ thiết kế giao diện cho ứng dụng Blynk, tùy thuộc vào dự án của người dùng Người dùng có thể dễ dàng kéo thả các Widgets mà ứng dụng cung cấp để phù hợp với nhu cầu sử dụng của mình.
Giao diện của ứng dụng sau khi đăng nhập vào sẽ như hình dưới đây và ta sẽ chọn vào dự án của mình đã tạo
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 82
Hình 4.29 Giao diện sau khi đăng nhập
Sau khi chọn biểu tượng của dự án, tiếp theo bạn nhấn vào biểu tượng cờ lê, rồi chọn biểu tượng dấu “+” ở góc phải màn hình để thiết kế giao diện giám sát trên ứng dụng Blynk.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 83
Hình 4.30 Chọn biểu tượng cờ lê
Hình 4.31 Chọn biểu tượng dấu “+”
Ta sẽ có thanh công cụ để lựa chọn các Widgets cho dự án của mình
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 84
Kéo thả các Widgets cần cho dự án
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 85
Hình 4.33 Giao diện kéo thả các Widgets
Sau đó chọn vào các Widgets để thiết lập tên, pin, giá trị,…sao cho phù hợp với các thông số đã tạo của bảng điều khiển Blynk Online
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 86
Hình 4.34 Thiết lập giá trị cho Widget
Giống như việc thiết lập Gauge cho điện áp của các Widgets khác, chúng ta cũng thực hiện quy trình tương tự Kết quả cuối cùng sẽ cho chúng ta một giao diện như hình dưới đây.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 87
Hình 4.35 Giao diện sau khi thiết kế
Cuối cùng chọn vào dấu “x” ở góc trái màn hình và như vậy ta đã có được giao diện của màn hình giám sát cho dự án của mình
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 88
Hình 4.36 Giao diện giám sát dự án
Sau khi đã hoàn thành việc thiết kế giao diện thì ta tiến hành nạp code cho phần cứng và thực hiện việc giám sát
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 89
4.6 HƯỚNG DẪN LƯU TRỮ DỮ LIỆU TRÊN GOOGLE SHEETS
4.6.1 Giới thiệu về Google Sheets
Google Sheets là công cụ hữu ích cho nhiều công việc khác nhau, đặc biệt trong việc lưu trữ dữ liệu giám sát Người dùng có thể xem xét lại dữ liệu trong quá trình tiêu thụ hoặc khi có sai số xảy ra Để sử dụng Google Sheets, người dùng cần tạo một bảng tính Excel trên tài khoản Google và hiển thị các thông số cần giám sát thông qua Apps Script.
4.6.2 Các bước cần để đưa dữ liệu lên Google Sheets Để lưu trữ được dữ liệu giám sát trên trang tính của google chúng ta sẽ cần thực hiện những bước sau:
- Bước 1: Lựa chọn phần trang tính ở tài khoản google của cá nhân
Hình 4.37 Chọn trang tính của google
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 90
- Bước 2: Chọn vào tạo một trang trống mới
Hình 4.38 Tạo trang tính trống
- Bước 3: Tạo những thông tin cần hiển thị theo thứ tự từng cột A,B,C,
Hình 4.39 Thiết lập các thông tin
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 91
HƯỚNG DẪN LƯU TRỮ DỮ LIỆU TRÊN GOOGLE SHEETS
4.6.1 Giới thiệu về Google Sheets
Google Sheets là công cụ hữu ích cho nhiều công việc khác nhau, đặc biệt trong việc lưu trữ dữ liệu giám sát Người dùng có thể xem xét lại dữ liệu trong quá trình tiêu thụ hoặc khi có sai số xảy ra Để sử dụng Google Sheets, người dùng cần tạo một bảng tính Excel trên tài khoản Google và sử dụng Apps Script để hiển thị các thông số cần giám sát trên trang tính.
4.6.2 Các bước cần để đưa dữ liệu lên Google Sheets Để lưu trữ được dữ liệu giám sát trên trang tính của google chúng ta sẽ cần thực hiện những bước sau:
- Bước 1: Lựa chọn phần trang tính ở tài khoản google của cá nhân
Hình 4.37 Chọn trang tính của google
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 90
- Bước 2: Chọn vào tạo một trang trống mới
Hình 4.38 Tạo trang tính trống
- Bước 3: Tạo những thông tin cần hiển thị theo thứ tự từng cột A,B,C,
Hình 4.39 Thiết lập các thông tin
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 91
Để truy cập vào phần Apps Script, bạn cần mở một tab mới và truy cập theo đường dẫn https://script.google.com/ bằng tài khoản Google cá nhân của mình.
- Bước 5: Sau đó thực hiện tạo một dự án mới
Hình 4.41 Giao diện dự án
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 92
- Bước 6: Ta thực hiện sao chép phần Sheet ID của trang tính google, mỗi tài khoản google sẽ có một Sheet ID khác nhau
- Bước 7: Tiếp tục dán phần Sheet ID đã sao chép vào phần Sheet ID của phần code ở Apps Script
Hình 4.43 Thay đổi Sheet ID
Bước 8: Tùy thuộc vào thông tin cần giám sát của người dùng, các giá trị trong Apps Script cho “rowData” và “case” sẽ được điều chỉnh để phù hợp với các giá trị trong các cột A, B, C, trên trang tính Google.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 93
- Bước 9: Tiếp đến ta thực hiện chọn vào phần: triển khai -> Tùy chọn triển khai mới ở góc phải màn hình
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 94
Hình 4.45 Triển khai, Tùy chọn triển khai mới
- Bước 10: Chọn type-> Ứng dụng Web -> Người có quyền truy cập: Bất kỳ ai
Hình 4.46 Cấu hình cho Tùy chọn triển khai mới
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 95
- Bước 11: Chọn Triển khai -> Sau đó sao chép ID triển khai để sau này ta sử dụng cho phần code ở phần mềm Arduino -> Xong
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 96
Hình 4.48 Bảng tính khi đã hoàn chỉnh
Sau đó cuối cùng sao chép xong ID triển khai ta thực hiện dán nó vào phần GAS ID ở phần mềm Arduino
Cần lưu ý rằng mỗi người sẽ có một biến khác nhau cho các giá trị cần giám sát trong phần String url, vì vậy chúng ta cần linh hoạt điều chỉnh cho phù hợp.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 97
CHƯƠNG 5: KẾT QUẢ THỰC HIỆN
Hình 5.1 Hình ảnh hệ thống giám sát chưa gắn tải
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 98
Hình 5.2 Kiểm tra điện áp của điện năng AC bằng VOM lần 1
Hình 5.3 Kiểm tra dòng điện của điện năng AC bằng VOM lần 1
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 99
Hình 5.4 Kiểm tra điện áp của điện năng AC bằng VOM lần 2
Hình 5.5 Kiểm tra dòng điện của điện năng AC bằng VOM lần 2
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 100
Hình 5.6 Kiểm tra điện áp của điện năng AC bằng VOM lần 3
Hình 5.7 Kiểm tra dòng điện của điện năng AC bằng VOM lần 3
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 101
Bảng 5.1 Bảng kết quả kiểm tra dòng và áp của điện năng AC bằng VOM
Lần Thời gian đo Điện áp đo bằng VOM ( V AC ) Điện áp hệ thống ( V AC )
Dòng điện đo bằng VOM ( A)
Theo thông số của PZEM-004T, sai số của module về điện áp và dòng điện lần lượt là ±1%, cho thấy hệ thống hoạt động ổn định.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 102
Hình 5.8 Kiểm tra điện áp của điện năng DC bằng VOM lần 1
Hình 5.9 Kiểm tra dòng của điện năng DC bằng VOM lần 1
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 103
Hình 5.10 Kiểm tra điện áp của điện năng DC bằng VOM lần 2
Hình 5.11 Kiểm tra dòng điện của điện năng DC bằng VOM lần 2
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 104
Hình 5.12 Kiểm tra điện áp điện năng DC bằng VOM lần 3
Hình 5.13 Kiểm tra dòng điện điện năng DC bằng VOM lần 3
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 105
Bảng 5.2 Bảng kết quả kiểm tra dòng và áp của điện năng DC bằng VOM
Lần Thời gian đo Điện áp đo bằng VOM ( V DC ) Điện áp hệ thống ( V DC )
Dòng điện đo bằng VOM ( mA)
Dòng điện hệ thống ( mA )
Theo thông số của PZEM 017, sai số của module về điện áp và dòng điện lần lượt là ±1%, cho thấy hệ thống hoạt động ổn định.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 106
5.2.1 Kết quả chạy trên phần mềm Blynk Cloud
Dữ liệu về các thông số điện năng AC và DC từ các PZEM được gửi đến vi xử lý trung tâm, trải qua một số bước xử lý trước khi được đưa lên Blynk Cloud Người dùng có thể truy cập và hiển thị thông tin này trên ứng dụng Smartphone.
Cụ thể dữ liệu được được hiển thị trên Web Blynk như sau:
Hình 5.14 Dữ liệu gửi điện năng của AC,DC dạng số liệu
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 107
Hình 5.15 Dữ liệu điện năng của AC, DC dạng biểu đồ
Hình 5.16 Dữ liệu điện năng AC, DC dạng vòng cung
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 108 5.2.2 Kết quả chạy trên App Blynk
Hình 5.17 Dữ liệu điện năng AC, DC trên App Blynk
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 109
Hình 5.18 App Blynk trên 2 nền tảng iOS và Androids
Hình 5.19 Giám sát trên 2 nền tảng Androids và iOS
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 110
5.2.3 Kết quả giám sát dữ liệu trên Google Sheets
Kết quả truyền nhận dữ liệu của hệ thống được cập nhật liên tục trên Google Sheets 24/24, với thời gian cập nhật giá trị điện năng tùy chỉnh theo nhu cầu sử dụng Nhờ vậy, người dùng có thể tra cứu lịch sử sử dụng điện năng một cách chính xác nhất.
Hình 5.20 Các giá trị điện năng được lưu trên Google Sheets
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 111
5.2.4 Một số phần mềm thương mại có chức năng tương tự
Ngày nay trên thị trường có nhiều những phần mềm thương mại có chức năng giám sát và quản lý năng lượng hệ thống giống với Blynk
Hình 5.21 Giao diện phần mềm giám sát năng lượng Globiots
Hình 5.22 Giao diện phần mềm giám sát năng lượng Globiots
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 112
Hình 5.23 Giao diện phần mềm giám sát năng lượng Power Management System
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 113
Hình 5.24 Giao diện phần mềm giám sát năng lượng AT-PMS
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 103
CHƯƠNG 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Sau thời gian học tập và nghiên cứu, nhóm đã hoàn thành luận án “THIẾT KẾ VÀ THI CÔNG ĐỒNG HỒ ĐO ĐIỆN NĂNG AC, DC GIÁM SÁT DỮ LIỆU TRÊN INTERNET” với các yêu cầu đề ra Hệ thống sử dụng các chuẩn truyền thông như UART, Modbus RTU và WiFi, đảm bảo việc truyền nhận dữ liệu ổn định ở khoảng cách xa giữa phần cứng và phần mềm Việc kết hợp điều khiển qua ứng dụng trên Smartphone mang lại sự tiện lợi trong việc giám sát và điều chỉnh các giá trị điện năng.
- Hệ thống tích hợp giám sát đồng thời điện năng AC, DC với sai số trong phạm vi cho phép đo đạt ± 1 % ( Bảng 5.1, Bảng 5.2)
- Hệ thống có thể hoạt động trên hai nền tảng di động iOS, Androids (Hình 5.11)
Các ứng dụng giám sát tiệm cận hiện nay bao gồm hệ thống quản lý năng lượng PMS – Power Management System của Elecnova, phần mềm giám sát năng lượng Globiots, và hệ thống giám sát điện năng AT-PMS.
- Hệ thống chỉ dừng lại ở việc giám sát, chưa có tính năng cảnh báo người dùng trong trường hợp quá tải dòng, áp hay công suất tiêu thụ
- Sử dụng app Blynk thông qua ứng dụng sẵn có, chưa tự lập trình được ứng dụng riêng của nhóm
- Thiết kế thêm phần cảnh báo, gửi tin nhắn cho người dùng trong trường hợp công suất quá tải và phần ngắt điện năng từ xa thông qua Blynk
Nâng cấp gói Blynk nhằm tối ưu hóa giao diện người dùng và phát triển thêm các loại biểu đồ, giúp dữ liệu giám sát điện năng thể hiện chi tiết hơn.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 104
[1] Nguyễn Đình Phú (2007), Giáo trình “Vi điều khiển”, Trường ĐH Sư Phạm Kỹ Thuật TP Hồ Chí Minh
[2] Hồ Lê Minh Hải (2022), Đồ án môn học 2 “Thiết kế thi công bộ giám sát điện năng từ xa”
[3] TAPIT (2020), https://tapit.vn/khai-niem-ve-giao-thuc-modbus-rtu-va- ket-noi-phan-cung/
[4] 4E VN Projects(2021), https://www.4evn.com/2021/09/cong-to-ien-tu- wifi-theo-doi-chi-so-qua.html
[5] Lập trình ESP8266 bằng Arduino IDE, http://arduino.vn/bai-viet/1712- lap-trinh-esp8266-bang-arduino-ide
[6] Datasheet PZEM004T (2018), https://github.com/olohs/PZEM004T
[7] Internet of things là gì (2018), http://iot.dtt.vn/InternetofThings.html
[8] hshop.vn,"https://hshop.vn/products/mach-do-dien-dc-da-nang-200a- giao-tiep-rs485-modbus-pzem-017”
[9] DatasheetPZEM017,http://www.rcscomponents.kiev.ua/datasheets/pze m-017%20-datasheet.pdf
[10] Solarduino(2020),https://solarduino.com/diy-bi-directional-ac-energy- meter-for-solar-pv-system/
[11] Solarduino(2020), https://solarduino.com/pzem-017-dc-energy-meter- online-monitoring-with-blynk-app/
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 105
#define BLYNK_TEMPLATE_ID "TMPLiX7VkUMV"
#define BLYNK_DEVICE_NAME "Cong To Dien Online"
#define BLYNK_AUTH_TOKEN "amG1N1yrDFz5lhK_-rBFch9ntlTiZZ1C" char auth[]= BLYNK_AUTH_TOKEN; char ssid[]= "No internet"; char pass[]= "@@18161308@@";
#if !defined(PZEM_RX_PIN) && !defined(PZEM_TX_PIN)
SoftwareSerial pzemSWSerial(PZEM_RX_PIN, PZEM_TX_PIN);
#define MAX485_RE 16 #define MAX485_RO 5
ModbusMaster node; float u, i, w, Wh, fe, pe ; float PZEMVoltage
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 106 float PZEMCurrent
The code initializes several variables for managing energy data, including a float variable for energy measurement, static addresses for PZEM devices, and timing variables for data reading intervals It sets a period of 500 milliseconds for energy calculations and 1000 milliseconds for reading data Additionally, it defines a reset energy variable and specifies the host for a Google script, using HTTPS on port 443.
String GAS_ID = "AKfycbxC_-Jrq7n-PTy75J1MYzt0pdc7y-jd5HVNRT jh_alrFIKcqO5NM6RnQn7x0N3PBbMQ"; void sendEnergy()
// pzem_info pzemData = pzem.getData();
Serial.println(pzem.readAddress (), HEX); float voltage = u = pzem.voltage(); float current = i = pzem.current(); float power = w = pzem.power(); float energy = Wh = pzem.energy(); float frequency = fe = pzem.frequency();
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 107 float pf = pe = pzem.pf(); if(isnan(voltage)){
Serial.println("Error reading voltage");
Serial.println("Error reading current");
Serial.println("Error reading power");
Serial.println("Error reading energy");
Serial.println("Error reading frequency");
Serial.println("Error reading factor");
"); Serial.print(voltage); Serial.println("V"); Serial.print("Current:
"); Serial.print(current); Serial.println("A"); Serial.print("Power:
"); Serial.print(power); Serial.println("W"); Serial.print("Energy:
"); Serial.print(energy,3); Serial.println("kWh"); Serial.print("Frequency:
The system displays the frequency in Hertz, followed by the power factor (PF) The LCD shows the voltage labeled as "Vac," the alternating current (Iac), and the active power (Wac) in a structured format across multiple lines.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 108 lcd.print(F("Wh")); lcd.setCursor(3, 3); lcd.print(F(":")); lcd.setCursor(4, 3); lcd.print(energy);
Wire.begin(14,12); lcd.init(); lcd.backlight(); delay(100);
Blynk.begin(auth, ssid, pass, "blynk.cloud", 80); timer.setInterval(1000L, sendEnergy); startMillis1 =millis(); startMillisPZEM = millis(); pinMode(MAX485_RE,
LOW); node.preTransmission(preTransmission); node.postTransmission(postTransmission); delay(1000);
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 109 startMillisReadData = millis(); client.setInsecure ();
BLYNK_WRITE(V6) { if (param.asInt() == 1) { pzem.resetEnergy();
{ uint16_t u16CRC 0xFFFF; static uint8_t resetCommand 0x42; uint8_t slaveAddr
=0X01; u16CRC = crc16_update(u16CRC, slaveAddr); u16CRC = crc16_update(u16CRC, resetCommand); preTransmission(); PZEMSerial.write(slaveAddr);
PZEMSerial.write(lowByte(u16CRC)); PZEMSerial.write(highByte(u16CRC)); delay(10); postTransmission(); delay(100);
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 110 timer.run(); currentMillisPZEM = millis(); if (millis()- startMilliSetShunt == 10000)
PZEMSerial); /* if (currentMillisPZEM - startMillisPZEM > periodPZEM)
{ uint8_t result; result = node.readInputRegisters(0x0000,
6); if (result = node.ku8MBSuccess)
PZEMCurrent = node.getResponseBuffer(0x0001) / 100.0; tempdouble = (node.getResponseBuffer(0x0003)
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 111 currentMillisReadData millis(); if (currentMillisReadData - startMillisReadData > periodReadData)
Serial.print(PZEMVoltage); Serial.println(" V ");
Serial.print(PZEMCurrent); Serial.println(" A ");
Serial.print("Power : "); Serial.print(PZEMPower);
Serial.print("Energy : "); Serial.print(PZEMEnergy);
The code snippet displays various electrical parameters on an LCD screen It sets the cursor to specific positions to print the voltage (Vdc), current (Idc), power (Wdc), and energy (Wh) readings The values for voltage, current, power, and energy are retrieved from the variable names PZEMVoltage, PZEMCurrent, PZEMPower, and PZEMEnergy, respectively Each parameter is clearly labeled for easy understanding, ensuring that users can monitor their electrical consumption effectively.
Blynk.virtualWrite(V7,PZEMVoltage); Blynk.virtualWrite(V8,PZEMCurrent);
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 112 startMillisReadData = millis();
Serial.println(host); if (!client.connect(host, httpsPort)){
Serial.println("connection failed"); return;
String wh_ac = String (Wh);
String wh_dc = String (PZEMEnergy);
String url = "/macros/s/" + GAS_ID + "/exec?u=" + u_ac+
"&i=" + i_ac + "&w=" + w_ac + "&Wh=" + wh_ac + "&fe=" + f +
"&pe=" + p + "&PZEMVoltage=" + u_dc + "&PZEMCurrent=" + i_dc + "&PZEMPower=" + w_dc + "&PZEMEnergy=" + wh_dc;
Serial.println(url); client.print(String("GET ") + url + " HTTP/1.1\r\n" +
Serial.println("request sent"); while (client.connected()) {
String line = client.readStringUntil('\n'); if (line == "\r") {
Serial.println("headers received"); break;
String line = client.readStringUntil('\n'); if (line.startsWith("{\"state\":\"success\"")) {
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 113
Serial.println("esp8266/Arduino CI successfull!");
Serial.println("esp8266/Arduino CI has failed");
} void preTransmission(){ digitalWrite(MAX485_RE,
} void postTransmission(){ delay(3); digitalWrite(MAX485_RE,
} void setShunt(uint8_t slaveAddr) //Change the slave address of a node { static uint8_t SlaveParameter 0x06; static uint16_t registerAddress 0x0003; uint16_t u16CRC 0xFFFF; u16CRC = crc16_update(u16CRC,