基于Cortex- M0+的四通道多功能智能电表设计※*
2015-07-02钱益辉孙超杰杨赛女裘君
钱益辉,孙超杰,杨赛女,裘君
(浙江大学 宁波理工学院 信息学院,宁波315100)
引 言
电力公司在长期的供电服务中发现,部分企业电能利用效率低、企业成本过高。事实上只要适当调整用电方式,就能降低经营成本,提高终端用电效率,同时也能优化电力资源配置,促进社会节能减排。为此本文设计了一个面向企业、楼宇的智能电能检测系统,该系统基于Cortex-M0+芯片设计电表控制主板,通过高精度电能质量分析芯片ICADE7858实现三相电能信息采集和分析,实现了4路三相电源的电能信息采集与存储,并设计了无线蓝牙、RS485等接口。实现了下位机采集模块与PC机或手机的数据传输,通过PC上位机软件和手机APP软件,向用户提供各类实时用电数据。
1 组成与设计原理
基于Cortex-M0+的智能电能检测系统功能结构框架如图1所示。
图1 智能电表功能框图
图2为系统结构框图,考虑到企业、楼宇对于电能信息采集的应用需求,通常包含多路三相电路,所设计的整个系统包含4个检测节点、1个采集节点和上位机。其中,检测节点采用电能质量分析芯片ICADE7858设计而成,并通过SPI总线与采集节点实现数据传输,采集节点采用ARM Cortex-M0+内核的MKL25Z128VLK4实现,负责数据的集中采集、处理以及传输,通过RS485和无线蓝牙串口实现数据上传至上位机。
图2 基于Cortex-M0+的智能电表结构框图
系统的工作流程如下:系统初始化后,检测4个检测节点的完好性并反馈信息,然后进入数据采集阶段。各个检测节点检测各路电压电流的数值和相位,并且经过内部运算,得出三相有功/无功/视在功率,MCU通过高速数字隔离器芯片实现与检测节点的数据传输,同时通过RS485和无线蓝牙将采集到的各个数据传给上位机,上位机显示数值并保存数据和打印结果。
所设计的产品电压/电流采样精度为0.2%,有功和无功功率误差小于0.5%,相位角测量误差小于0.3°。
2 系统硬件设计
2.1 微控制器
MKL25Z128VLK4是基于ARM Cortex-M0+的微控制器,可用于高集成度和低功耗的嵌入式应用。工作电压为1.71~3.6 V,工作频率为48 MHz,外设包括16 KB数据存储器、128 KB程序存储器、高速12/16位模数转换器、2个8位的SPI模块、2个I2C模块、1个低功率UART和2个UART模块、以及1个内部看门狗监控,具有强大的定时模块,支持通用/PWM/电机控制功能等。
飞思卡尔Kinetis系列MCU,其功耗模式最多可达11种之多,可满足客户对微控制器各种低功耗的配置要求,同时支持多种唤醒方式,方便客户使用。
2.2 电源模块
设计的智能电能检测系统电源为220 V交流输入,先通过高性能稳压模块,将交流220 V转变为12 V及5 V电压输出,考虑到采集对于电压的稳压需求,通过线性稳压器NCP1117实现5 V和3.3 V稳压电压的输出。电源模块电路图略——编者注。
2.3 三相多功能电能计量IC
三相多功能电能计量IC ADE7858芯片是一款高精度、三相电能测量IC,采用串行接口,并内置二阶Σ-Δ型ADC、数字积分器、基准电压源电路以及所有必须的信号处理电路,内部具有一个固定功能数字信号处理器(DSP),可以对总有功、无功和视在功率测量以及有效值进行计算,该芯片适合测量各种三线、四线的三相配置有功、无功和视在功率,各相均具有有效值失调校正、相位校准和增益校准等系统校准功能。
ADE7858具有6个模拟输入,构成电流和电压通道。根据系统需要,6个模拟通道分别为3路模拟电流信号和3路模拟电压信号。其中三对电流通道采用全差分输入方式,分别为IAP和IAN、IBP 和IBN、ICP和ICN。通过霍尔电流传感器CT将采集到的感应电势VH传输到对应通道中,电流采集电路如图3所示。
图3 电流采集电路
3个电压通道采用单端电压输入方式:VAP、VBP和VCP。通道电压通过电阻分压方式,将单端输入端电压相对于VN的最大输入电压为±0.5 V。电压分压采集电路如图4所示。
图4 电压分压采集电路
多功能电量芯片的A/D转换基准电压采用1.2 V超低功耗、高PSRR基准电压源ADR280芯片实现,并输入到电量芯片中。每块芯片外接16.384 MHz晶振,通过SPI总线和数据采集芯片进行通信,电量采集芯片外围电路设计如图5所示。
2.4 数字隔离模块
图5 电量芯片电路设计
电量信息采集电路中,各个检测节点均由三相电压直接接入,为了保护220 V高压不侵入到数据采集节点中,采用ADI公司iCoupler技术的四通道数字隔离器ADu M1411,该芯片可以将高速CMOS与单芯片空芯变压器技术融为一体,具有优于光耦合器等替代器件的出色性能特征,可以实现双向通信和最高达10 Mbps的数据速率。
在设计实现中,系统将片选信号、SPI数据总线进行数字隔离,实现了检测节点和采集节点的信号隔离,实现了数字电路信号和模拟电路信号的相互隔离,起到抑制交叉串扰的作用,保证了检测检点和采集节点间的数据稳定。数字隔离电路如图6所示。
图6 数字隔离模块电路图
2.5 通信模块
数据采集节点通过RS485和无线蓝牙实现与上位机的通信,通信遵循简单的MODBUS RTU协议标准,可以对检测节点的增益寄存器进行设置,对检测节点采集的电压、电流、有功功率、无功功率等数据进行读取。通过SP485E芯片,把串行数据转化为RS485数据,其电路如图7所示。
由于KL25Z系列单片机没有片上蓝牙控制器,因此选用了TI CC2540蓝牙模块,该模块基于2.4 GHz频段,板载天线,微安级工作电流,遵循蓝牙V4.0版本规范,可以直接和苹果、安卓、PC等设备进行数据通信,为实现无线上位机监控和无线抄表提供了支持。蓝牙模块实现电路如图8所示。
图7 RS485通信接口电路
图8 无线蓝牙接口电路
3 软件设计
3.1 采集节点软件设计
采集节点在接收到上位机或手机APP发出的采集信息指令后,给对应的检测节点地址发送指令,得到回复后把收到的各个检测节点的数据上传给上位机显示。如果某个地址没有回复,就上传该地址为空的信息。采集节点与上位机的连接是用RS485接口和蓝牙把数据传输给上位机。采集节点主程序流程图如图9所示。
主程序首先实现对系统(如定时器、串口、中断系统等)的初始化,并接收来自上位机的命令。如果判断出不是采集命令(如数据查询),则响应相应的指令,若判断出是数据采集命令,则进行数据采集、处理、传输等;若判断出上位机没有发出相应命令,则系统直接进行数据传输。系统状态的自检和状态指示功能放在定时器中断程序中执行。
3.2 上位机软件设计
上位机软件分成PC平台和智能手机客户端两部分,其中PC平台软件用来实现智能电表的数据校准、实时数据采集、存储功能,通过引入数据库,将智能电表采集数据加入到系统中,实现数据存储,为下一步的数据判断和分析提供处理依据。智能手机客户端通过无线蓝牙通信,可以实现工作人员的现场工作状态诊断以及服务器数据查询功能,实现智能电表信息的自动采集和网络化。
图9 主程序流程图
结 语
本系统使用Cortex-M0+内核的32位微控制器MKL25Z128VLK4,同时采用高精度电能计量IC ADE7858芯片,满足了电能质量采集的高精度工作要求,所设计的RS485和无线蓝牙串口通信方式,使系统可以满足数据通信要求。
在实际测试中,数据传输稳定,实际系统电压电流采集精度达到0.2%以下,通过PC/手机上位机获得采样数据,可以方便进行相关数据分析。系统具有安装使用方便、开发成本低、低功耗等特点,非常适合工业或企业对用电的采集分析管理,具有良好的应用推广前景。
编者注:本文为期刊缩略版,全文见本刊网站www.mesnet.com.cn。
[1]ARM.Cortex-MO MKL25Z128VLK4数据手册,2009.
[2]ARM.Cortex-M0用户指导,2009.
[3]江缉光.电路原理[M].北京:清华大学出版社,2007.
[4]弓雷.ARM嵌入式Linux系统开发详解[M].北京:清华大学出版社,2014.
[5]Elecia White.嵌入式系统设计与实践[M].北京:机械工业出版社,2013.
[6]杜春雷.ARM体系结构与编程[M].北京:清华大学出版社,2003.
[7]徐明,黄义,滕哲.基于ARM Cortex-M0的可燃气体无线检测系统[J].舰船电子工程,2013(2):133.