长江大学电子信息学院 何小英
随着物联网及智能家居理念的不断深入,小到节能灯,大到空调、热水器等大功率电器的使用,均可逐步实现其智能控制及远程管理。使用合适的方法对用电设备的工作电流进行监测,可反映用电设备的工作状态,对设备的远程控制及安防系统具有重要意义。本文提出的基于ACS712电流实时监测系统,实现了对不同功率负载的直流或交流电流的准确测量,解决了部分传统电流检测方法存在的绝缘困难、成本高、测量精度低等问题[1]。
本文提出的电流监测系统研究的重要内容为:电流检测的方法确定和硬件实现,以及数据采样处理的方法研究。
电流的检测方法可分为两种,一种是基于欧姆定律,通过检测加在负载一边的精密电阻两端电压来判断负载工作电流大小;另一种是使用基于电磁感应原理的芯片级传感器,将其串联在电流回路中,根据其输出的电流或电压信号测得负载工作电流。前者成本低,但精密电阻的选择较难且无隔离效果,可靠性不高;后者电路简单,可针对不同测量范围的直流或交流进行检测并应用于不同领域,具备较好的可靠性。
本文选用基于电磁感应原理的Allegro电流传感器ACS712,该器件是单电源+5V供电,具备66至185mv/A的输出灵敏度,其输出电压与交流或直流电流成比例[2],具有极稳定的输出偏置电压。本文根据系统研究需要,选择ACS712ELC-20A类型器件,可测量±20A的交流或直流电流,对应100mv/A的输出灵敏度。根据数据手册可知该器件的输入输出线性关系表达式为:
式中,为传感器的输出电压,传感器的输入电流,即传感器的输出电压范围为0.5~4.5V。由于其稳定的线性比例特性、响应时间短以及绝缘电压高、体积小的特点,该器件可应用于工业、汽车、商业和通信系统,使被检测设备存在的隐患得到及时处理,以确保人身安全及设备安全[1][2]。
过采样是使用大于奈奎斯特采样的频率对输入信号进行采样[3]。在数据采集过程中,理论上采样频率越大可提高ADC的分辨率,但实际中由于ADC的采样率受到限制,需综合考虑系统功能需求及控制器资源以确定合适的采样频率。
本文使用STM32片上ADC完成数据采集,采用过采样方法实现对直流及交流信号的采样。经多次测试发现,采样频率大小的确定与多通道采样及采样后不同数据处理有关。本文采样处理后的数据是系统经测量得到的负载工作电流有效值,该数据通过主控制器串口实时上传至PC端,以监测负载工作状态。
该电流实时监测系统硬件部分主要由主控电路及电流检测电路构成。主控制器完成经处理后的电流信号采集、数据处理及串口通信等任务;电流检测电路使用霍尔电流传感器监测负载的工作电流,其信号输出经适当处理转为适合于STM32进行采样的电压信号。其中系统电源输入为+5V,作为电流传感器ACS712的工作电源,在+5V直流基础上使用LDO(低压差线性稳压器)芯片LT1963降压至+3.3V,为微控制器提供稳定的电源。其系统框图如图1所示:
图1 系统框图
为满足直流或交流信号的实时监测,主控芯片选用意法半导体公司生产的32位微控制器STM32F030C8T6。该控制器采用ARM Cortex-M0内核架构,其供电电压为3.3V,时钟频率可达48M,内部集成12位ADC及16位通用定时器[4]。通过选取适当的采样频率对电流检测电路输出的电压信号进行采样,将采样后的数据进行有效处理,并以一定的速率通过串口上传至串口调试助手,以实时观测采样结果。
由于电流传感器ACS712的输出电压范围为0.5~4.5V,而主控制器STM32片内ADC的参考电压为+3.3V,需要将传感器输出的电压信号经过运算放大器缩小一定比例,以满足控制器采样要求。如图2所示,ACS712串联在电路中,输出的电压信号经过比例运放缩小电压值,并在进入STM32进行AD采样前,经过一个RC低通滤波器进行抗混叠滤波。其中,运算放大器选择四路低压轨至轨输出运算放大器LMV324,工作电源为2.7~5.5V,通过设置运放比例增益为0.6,使运放输出的电压范围为0.3~2.7V,以适合主控制器采样。图2为单通道电流检测电路,多通道电路原理图与之类似。
图2 电流检测电路原理图
系统软件主要包括数据采集、数据处理以及数据传输。数据采集程序主要是通过配置ADC对电流检测电路的输出信号进行采样,其AD采样频率通过配置STM32通用定时器确定;数据处理及数据传输在主程序中实现。其中,数据处理程序是将采集后的数据根据传感器及运放输入输出运算关系进行计算,从而获得负载工作时的电流瞬时值及有效值。该有效值的获得可应用于系统监测负载工作时功率及用电量的计算。系统每隔一段时间将计算的电流有效值通过串口发送至串口调试助手,以实时观测测量的电流有效值。
为确保系统选择的采样频率既满足直流信号采样也满足交流信号采样,同时考虑在数据处理过程中STM32F030C8T6片内RAM资源的使用,基于过采样方法确定进行三通道数据采样时采样频率为5K。采样时以交流供电负载的应用为主,即输入通道的50Hz交流信号一个周期可采样100个数据点。单个输入通道每采样1个数据点后随即进行电流瞬时值的计算,待采集完两个周期信号后进行一次电流有效值的计算。数据处理的过程需消耗控制器大量时间,经测试发现系统完成三通道数据的实时采样选择采样频率为5K时比较合理。对于多通道的数据采集,采样频率可依据系统需求灵活调整。
系统主程序流程图如图3所示:
图3 系统主程序流程图
为测试该电流实时监测系统的稳定性及可靠性,实验中分别对直流电源供电负载及交流电源供电负载进行系统测试。
系统进行直流测试前,将100W/1Ω的功率电阻作为负载接入传感器输入端,以±3A量程的直流稳压电源作为供电电源接入电路。测试时,将万用表串联在电路中,测量功率电阻的工作电流以获得实验的实际值;经传感器输出后进入STM32进行AD采样处理,最终在串口调试助手观察到的电流有效值作为实验的测量值。其测试结果如表1所示:
表1 直流测试结果
表2 电流监测及继电器控制模块测试结果
从表1、表2中可以看出,直流及交流测试结果误差均较小,实现了负载工作电流的准确监测,确保了系统工作的可靠性。
本文介绍的电流实时监测系统成本低,测量范围广,可靠性较高,基本实现了负载工作电流的准确监测。选用的电流传感器ACS712,可同时实现直流及交流的测量;主控制器STM32丰富的资源可实现采样后数据的处理及传输。本文在智能家居及安防系统具备潜在的应用价值及扩展空间。
[1]董建怀.基于CC2530的电流及温度监测系统的设计与实现[J].厦门理工学院学报,2011,19(3):59-63.
[2]董建怀.电流传感器ACS712的原理与应用[J].中国科技信息,2010(5):92-96.
[3]吴家平,沈建华.基于STM32微控制器的过采样技术研究与实现[J].计算机技术与发展,2010,20(2):209-212.
[4]意法半导体.STM32F03xxx参考手册[EB/OL].[2010-01-10].http://www.st.com/stonline/products/literature/ds/13587.pdf.