Chương trình đang cài đặt vào máy

Một phần của tài liệu Đồ án hệ thống giám sát điện năng trong hộ gia đình (Trang 99)

Sau khi quá trình cài đặt hồn tất nhấn Done như hình 4.22.

Hình 4.22: Nhấn Done để hồn tất q trình cài đặt.

Cách sử dụng phần mềm Adobe Dreamweaver CS6

Bước 1: Mở Adobe Dreamweaver CS6 lên có giao diện như hình 4.23.

Bước 2: Vào file chọn New để tạo project mới như hình 4.31

Hình 4.24: Tạo project mới.

Bước 3: Trong thư mục Page Type chọn ngôn ngữ thiết kế web (HTML,

PHP, CSS, Java, XML…). Ở đây em chọn PHP (1) sau đó nhấn Create (2) như hình 4.25 để tạo chương trình mới.

Hình 4.25: Lựa chọn ngơn ngữ thiết kế và tạo chương trình.

Bước 4: Khung soạn thảo hiện ra để chúng ta có thể viết code như hình

4.33

Tab Code (1): Viết các lệnh code.

Tab Split (2) : Chế độ xem 2 cột, cột bên trái là mã code cột bên phải là thiết kế.

Hình 4.26: Khung soạn thảo code.

b. Giới thiệu ngơn ngữ lập trình PHP

PHP là viết tắt Hypertext Preprocessor một ngôn ngữ lập trình kịch bản mã nguồn mỡ được chạy ở phía server-side (máy chủ) nhằm sinh ra mã HTLM trên Client (máy khách). Mã lệnh PHP có thể được nhúng vào trong trang HTML nhờ sử dụng cặp thẻ PHP <? Php ?>.

Ví dụ về chương trình PHP được nhúng vào trang HTML. <!DOCTYPE html>

<html> <head>

<title>Nhúng mã PHP và trang HTML</title> </head>

<body> <?php

echo "Xin chào PHP!"; ?>

</html>

Với chương trình trên sẽ xuất ra màn hình dịng chữ “Xin chào PHP!”. Một số quy tắt trong PHP:

• Mã lệnh của chương trình cần đặt trong thẻ <? Php ?>.

• Sử dung dấu ; để kết thúc 1 câu lệnh.

• Văn bản cần đặt trong dấu nháy đơn ‘ ’ hoặc dấu nháy kép “ ”.

Mã lệnh (Soure Code) trong PHP là một tập hợp các hướng dẫn được viết để yêu cầu máy tính thực hiện một số tác vụ nhất định. Mã lệnh được viết dưới dạng văn bản và con người có thể đọc được.

<? php

Echo 1 + 1; ?>

Ví dụ đoạn mã lệnh trên sẽ yêu cầu máy tính thực hiện phép tốn cộng giữa 2 số và sau đó hiển thị ra màn hình kết quả.

PHP là ngơn ngữ kịch bản, ngôn ngữ kịch bản là một nhánh của ngơn ngữ lập trình. Tập tin chức mã lệnh viết bằng ngơn ngữ kịch bản có thể chạy trực tiếp trên máy tính mà khơng phải chuyển sang một định dạng khác.

PHP là ngơn ngữ lập trình mã nguồn mở điều này có nghĩa là chúng ta có thể sử dụng PHP miễn phí. PHP có thể được chạy trên nhiều nền tản hệ điều hành khác nhau như Windown, Mac OS và Linux.

Các tập tin PHP chứa mã lệnh viết bằng ngôn ngữ PHP <?php

for ($i = 0; $i < 10; $i++) {

echo "$i <br>"; }

?>

Tập tin được tạo nhờ sử dụng chương trình hiệu chỉnh văn bản và được lưu trên máy tính (hoặc máy chủ) với phần mở rộng là .php.

Chương 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ

5.1 KẾT QUẢ KHẢO SÁT

5.1.1 Cảm biến

Trong đề tài có sử dụng cảm biến biến dịng điện Hall 100A YHDC. Để đo dịng điện có giá trị điện lớn áp từ các đường dây điện sau đo chuyển về các giá trị chuyển đổi sang dịng nhỏ.

Hình 5.1: Cảm biến dòng diện Hall 100A YHDC.

