关键词:cs5460a;zlg500c;电能参数;智能电力控制
中图分类号:tp29文献标识码:a
文章编号:1004-373x(2010)01-167-04
intelligent power control system based on cs5460a
zhou minqi,zhang qian
(shanghai normal university,shanghai,200032,china)
abstract:cs5460a is used to design the intellgent power control system,andstructure design of the system is can measure,calculate and save current,voltage and power addition,this system combines ds1302,x5045 and zlg500c to achieve the automatic meter reading,reomte check meter,information backup and automatic achieve the automation control and digital management.
keywords:cs5460a;zlg500c;power parameter;intelligent power control
0 引 言
随着智能家居时代的来临,传统的感应式电能表不但无法满足自动化控制的需要,也为数字化集中管理带来了不便。本系统的研究主要是针对智能家居的自动化、网络化和数字化需求所提出的,使用cs5460a电能计量芯片与相关外围芯片结合,不但实现了最基本的电能测量,还具有自动抄表、过载断电等功能。本系统通过微处理器对整个系统进行控制,因此能够用软件的方法实现信息的采集、处理和存储,大大简化了仪器的整体结构。
1 系统硬件设计
1.1 系统的总体架构
为了使操作可视化,该系统采用键盘输入,同时加入lcd,构成人机互动界面。为了更易于组建分布式电能管理系统,该电能表加入了标准的rs 485串行接口,将相关数据上传至上位机进行统一管理。电能表的硬件是由mcu p89c61x2、cs5460a、lcd、ds1302、x5045等所组成,其组成如图1所示。该系统的工作原理如下:由互感器电路及取样电路将回路的电压和电流信号转换为最大有效值为250 mv的小电压信号。cs5460a根据采样电路输入的电压电流算出电能,然后把电压、电流和功率存入e2prom再由串行差分总线rs 485传送给cpu,cpu将数据进行处理后显示在lcd上。同时可以根据ds1302内的时钟信息,定期将用电数据者通过rs 485串行接口把当月用电量传给上位机。该系统中的e2prom 存有增益校正和偏移校正的系数以及相关的电能计量信息。可以看出,电能表的准确与否取决于采样电路的设计及电能计量芯片的性能。
图1 系统硬件结构框图
1.2 采样电路的设计
cs5460a 的电压通道和电流通道可与电阻分流器或互感器接口。其电流通道的可编程增益放大器(pga)的增益可设为10 db和50 db,分别对应于最大有效值为250 mv和50 mv的交流信号输入;电压通道的最大有效值输入为250 mv。由于cs5460a的σ-δ型模/数转换器采用过采样原理,对高频噪声有较强的抑制,因而对输入信号无需进行复杂的滤波器处理,引入阻容滤波电路反而容易引起相移[1]。
图2和图3是电压和电流的采样电路。在图2中,pt是变比为1∶1的电流型电压互感器,ct为变比2 000∶1的电流互感器。取样电阻r3,r4,r5,r6的阻值由被测信号的最大值决定。电阻r1,r2,r7,r8为电压、电流模拟通道的输入保护电阻。原理图中r3=r4,r5=r6。经变换后的小信号以差模电压的形式接到cs5460a的模拟信号输入端,减小输入阻抗。由于互感器的使用引入可能造成输入信号的相移,使功率测量的误差增大。而cs5460a具有相位补偿功能(可进行-2.4°~+2.5°的相位补偿),可以大大减小互感器相移所带来的误差的影响。
图2 电压采样电路
图3 电流采样电路
1.3 cs5460a的接口设计[2]
cs5460a 的串行口包括4条控制线:cs,sdi,sdo,sclk,极易与微处理器连接。对其操作是通过传输命令字来实现的,cs5460a的命令字包括寄存器读写、校准等在内的7个命令字。具体来说,一个数据的传输总是从向串行接口的sdi发送8位命令字开始的,当命令中包括一个写入操作时,在其后有24个行数据。当发出一个读取命令字时,串口将根据发出的命令,在其后的8,16,24个sclk周期从sdo引脚上串行输出寄存器内容[3]。
cs5460a的数据输入sdi、数据输出sdo、串行时钟sclk、片选cs、分别mcu与mc的p0.0,p0.1,p0.2,p0.4相连,复位端reset接p89c61x2的p0.3,测量之前要对cs5460a进行复位。
int引脚用来通知系统转换器转换结束或出错信息,这些事件包括芯片运行的状态和内部故障状态,与p89c61x2的int0相连,低电平有效。状态寄存器与屏蔽寄存器组合将产生int信号,当状态寄存器的某位有效,并且屏蔽寄存器相应的位是逻辑1,int信号被激活;当状态寄存器的这一位恢复为无效时,中断状态被清除,一般89c51每经一次计算周期通过中断或查询读一次测量数据。cs5460a与89c51系列单片机的接口电路如图4所示。
图4 cs5460与单片机的接口原理图
1.4 时钟模块的接口设计
ds1302是dallas公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31 字节静态ram 通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过am/pm 指示决定采用24 或12 小时格式ds1302 与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线:rst 复位端;i/o数据线;sclk串行时钟时钟。ram 的读/写数据以一个字节或多达31 个字节的字符组方式通信。ds1302 工作时功耗很低保持数据和时钟信息时功率小于1 mw[4]。其接口电路如图5所示。
图5 ds1302的接口电路
1.5 e2prom模块的接口设计
该芯片内的串行e2prom是具有xicor公司块锁的保护功能的cmos串行e2prom,它被组织成8位结构,由一个四线构成的spi 总线方式进行操作,其擦写次数至少有1 000 000次,并且能保存数据长达100年[5]。x5045的接口电路如图6所示。
为了能减少i/o口的占用,提高系统的集成度,本系统采用zlg500c读卡器模块来进行开发。zlg500c以mfrc500为主体,该系列模块具有如下特点: 四层电路板设计,双面表贴工艺,emc性能优良; 采用philips高集成度读卡芯片mfrc500; 具有控制线和可控蜂鸣器信号输出; 能读写mfrc500内e2prom;支持mifare1 s50,mifare1 s70,mifare ultralight,mifare light。
在使用时只需将rx,tx和相应控制接口接入max485的相应端口即可,模块中所具有的微控制器能根据特定的数据格式,进行网络层和数据链路层的格式转换,使得zlg500c和单片机之间进行通讯[6]。
图6 x5045的接口电路
2 系统软件设计
2.1 系统主体程序框架设计
整个系统软件由主程序与数据采集子程序、数据记录子程序、数据通信子程序、异常处理子程序、显示子程序等组成。如图7所示。
图7 系统主程序流程图
2.2 cs5460a的程序设计
2.2.1 cs5460a的校准
为了能使提高cs5460a的实际测量准确度,在开始测量前要对其进行校准。cs5460a提供ac和dc校准。用户通过设置校准命令字中的相应位来决定执行那种校准,不管是那种校准都有两种模式:系统偏移校准和系统增益校准。无论是ac 还是dc 校准,用户都必须提供正的满量程信号以完成系统增益校准以及参考地电平以完成系统偏移校准,用户提供的校准信号的差分电压必须限定在差分电压输入范围内。因为本文使用的是市电即交流信号(220 v,50 hz),所以校准均采用ac校准。ac偏移校准时需提供零电压和零电流信号,最后得到的实际测量值=线性值+偏移值;ac增益校准实质是对cs5460a的电压电流有效值寄存器、电能寄存器进行系统刻度校准,需提供满量程电压电流信号。最后使得对应输入端校准参考信号电平的电压有效值寄存器(rms)的值为0.6。然而,每次复位会将偏移寄存器清0和增益寄存器置1,因此,将第一次校准得到的偏移寄存器值、增益寄存器值保存在e2prom,每次复位后,cs5460a初始化时将这些值重新装入对应的寄存器中。校准的一般流程如图8所示[7,8]。
图8 校准的流程框图
2.2.2 cs5460a的初始化
在该系统中,cs5460a的工作时钟mclk选定为4.096 mhz,分频系数k设为1,循环计数寄存器的n值设为4 000,则一个基本的计算周期[9]为(1 024×n)/(mclk/k)=1 s。
cs5460a 与单片机的接口非常简单,但它的初始化命令较多,使用上有一定的技巧,如使用不当有时可能初始化不成功,引起芯片的转换出错,使系统不能正常工作。所以在使用过程中将初始化过程反复调试,编成通用子程序,使用时调用,可确保每次运行的准确、可靠。cs5460a初始化子程序框图如图9所示[10]。
图9 cs5460a初始化框图
cs5460a初始化程序如下:
cs5460awritereg(0x40);//写配置寄存器
cs5460awritereg(0x78);//写控制寄存器
cs5460awritereg(0x74);//写屏蔽寄存器
readbyte();//从e2prom中读取校准值
cs5460awritereg(0x60);//写交流电流偏移寄存器
cs5460awritereg(0x62);//写交流电压偏移寄存器
cs5460awritereg(0x44);//写交流电流增益寄存器
cs5460awritereg(0x48);//写交流电压增益寄存器
cs5460awritecommand(0xe8);//写入开始转换命令
2.3 zlg500c的程序设计
zlg500c模块通过对上位机电能数据的存取,和对非接触ic卡的值操作,可以实现对电表的远程付费。
一般非接触ic的读卡流程如图10所示。
图10 读卡器操作流程
程序如下:
if(piccrequest(reqstd,databfr)!=ok) continue;//选中idle
if(piccanticoll(selcode1,0,cardsnr)!=ok)continue;//一级防碰撞,返回卡号
if(piccselect(selcode1,cardsnr,databfr)!=ok)continue;//选中返回idle卡
if(piccauthkey(keya,cardsnr,password,4)!=ok)continue;//密码匹配
2.4 中断服务程序的设计
2.4.1 电能测量中断处理
中断处理子程序:本系统利用单片机外部中断int0,低电平有效。当cs5460a的一个计算周期结束后,int引脚由高电平变为低电平,触发微单片机外部中断int0,程序转到中断处理子程序。中断服务子程序的功能是先读取cs5460a的寄存器值,然后判断用电量是否过载,如果过载则通过继电器断开总电源,如果用电在额定功率范围内,则更新e2prom中i,v,p寄存器内的值并将最新的电能寄存器中的值与e2prom中的电能数据进行累加后存入e2prom并将数据显示在lcd上。最后判断当月用电信息是否已经上传至上位机,若未上传则通过rs 485上传信息。
2.4.2 按键中断处理
本系统中设有一个付费按键,该键连接外部中断int1,中断触发后执行如图11所示流程。
图11 按键中断触发程序
3 结 语
综上所述,本文为智能化电能管理提供了一个有效的解决方案。本系统因采用的x5045,所以可将电压和电流有效值、功率、用电量等历史数据保存在e2prom中,不断刷新,以供出现故障时查看故障过程,同时系统作为智能终端通过rs 485串行差分总线与上位计算机连接,将当前计算所得数据上传。对用电功率、电流、电压、频率、电量等进行集中监测和控制,设计出分布式电能控制系统,实现电能的分散控制和集中管理。此外,该系统可通过模拟开关复用rs 485总线,读卡器模块zlg500c实现远程电能付费等一体化的功能。
编辑整理
参考文献
[1]陈国杰,徐志民.基于cs5460a的真有效值电参数测试仪的设计[j].仪表技术,2002(2):21-25.
[2]cirrus cs5460a product data sheet./,2009.
[3]崔鹏,邵建龙.电能计量芯片cs5460在msp430中的应用[j].单片机与嵌入式系统应用,2007(9):37-39.
[4]21ic ds1302-dallas semiconducotr./?id=709719(pdf),2009.
[5]21ic x5045-xicor inc./?id=106248(pdf),2009.
[6]周立功.zlg500c模块使用指南[eb/ol]./,2009.
[7]227:calibrating the cs5460a./,2009.
[8]王绮江,毛明荣.cs5460a芯片及其实现的单相电能表现场校验仪[j].自动化仪器与仪表,2002(5):23-25.
[9]曾智刚,周岳松,谢晨呖.cs5460a芯片与其在功率测量的一种应用[j].现代电子技术,2004,27(3):100-102.
[10]黄玲高,高中文.基于电能计量芯片cs5460的电子式电能表[j].自动化与仪器仪表,2002(5):38-40.
中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。