APP下载

一种精确的电能测量物联系统设计

2022-12-23陈德富刘小湖邱宝象吴华君屈亮亮

物联网技术 2022年12期
关键词:电能指令处理器

陈德富,刘小湖,邱宝象,吴华君,屈亮亮

(1.浙江工业大学 信息工程学院,浙江 杭州 310023,2.万向钱潮股份有限公司,浙江 杭州 311215)

0 引 言

目前,“碳达峰”和“碳中和”已成为我国重要的战略发展方向,其中能源的合理分配和有效利用是实现这一目标的重要手段[1]。电能是当前社会中重要的能源表现形式,它在为生产生活带来便利的同时,也面临着巨大的浪费。因此,如果能监测设备的实时用电情况,那么就能进行科学合理的调控,从而避免电能浪费。然而,由于各种用电设备分布广泛,导致获取每个设备运行时的精确电能数据非常困难,而物联网技术的出现则成功解决了这一难题,利用廉价的物联网模组和物联网平台,方便人们轻松获得设备运行时的实时数据,并在后续对这些数据进行分析,制定高效的电能分配方案。

针对上述关键问题,目前已有大量学者进行了研究。吴玉鹏等人针对高杆灯照明系统的电能浪费问题,使用计量芯片CS5460A对电能参数进行实时采集,并通过ZigBee模组进行无线传输,实现对灯光亮度的智能控制[2]。范大勇设计了一种基于STM32和ATT7022EU的电能测量系统,但该方案通过RS 485总线传输数据,无法满足无线传输的需求[3]。黄丰磊等人设计了基于STM32和LabVIEW的电参数测量系统,但该方案只适用于现场电参数采集,没有考虑到远程测量的场景[4]。郑争兵等人设计了一种基于STM32的高精度电能采集系统,使用WiFi模组将数据上传到云服务器[5]。但在实际场景中,WiFi网络并没有实现大面积覆盖,因此该方案不能被广泛部署。为了克服上述方案存在的问题,文中设计了一种基于NB-IoT和STM32的精确电能测量物联系统,使用计量芯片RN8209进行设备用电功率的精确测量[6]。采用NB-IoT实现无线通信,NB-IoT由于覆盖范围广、占用带宽小、成本低,因此能很好解决设备的部署问题,在能源领域的应用研究中非常重要[7-8]。

1 系统硬件设计

系统的核心硬件主要由电能采集电路组成。使用电压互感器和电流互感器对实际电压、电流进行转换。RN8209芯片对转换后的电压、电流进行采样,然后芯片将采样数据通过SPI总线传输到STM32处理器。由处理器对原始数据进行处理,得到实际的电流有效值和电压有效值。最后,处理器将数据通过NB-IoT发送到阿里云。

系统的硬件设计方案如图1所示。

图1 系统硬件设计

1.1 电压、电流互感电路设计

由于用电设备的运行都是由220 V交流电供电,对于高电压、大电流信号,RN8209芯片无法进行直接测量,通过互感器可以将该类信号直接转换成芯片可以测量的范围。除了起到感应的作用外,互感器还具有隔离作用,能够有效抑制交流电信号对芯片工作电路的干扰,提高数据传输的稳定性。系统采用ZMPT107电压互感器对220 V交流电压实现1∶1转换。电压互感电路设计如图2所示。

图2 电压互感电路

为了将用电设备运行时产生的大电流信号转换为芯片可以测量的范围,采用精密电流互感器TA1410实现对电流进行5 A∶2.5 mA的比例转换。电流互感电路设计如图3所示。

图3 电流互感电路

1.2 RN8209传感电路设计

RN8209是一款单相多功能专用计量芯片,能测量电流有效值、电压有效值、有功功率及无功功率等电能参数;同时提供两路独立的有功功率有效值、电压有效值、线频率和过零中断;支持全数字增益、相位和直流偏置校正,芯片支持SPI和UART两种通信接口;内嵌电源监测电路,保证上电和断电时芯片工作的可靠性。因此,选用RN8209芯片作为系统电能计量传感器可满足设计要求。RN8209传感电路设计如图4所示。

图4 RN8209传感电路设计

2 系统软件设计

系统的软件部分主要由电能采集软件设计、NB-IoT初始化软件设计和NB-IoT连接云平台软件设计组成。

2.1 电能采集软件设计

系统上电后,首先由STM32处理器通过SPI总线向RN8209芯片的特殊命令寄存器发送写使能指令,之后,再向特殊命令寄存器发送复位指令对芯片进行软件复位。复位成功后,为提高测量的精确性,还需校准电流有效值寄存器。校准后关闭芯片的写使能功能,初始化流程结束。在主程序中读取芯片电流有效值寄存器和电压有效值寄存器中的值,再乘以对应的比例系数,得到负载设备运行时真实的电压和电流有效值。通过实验得出,电流有效值的比例系数约为0.000 6,电压有效值的比例系数为0.000 12。电能采集端的软件设计流程如图5所示。