Với loại cảm biến thuộc loại cảm biến có ngõ ra dịng, chúng ta phải thiết kế một mạch chuyển đổi sang điện áp để có thể đo được. Từ giá trị điện áp đo được từ mạch chuyển đổi ta suy ngược để có giá trị dịng điện của cuộn dây.

Sau khi tiến hành đo thực nghiệm trên các tải là bếp điện, tủ lạnh thì kết quả thu được với giá trị có sai số khoảng ±5%.

Nhóm đã tiến hành tìm hiểu và tìm một số nguyên nhân gây ra sai số như là: do mạch chuyển đổi từ dịng sang áp chưa đạt được độ chính xác cao, độ sai số của cảm biến.

Tóm lại sau thời gian nghiên cứu và tham khảo, cũng đã hiểu và áp dụng được nguyên lý hoạt động và sử dụng.

Ngồi ra cịn sử dụng module cảm biến điện áp zmpt101b. Khi kết nối điện lưới AC vào cảm biến sẽ lấy mẫu vào và ra đưa ra điện áp tương tự, trong khoảng 0 đến 5V. Là cảm biến lý tưởng cho việc đo điện áp.

CHƯƠNG 5. KẾT QUẢ _NHẬN XÉT_ĐÁNH GIÁ

10 5

Hình 5.2: Module cảm biến điện áp.

Module cảm biến điện áp ZMPT101B có độ chính xác cao, tính nhất qn tốt cho đo điện áp, công suất. Module rất đơn giản để sử dụng và đi kèm với một chiết áp để điều chỉnh đầu ra ADC.

5.1.2 Vi điều khiển

a. Arduino Nano

Arduino Nano là một thiết bị phổ biến, sử dụng phần mềm lập trình Arduino IDE với mã nguồn mở dễ dàng sử dụng.

Vi điều khiển Arduino nano với chip chính là ATMEGA 328P, và các cổng I/O. Có các ngõ ra/ vào số và tương tự dễ dàng sử dụng.

Trong đề tài có sử dụng Arduino nano là vi điều khiển chính cho khối đo ,đo các tín hiệu dịng điện và điện áp tương tự về vi điều khiển cũng như giao tiếp sóng RF.

Đồng thời sử dụng các ngõ ra số để điều khiển các led cảnh báo.

b. Kit NodeMCU – Lua- wifi- v 3.0

Với yêu cầu phải tổng hợp các dữ liệu và gửi lên, lưu trữ trên internet. Nên nhóm đã sử dụng nodeMCu- Lua- wifi- v3.0 có nhiều khả năng như giao tiếp một số các mô- đun như Arduino và gắn chip esp8266 gửi dữ liệu lên internet.

Sử dụng Mô- đun trên như là một vi xử lý trung tâm thực hiện nhiều tác vụ, giao tiếp nhiều mô- đun .

Hình 5.3: Module NodeMCU ESP8266

Nhóm đã giao tiếp thành công, và sử dụng các chức năng trên mô- đun, tuy nhiên vẫn chưa sử dụng hết khả năng của mô- đun.

5.1.3 Một số mô-đun khác và các chuẩn giao tiếp

a. Cảnh báo với sim 900a

Khi điện năng tiêu thụ tăng cao so với điện năng tiêu thụ trung bình hàng tháng thì sim900a có nhiệm vụ sẽ gởi tin nhắn về cho người dùng biết để kịp thời xử lý.

b. Lưu trữ dữ liệu và đồng hồ thời gian thực.

Để lưu trữ dữ liệu khi mất kết nối internet nhóm đã sử dụng EEPROM 24LC512. Để kiểm soát các dữ liệu theo thời gian thực tế nhóm đã sử dụng mô- đun DS1307.Tất cả 2 mô- đun được sử dụng ở trên đều giao tiếp theo chuẩn I2C.

c. Chuẩn giao tiếp

Sau khi làm đề tài, nhóm đã hiểu được và vận dụng được các chuẩn giao tiếp như chuẩn UART, I2C.

d. Các phần mềm sử dụng

Phần mềm Arduino IDE hỗ trợ lập trình các loại vi điều khiển Arduino, có nhiều tiện ích khi sử dụng như, ngơn ngữ lập trình đơn giản, là chương trình mã nguồn mở dễ dàng thêm các thư viện, sử dụng các hàm đơn giản.

Nhóm đã sử dụng để lập trình cho cả Arduino Nano, và NodeMCU-Lua-Wifi-v3.0.

