1 引言
随着电子技术的飞速发展,电能计量系统正在向高精度、长寿命、微型化、智能化、网络化方向发展。本文所研制的三相多功能电能计量系统以高性能低功耗的8位Freescale单片机MC68HC908LJ12为核心,集计量、显示、控制、保护和通信于一体,采用ATT7022B作为计量芯片。ATT7022B是一款精度高且功能强的多功能基波谐波三相电能专用计量芯片,该芯片适用于三相三线和三相四线的应用,它还集成了参考电压电路以及所有包括基波、谐波和全波的各项电参数测量的数字信号处理电路,能够测量各相及合相包括基波、谐波和全波有功功率,无功功率,视在功率,有功能量以及无功能量。
2 系统硬件电路设计
本系统采用专用计量芯片ATT7022B来检测电信号,配以单片机MC68HC908LJ12编程实现多种功能。检测部分由精密电流互感器、电压互感器和外围处理电路组成,从而得到电流、电压、频率、相位等实时数据,并输入到计量芯片中。计量芯片通过对各个输入信号计量之后,将计量得到各种电能参数输入到控制部分即MCU中,由MCU中的程序决定它将那些参数经过处理后送到存储器中储存,并送到显示部分进行显示。显示部分采用高品质液晶显示模块,可显示4行,每行20个字符。通信接口采用RS-485通信模块,和上位机进行通信,本系统中用的是MAX487芯片,它为单一电源+5V供电,8个引脚使用简单、方便。如果通信接口接到上位机的命令,则将命令传输到MCU中,根据命令可将电能参数传送到上位机,这样便可以实现自动抄表、远程控制等功能。系统硬件电路图如图1所示。
3 键盘模块硬件设计
MC68HC908LJ12自带有键盘中断,共有8个I/O口可作为键盘接口,分别为PTA0/KBI0、PTA1/KBI1、PTA2/KBI2、PTA3/KBI03、PTD4/KBI4、PTD5/KBI5、PTD6/KBI6、PTD7/KBI7 。本设计的键盘模块共用到MC68HC908LJ12的5个键盘引脚。
具体分配如下:
(1) PTA0/KBI0连接的键K1按下进行实时电能计量
实时电能计量包括峰时(负荷大于或等于额定负荷的20%)的有功功率、无功功率、功率因数和谷时(负荷小于额定负荷的20%)的有功功率、无功功率、功率因数,并加以显示。
(2) PTA1/KBI1连接的键K2按下进行峰时差量电能计量
峰时差量电能计量包括有功电能、无功电能,并显示峰时上一次按键时的电能数据,以及上一次按键时的电能数据和实时电能数据的差值。
(3) PTA2/KBI2连接的键K3按下进行谷时差量电能计量
谷时差量电能计量包括有功电能、无功电能,并显示峰时上一次按键时的电能数据,以及上一次按键时的电能数据和实时电能数据的差值。
(4) PTA3/KBI3连接的键K4按下则显示故障和异常情况纪录
故障和异常情况纪录包括上5次断电次数及每次起止时间,上5次谐波功率大于设定值次数及每次起止时间,上5次反向有功电能次数及每次起止时间,上5次失压相位号、次数及每次起止时间,上5次相序错次数及每次起止时间。
(5) PTD5/KBI5连接的键K5按下将电能数据清零
每个键按下显示需要显示的内容后停留30秒后,重新回到不按键时的状态。不按键时以20秒为周期循环显示峰时总的有功电能、无功电能和谷时总的有功电能、无功电能。
具体连接电路图如图2所示。
4 键盘模块软件设计
电能表系统的很多主要功能,如实时电能计量、差量电能计量等,都是通过键盘中断实现的,因此键盘中断程序是系统程序中的重要组成部分。
键盘模块共有5个按键,分别实现不同的功能:K1键按下进行实时电能计量,包括峰时(负荷大于或等于额定负荷的20%)的有功功率、无功功率、功率因数和谷时(负荷小于额定负荷的20%)的有功功率、无功功率、功率因数,并加以显示;K2键按下进行峰时差量电能计量,包括有功电能、无功电能,并显示峰时上一次按键时的电能数据,以及上一次按键时的电能数据和实时电能数据的差值; K3键按下进行谷时差量电能计量,包括有功电能、无功电能,并显示峰时上一次按键时的电能数据,以及上一次按键时的电能数据和实时电能数据的差值;K4键按下则显示故障和异常情况纪录,包括上5次断电次数及每次起止时间,上5次谐波功率大于设定值次数及每次起止时间,上5次反向有功电能次数及每次起止时间,上5次失压相位号、次数及每次起止时间,上5次相序错次数及每次起止时间;K5键按下将电能表数据清零。每个键按下显示停留30秒后,重新回到不按键时的状态。
键盘中断模块程序开始后,首先屏蔽键盘中断,以防在处理期间丢失键盘中断命令,然后判断是由哪一个键按下引起的中断,并执行此键的程序,执行程序完毕后,清除中断确认,避免误中断,再重新开启键盘中断功能。如键K1按下进行实时电能计量,软件流程图如图3所示。
需要注意的是,程序使用中断时,要在项目P&E_FCS_linker.prm文件中加入中断说明语句VECTOR 15 KBI_ISR。
键盘中断模块部分程序如下:
interrupt void KBI_ISR(void)
{ KBSCR_IMASKK = 1;
if(PTA_PTA0= =0)
{ pqt( );
}
if(PTA_PTA1= =0)
{ diffpEpqt( );
}
if(PTA_PTA2= =0)
{ diffvEpqt( );
}
if(PTA_PTA3= =0)
{err( );
}
if(PTD_PTD5= =0)
{clear24c16( );
}
......
}
5 结束语
本文设计的智能三相电能计量系统采用中断的设计方法,设置了多个键盘中断,通过键盘中断实现系统所要实现的各个主要功能。系统复位启动以后,经过自检和一系列的初始化以后,系统开始循环等待中断的产生。系统实现了总电能计量、实时功率计量、差量电能计量、异常情况监测、时钟显示等主要功能。软件设计使得系统中核心部件Freescale单片机与专用计量芯片ATT7022B能够充分发挥其功用,核心部件与外围电路协调工作,系统集检测、计量、控制和通信于一体,能够广泛应用于各类电力系统。
参考文献:
[1] 黄鹤松,刘奎,齐俊清,王亚南.基于ATT7022B的多功能电能表系统的设计[J].电测与仪表,2011,(8):63-67
[2] 贺静丹,滕召胜,温和,周良璋.单相多功能电能表设计[J].电子测量与仪器学报,2011,25(1):89-95.
[3] 陈可,胡晓光,丁健.基于自动抄表系统的复费率载波电能表设计及中继算法研究[J].电力自动化设备,2011,(8):139-143.
作者简介:李楠(1983-),女,讲师,硕士,研究方向:智能仪器仪表等。