Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 137 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
137
Dung lượng
9,69 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐ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 HOÀNG NAM BÙI VĂN QUỐC SKL009341 Tp Hồ Chí Minh, tháng 08/2022 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT 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 HOÀNG NAM BÙI VĂN QUỐC SKL009341 Tp Hồ Chí Minh, tháng 08/2022 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO - ĐỒ ÁN TỐT NGHIỆP 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 SVTH1 : MSSV : SVTH2 : MSSV : Khóa : Ngành : GVHD : NGUYỄN HOÀNG NAM 18161113 BÙI VĂN QUỐC 18161137 2018 CNKT ĐIỆN TỬ- VIỄN THÔNG GVC.ThS TRƯƠNG NGỌC ANH Tp Hồ Chí Minh, tháng 08 năm 2022 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO - ĐỒ ÁN TỐT NGHIỆP 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 SVTH1 : MSSV : SVTH2 : MSSV : Khóa : Ngành : GVHD : NGUYỄN HỒNG NAM 18161113 BÙI VĂN QUỐC 18161137 2018 CNKT ĐIỆN TỬ- VIỄN THƠNG GVC.ThS TRƯƠNG NGỌC ANH Tp Hồ Chí Minh, tháng 08 năm 2022 CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc *** Tp Hồ Chí Minh, ngày 01 tháng 07 năm 2022 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Nguyễn Hoàng Nam MSSV: 18161113 Ngành: Công nghệ kỹ thuật Điện tử- Viễn thông Lớp : 18161CLDT2A Họ tên sinh viên: Bùi Văn Quốc MSSV: 18161137 Ngành: Công nghệ kỹ thuật Điện tử- Viễn thông Lớp : 18161CLDT1A Giảng viên hướng dẫn: GVC.ThS Trương Ngọc Anh ĐT : 0902680065 Ngày nhận đề tài: 09/03/2022 Ngày nộp đề tài: 30/07/2022 Tên đề tài: Thiết kế thi công đồng hồ đo điện DC, AC giám sát liệu Internet Các số liệu, tài liệu ban đầu: Lập trình ESP8266 Arduino, ESP8266 Datasheet, MAX 485 Datasheet, Solarduino Nội dung thực đề tài: - Tìm hiểu chuẩn truyền thông I2C, UART, giao thức Modbus RTU - Lập trình giao tiếp với module PZEM004T để đo thơng số điện AC - Lập trình giao tiếp với module PZEM017 để đo thông số điện DC - Lập trình cho module wifi ESP8266 Arduino IDE, gửi liệu lên Web đồng liệu App Smartphone - Thiết kế, kết nối linh kiện thành mơ hình hồn thiện - Chạy thử nghiệm cân chỉnh hệ thống Sản phẩm: Mơ hình giám sát điện AC, DC đơn giản TRƯỞNG NGÀNH GIẢNG VIÊN HƯỚNG DẪN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc *** Tp Hồ Chí Minh, ngày 10 tháng 03 năm 2022 LỊCH TRÌNH THỰC HIỆN KHĨA LUẬN TỐT NGHIỆP Họ tên sinh viên: Nguyễn Hoàng Nam Lớp: 18161CLDT2A Họ và tên sinh viên: Bùi Văn Quốc Lớp: 18161CLDT1A MSSV: 18161113 MSSV: 18161137 Tuần/ngày Tuần (07/03 – 13/03) Nội dung Gặp gỡ GVHD và trao đổi đề tài tốt nghiệp Tuần (14/03 – 20/03) Tìm hiểu đề tài nghiên cứu có liên quan Tuần (21/03 – 27/03) Tìm hiểu chuẩn truyền thơng có đề tài: Wifi, I2C, UART, SPI Tuần (28/03 – 03/04) Tìm hiểu tất linh kiện sử dụng đề tài: PZEM-004T, PZEM-017, ESP8266, RS-485, ắc quy, đèn DC 12V, cảm biến dòng điện, điện trở Shunt, LCD-I2C, Adapter Viết chương trình giao tiếp với module, vi điều khiển liên quan đến đề tài - Kết nối ESP8266 với PZEM-004T - Kết nối ESP8266 với PZEM-017 - Kết nối ESP8266 với LCD-I2C Viết báo cáo chương 1, Tuần 7, (18/04 – 01/05) Giao tiếp ESP gửi liệu lên Blynk, Google Sheets Tuần 5,6(04/04 - 17/04) Tuần 9,10 (02/05 – 15/05) Tuần 11, 12 (16/05 – 29/05) Tuần 13,14 (30/05 – 12/06) Tuần 15 (13/06 – 19/06) Thiết kế giao diện hiển thị Web Blynk app Blynk Tiến hành vẽ thi công board mạch Kiểm tra chỉnh sửa toàn mạch Viết báo cáo chương 3, 4, Chỉnh sửa hoàn thành toàn báo cáo Giáo viên hướng dẫn CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc *** PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Họ tên Sinh viên: Nguyễn Hoàng Nam MSSV: 18161113 Bùi Văn Quốc MSSV: 18161137 Ngành: Công nghệ kỹ thuật Điện tử- Viễn thông Tên đề tài: Thiết kế thi công đồng hồ đo điện AC, DC giám sát liệu Internet Họ và tên Giáo viên hướng dẫn: GVC.ThS Trương Ngọc Anh NHẬN XÉT Về nội dung đề tài & khối lượng thực hiện: Ưu điểm: Khuyết điểm:……………………………………………………………………… ……………………………………………………………………………………… Đề nghị cho bảo vệ hay không? Đánh giá loại: Điểm:……………….(Bằng chữ: ) Tp Hồ Chí Minh, ngày tháng 07 năm 2022 Giáo viên hướng dẫn CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc *** PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Họ tên Sinh viên: Nguyễn Hoàng Nam MSSV: 18161113 Bùi Văn Quốc MSSV: 18161137 Ngành: Công nghệ kỹ thuật Điện tử- Viễn thông Tên đề tài: Thiết kế và thi công đồng hồ đo điện AC, DC giám sát liệu Internet Họ tên Giáo viên phản biện: NHẬN XÉT Về nội dung đề tài & khối lượng thực hiện: Ưu điểm: Khuyết điểm: Đề nghị cho bảo vệ hay không? Đánh giá loại: Điểm:……………….(Bằng chữ: ) Tp Hồ Chí Minh, ngày tháng năm 2022 Giáo viên phản biện LỜI CAM ĐOAN Nhóm cam đoan báo cáo này làm từ kiến thức tổng qt chun ngành nhóm tích lũy trình học tập rèn luyện Bên cạnh đó, nhóm tìm hiểu từ nhiều nguồn tài liệu để hoàn thành đề tài Các kết nghiên cứu kết luận báo cáo trung thực, không chép từ nguồn Người thực đề tài Nguyễn Hoàng Nam Bùi Văn Quốc i LỜI CẢM ƠN Lời nói nhóm em xin gửi lời cảm ơn chân thành và lòng tri ân sâu sắc đến Thầy Trương Ngọc Anh Thầy dành khoảng thời gian quý báu trực tiếp hướng dẫn tận tình giúp đỡ, tạo điều kiện để nhóm hồn thành tốt đề tài Bên cạnh đó, nhóm xin chân thành cảm ơn quý Thầy Cô trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh nói chung quý Thầy Cô khoa Điện – Điện tử nói riêng với tri thức tâm huyết truyền đạt kiến thức quý báu, tạo dựng móng cho chúng em có sơ sở kiến thức cần thiết suốt thời gian học tập trường, nhờ nhóm hoàn thành tốt Đề Tài Và đặc biệt nhóm xin chân thành gửi lời cảm ơn đến bạn sinh viên lớp 18161CLDT chia sẻ, trao đổi kiến thức, kinh nghiệm quý báu để góp phần giúp nhóm hoàn thành đề tài tốt Cuối cùng, nhóm xin phép cảm ơn gia đình, bạn bè bên cạnh hỗ trợ, động viên nhóm mặt tinh thần lẫn tài suốt thời gian nhóm thực đề tài Xin chân thành cảm ơn ! Người thực đề tài Nguyễn Hoàng Nam Bùi Văn Quốc ii CHƯƠNG 6: KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 KẾT LUẬN Sau khoảng thời gian học tập 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” đạt yêu cầu đề Hệ thống sử dụng chuẩn truyền thông UART, Modbus RTU WiFi giúp truyền nhận liệu khoảng cách xa phần cứng với phần mềm cách ổn định Kết hợp việc điều khiển ứng dụng Smartphone giúp cho việc điều khiển giám sát giá trị điện dễ dàng tiện lợi sử dụng 6.1.1 Ưu điểm - Hệ thống tích hợp giám sát đồng thời điện AC, DC với sai số phạm vi cho phép đo đạt ± % ( Bảng 5.1, Bảng 5.2) - Hệ thống hoạt động hai tảng di động iOS, Androids (Hình 5.11) - Ứng dụng giám sát tiệm cận với ứng dụng giám sát điện mang tính thương mại như: hệ thống quản lý lượng PMS – Power Management System Elecnova(Hình 5.15), phần mềm giám sát lượng Globiots (Hình 5.13, Hình 5.14), hệ thống giám sát điện AT-PMS(Hình 5.16),… 6.1.2 Khuyết điểm - Hệ thống dừng lại việc giám sát, chưa có tính cảnh báo người dùng trường hợp 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 ứng dụng riêng nhóm 6.2 HƯỚNG PHÁT TRIỂN - Thiết kế thêm phần cảnh báo, gửi tin nhắn cho người dùng trường hợp công suất tải phần ngắt điện từ xa thông qua Blynk - Nâng cấp gói Blynk để tối ưu hóa giao diện cho người dùng phát triển thêm dạng biểu đồ để liệu giám sát điện thể nhiều dạng chi tiết BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 103 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO [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 “Thiết kế thi công giám sát điện từ xa” [3] TAPIT (2020), https://tapit.vn/khai-niem-ve-giao-thuc-modbus-rtu-vaket-noi-phan-cung/ [4] 4E VN Projects(2021), https://www.4evn.com/2021/09/cong-to-ien-tuwifi-theo-doi-chi-so-qua.html [5] Lập trình ESP8266 Arduino IDE, http://arduino.vn/bai-viet/1712lap-trinh-esp8266-bang-arduino-ide [6] Datasheet PZEM004T (2018), https://github.com/olohs/PZEM004T [7] Internet of things (2018), http://iot.dtt.vn/InternetofThings.html [8] hshop.vn,"https://hshop.vn/products/mach-do-dien-dc-da-nang-200agiao-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-energymeter-for-solar-pv-system/ [11] Solarduino(2020), https://solarduino.com/pzem-017-dc-energy-meteronline-monitoring-with-blynk-app/ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 104 PHỤ LỤC PHỤ LỤC *Code Arduino hệ thống: #include #include #include #include #include #include SoftwareSerial PZEMSerial; #include #include LiquidCrystal_I2C lcd(0x27,20,4); #include //String readString; #define BLYNK_PRINT Serial #define APP_DEBUG #define BLYNK_TEMPLATE_ID "TMPLiX7VkUMV" #define BLYNK_DEVICE_NAME "Cong To Dien Online" #define BLYNK_FIRMWARE_VERSION "0.1.0" #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) #define PZEM_RX_PIN D3 #define PZEM_TX_PIN D4 #endif SoftwareSerial pzemSWSerial(PZEM_RX_PIN, PZEM_TX_PIN); PZEM004Tv30 pzem(pzemSWSerial); SimpleTimer timer; #define MAX485_RE #define MAX485_RO #define MAX485_DI 16 ModbusMaster node; float u, i, w, Wh, fe, pe ; float PZEMVoltage =0; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 105 PHỤ LỤC float PZEMCurrent =0; float PZEMPower =0; 0x01; float PZEMEnergy=0; static uint8_t pzemSlaveAddr = static uint8_t pzemSlaveAddr2 = 0x02; static uint16_t NewshuntAddr = 0x0000; unsigned long startMillisPZEM; unsigned long currentMillisPZEM; unsigned long startMilliSetShunt; const unsigned long periodPZEM = 500; unsigned long st= millis(); unsigned long startMillisReadData; unsigned long currentMillisReadData; const unsigned long periodReadData = 1000; int ResetEnergy = 0; unsigned long startMillis1; const char* host = "script.google.com" ; const int httpsPort = 443; WiFiClientSecure client; String GAS_ID = "AKfycbxC_-Jrq7n-PTy75J1MYzt0pdc7y-jd5HVNRT-jh_alrFIKcqO5NM6RnQn7x0N3PBbMQ"; void sendEnergy() { // pzem_info pzemData = pzem.getData(); Serial.print("Custom Address:"); 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 106 PHỤ LỤC float pf = pe = pzem.pf(); if(isnan(voltage)){ Serial.println("Error reading voltage"); } else if (isnan(current)) { Serial.println("Error reading current"); } else if (isnan(power)){ Serial.println("Error reading power"); } else if (isnan(energy)){ Serial.println("Error reading energy"); } else if (isnan(frequency)){ Serial.println("Error reading frequency"); } else if (isnan(pf)){ Serial.println("Error reading factor"); } "); "); "); "); "); else { Serial.print("Voltage: Serial.print(voltage); Serial.print("Current: Serial.print(current); Serial.print("Power: Serial.print(power); Serial.print("Energy: Serial.print(energy,3); Serial.print("Frequency: Serial.print(frequency,1); Serial.print("PF: "); Serial.println("V"); Serial.println("A"); Serial.println("W"); Serial.println("kWh"); Serial.println("HZ"); Serial.print(pf); lcd.setCursor(0, 0); lcd.print(F("Vac:")); lcd.setCursor(4, 0); lcd.print(voltage); lcd.setCursor(0, 1); lcd.print(F("Iac:")); lcd.setCursor(4, 1); lcd.print(current); lcd.setCursor(0, 2); lcd.print(F("Wac:")); lcd.setCursor(4, 2); lcd.print(power); lcd.setCursor(0, 3); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 107 PHỤ LỤC lcd.print(F("Wh")); lcd.setCursor(3, 3); lcd.print(F(":")); lcd.setCursor(4, 3); lcd.print(energy); } Blynk.virtualWrite(V0, Blynk.virtualWrite(V1, Blynk.virtualWrite(V2, Blynk.virtualWrite(V4, Blynk.virtualWrite(V3, Blynk.virtualWrite(V5, voltage); current); power); energy); frequency); pf); } void setup() { Serial.begin(9600); Wire.begin(14,12); lcd.init(); lcd.backlight(); delay(100); PZEMSerial.begin(9600,SWSERIAL_8N2,5,4); Blynk.begin(auth, ssid, pass, "blynk.cloud", 80); timer.setInterval(1000L, sendEnergy); startMillis1 =millis(); startMillisPZEM = millis(); pinMode(MAX485_RE, OUTPUT); digitalWrite(MAX485_RE, LOW); node.preTransmission(preTransmission); node.postTransmission(postTransmission); delay(1000); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 108 PHỤ LỤC startMillisReadData = millis(); client.setInsecure (); } BLYNK_WRITE(V6) { if (param.asInt() == 1) { pzem.resetEnergy(); } else { }} BLYNK_WRITE(V11) { if(param.asInt()==1) { 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(resetCommand); PZEMSerial.write(lowByte(u16CRC)); PZEMSerial.write(highByte(u16CRC)); delay(10); postTransmission(); delay(100); } } void loop() { if(millis() - st > 30000) { st = millis(); sendData(); } Blynk.run(); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 109 PHỤ LỤC timer.run(); currentMillisPZEM = millis(); if (millis()- startMilliSetShunt == 10000) {setShunt(0x01);} node.begin(pzemSlaveAddr, PZEMSerial); /* if (currentMillisPZEM - startMillisPZEM >= periodPZEM) { uint8_t result; result = node.readInputRegisters(0x0000, 6); if (result == node.ku8MBSuccess) { uint32_t tempdouble = 0x00000000; PZEMVoltage = node.getResponseBuffer(0x0000) / 100.0; PZEMCurrent = node.getResponseBuffer(0x0001) / 100.0; tempdouble = (node.getResponseBuffer(0x0003)