Phần mềm thiết kế mạch Altium.

Phần mềm Altium là phần mềm thiết kế mạch thông dụng, với nhiều chức năng hiệu quả đã được sử dụng như:

Thiết kế mạch nguyên lý hoạt động.

Thiết kế mạch in, với nhiều công cụ dễ sử dụng cũng như các linh kiện 3D sinh động giúp người sử dụng dễ mơ tả được sơ đồ bố trí linh kiện.

Chức năng tạo chân linh kiện, tạo linh kiện mới rất tiện lợi cho quá trình vẽ mạch.

5.2 KẾT QUẢ THỰC NGHIỆM

Sau hơn 3 tháng thực hiện đề tài “Thiết kế hệ thống đo điện năng tiêu thụ trong nhà”, nhóm đã thu được một số kết quả như có thể đo được giá trị dịng điện, giá trị điện áp và tính điện năng tiêu thụ, đồng thời xây dựng được hệ thống giao tiếp với người dùng từ trực tiếp hay thơng qua website, cũng như các mơ hình được đóng gói hồn chỉnh.

5.2.1 Một số hình ảnh về hệ thống.

a. Kết quả quá trình đo điện năng tiêu thụ

Hình 5. 4: Quá trình đo điện năng tiêu thụ.

Bộ xử lý trung tâm đọc dữ liệu từ các thiết bị con ,sau đó hiển thị lên Lcd để thông báo một cách trực tiếp cho người dùng đang giám sát điện năng tại đó. Hệ thống sẽ lưu trữ dữ liệu vào eeprom và gởi lên web server để người dùng có thể giám sát mọi nơi với internet. Khi điện năng tăng cao thì sẽ gởi tin nhắn cho người dùng.

b. Các kết quả từ phép đo thống kê

Đây là bản báo cáo sai số của cảm biến Hall 100A YHDC (SCT-013) do nhà sản xuất cung cấp khi tiến hành việc đo dịng điện có giá từ 0.5A đến 250A.

Hình 5.5. Báo cáo sai số thông qua phép đo nhiều giá trị dòn điện

Từ bản báo cáo ta thấy được rằng các sai số nằm trong khoảng ±3%, sai số ổn định trong khoảng từ 0 – 100A. Nhưng khi đo các giá trị dịng điện vượt q 100A, thì kết quả phép đo rất thiếu chính xác.

Đồng thời thiết bị Hall 100A YHDC được khuyến cáo sử dụng đo thiết bị có dịng trên 10A để đảm bảo độ chính xác.

Nhóm đã tiến hành đo thực nghiệm trên các thiết bị và đưa tra nhứng kết luận sau: Đầu tiên, tiến hành đo dòng khi quạt đang hoạt động, lấy kết quả so sánh 2 phép đo bằng thiết bị đo và bằng đồng hồ đo.

Hình 5.6. Đo dịng điện hoạt động của bàn ủi bằng đồng hồ

Sau đó tiến hành đo kết quả thu được như sau:

Từ kết quả trên, thấy rằng phép đo bằng thiết bị đo cảnh báo có sai số so với đo bằng đồng hồ khoảng 0,2 A. Sai số trên phụ thuộc vào nhiều yếu tố có thể nêu lên như sau:

Sai số của cảm biến biến dòng Hall 100A YHDC. Sai số của mạch đo gây ra.

Sai số của đồng hồ đo. Sai số do các điểm tiếp xúc.

Tiếp tục tiến hành đo điện áp thu được kết quả như sau:

Kết quả đo bằng đồng hồ đo có giá trị là 123.7 và 102.8 khi 2 nguồn 120 và 100 hoạt động.

Hình 5.8. Kết quả đo điện áp 2 nguồn

Kết quả phép đo theo

5.2.2 Website

a. Website quản lý dữ liệu tự thiết kế

Giao diện của trang web được thiết kế nhằm cung cấp cho người sử dụng dễ dàng trong việc quản lý dữ liệu, giám sát ở mọi nơi có kết nối Internet. Cũng là nơi lưu trữ dữ liệu giám sát.

Giám sát dữ liệu qua bảng cập nhật.

Hình 5.10. Quản lý dữ liệu qua bảng lưu trữ.

Hình 5.11. Lưu trữ cơ sở dữ liệu

