APP下载

用电设备运行状态监控系统设计与实现

2019-03-05,,

计算机测量与控制 2019年2期
关键词:电流值电风扇服务器

,,

(浙江工业大学 信息工程学院,杭州 310023)

0 引言

随着我国经济的迅速发展,用电设备得到广泛使用,用电设备高效管理成为了重要的课题。由于计算机网络技术的高速发展,尤其是Internet/Intranet技术的广泛应用,为基于网络的设备管理系统的实施提供了坚实的技术基础[1-3]。目前用电设备管理系统大多是对设备信息的静态管理,实现设备基本信息的添加、删除、记录等管理功能,对用电设备工作状态实时管理的系统却不多见[4-6]。工作电流是用电设备重要的运行数据,通过电流能反映设备开关机状况和运行状况,可准确记录设备利用率等[7]。本文提出并设计了一种基于电流检测的用电设备运行状态监控系统。

1 系统方案设计

系统由采集节点、路由、云服务器等组成,整体结构框图如图1所示。通过在用电设备的电源侧安装电流采集节点,获取设备工作电流,通过WiFi收发模块传输到云服务器。考虑到WiFi和云服务器之间通讯距离可能较远(超出WiFi的最大传输范围),因此以路由作为桥梁,数据经过互联网实现跨地域远距离传输。云服务器中部署的监控系统获取到采集节点数据时,根据预设的监控策略进行实时显示或者报警,并将处理后的数据保存至数据库,以便日后查询和统计等。系统采用B/S架构网络管理模式,支持多用户机制。用户可以通过计算机、手机中的浏览器,在任何时间,不受地域限制地对用电设备的实时运行状态进行查看。

图1 系统整体结构框图

2 采集节点设计

采集节点选用意法半导体公司生产的STM32F411芯片作为主控芯片,该微处理器具有功耗低,工作稳定等特点[8],能满足整个系统的需求。系统中使用USART1获取设备电流值,USART2打印参数信息,方便查看调试信息,USART6与WiFi收发模块进行数据通讯。硬件逻辑如图2所示。外围电路包括电源稳压模块,电流采集模块,WiFi收发模块等。

图2 采集节点硬件逻辑框图

2.1 电流采集模块

电流采集模块的设计是本文的重点,是获取设备电流值精确的关键,主要由HLW8032电流检测芯片和采样电阻等构成,电路原理图如图3所示。HLW8032是深圳合力为科技有限公司推出的单相功率计量芯片,是一款高精度的电能计量IC,内置了晶振和参考电源,不需使用复杂的设计电路和编写复杂的软件,具有外围电路简单、体积小、价格便宜的优点。在1000:1的动态范围内有效电流的测量误差仅仅为0.5%[9]。采样电阻使用锰铜电阻(成本低、精度高、温度特性好)采样设备电流,将获取的电流信号通过芯片内部的ADC以及串口的转换,实现将电流值模拟量转化为数字量输出。

图3 电流采集模块原理图

HLW8032芯片引脚1接电源稳压模块提供的5 V工作电压,增加的电容主要起滤波作用。为防止出现电压浮空而烧坏芯片的现象,将电路中的GND和AC220V-N作为同一个参考点。根据手册最大采样电流=最大压差/采样电阻阻值可知,当芯片引脚2和3承受39 mV最大压差时,能测量设备最大电流为19.8 A,如果设备的电流超过此测量范围,可以通过改变采集模块的采用电阻大小来测量更大电流的用电设备。引脚4实现用电设备电压采集,采用连续4个相同电阻来消除单个电阻耐压不足和电网电压波动问题,并通过由R33和C38组成的RC网络进行滤波。引脚7为串口发送,实现和STM32F411中USART1接收引脚之间数据通讯。

2.2 微处理器

STM32F411与HLW8032以4800bps(波特率)通讯,并获取存放在HLW8032芯片寄存器的电流数据,流程图如图4所示。当程序进入USART1中断,通过对接收的数据进行判断,当连续四个字节数据依次为0x5A,0x02,0xD8,0x20时,判定为接收到正确的电流数据,根据HLW8032芯片手册可知需一次性连续接收24字节数据,将接收到的这些数据经过函数处理。在处理函数中判断HLW8032芯片中状态寄存器的数据大小,当状态寄存器为0x55时,此时芯片误差修正功能正常,电流参数寄存器可用,且电流寄存器未溢出,根据数据更新状态寄存器状态得出电流系数和电流周期,最终根据电流值的计算公式得到设备的电流值。

