基于ADE7755的带CAN总线的工业用电度表设计方案
引言
随着计算机网络技术、专用集成芯片技术和现场总线技术的不断发展,对工业用电度表的计量精度和电量数据传输实时性的要求在不断提高。我国目前电力机车上装备的电度表基本上都是传统的机械式电度表,虽然机械式电度表存在抗干扰和抗震动性好的优点,但是其精度差,电量数据需要人为读数不能实时传输等弊端。为了改进现有机车上使用的电度表,根据美国AD公司推出的电量计量专用芯片ADE7755,提出了一种新型的电量计量方案。根据本方案设计的电度表除具有精度高、抗干扰和电量数据能够实时传输的功能外,还具有可以修改电度表初值的优点。
硬件电路设计
目前广泛使用机械式、电磁型和机电型等电度表普遍存在一个不能实时传输电量数据的缺陷,且各自又有或精度差或抗干扰能力差等弱点。作者结合当前普遍流行的现场总线技术和AD公司的ADE7755电量计量专用芯片以及飞利普公司的P87C591单片机,提出了一种能实现数据实时传输且具有抗干扰能力的电量计量方案。总体电路框图如图1所示:
图1 总体电路框图
图1中,由PT和CT在电网中测得相应的电压和电流信号,送到ADE7755中进行电量计算,算出来的功率值分两种,一种是低频的平均功率值,送往机电式电度表用于显示;另一种是高频瞬时功率值,送入带CAN总线控制器的P87C591单片机,根据上位机的要求算出目前使用的电量值,并通过CAN总线,与上位机之间实现通信。
其中电压输入通道(V2N,V2P)输入电压信号是PT测得的电压信号在经过预防电磁干扰作用的铁氧体和衰减网络后进入的。
在电流和电压信号的输入端,进行了相应的滤波处理,以增强抗干扰能力。
ADE7755工作原理
若电压U(t)和电流I(t)均为正弦波,且:
则瞬时功率P(t)为
平均功率P为:
ADE7755是一种采用电压和电流直接相乘的方法得到瞬时有功功率,再由瞬时有功功率求出平均有功功率。如图2所示,由电压传感器和电流传感器得到电压和电流信号分别经两路A/D转换器转换成数字信号送入电压通道V2N、V2P和电流通道V1N、V1P。电流通道中的高通滤波器是用来滤除电流分量中的直流电流,以便减小电流直流分量对瞬时有功功率计算的影响。经滤波后的电压和电流信号经乘法器相乘后,所得的信号经低通滤波器后滤掉交流分量后,得到的直流分量就是瞬时有功功率。此信号经过数频转换器转换成与平均有功功率成正比的低频信号经过F1、F2端口输出,同时从高频口CF输出与瞬时有功功率成正比的脉冲信号。低频端口F1和F2的输出脉冲频率freq与高频端口CF输出脉冲频率fCF可由下式确定:
其中系数Gin为输入增益,F 1-4为可由主时钟CLKIN获得的分频,Uref为基准电压,K为比例系数。
ADE7755的外围电路中,通过输出频率设置电路实现对CF口输出频率的设置,即电表常数的设置。本电表的电表常数设定为3200imp/kwh,即计录一千瓦的功率,要求ADE7755在CF口输出3200个脉冲。
图2 ADE7755的内部框图
ADE7755是一种高精度的电量计量芯片,在工频情况下,在500:1的动态范围内,精度达到0.1%。技术指标超过了IEC1036标准的要求。
唯一的模拟电路是模数转换电路,其他电路都是采用数字电路,这保证了该芯片具有足够的抗干扰的能力。通过F1和F2实时输出功率信息,能直接驱动电度表计数器或直接和单片机连接。
电源电路的设计
ADE7755所用的+2.5V基准电压是用AD780实现的,其接口电路简单。5V的基准电源电路如图3所示:
图3 5V基准电源电路
经过此电路可以在电源模块MC7805的3端得到+5V的基准电源。其中R25为压敏变阻器。
P87C591外围电路和CAN总线部分设计
通过P87C591电路可以实现指定时间内用电量的计算、数据存储、修改电度表数值和通过图4所示的CAN总线收发电路实现与上位机的通信。
有关P87C591外围电路设计,可以参见其他单片机的外围电路设计,这里不再赘述。
图4 CAN总线收发电路
连接P87C591和单片机之间的芯片是P82C250。图4这部分电路的原理可以参考有关CAN总线设计方面的资料,这里也不再阐述。
软件部分设计
本方案的软件部分主要由主程序和中断服务子程序组成。其中主程序完成的功能有芯片和CAN总线的初始化、进行电量的计算和存储。
中断服务子程序完成的功能是利用CAN总线实现和主机之间的通信和电表初值的设定。其中电表初值设置由上位机完成,这样可以节省单片机的外围电路并且可以防止现场人为恶意的更改电量值。其中CAN总线的初始化程序如下:
voidinit_can_controller()
{
//进入CAN控制器复位模式
CANMOD=0x01; //将CAN控制器设置为复位模式以启动初始化
//TXDCPort(P1.1)配置
//管脚TXDC设置为推挽模式
P1M2=P1M2|0x02;//P1M2.1=’1’,P1M1.1=’0’(默认)
CANADR=BTR0; //BTR0和BTR1编程为125kbit/s@12MHz
CANDAT=0x45;
CANADR=BTR1;//TSEG1=12,TSEG2=3,SJW=2
CANDAT=0x2B;//Sample=1->sample point~81%
//验收滤波器的配置-- Bank1的滤波器1配置为接收ID=010.0000.0xxx
CANADR=ACR10;//将地址设置到验收代码寄存器0(Bank1)
CANDAT=0x50;//验收代码0用于滤波
CANDAT=0xE0;
CANADR=AMR10;//将地址设置到验收屏蔽寄存器0(Bank1)
CANDAT=0x00;//bank1:验收屏蔽0
CANDAT=0x0F;//bank1:验收屏蔽1只与高四位有关
CANDAT=0xFF;//bank1:验收屏蔽2无关
CANDAT=0xFF;//bank1:验收屏蔽3无关
CANADR=ACFMOD;//将地址设置到ACF模式寄存器
CANDAT=0x55;//单验收滤波器使用11位ID(SFF)
CANADR=ACFPRIO;//将地址设置到ACF优先级寄存器
CANDAT=0xFF;//所有滤波器都为高优先级
- 基于ADE7755的新型电量计量方案(09-06)
- 利用Cadence设计COMS低噪声放大器(06-11)
- 中芯国际采用Cadence DFM解决方案(09-21)
- 电源及电源管理方案大联盟(02-05)
- 一种低噪声高增益零中频放大器的设计与实现(05-11)
- 检测LDMOS漏端电压判断是否过流方案(08-29)