图5 电能采集软件设计流程

2.2 NB-IoT初始化软件设计

本系统中,STM32处理器通过串口发送特定AT指令给NB-IoT模块,实现对模块的初始化配置。主要过程如下:

(1)处理器发送字符串“AT ”,若模块返回的字符串为“OK ”,则说明模块响应正常;若为“ERROR ”,则说明模块工作异常,初始化失败。

(2)处理器通过串口发送字符串“AT+CFUN=1 ”,打开模块的射频功能。

(3)处理器发送字符串“AT+CIMI ”,该指令会查询模块的SIM卡号,如果模块返回“ERROR ”,则说明未插入SIM卡或者模块异常,初始化失败。

(4)处理器发送字符串“AT+CGATT=1 ”,该指令是配置模块的自动入网指令,若返回“OK ”,则说明模块成功连接基站。

(5)处理器发送字符串“AT+CGPADDR ”,该指令会获取基站分配的IP地址。如果模块返回“OK ”,则说明成功获取IP地址,入网成功,否则模块初始化失败。

2.3 NB-IoT连接云平台软件设计

模块入网初始化成功后,就可以对模块进行下一步配置使模块连接到云平台。系统使用NB-IoT模块内置的消息队列遥测传输协议(Message Queuing Telemetry Transport,MQTT)连接阿里云的物联网平台,MQTT作为一种轻量级消息传输协议,广泛应用于物联网场景中[8]。模块连接阿里云前首先需要在阿里云上创建对应支持MQTT协议的设备,创建成功后会得到3个关键参数:产品密钥(ProductKey)、设备名称(DeviceName)和设备密钥(DeviceSecret)。处理器结合这3个参数,向NB-IoT模块发送特定的AT指令,即可与云平台建立连接。连接过程如下:

(1)首先,处理器需要对基本的连接参数进行配置,参数为创建设备时得到的关键参数,指令为“AT+QMTCFG="ALIAUTH",0,ProductKey,DeviceName,DeviceSecret ”。

(2) 处 理 器 发 送 指 令“AT+QMTOPEN=0,"203.107.45.14",1883”,模块通过该指令连接阿里云服务器对应端口,与服务器建立连接。

(3) 处 理 器 发 送 指 令“AT+QMTCONN=0,DeviceName”,通过该指令实现与云平台上所创建的设备对接,该指令执行成功后,云平台上创建的设备会显示为在线。设备在线后,即可将传感器采集的数据封装为JSON格式,然后发送给云平台。在云平台上可以观察到模块实时上传的数据。

3 实验结果

系统主要由计量芯片RN8209、STM32处理器和NB-IoT模块构成。实验时,将零线和火线接在电路板的两个接线端子上,经电压互感器和电路互感器连接到计量芯片的对应引脚,系统接入白炽灯作为电路负载。计量芯片的SPI通信接口与STM32的管脚相连,处理器使用GPIO口模拟SPI工作时序实现与计量芯片通信,NB-IoT模块与处理器的串口2管脚相连。经上电测试后,各模块工作正常,能实现对负载设备的电参数测量和数据上传。系统实物如图6所示。

图6 系统实物

接通220 V交流电后,系统对负载设备工作时的电压电流有效值进行测量。在主程序中每10 s测量一次负载当前的电压和电流有效值,将数据通过串口显示在PC端,并控制NB-IoT使用MQTT协议将数据上传至阿里云平台。其中,云平台上显示的电流有效值的变化曲线如图7所示。可以看出,系统各部分工作正常,达到了设计要求。

图7 云平台显示数据

图7中电流的变化曲线表明了电路中负载的工作状态。实验开始时,电路中未接入负载,测试的电流有效值在0附近。然后接入220 V/3 W的白炽灯,此时负载正常工作,电流显示约53 mA。断开白炽灯后,电流有效值回到0附近。最后再接入220 V/5 W的白炽灯,显示的电流有效值约65 mA。

4 结 语

实验结果表明,该电能监测物联系统通过RN8209计量芯片对负载的工作电流和电压实现了精确采集,并使用NBIoT模块将数据实时上传,实现了对用电设备使用状态的远程监测。适用于各种场景下的用电设备电能数据采集,为后续优化电能分配策略提供了有力的数据支撑。相信这类电能监测物联系统未来将在能源优化分配中发挥关键作用,实现能源的有效利用和智能分配[9-10]。

猜你喜欢

电能指令处理器
苹果皮可以产生电能
电能的生产和运输
海风吹来的电能
ARINC661显控指令快速验证方法
LED照明产品欧盟ErP指令要求解读
澎湃电能 助力“四大攻坚”
Imagination的ClearCallTM VoIP应用现可支持Cavium的OCTEON® Ⅲ多核处理器
ADI推出新一代SigmaDSP处理器
坐标系旋转指令数控编程应用
AItera推出Nios II系列软核处理器