图4 微处理器获取设备电流值流程图

电流值的计算方式为I=(电流寄参数寄存器/电流寄存器)*电流系数。由于选用2毫欧锰铜电阻采集设备电流,R=0.002 Ω,则电流系数=1/(R*1000)=0.5。

电流数据经由WiFi收发模块上传到云服务器前需要对数据进行处理。考虑到设备启动电流有可能几倍于工作电流,故从设备稳定工作后开始采集电流数据。将得到的电流数据以三种不同频率上传:当电流值在额定电流值的一定范围内(1.2倍)内波动时,数据以一定频率(0.1 Hz)上传;当电流值在额定电流值的一定范围内(1.2倍~2倍)内波动时,数据以较快频率(0.2 Hz)上传; 当电流值超过额定电流值 (2倍)时,数据以更快频率(1 Hz)上传。处理电流数据策略如图5所示。

图5 微处理器处理电流数据策略流程图

2.3 WIFI收发模块

WiFi收发模块是连接各个电流采集模块与云服务器的纽带。相比zigbee组网复杂,成本较高,传输速率低等不足,本系统采用ESP8266型号的WiFi收发模块对微处理器处理的设备数据进行获取,同时和云服务的通讯也通过该模块。ESP8266是乐鑫公司的一款WiFi产品,其价格低廉,具有高性价比,是目前市面上非常流行的一款WiFi芯片。其具有不同工作模式,且支持透明传输。本设计采用透明传输模式(数据不发生任何形式的改变,传输过程透明)传输数据,为使WiFi收发模块与云服务器远距离通讯,需进行联网配置,传统的配网方式中采集节点连接新路由时需要修改底层代码中路由的SSID和PSW,本系统使用网页配网方式将SSID和PSW动态存入EEPROM中使设备数据经过路由接入云服器。网页配网数据传输流程如图6所示。

图6 网页配网数据传输流程图

WiFi收发模块读取到正确的SSID和PSW连接路由成功后,需要对其进行如下配置:WiFi模块重启操作,AT+RST; 配置数据加密方式,网络访问密码,AT +WSKEY=WPA2PSK,配置ESP8266当前WiFi模式为station模式,AT+CWMODE=STA,STA组网方式是系统中由一个路由器作为无线网络的中心节点,采集节点作为无线站点的组网方式;设置WiFi模块为单连接模式, AT+CIPMUX=DISABLE;创建TCP连接(Socket客户端),配置云服务器名称(IP地址),80端口和第5通道进行数据传输,AT+CIPSTART=”TCP”,“47.106.204.25”,”80”,”5”;在透传模式下,发送设备电流数AT+CIPSEND=”>”,进入透传模式发送数据,每包数据以20 ms间隔区分。Socket客户端配置云服务器名称的目的在于socket客户端对云服务器的寻址,云服务器打开80端口则是客户端和服务器端数据交互通道,无需通过防火墙。

WiFi收发模块与云服务器之间的通讯方式为RestFul API。其基于HTTP协议和json数据格式,适合平台资源管理,平台与平台之间数据对接,使用短连接上报终端数据及时间序列化数据存储等场景。其RestFul API应用程序设计的提出,改善了用户接口跨多个平台的可移植性,通过分离用户接口和数据存储,使得不同用户终端与单一服务器数据交互成为了可能。方案中WiFi收发模块作为TCP客户端(socket)以RestFul API请求方式实现与云服务器数据交互。

3 云服务器

文献[10]中设备运行状态监测系统以智能网关为中心,以一定场所为单点,采用局域网的形式和服务器进行数据交互,用户无法实现外网远程访问服务器中数据;本设计采用局域网与互联网相结合的方式,以云服务器为中心,进行数据接收和处理,从而实现外网远程访问。云服务器采用腾讯云服务器,是一种处理性能优越、安全可靠的计算服务,方便用户建立数据中心,可实现数据的灵活访问和数据存储计算[11]。云服务器的系统配置如表1所示。

表1 系统配置

云服务器分为控制台、后台服务和数据库三部分,控制台的功能相当于云服务器与外部应用进行沟通的桥梁,控制台向下与采集节点通讯,采集节点中WiFi收发模块作为socket客户端向云服务器的控制台传输设备电流数据。数据库服务器主要是存储采集的电流数据,以便用户通过网页随时进行查询设备运行状态。WEB服务器端程序部署在Tomcat容器中,用Java语言编写,采用MVC分层设计模型。数据库采用Mysql数据库。

