1 单相电子式电能表的工作原理及硬件结构
1.1 工作原理
在单相电子式电能表中,电流回路由锰铜取样电阻产生电流取样信号,电压回路由串联分压电阻产生电压取样信号,取样信号同时送入电能计量芯片AD71056的采样端;AD71056内部的两个ADC 对来自电流和电压的取样信号进行数字化,形成数字信号,再送到乘法器进行乘法运算,产生瞬时功率;瞬时功率通过低通滤波器(LPF) 滤波后就获得平均有功功率,而后把平均有功功率累加经数字频率转换器输出功率脉冲至时基计数电路,时基计数电路输出与用电量成正比的用电脉冲。用电输出脉冲分两路,经不同的分频后,一路为慢脉冲,通过驱动步进电机带动计度器计量电能;另一路为快脉冲,接脉冲输出端和指示灯,输出的脉冲用于校表或抄表。
1.2 硬件结构
单相电子式电能表由单片机及复位电路、计量电路、存储电路、RS485及红外通信电路、供电电路、驱动及显示组成。
1.2.1 单片机及复位电路
P89LPC921是一款单片封装的微控制器,用于许多要求高集成度、低成本的场合,其指令执行时间只需2~4个时钟周期。P89LPC921集成了许多系统级的功能,可大大减少元件的数目,减小电路板面积,并降低系统的成本;具有波特率发生器、间隔检测、帧错误检测、自动地址识别和通用的中断功能;400 kHz字节宽度的I2C通信端口,低电压复位(掉电检测)可在电源故障时使系统安全关闭。
复位电路采用了AME8500R芯片。单片机及外围电路如图1所示。
图1 单片机及外围电路
1.2.2 计量电路
计量电路主要有电表专用计量芯片AD71056, 锰铜电阻R0作为电流取样,串联的电阻作为电压取样;被测电流、电压经精确分流分压后输出给电表专用计量芯片AD71056,由芯片内部经乘法运算后,一路脉冲F1、F2通过驱动步进电机带动计度器计量电能,另一路脉冲CF输出与负载功率成正比的脉冲序列,经光耦2501隔离输入单片机的INT1,用于存储计量数据和抄表用。本设计采用的AD71056芯片功能强大、性能优越,相对的外围应用电路很简单,只是一个整流稳压后产生AD71056所需要的单一高精直流5 V 电源。AD71056集成了ADE7755 的特点,同时集成了晶振以及直接驱动步进电机的电路,省去了外部晶振和步进电机的驱动电路,降低了系统的功耗,使外围电路更加简捷;也降低了电能表的制造成本,使单相电子式电能表又向前迈进了一步。图2是计量电路原理。
图2 计量电路原理
1.2.3 存储电路
存储电路采用了串行EEPROM 24LC16B作为数据存储器。24LC16B具有在系统进行电擦写数据及掉电后数据不丢失等特点;它占用的口线少,有比较完善的数据保护机制以及极低的功耗,适宜作为数据采集系统的数据保护存储器。存储电路有两个作用: ① 存储电表的初始信息(电表通信地址和最大负荷);② 存储当前累计电量,上月累计电量。单片机累计功率的脉冲个数,通过I2C 总线将电量数据写入24LC16B,并且可以通过RS485通信传给PC机或通过红外传给掌上抄表机。
1.2.4 RS485及红外通信电路
RS485的通信接口是由MAX13085芯片构成的。MAX13085芯片的发送控制端和LPC921的P1.6相连,PC机轮循发送机号给各个单相电子式电能表,单相电子式电能表检测自身机号是否与PC机发送的机号相符;相符的电能表通过LPC921的P1.6控制MAX13085芯片的发送控制端打开,将数据通过RS485通信接口传给PC机。为保护电表,RS485通信接口和电表内部电路实行电气隔离,并有失效保护电路(能承受AC 220 V攻击,持续时间2 min不损坏),接口电路具有抗6 kV雷击功能。
红外发射管采用TSAL6200,接收管采用AT138RV3。通信距离≥ 5 m,通信角度≥±15°。
通过红外或RS485接口对电表进行设置和抄收,可抄收表号、用户号、底度电量、当前有功总电量、脉冲常数、故障报警状态字。通过闭合编程跳线和验证密码,可设置电表表号、用户号、底度电量、密码。
HEF4066B是四路模拟开关,通过LPC921的P1.6口对红外或RS485的发送和接收信号进行控制。图3是红外485通信电路原理。
1.2.5 供电电路
供电电路采用两路输出: 一路采用7805芯片串联二极管降压输出3.6 V给单片机供电,另一路采用78L05芯片输出5 V给红外及RS485通信电路供电。7805输入端设置电源检测电路,检测信号VT通过串联电阻接LPC921的P0.1口供检测用。图4是供电电路原理。
图3 红外485通信电路原理
图4 供电电路原理
1.2.6 驱动及显示
驱动采用步进电机,显示采用计度器,AD71056的脉冲输出F1、F2通过驱动步进电机带动计度器计量电能。
2 软件设计
图5为电能表主程序流程。整个单相电子式电能表软件包括:主程序完成初始化工作,子程序包括电量计算子程序、存储器读写子程序、通信子程序。主程序循环执行,并等待INT01中断和红外或RS485通信中断。当有脉冲输入单片机INT1时,就产生INT1中断。在中断服务子程序中,每输入一个脉冲,脉冲数加1,当脉冲个数达到160时为0.1°。LPC921把电量数据通过I2C 总线写入24LC16B中,供PC机和掌上抄表机通信用。图6为INT1中断服务子程序流程。
图5 电能表主程序流程
存储器读写子程序包含两个操作——读操作和写操作。串行24LC16B的读操作分两步进行:单片机首先发送一个启动信号,设置24LC16B 的芯片地址和24LC16B 存储单元地址,在此期间相应位置会产生必要的应答位。接着,单片机重新发送另一个启动信号和含读操作命令(R/W = 1) 的24LC16B芯片地址,24LC16B发出应答信号后,要寻址存储单元的数据就从SDA 线上输出。在写操作中,单片机发送完8 位控制字节并接收到24LC16B 的应答信号后,接着发送24LC16B的操作地址,单片机再次收到应答信号后才发送待写入的数据。
图6 中断服务子程序流程
通信子程序:电能表通过数据包的通信方式和PC机或掌机进行数据传输。这种方式具有数据通信可靠,适应性强等优点。其通信数据是一帧或一包地发送,每包数据都由引导码、长度码、地址码、命令码、内容、校验码等部分组成。其中引导码是用于每一包数据的引导头,长度码是这一包数据的总长度,命令码是主机对分机(或分机应答主机)的控制命令,地址码是分机的本机地址号,内容是这一包数据里的各种信息,校验码是这一包数据的校验标志。
电能表接收到PC机或掌上抄表机发来的数据,首先检查数据包的从站地址。若与自己的地址不相符,则不予以响应;若与自己的地址相符,则对数据包进行校验。校验正确后,根据命令码的要求向PC机或掌上抄表机发送数据。
结语
采用电能计量专用芯片AD71056和单片机LPC921设计单相电子式电能表,成本低,电能计量精确;采用红外和RS485进行通信,可实现集中抄表的管理功能。