以
无线模组供应商远距离WiFi模组为基础的物联网电能表,用移动设备来远程查看电力的使用情况已经成为当今生活的迫切需要。20世纪70年代,国外对远距离抄表技术的摸索与研究开始了,在较短时间内取得了长足的发展。虽然在水、电、气、热等领域有较大的贡献,但在实际生活中难以推广。当英国THORNEMI公司通过公用电话网络等方式独立开发SCTM技术的同时,英国THORNEMI/GYR也在开发利用公用电话网络的远程自动抄表技术。一九八五年,日本九州电力公司利用电力载波技术进行了远程抄表试验。从那时起,美国、德国、澳大利亚等国相继开发了各种新型抄表技术,并大规模地应用于实际工作。90年代以后,美国、加拿大等国家的大部分电表节点都装有远程自动抄表芯片。一九九八年,美国正式开始使用它所开发的大功率远距离自动无线抄表系统。2006年,东欧通过一种由法国Coronis公司开发的Wavenis无线抄表技术,建立了世界上一个大型远程自动抄表系统网络。20世纪80年代以来,中国开展了远程抄表系统的研究,但其研究成果在实际应用中的效果并不理想。中国幅员辽阔,电力信息采集系统的覆盖面比较小,许多地方还依赖人工采集的数据,不能反映整体的特点。近几年抄表系统发展很快,抄表系统在我国的住宅小区逐步得到应用,给居民带来了很大的方便。设计了一种基于物联网技术的CV520单片机智能电表系统,具备实时监控.远距离通讯.通讯局部.显示等功能,成本低.功耗低.效率高.稳定,有利于供电部门对用户用电进行实时监控,促进社会智能化发展。
无线模组供应商远距离WiFi模组方案装置主要包括电能数据采集模块.数据通讯功能模块,数据监测功能模块。由HMI屏幕.云服务器.BLEAPP构成的数据监控模块,观察用户的电力消耗。利用UART串行口.WiFi模块.BLE蓝牙模块组成数据通信功能模块,采用串口UART0进行数据下载与调试,UART2用UART2将数据传送到HMI屏幕,WiFi模块和BLE蓝牙模块都采用TCP/IP协议来传输数据。当使用WiFi模块时,CV520芯片作为与阿里云服务器连接的客户端传送数据,在使用BLE蓝牙模块时,无线模组供应商远距离WiFi模组CV520作为服务器端将数据发送到手机APP。Holer效应传感器ACS712采集电流数据,CV520模组通过ADC模拟通道进行滤波处理,得到电压数据,用该公式计算出所需的电量。
该设计利用ACS712电流传感器把获得的AC电流转化为模拟电压信号,用GPIO32端口发送到CV520芯片,在采集后,数据在UART2串口的GPIO16.GPIO17端发送到HMI串口屏上,蓝牙与WiFi模块同时实现无线通讯。
无线模组供应商
远距离WiFi模组CV520是一款多功能模组,它的MCU模块由WiFi模块.BT模块和BLE模块组成,非常适合携带小型电子器件,如移动物联网器材。该模块的核心是CV520-D0WFQ6芯片。具有2组32bitLX6CPU的CV520采用7级流水结构,主频为240MHz。CV520完全符合WiFi802.11n和蓝牙4.2标准,集成了WiFi.Bluetooth.BLERF.低功率基带,以及丰富的模拟传感器和数字接口。
无线模组供应商远距离WiFi模组支持802.11B/G/N/E/I协议的CV520内建模块,数据传输率高可达150Mb/s,大发射功率19.5dBm,内置TCP/IP协议,可以传输TCP数据,其WiFi信号灵敏度可以达到-98dBm,UDP传输速率达到135Mb/s。在CV520上,WiFi模块有3种工作模式,分别是Station模式、AP模式和AP模式。
Bluetooth模块也是内建模块,它使用了多设备通用的蓝牙v4.2标准,支持传统蓝牙和低功耗蓝牙(BLE)双模式controller。Bluetooth模块采用基于SDIO/SPI/UART接口的标准HCI,其高速UARTHCI数据传输速率达到4Mb/s。支持同步播放和扫描功能,便于用户与设备连接芯片进行数据交互。
ACS712是一种基于霍尔效应开环模式的芯片级线性电流传感器,使用时通常串联在电流回路中。根据不同的量程,输入输出的线性系数分别为185mV/A.100mV/A.66mV/A.66mV/A。ACS712的典型用途,要求监视电流从1.2端口进入传感器,从3.4端口流出,这时ACS712将基于所产生的磁场感应产生一个线性电压。通过感应器中的放大电路.滤波电路和斩波电路后输出模拟电压,这个电压与交流电流IP之间的关系:VIOUT=0.5×Vcc+IP×线性系数,用CF滤波电容提高输出精度,数值越大,噪声越小。
HMI智能串口屏幕具有GUI界面,用户可以通过触摸屏控制编辑界面,操作简单,使用方便。串口屏幕通过USARTHMI软件绘制界面,以无线模组供应商远距离WiFi模组CV520的UART串口和HMI屏实现人机交互,并通过TX.RX接口实现两台设备的数据收发。硬件连接显示CV520屏幕和HMI屏幕。HMI在串口通信中一般采用RS232/422接口,也可以通过连接其它硬件设备来实现人机交互,而采用RS485接口来控制PLC设备的运行。
在Arduino开发平台上,通过CV520开发板库相应API函数,在Arduino开发平台上实现远程通信和数据获取。在系统上电复位后,借助setup初始化功能,启动BLEBluetoop和WiFi通信模块,然后在主程序loop函数中无限循环,同时ACS712采集的数据进行处理。当系统停电或程序干扰停止时,才能跳出循环。
CV520与12位SARADC集成,ADC1有8个通道,ADC2有10个通道。但是由于ADC2和WiFi一起使用时会出现冲突,不能共存,因此本系统采用ADC1的GPIO32接口作为ADC采样通道。当进行ADC采样时,首先通过readVref函数读取模拟管脚的大电压值Vref,然后调用analogRead函数获得GPIO32接口输入的电压值,通过计算得到模拟电压。
因为交流电流的周期性变化,本系统在使用ACS712时将其数据转换为电压,计算出其有效值电压。用CV520采集到的ADC电压峰值与谷值相减,然后将PR值除以2,得出电压有效值。由ACS712的线性系数得到电流值。如果没有经过过滤,则结果的误差更大。软件滤波中位平均滤波算法具有较好的数值稳定性,能使计算结果更平滑。在ADC采集程序中,系统采集了18组数据,每组数据的峰值和谷值都通过GPIO32引脚1000次读入GPIO32引脚数据,然后用冒泡排序法对18组数据进行排序,然后用冒泡排序法对数据进行比较。
因为无线模组供应商远距离WiFi模组CV520WiFi模块的驱动代码是非开源的,因此本文将Arduino作为开发工具。此系统缺省选择状态模式,先连接路由器或手机热点连接到公共网络,再判定是否连入,在连接之后,将通过端口号8080作为TCPClient端向服务器发送一个连接请求,服务端侦听8080端口的连接请求,若连接成功,则可以根据TCP/IP协议将TCP数据发送到公网的TCPServer端服务器。
GATT是蓝牙连接的通用规范。当Bluetooth通信时,通过称为service和characteristic的两个设备实现数据交互。一种服务是一种服务,characteristic实现BLE主机和从机之间的数据通讯。UUID是一般意义上的独特识别码,每一个service和characteristic都具有独特的UUID。该系统使用CV520作为BLEBluetooth的服务器端,在创建服务器服务之后,创建服务中的characteristic,当CV520广播时,手机APP连接无线模组供应商远距离WiFi模组CV520以获取数据。6UART程序设计CV520芯片,提供3个UART串口,分为UART0.UART1.UART2,分别占用GPIO1.GPIO3.GPIO9.GPIO17。采用UART0与UART2进行串行通讯,其中UART0通过USB-UART与计算机相连,进行烧写程序并打印调试信息。UART2作为与HMI屏幕的主串口进行数据交互。当在Arduino平台上发送串口信息时,首先需要与UART2和HMI屏幕匹配,随后CV520通过Serial库中的print函数将并行数据传入UART2,UART2通过杜邦线从TXD端口向HMI屏幕发送串行数据。当收到串口信息时,UART2通过Serial库中的read函数检测到另一根线上的信号,串行收集后放置在缓冲区。CV520可以读取read函数返回的值来获得这个信息。
针对智能电表系统的发展现状,结合无线模组供应商远距离WiFi模组和蓝牙通讯技术,设计了基于CV520的物联网智能电表。它可实现数据采集和无线通讯,具有广阔的应用前景。