在WEB服务器端程序设计中,为了同时接收多个用电设备的数据,使用Java多线程的方式来处理socket客户端传过来的json格式数据(key-value键值对),具体流程如下:服务器根据socket类型创建socket,服务器为socket绑定对应的IP地址和端口号(80),服务器接收到了用户发来的socket连接请求时,被动打开socket,开始接收客户端请求,直到socket客户端返回连接信息。这时候服务器socket进入堵塞状态,接收客户端连接信息后返回,然后开始接收下一个用户端请求。服务器端启动socket.getInputstream()与客户端建立连接,获取WiFi收发模块输入的json数据,将其转化为数组类型,调用socket.substring()方法解析数据,将这些数据经过加载mysql的 jdbc驱动,建立与mysql数据库连接,执行insert语句后存入数据库进行长期保存。

云服务器主要分4个功能:用户管理、实时运行状态、电流数据查询、日志记录,如图7所示。

图7 云服务器功能结构示意图

云服务器使用XMLHttpRequest对象异步读取数据库中数据,采用异步AJAX技术(不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容)对获取的数据进行页面实时显示。

4 实验测试分析

4.1 设备电流精度分析

图8 WiFi连接协议图 图9 传输协议图

以实验室的电风扇、电脑、电热壶作为实验对象。实验步骤:采集节点上电后,微处理器初始化,WiFi模块切换为STA模式,接收网页发送连接路由的SSID和PSW,和云服务器建立连接,将采集节点获取的此三种设备电流值传输到云服务器上。如图8所示,通过USART2查看具体连接协议和电流值(此为电风扇第一次传输数据)。如图9所示,通过协议实时将设备数据经由网络写入到云服务器数据库(Mysql)中,传输协议中前四位表示的是设备的电流值,第五位表示的是设备的当前状态,第六位和第七位分别表示的是设备号和实验室号。

对不同设备电流的实时检测,选取不同次数的电流采集模块测量值和电流表测量值进行比较计算,如表2所示误差在2%以内。

表2 实验测量结果

4.2 设备运行状态测试

为模拟微处理器处理电流数据策略的准确性,以实验室(研究室)的4台相同功率的电风扇作为实验对象,模拟设备正常工作,不同报警的状态。在实验时,设定电风扇的阈值(定于0.13 A),开启电风扇1处于正常档(一档),电风扇2处于较大风力档(二档),电风扇3处于更大风力档(三档),电风扇4处于关机。

通过实验室用电设备运行状态监测系统的界面可以查看4台电风扇的运行状态,绿色表示设备正常,灰色表示设备关机,黄色(一级报警)表示设备电流值超过设定阈值的20%,红色(二级报警)表示设备电流值超过设定阈值的两倍。如图10所示。

图10 电风扇运行状态的实时监控界面

根据设备运行状态,查看数据库中实时的运行信息,如图11所示。其中eid字段为设备id号,ename为设备的名称,elstarttime为设备开始工作的时间,elendtime为设备停止工作的时间,eltime为设备从开始运行到停止运行所经历的时长,lid为设备所处实验室id号,lname为设备所处实验室名称,elvalue为设备关机之前最新一次电流值,estate为设备当前所处的状态(0表示设备当前状态为正常,1表示一级报警,2表示二级报警,3表示关机)。根据设定电风扇电流值阈值,获取运行状态,电风扇在数据库中

电流值在设定阈值的相应倍数范围内。与微处理器处理电流数据策略设定一致。

图11 设备的运行信息

5 结语

本文设计的用电设备运行状态监控系统,节点利用新型数字型电流采集芯片HLW8032来对设备电流进行获取,解决了传统电流检测方法中存在的调理电路复杂问题。利用WiFi收发模块实现设备的远程联网。云服务器系统的构建,使用户通过浏览器可远程查询存储在云服务器中设备运行状态、设备过载报警信息等。系统通过测试可稳定运行。下一步工作将主要集中在云服务器的功能完善,增加预警短信发送功能。

猜你喜欢

电流值电风扇服务器
制冷剂与润滑油混合物对空调器泄漏电流影响分析及研究
放疗中CT管电流值对放疗胸部患者勾画靶区的影响
不要用笔去玩电风扇
变压器差动斜率保护计算方法
通信控制服务器(CCS)维护终端的设计与实现
飞转的电风扇
电风扇
得形忘意的服务器标准
光伏发电系统谐波监测与评估研究
计算机网络安全服务器入侵与防御