Dữ liệu sau nhận được từ bộ xử lý trung tâm được gửi lên web, web tiến hành lưu trữ lại lịch sử nhận dữ liệu bao gồm các trạng thái của các kênh truyền, có hoặc ko có tín hiệu, giá trị dòng điện tại từng thời điểm trong thực tế.

Tuy nhiên việc lưu trữ dữ liệu cũng cịn hạn chế, với việc dung lượng có giới hạn chỉ tối đa là 2GB.

b. Gửi tin nhắn với sim900a

Chương 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

6.1 KẾT LUẬN

Sau quá trình nghiên cứu, tiến hành thiết kế và thi công thành sản phẩm hồn chỉnh thì nhóm đã thực hiện được những yêu cầu gồm đo được cường độ dịng điện, điện áp và cơng suất tiêu thụ trong hộ gia đình, quản lý và giám sát dữ liệu trên website, gửi tin nhắn cảnh báo cho người dùng. Nhóm đã thực hiện việc tự thiết kế, thi cơng mạch, mơ hình sản phẩm, có tính thẩm mỹ.

Tuy nhiên, vẫn cịn vấn đề khi kết hợp với module sim900A, làm hệ thống mất ổn định. Hệ thống đã thiết kế vẫn còn tồn tại một số vấn đề như sai số của các thiết bị đo dòng điện, giao diện giao tiếp người dùng chưa thực sự sinh động, biến áp của mạch nguồn chưa được nhẹ gọn, vấn đề năng lượng cũng là một phần tồn tại của đề tài.

Nói tóm lại, sau khi thực hiện đề tài, nhóm đã làm được một hệ thống đo hồn chỉnh với độ chính xác tương đối. Điều chưa làm được trong hệ thống đó là việc chưa tối ưu hóa việc kết hợp giữa module sim900A với hệ thống làm hệ thống mất tính ổn định.

6.2 HƯỚNG PHÁT TRIỂN

Hệ thống có thể phát triển thành một hệ thống lớn, từ quản lý điện năng tiêu thụ trong hộ gia đình chúng ta có thể quản lý chính xác điện năng tiêu thụ trong khu chung cư, công ty hoặc phát triển hơn là nhà máy, xí nghiệp. Phát triển thêm các thơng báo cho người dùng trên điện thoại nhưng chưa tối ưu và đưa ra các lựa chọn tác động vào hệ thống thông qua Internet.

Hệ thống có thể sử dụng các loại mạch nguồn có thiết kế nhỏ gọn hơn để sản phẩm hoàn chỉnh hơn và tiện sử dụng cho người dùng.

CHƯƠNG 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

11 5

TÀI LIỆU THAM KHẢO Sách tham khảo

[1] Nguyễn Đình Phú, “Giáo trình vi xử lý”, NXB Trường ĐH Sư Phạm Kỹ Thuật Tp.HCM, 2016.

[2] Nguyễn Đình Phú – Phan Vân Hồn – Trương Ngọc Anh, “Giáo trình thực hành vi điều khiển PIC”, NXB Trường ĐH Sư Phạm Kỹ Thuật Tp.HCM, 08/2017.

[3] Trần Thu Hà, “Giáo trình điện tử cơ bản”, NXB ĐH Quốc Gia Tp.HCM, 2013. [4] Nguyễn Đình Phú – Nguyễn Trường Duy, “Giáo trình Kỹ thuật số”, NXB ĐH Quốc Gia

Tp.HCM, 2013.

[5] Nguyễn Việt Hùng – Nguyễn Ngơ Lâm – Nguyễn Văn Phúc, “Giáo trình – Kỹ thuật truyền số liệu”, NXB Trường ĐH Sư Phạm Kỹ Thuật Tp.HCM, 2014

[6] Cao Thanh Nhi – Bùi Kim Lâm “Hiển thị báo giá và thông tin sản phẩm”, luận văn tốt nghiệp, ĐH sư phạm kỹ thuật Tp.HCM, 1/2018.

[7] Vũ Văn Đạt – Lê Văn Nhựt Quang “Thiết kế và thi công hệ thống giám sát lưới điện”, luận văn tốt nghiệp, ĐH sư phạm kỹ thuật Tp.HCM, 8/2017.

Bài viết tham khảo online

[8]TrystanLea, “CT Sensors”, openenergymonitor.org, 7/2018.

