新一代单片电能表微控制器
如今用户电表正逐渐朝着多费率、多功能和高精度方向发展。本文详细描述了一种新型单片电表微控制器的功能和应用特性,它将使多功能、多费率电表设计更加简单和可靠,实现更加高效的电能传送,最终有效提高电表生产和制造效率。 传统的机械式电表存在一定的局限性,首先,它是一个机械装置。尽管经历一个多世纪后人们已能够制造非常可靠的机械式千瓦时电表,但机械装置的精度还是容易受磨损、震动及其它导致位移事件的影响。 另外一个限制是机械电表不能够记录时间,只记录费拉斯轮的旋转数,无法记录与之相对应的快速旋转和慢速旋转的时间。根据实际经验我们知道用户的用电需求不是一成不变的,白天的用电需求远远大于夜晚的需求。特别是在夏季,因为空调的大量用电需求而导致下午和傍晚的用电量激增。电力公司必须保证供电系统能够输送峰值电能等于或高于用户的峰值用电需求。这意味着在非峰值用电时间,发电机工作在轻负荷状态。由于电能不可以存储,因此势必造成重大的资源浪费。基于这个原因,电力公司希望采用一些奖励措施来平衡峰值电量需求和谷值电量需求。最好的方法当然是采用不同的峰值和谷值电价。机械式电表由于不能记录时间,因而无法满足这一要求。 第三个局限性就是传统的机械式电表只能够记录实时有功功率。理想情况下,输入电流和输入电压相位完全一致,电压和电流的乘积就等于实际输出的有功电能。然而,实际情况并非如此,感应电机和荧光灯等用电设备会导致电流相位偏离与之对应的电压相位,只有同相部分的区域才能形成有功功率,不同相部分的区域将会以无功功率形式返回电网,结果实际有用功率小于输入电压和电流的乘积。 对于大容量的工业用电客户,需要配置相应的无功功率电表实时监测和计量输送给客户的无功功率值。同时,工业客户必须根据合同约定确保一定标准的功率因数。使用多功能电表,电力公司可以轻松扩展功率因数监测范围至小规模商业用户,某些情况下甚至也可以监测小规模居所的功率因数指标。 最后,机械式电表的抄表计费是一件非常繁琐的工作。人工现场抄表费用昂贵,且容易出错;如果按照不同的价格区间分时计费,那么这个负担就会达到无法接受的程度。因此我们迫切需要采用自动集中抄表方案,以提高工作效率,减少人为误差。 综合上述因素,可以得出机械式电表具有诸多局限,市场迫切需要一种具有更高灵活性、能够实时测量时间和功率因数,并且具有更高计量精度和自动抄表能力的新型电表:以微控制器为主控制器的全电子式电能表。 实际上,电表制造厂商自1990年以来就已着手设计数字电能表。现在,新一代的混合信号微控制器使多功能、多费率电表设计更加简单和可靠。 设计基础 设计多功能电表软件是一项极具挑战的工作。第一,由于软件定义了该产品的基本功能,不同区域和不同应用环境需要采用不同的应用软件,电表的基本功能会有所差别;第二,虽然采用高级语言(例如 C语言)编程,但电表应用软件仍然需要根据不同的硬件运行环境做相应的定制化配置。电表硬件系统相对于操作软件比较简单,这实际上给电表制造商提供了一个具有较高生产效率的制造方案。因为装载软件是生产过程的最后一个流程,因此我们可以首先开发电表的基础电路板,然后根据最终用户的要求装入不同的应用软件。既可以达到降低、控制制造成本的目的,又可以实现更灵活的管理模式。Maxim提供采用C语言编写的参考设计程序,它能够基于最终用户的需求实现任意功能软件的定制服务。 电能测量 对于ADC指标,首先,需要了解其精度需求,绝大多数电表定义在整个量程范围达到1%的测量精度(注意不是满量程精度)。Maxim的参考设计能够在1A到40A输入电流范围内达到1%的精度。为了达到这个设计要求,电表必须能够分辨最小10mA的电流信号,但是在输入电流达到40A时,为了保证ADC不进入饱和状态,电流比须高达4,000:1。这样,ADC的位数不能低于12位,最好采用14位或更高分辨率的ADC。对于采样速率指标,根据奈奎斯特定理,采集最高60Hz的正弦波信号时,120Hz的采样率既可满足要求。但是,有一些电能表规格要求能够高精度地测量21次谐波频率的信号,对应的最高信号频率等于1,260Hz,因此采样频率必须等于或高于2,520Hz。就目前的ADC设计水平,业界已完全有能力将这样的ADC与微控制器集成在同一硅片上。 硬件设计分析 2.通信接口 #30005;表参考设计方案中,设置了两个外部的串行通信口。第一个是基于EIA485标准协议的通信口。在EIA485通信网络中,采用PC作为网络的主控制器。随着PC轮询这些电表,它们会进行响应,将表示所用电量的数据包上传。PC汇总所有用户数据之后再传送至计费中心。 第二个通信口是红外发送和接收系统,它基于简单的异步通信协议。通过简单的调制电路将串口输出数据“0”调制为38kHz信号,数据“1”则不调制。接收端采用集成了红外光电管和38kHz检测器的一个廉价IC来实现。这样只需简单的光学器件就可以组成全功能的红外收发系统。 3.电源 4.非易失存储器 5.选择微控制器 b. 代码空间:如果采用C语言编程,预计代码空间设在16k到64k之间。参考设计采用了32k的代码空间。 c. 数据空间:确保微控制器内部有足够的数据存储空间,以保证数据结构的完整性。 d. ADC:许多微控制器内部集成了数据采集系统,但是大部分属于低速、低性能指标的ADC。能够满足电表设计要求的ADC应该具有14位或更高的分辨率,采样速率可以达到10ksps以上。 e. 实时时钟:确保内部实时时钟精度达到每月误差0.5s。如果大不到,可以考虑采用外部高精度时钟模块。 软件支持 在这个电表参考软件中,每一个任务子程序都会监控本身的输入状态,以决定下一步的处理流程;如果输入状态没有改变,那么它只需要简单地返回任务轮主控程序就行了。有一些特定的任务处理子程序,其输入信号来源于外部事件;例如:ADC转换完成信号,或者串口接收到相应的信息数据流。有些任务的输入状态则完全来自内部事件:一个累积的能量值需要更新,或者需要更新相关的显示内容等。对于这样的事件,系统会更新对应的一组二进制数状态,这里的每一个二进制位都代表了相应任务子程序的输入状态。我们将这一组二进制位称为“信息板”。 对于一个实用的电表设计,所有的数据都采用专用的通信数据格式储存在存储器中。此参考设计参考了中国电表通信协议标准DL/T645,在这个标准中,用户数据、配置信息和许多命令信息均依靠一系列的寄存器实现传输。为了进一步了解多任务轮主控程序和消息板系统的功能,这里给出一个红外终端的读信息命令处理例程: 1. 从红外接收模块接收到相应的字节数据,串口驱动器设置信息板对应的二进制位,送出相应的事件任务给信息检查程序。 2. 信息检测程序从串口驱动器接收到相应的字符数据,如果未检测到语法 |
