基于STPM01的防窃电电能表设计
不论在发达国家还是在发展中国家,窃电都是一个非常棘手的问题,每年都给供电企业造成巨大损失。现在的防窃电方法多是从管理上采取措施,用这些方法即使查出了窃电行为,也往往由于缺乏依据而无法确定处罚额,甚至有时供电企业面临无法拿出窃电证据的尴尬。只有提高电能表本身的防窃电技术,才能从根本上杜绝窃电发生。由于窃电方法千变万化,防窃电电表设计一直是电表工程师面临的严峻挑战,数字式电表的发展为解决窃电问题提供了新途径。本文介绍的单相数字式防窃电电能表采用了计量芯片STPM01和微控制器P89LPC9401,可以有效防止多种窃电行为。
STPM01计量芯片简介
STPM01是ST公司推出的第一款电能计量专用芯片,有一个电压通道和两个电流通道,可以测量有功电能、无功电能、视在电能、电网频率、电压有效值和瞬时值以及电流有效值和瞬时值。其电流传感器可以选用ROGOWSKI线圈、电流互感器或者锰铜分流器。它是一款高精度计量芯片,在5%到1,000%动态范围内,可达到0.2%。STMP01主要由两部分组成即模拟部分和数字部分,包括前值放大器、A/D转换器、带隙电压基准、调压器、DSP和SPI接口等。
图1:STPM01内部框图。
芯片上还配置了56位OTP存贮器,可以将校表数据等信息烧录到芯片上。调压器除了向内部模拟和数字电路供电外,还向外部提供3V和1.5V电源。
电压通道的差分放大器增益为4倍,其输入最大差分信号为±0.3V。电流通道除了前置放大器外,还有一个可编程放大器,两个电流通道的放大倍数可独立编程,这为电流通道选用不同的传感器提供了方便。
STPM01内部有2个有功电能寄存器,即0类有功电能和1类有功电能。0类为基波有功电能,1类为含谐波的总有功电能(FUND=1时)。因此利用这两个寄存器可以计算出谐波电能含量。除测量和配置寄存器外片内还设有状态寄存器和模式寄存器。
通过设置配置位,STPM01可以独立工作,也可以作为单片机外围设备。在独立模式下,STPM01(MON和MOP管脚)可以直接驱动步进电机计度器,同时LED管脚输出有功电能脉冲,脉冲常数通过配置位选择。此模式下,SDA/TD管脚输出窃电指示信号,SCL/NLC管脚输出无负载指示信号,SYN 管脚输出电能反向指示信号。上电后,芯片按照OTP中的配置信息进行工作。
作为单片机外围设备时,STPM01可作为从机通过SPI接口与单片机通信,将测量数据、状态信息和配置信息传送给单片机,单片机还可以修改其配置位,实时更改STPM01的工作方式。配置位APL=0时,MOP管脚输出电压过零信号,MON输出看门狗信号。而通过设置配置位KMOT,LED管脚可以输出基波有功电能、总有功电能、无功电能或视在电能脉冲;APL=1时,MOP脚输出电压A/D转换值,MON脚输出电流A/D转换值,LED脚输出电流通道选择信号。
STPM01有两个电流通道,可分别用于监测火线和零线电流,当两者的差别超过设定阀值时,芯片进入窃电状态,取较大者用于电能计算。阀值可通过配置位设为12.5%或6.25%。当两通道电流符号不同时,不判断电流大小直接进入窃电状态。在窃电状态下,窃电状态位BIT置位,如果此时芯片工作在独立模式,窃电状态还通过SDATD管脚输出。
STPM01还有一种单线计量模式。如果FRS设为1,在没有输入电压信号或电压信号稳定不变时,芯片进入单线计量模式。此时不对电压信号采样,而用设定的额定电压计算电能(按功率因数为1计算)。单线计量模式要求电流传感器必须采用ROGOWSKI线圈。累加方式也可以选择,配置位ABS置1时电能按绝对值累计,ABS清零时电能按代数和累计。
P89LPC9401微控制器简介
P89LPC9401是一款低成本单片机,它采用了高性能处理器结构,指令执行时间只需2到4个时钟周期,6倍于标准80C51器件。它实际上是 P89LPC931微控制器和PCF8576D液晶驱动器的复合体。其主要特性如下:8KB的Flash程序存储器,单字节擦除特性使每个字节都可用作非易失性数据存储器;256B RAM数据存储器;4×32段LCD驱动器;2个模拟比较器,2个16位定时/计数器和1个RTC定时器;8个键盘中断输入,2路外部中断输入;4个中断优先级;有20~23个I/O口,端口驱动能力20mA;具有I2C、SPI和增强型UART端口;CPU时钟可选择片内看门狗振荡器、片内RC振荡器、外部晶振振荡器或外部时钟源;掉电检测可在电源故障时使系统安全关闭;具有空闲和两种不同的掉电模式及唤醒功能;可选择片内复位或外部复位;支持ICP、 ISP和IAP编程,Flash保密位防止程序读出;VDD工作电压范围为2.4~3.6V,I/O口可承受5V。
系统方案
电表设计用于220V/50Hz电网,基本电流10A,最大电流40A。主要由计量模块、系统控制模块、数据显示及存贮模块、通讯模块、RTC实时时钟和电源模块组成。
图2:电表设计系统框图。
电压和电流分别由电阻分压器和电流互感器和锰铜分流器取样,取样信号送入计量芯片STPM01,由STPM01对信号进行采样并转换为数字信号,再经过相位校正,计算出电能、电流、电压等数据,STPM01自动选择电流较大的通道计算电能。这些数据通过SPI接口传送给LPC9401。
LPC9401读取计量芯片数据后,完成电能的累计、存储和显示,并输出电能脉冲,实时检测电表工作状态,记录所发生的窃电事件,给出窃电指示信号。通过红外通讯模块实现对电表数据抄读和设置,电源模块为整个系统提供工作电源,电源掉电后,单片机关闭液晶显示,进入完全掉电模式,将功耗降到最低,仅由后备电池维持单片机内部RTC运行。
P89LPC9401资源十分丰富,具有多种总线接口。其SPI接口用于连接STPM01,I2C接口用于LCD显示和EEPROM数据存贮,UART接口用于红外通信,外部中断1用于掉电检测。为降低成本,采用内部RTC为事件记录提供时标,CPU时钟源也采用内部的RC振荡器,通过DIVM寄存器2分频将CPU时钟调整为3.686MHz,以降低系统功耗。采用内部和外部双看门狗的设计,提供系统可靠性。内部看门狗使用独立振荡器,将STPM01设置为外部看门狗,其看门狗复位信号连接到LPC9401的键盘中断口。
STPM01与P89LPC9401接口设计
STPM01的SPI接口是一个两线口,其数据输入输出是同一个管脚,与标准三线SPI口不同。我们采用了图3所示方法连接两芯片。
作为SPI总线主机,LPC9401输出时钟信号,STPM01依照SCLNLC的时钟信号进行通信。为提高抗干扰性能,在连线中串联一个10~100Ω 电阻,该电阻与芯片管脚输入电容构成低通滤波器,滤除连线上的干扰。LPC9401读取STPM01数据时,使用片上的SPI模块。而向STPM01写数据时,不使用SPI总线控制模块,而采用软件模拟SPI时序输出数据。这样设计是考虑到电表运行时,LPC9401很少向STPM01写数据,而读数据非常频繁。这种设计充分利用了芯片的资源,提高了程序运行效率。
取样电路设计
电压取样采用电阻分压,考虑到贴片电阻的耐压有限,选用4只200kΩ电阻做分压器。STPM01电压通道最大输入差分电压为±0.3V,对于50Hz交流电,对应有效值为0.21VRMS,输入信号不能大于此最大值,否则会出现削峰。考虑到余量,对于220V额定电压,我们取0.16VRMS,则
取样电阻=200×4×0.16/220=581Ω,我们选560Ω作为取样电阻。
相电流传感器我们采用互感器,变比为5,000:1。该通道增益设置为8,则输入最大信号为0.105VRMS,考虑到一定余量,在40A时,输入信号选择在0.08VRMS左右,则互感器负载电阻为0.08/40×5,000=10Ω。
零线电流通道我们采用锰铜分流器,分流器阻值取250μΩ。阻值不能取得过大或过小,如果选得过小,则在小电流时取样信号太微弱,导致误差增大,容易超差。如果选得过大,则大电流时分流器发热过大,造成误差不稳定。
图3:SPI接口示意图。
对于250μΩ分流器,在40A时其两端电压信号为250×40=10,000μV,即10mVRMS。取样信号非常小,所以该通道增益应设置为最大即32倍,此时信号输入最大幅度为26.25mVRMS。实际最大输入信号小于允许的最大输入信号,分流器阻值选择合理。
电源电路设计
电源模块由主电源和副电源组成,主电源在电压线路电压存在时工作。当电压消失,而电流线路有电流时,副电源为系统提供电源,此时电表按照设定方式计量电能。
STPM01工作电压为3.0~5.5V,LPC9401工作电压为2.4~3.6V,考虑到功耗和余量,系统工作电压设计为3.3V。主电源我们采用线性电源,220V交流电经变压、整流、滤波和稳压后得到3.3V电源。对于副电源,首先由一个电流-电压感应器将电流线路的电流通过电磁感应转换为交流电压,当火线和零线中的电流大小相等方向相反时,感应器无电压输出,否则会输出一定幅度的电压,此电压经整流、滤波和稳压后得到3.3V电源。
软件设计
电表软件采用模块化设计,主要包括以下几个子程序:电能计量子程序、显示子程序、日历子程序、掉电处理子程序、通讯子程序等。
这里主要介绍一下电能计量子程序。电表上电后,主程序进行初始化,写入STPM01配置参数,设定定时时间以定时调用电能计量子程序。计量子程序读取测量数据和状态,计算出电量值并输出电能脉冲。主电源失电后,若从STPM01读取得电流值不为零,则认为电表处于单线计量的窃电状态,此时以额定电压计算电量。定时读取STPM01的时间,应满足在最大电流时,电能寄存器不发生溢出,并考虑一定过载余量。由于启用了STPM01的看门狗功能,如果1.6s内没有对STPM01进行读/写,STPM01就会输出看门狗信号,使MCU产生中断。因此,定时读取时间最长不能超过1.6s。
图4:电能计量子程序流程图。
防窃电功能
本方案设计的电表,可以防止以下几种窃电行为。
1. 进出线反接:即负载端和电网端接线对调,此时测得的电能为负值。此时对于普通机械式电表,其计度器将反转,导致读数减少,而本表仍按正向累计电量;
2. 进出线旁路:即相线或零线的进线和出线被旁路,此时普通电表会少计旁路电能,本表则能准确计量实际耗电;
3. 相零对调:即相线与零线对调,本表仍能准确计量电能;
4. 负载接地:即负载只接相线,而将零线接入大地,本表仍能准确计量电能;
5. 相零对调并且负载接地:此时普通电表不计电能,而本表能准确计量电能;
6. 单线计量:即在入线侧将零线断开,负载接出线侧相线,另一端接地。此时普通电表不能工作,无法计量电能,本表在负载电流达到2A以上时,可以计量电能,并且精度可以达到1%以上。
以上各种手法组合使用时,本表也能达到防窃电目的。
本文小结
本设计采用STPM01作为核心计量芯片,P89LPC9401作为系统控制器,整个系统功耗低,性能稳定。整表功能强大,精度高,动态范围大,误差稳定。如果提高电流-电压感应器的转换效率,并努力降低系统功耗,则单线计量启动电流可以进一步降低,有希望做到1A以下,防窃电效果会更理想
评论
查看更多