Chương 4 THI CÔNG HỆ THỐNG
4.2 LẬP TRÌNH HỆ THỐNG
4.2.4 Phần mềm lập trình Web Adobe Dreamweaver CS6
Adobe Dreamweaver CS6 là một phần mềm hỗ trợ thiết kế web mạnh mẽ, nhiều tính năng được sử dụng phổ biến rộng rãi. Dreamweaver hỗ trợ người dùng thiết kế giao diện của trang web mà không cần phải can thiệp vào code của trang web đó. Ta có thể chọn chức năng “Create button” hay click đôi để chọn những mẫu giao diện web theo ý muốn, để rồi từ đó biến đổi chúng một hoặc từng phần, thậm chí là tồn bộ theo ý mình. Ví dụ, ta có thể thay đổi màu sắc, font chữ, màu nền, kích thước chữ, màu các đường link, xây dựng các menu và hỗ trợ cả chức năng chỉnh sửa file CSS – Cascading Style Sheets (dành cho những người chuyên nghiệp hơn). Thậm chí, nếu ta khơng biết về CSS, ta cũng có thể chỉnh sửa một cách dễ dàng bằng những chi tiết trực quan. Chẳng hạn, ta có thể chọn một đoạn văn bản bằng cách bôi đen chúng, sau đó click chuột phải, ta sẽ thấy một thực đơn xuất hiện chứa tất cả những tùy chọn để chỉnh sửa, như màu sắc, kích cỡ, font chữ.
Adobe Dreamweaver CS6 là một công cụ xử lý dành cho những người thiết kế Web, viết code và những nhà phát triển ứng dụng ở mọi cấp độ. Chức năng code được nâng cao tạo cho nó một sự mạnh mẽ khi điều hướng những trang web phức tạp ở thời điểm thiết kế. Những cơng cụ bố trí được cải thiện làm cho cơng việc dàn trang được tiến hành từ ý tưởng tổng hợp đến sự đồng ý của khách hàng. Những sáng kiến thơng qua bản thử Dreamweaver có thể giúp những đội hoặc những người phát triển Web cá nhân tiến đến mức độ tiếp theo như nhau khi thực hiện cũng như về mặc chức năng.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 47
Hình 4.6: Giao diện phần mềm Adobe Dreamweaver CS6. 4.2.5 Phần mềm WinSCP để upload code lên website 4.2.5 Phần mềm WinSCP để upload code lên website
WinSCP là một tiện ích SFTP, FTP client miễn phí, mã nguồn mở dành cho hệ điều hành Windows. Nó sẽ giúp ta truyền tải file một cách an tồn giữa máy tính của mình và máy tính từ xa. Dựa vào đó, WinSCP cũng cung cấp các chức năng quản lí file. Chương trình có hỗ trợ cả SSH để bảo mật, cũng như hỗ trợ phương thức SCP.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 48
Giao diện chính của chương trình:
Hình 4.7 : Giao diện phần mềm WinSCP. Các bước thiết lập kết nối đến Server: Các bước thiết lập kết nối đến Server:
Chọn Stored sessions
1- Click New (chỉ làm lần đầu). 2- Tại File Protocol , chọn FTP.
3- Nhập địa chỉ Host: ftp... ( theo trang web của nhóm ) 4- User: nhập tên account (UserId).
5- Nhập mật khẩu.
6- Click Save để lưu kết nối cho lần sử dụng sau. 7- Click login.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 49
Chương 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 5.1 Kết quả 5.1 Kết quả
Sau đây là một số hình ảnh về sản phẩm đang chạy demo. Hệ thống chạy ổn định và có độ chính xác tương đối cao.
Hình 5.1: Hình ảnh demo sản phẩm.
Hình 5.1 hiển thị đầy đủ mọi thơng số như: Dịng điện, điện áp, điện năng tiêu thụ.
Các thơng số này có sai số tương đối nhỏ, tầm khoảng 3% so với giá trị thực.
Dữ liệu truyền đi trong khoảng 20s thì mới cập nhật được dữ liệu mới.
Khi bị mất điện dữ liệu được lưu vào Web và bộ nhớ EEPROM của arduino.
BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP 50
Hình 5.2: Trang chủ của Website.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 51
Hình 5.4: Hình ảnh giá điện tính theo bậc thang.
Tiếp theo là hình 5.4. Hình này hiển thị cách tính tiền điện theo bậc thang khi sử dụng điện.
Hình 5.5: Thêm thơng tin khách hàng. 5.2 Nhận xét hệ thống
Hệ thống hoạt động tương đối ổn định. Đo được và tính được giá trị điện năng, hiển thị chúng lên LCD, dễ dàng cho việc quan sát tại nhà.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 52
Truyền dữ liệu tốt, đầy đủ dữ liệu, không bị mất hay lỗi dữ liệu.
Dữ liệu sau đó được đưa lên Internet. Trang Web hoạt động tốt, ổn định, tốc độ tải khá nhanh, cập nhật liên tục, chính xác các thơng tin mơi trường.
Trong trang Web có thêm biểu đồ cho nên rất tiện lợi cho việc quản lý và xem thơng tin của tình trạng sử dụng điện của từng hộ.
Chỉ cần có mạng Internet, người quản lý có thể xem thơng tin và quản lý mọi lúc, mọi nơi và bất kì thời điểm nào trong ngày vì dữ liệu thu thập được trực tiếp đưa lên mạng.
5.3 Ưu điểm hệ thống
Giám sát thông số điện năng từ xa, giúp tiết kiệm thời gian, tiền bạc, cho người ghi số điện hàng tháng.
Hệ thống nhỏ gọn, linh hoạt, sử dụng linh kiện khá rẻ so với sử dụng PLC, vì thế tiết kiệm được chi phí.
5.4 Nhược điểm hệ thống
Cảm biến của hệ thống có độ nhạy chưa cao cho nên độ chính xác so với thực tế còn chút hạn chế.
Cập nhật dữ liệu lên Internet thông qua GPRS của SIM900 còn hơi chậm. Mất chừng khoảng 20s thì mới có dữ liệu mới.
Hệ thống chưa đo được điện áp chính xác của nguồn điện xoay chiều nên độ chính xác là chưa tuyệt đối.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 53
Chương 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 Kết luận
Qua thời gian nghiên cứu, thi công đồ án đã cơ bản được hoàn thành. Bằng sự cố gắng của bản thân mỗi cá nhân và sự phân chia, phối hợp cơng việc hợp lí, nhịp nhàng giữa mỗi thành viên của nhóm, đồ án này đã được hoàn thành đúng thời gian như đã định và đã đạt được yêu cầu đặt ra là thiết kế và thi công thiết bị đo điện năng tiêu thụ. Đây là một hệ thống rất có ích cho các hộ gia đình và doanh nghiệp bán điện năng.
Trong đồ án, nhóm đã trình bày khá chi tiết cấu trúc và chức năng của từng module. Do đó, người đọc có thể dễ dàng nắm bắt và hiểu các tính năng của từng module. Bên cạnh đó, nội dung của đề tài được trình bày khá chi tiết rõ ràng bằng cách sử dụng những từ ngữ thơng dụng, các hình ảnh đi kèm giúp người đọc dễ hiểu và có thể thực hiện một cách tương tự, đạt hiệu quả trong một thời gian ngắn.
6.2 Hướng phát triển đề tài
Xuất phát từ những hạn chế về mặt phần cứng và phần mềm, cũng như lợi ích của đề tài, nhóm thấy những hướng phát triển của để tài:
Về phần cứng:
- Từ mơ hình nhỏ này, có thể phát triển thêm bằng cách đo thêm điện áp để tăng độ chính xác cho hệ thống.
- Dùng một loại cảm biến đo dịng khác có độ chính xác cao hơn.
- Sử dụng nguồn độc lập cho hệ thống thay vì lấy nguồn trực tiếp từ máy tính ví dụ như adapter.
Về phần mềm:
- Tạo thêm tài khoản cho người quản lý để nâng cao tính bảo mật cho trang web.
- Phát triển thêm chức năng thanh toán cho người dùng, liên kết với các ngân hàng để thanh tốn qua Payoo.
BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP 54
TÀI LIỆU THAM KHẢO Sách tham khảo:
[1] Massimo Banzi, Getting Started with Arduino, O’Reilly Media, 2009. [2] John Boxall, Arduino Workshop, William Pollock, 2013.
[3] Michael Margollis and Nicholas Weldin, Arduino Cookbook, O’Reilly Media, Inc, 2011.
[4] Lê Chí Kiên, Giáo trình: Đo lường cảm biến, Xuất bản đại học quốc gia, Tp Hồ
Chí Minh, 2013.
Website tham khảo:
www.arduino.vn
www.AllDataSheet.com
www.w3schools.com
www.arduinodev.woofex.net
2. NỘI DUNG ĐÍNH KÈM (CD)
Nội dung đính kèm bao gồm: 1. Nội dung:
Trình bày
Tài liệu tham khảo (bao gồm datasheet) 2. Mã nguồn:
Chương trình ứng dụng trên Board (video kết quả thực hiện)
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 55
PHỤ LỤC
#include <Wire.h> // Comes with Arduino IDE #include <LiquidCrystal_I2C.h>
#include "EmonLib.h" // Include Emon Library #include "EEPROM.h"
#include <SoftwareSerial.h> SoftwareSerial gprsSerial(3, 4);
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address
EnergyMonitor emon1; // Create an instance float A,B;
int i;
unsigned long time_counter;
void EEPROM_writeDouble(int ee, float value) {
byte* p = (byte*)(void*)&value; for (int i = 0; i < sizeof(value); i++) EEPROM.write(ee++, *p++); }
float EEPROM_readDouble(int ee) {
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 56
float value = 0.0;
byte* p = (byte*)(void*)&value; for (int i = 0; i < sizeof(value); i++) *p++ = EEPROM.read(ee++); return value;
}
void setup() {
Serial.begin(9600); // Used to type in characters gprsSerial.begin(9600);
gprsSerial.flush(); Serial.flush();
lcd.begin(20,4); // initialize the lcd for 20 chars 4 lines, turn on backlight emon1.current(0, 12.1); // Current: input pin, calibration.
lcd.backlight(); // finish with backlight on lcd.setCursor(2,0);
lcd.print("DO AN TOT NGHIEP"); delay(200);
lcd.setCursor(0,1); //Start at character 0 on line 1 lcd.print("Current(A):");
delay(200);
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 57 lcd.print("Voltage(V):"); delay(200); lcd.setCursor(0,3); lcd.print("A (kWh):"); A = EEPROM_readDouble(0); delay(1000); } void toSerial() { while(gprsSerial.available()!=0) { Serial.write(gprsSerial.read()); } } void dulieu() { gprsSerial.println("AT+CSTT=\"v-internet\",\"\",\"\""); delay(500); toSerial(); gprsSerial.println("AT+SAPBR=1,1"); delay(500); toSerial();
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 58 gprsSerial.println("AT+HTTPINIT"); delay(500); toSerial(); String chinh = "AT+HTTPPARA=\"URL\",\"http://www.doantn.pe.hu/datn/Dulieu.php?id=1&dn="; String chinh1 = String(A) + "\"";
String chinh3 = chinh + chinh1; gprsSerial.println(chinh3); delay(500); toSerial(); gprsSerial.println("AT+HTTPACTION=0"); delay(500); toSerial(); delay(500); gprsSerial.println("AT+HTTPTERM"); toSerial(); } void loop() { char LCDmsg[16];
emon1.calcVI(40,2000); // Calculate all. No.of half wavelengths (crossings), time-out
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 59
emon1.serialprint(); // Print out all variables (realpower, apparent power, Vrms, Irms, power factor)
float supplyVoltage = 212.2; //extract Vrms into Variable float Irms = 0; float realPower =0; lcd.setCursor(12,2); dtostrf(supplyVoltage,4,2,LCDmsg); lcd.print(LCDmsg); delay(100); while(1) { if(realPower < 0)realPower = 0; time_counter++; if (time_counter >20) { time_counter=0; EEPROM_writeDouble(0, A); dulieu(); delay(5000); } else {
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 60 lcd.setCursor(12,1); dtostrf(Irms,4,2,LCDmsg); lcd.print(LCDmsg); delay(100); lcd.setCursor(12,3); dtostrf(A,4,5,LCDmsg); lcd.print(LCDmsg); delay(800); Irms = emon1.calcIrms(1450); realPower = supplyVoltage * Irms * 0.8; A= A + realPower*1/3600000;
} } }