一、引言
目前常用的机械结构的电表是一种基于旋转金属圆盘的机械式千瓦-时电表,它不考虑输入电压或功率因数,只跟踪记录实际的用电量。它主要表现在两个方面:一是机械电表不能够记录时间,它只能记录费拉斯轮的旋转数,无法记录与之相对应的快速旋转和慢速旋转的时间;二是它只能够记录理论实时有功功率,而实际上用户的用电量不仅取决于输入电流、输入电压,还取决于功率因数。传统的机械式电表无法对功率因数进行监测,而是直接默定为电流、电压相位相同,这样实际有一部分无功功率也被计算在内了,结果实际有用功率小于输入电压和电流的乘积。而且现在用电收费需要考虑到时段、峰值用电量和功率因数,而机械式电表根本无法实现。本文提出了一种基于Maxq3120微控制器的设计方案能够解决上述问题。
二、方案设计
与以往电表区别,家用多功能电表主要实现的功能有以下几点:1)实现只记录用户实际使用的有用功;2)实现自动分段付费;3)自动抄报电表数据;家用电表的技术指标:额定电压:220V;额定频率:50Hz;基本电流:10(40)A;时钟准确度(日误差):≤0.5s。 本系统主要采用Maxq3120微控制器进行设计。MAXQ3120的核心是MAXQ20内核,其工作频率为8MHz,含有32k字节闪存和512字节RAM;MAXQ3120内含两个16位、 - 模数转换器(ADC),可以精确测量瞬时电压和电流幅值和相位。这两个ADC通道每48µs完成1次新的转换,即转换速率为20667采样/秒。MAXQ3120集成了1个带40位累加器的16 x 16位乘法器。该乘法器在单个时钟周期内即可完成一次运算,因与CPU内核紧密地集成在一起,所以效率极高。MAXQ3120集成了一个LCD控制器,可驱动的段数高达112段。MAXQ3120提供两路UART,其中一路具有特殊逻辑电路,可轻松实现红外数据传输另一路可实现RS485串行传输。MAXQ3120包含一个电池备份的时钟模块,具有亚秒计数器和报警功能。该时钟具有数字微调功能,时钟精度非常高。
系统主要可分成以下几个部分:A/D转换数据处理部分、时钟及时间管理部分、串口通信管理部分、LCD显示部分及电源管理部分、Jatg调试部分和软件部分。
1)A/D转换部分 本部分主要采用MAXQ3120内部的两个A/D转换通道对电压信号和电流信号进行采集。电压输入是交流220V,而MAXQ3120的模拟信号输入是±1V,所以必须进行分压处理;电流信号是通过电流分流器产生一个电压信号进行数据采集,电表的应用的最大电流参数取决于此电流分流器。本表设计的规格是常用10A,最大40A。若电流分流器为0.5mΩ,那么最大满偏电压为20mv,但根据欧姆定律,电流分流器的功耗就为0.8w,电流分流器不宜选用大于0.5mΩ;本表设计的精度为1%,测量范围从1A到40A,那么最小能够分辨的电流为10mA,最大要识别40A即4000个10mA才不至于A/D饱和,所以A/D的精度必须要达到12位(4096分之一)以上,而MAXQ3120的A/D转换是16位的,能够满足设计需求,所以采用0.5mΩ电流分流器。电压分压电路如图1所示。
图1 电压分压电路
2)时钟及时间管理部分 MAXQ3120的时钟电路有两种情况:一种是采用时钟芯片DS3231。这款时钟内含一个日历时钟,一个预先筛选并经过微调的晶体和一个温度传感器。时钟自动进行温度补偿,在整个-40°C至+85°C温度范围内可实现优于±3.5ppm/°C的计时精度。DS3231通过工业标准I2C总线可以直接与微控制器连接。另一种情况是使用MAXQ3120内部的时钟。MAXQ3120内含的日历时钟采用标准的音叉晶体作为时基,音叉晶体的工作频率受温度的影响非常显著,随着温度的变化时钟的频率将会变化。MAXQ3120同时内含一个微调寄存器用于微调功能,通过外接一个温度传感器来获取温度,并且编写软件根据温度对微调寄存器进行调整,经过微调计时后的精度优于4ppm。综合比较采用第一种方案。计时收费是根据不同的时间段进行计算,把费率写进寄存器,根据从DS3231读取的时段进行收费,系统最大支持四个时段。DS3231接口电路如图2所示。
图2 DS3231接口电路
3)串口通信管理部分 MAXQ3120集成两个串口串口控制器,其中一个可以接红外收发器,另一个可作普通串口使用。本系统没有设计红外通讯部分,只设计了RS485通讯,使用了SP3490芯片,其电路图如图3所示。
图3 RS485工作电路
4)LCD显示部分及电源管理部分 MAXQ3120集成了一个LCD控制器,可驱动的段数高达112段。所以本系统直接把MAXQ3120与LCD显示屏连接起来。电源采用SPX1117芯片,它能够将将5V的电压转化为工作电压。需要注意的SPX1117芯片的第一个管脚为GND,而与7805芯片的管脚有所不同。
5)Jatg调试部分和软件部分 Jatg调试部分是使用MAXQ3120的KIT提供的Jatg调试电路。
软件主要包含几个模块:初始化模块、A/D采样模块、寄存器管理模块、数据计算及收费管理模块,数据封装模块。 系统软件的流程图如图4所示:
图4 软件流程图
数据通讯协议的格式如表1:
表1 通讯协议格式
数据头、数据尾:分别为2个字节,用来区分数据的完整性,主要需要考虑数据的透明传输问题,即数据中出现与数据尾相同的数据导致无法通过校验。
目标机地址:6个字节,用来区分数据的发送目标。
命令:一个字节,用来指示目标机的具体动作。
数据长度、数据:数据长度是指数据的长度,数据是命令所需要的参数。
本系统采用RS485接口组成的网络,数据的传送采用轮询的方式,这样虽然实时性不高,但可以避免数据冲突,可以完全实现数据的自动传输。
三、结束语
本文中作者创新点是通过集成度很高的MAXQ3120芯片,设计了一款能够真实记录用户有用功、能够多费率收费、自动传送数据的家用电表,并且在很好的控制制作成本的前提下,稳定性非常好。本系统已经完成测试,达到了当初的设计要求,但是有一部分内容需要改进,如:串口通信部分只完成485接口,还需增加红外通信接口、电表还需增加防潜动逻辑设计,电压回路加额定电压115%,电流线路无电流时,电表不产生多于一个脉冲的输出;另外为节约成本应考虑使用片内晶振等。
|