[9]SlyRemarks, “ Current and Voltage” , openenergymonitor.org, 7/2018. [10] Trung Kiên, “Giao tiếp I2C”, kienltb.wordpress.com, 3/2015.

[11] Khoa công nghệ thông tin - Đại học Duy Tân, “Bài 01: Tổng quan về Web Server”, kcntt.duytan.edu.vn, 01/2017.

[12]Marcelstoer, “NodeMCU Documentation” , nodemcu.readthedocs.io, 6/2018.

TÀI LIỆU THAM KHẢO

11 6

[13] Mohannad Jabbar Mnati, “A Smart Voltage and Current Monitoring System for Three Phase Inverters Using an Android Smartphone Application”, ncbi.nlm.nih.gov, 3/2017.

PHỤ LỤC Các đoạn chương trình trong hệ thống :

Chương trình cho thiết bị đo (nạp cho Arduino Nano):

#include "EmonLib.h" #include<EEPROM.h> #include <Wire.h> #include "UART_ARDUINO.h" #include <SoftwareSerial.h> SoftwareSerial SIM900(10, 11);

String textSMS="CANH BAO QUA CONG SUAT"; char tempchar; UART Gui; UART Nhan; #define CURRENT_CAL 66 #define VOLT_CAL 300 float dien_ap,dong_dien,cong_suat,dien_nang,caidat; int i; EnergyMonitor emon1; void setup() { //Gui.begin(9600); Nhan.begin(9600); SIM900.begin(9600); Wire.begin(); i=0; dien_nang=0; emon1.current(A0, CURRENT_CAL); emon1.voltage(A1, VOLT_CAL, 1.7); } void loop() { emon1.calcVI(20,2000); dien_ap = emon1.Vrms; dong_dien = emon1.Irms; 100 PHỤ LỤC

cong_suat = dien_ap * dong_dien;

//dien_nang = (dien_nang + cong_suat)/1000/3600; KWH dien_nang = (dien_nang + cong_suat);//WS

gui_du_lieu(dien_ap,dong_dien,cong_suat,dien_nang); if (nhan_du_lieu(&caidat) == true) { EEPROM.write(0,caidat); } if (cong_suat > EEPROM.read(0)) { i++; if(i==1 or i==2) { } else { sendSMS(textSMS); } i=0; } delay(1000); }

void gui_du_lieu(float a, float b,float c, float d) { Gui.write_float(a); Gui.write_float(b); Gui.write_float(c); Gui.write_float(d); } bool nhan_du_lieu(float* e) {

uint32_t kich_co_goi_tin = sizeof(*e); if (Serial.available() >= kich_co_goi_tin) {

(*e) = Nhan.read_float();

PHỤ LỤC

119

Nhan.clear_buffer(); return true; } else { return false; } }

void sendSMS(String message) {

SIM900.print("AT+CSCS=\"GSM\"\r\n"); SMS

SIM900_response(500); SIM900.print("AT+CMGF=1\r\n"); SIM900_response(500);// Lệnh AT để gửi in nhắn // Bắt đầu quá trình gửi tin nhắn

SIM900.print("AT+CMGS=\"+84968944145\"\r"); // Số điên thoại của người nhân theo format quốc tế SIM900_response(500);

SIM900.print(message); SIM900_response(500); SIM900.print((char)26); SIM900_response(5000); }

void SIM900_response(int time) {

int tnow = millis();

while ((millis()-tnow) < time){ if (SIM900.available()){ tempchar = (char)SIM900.read();

} } }

// gửi nội dung tin nhắn // Kết thúc lênh gửi

Chương trình bộ xử lý trung tâm (nạp cho NodeMCU):

#include <Wire.h>

#include <ESP8266WiFi.h> #include <LiquidCrystal_I2C.h> #include "UART_ARDUINO.h"

UART Nhan; UART Gui; #define add_eeprom 0x51 #define UP D4 #define DW D5 #define GUI D6 #define WF D8 #define CB D3 LiquidCrystal_I2C lcd(0x27,20,4); const byte DS1307 = 0x68;

const byte NumberOfFields = 7;

Một phần của tài liệu Đồ án hệ thống giám sát điện năng trong hộ gia đình (Trang 99)

Tải bản đầy đủ (DOCX)

(130 trang)
w