基于Modem通信的多用户智能电能表系统

2012-09-25 11:14:30 来源:21IC电子网

摘要:  随着电子技术与通信技术的日益发展,电子式电能表由于其计量准确,功能完备,可实现远程抄表等优点,已逐渐被电力企业和(居民)用户认可和接受,而且提升了供电部门对用电的现代化管理。本文提出了一种基于Modem通信,使用ARM微控制器LPC2210作为控制中心的多用户智能电表系统的研究方案,这是一种可实现远程控制及自动结算的电表系统,也为实现大规模自动抄表提供了基础。

关键字:  电子式电能表,  远程抄表,  Modem通信

随着电子技术与通信技术的日益发展,电子式电能表由于其计量准确,功能完备,可实现远程抄表等优点,已逐渐被电力企业和(居民)用户认可和接受,而且提升了供电部门对用电的现代化管理。本文提出了一种基于Modem通信,使用ARM微控制器LPC2210作为控制中心的多用户智能电表系统的研究方案,这是一种可实现远程控制及自动结算的电表系统,也为实现大规模自动抄表提供了基础。

1系统工作环境与总体结构框图

可实现远程通信的多用户电表系统总体框图如图1所示。主要由多用户电表单元、通信模块、系统管理中心、银行收费系统组成。多用户电表单元采用一个微处理器和多个计量芯片组成,不仅结构相对简单,而且大大降低了成本。微处理器是整个系统的核心部分,它一方面对多个计量芯片采集的电能数据进行处理,另一方面作为嵌入式网关,与Modem进行连接以实现与上位机管理系统的通信。微处理器在收到管理系统的上传命令时,就会通过Modem电话线上传数据,管理系统对收到的数据进行处理和分析;如果某用户用电出现异常,管理系统在发出报警信号的同时,向微处理器发送异常命令,由微处理器及其外围电路共同对该用户用电进行控制。

2系统硬件设计

多用户电表单元是整个系统的核心,由多个电压通道输入电路、多个双电流通道输入电路、多个电能计量芯片BL6501A、微控制器LPC2210、LCD、FLASH、SDRAM、EEPROM、报警器、73M2901Modem模块、断电控制模块等部分组成。系统中采用32位LPC2210作为整个控制电路的中心,选择合适的外围电路,来实现电能的定时、实时采集和显示,与上位机的远程通信,对用户的供断电控制和防窃电功能等。系统硬件结构如图2所示。

2.1 CPU模块

选用LPC2210作为控制系统的核心,LPC2210是基于一个支持实时仿真和跟踪的16/32位ARM7TDMI-S CPU的微控制器,具有低成本、低功耗、高性能等优点。LPC2210具有144管脚封装,极低的功耗,16 KB片内静态RAM,2个32位定时器,8路10位ADC,PWM单元6路输出,实时时钟和看门狗,2个标准UART,高速I2C接口,2个SPI接口,通过配置总线可达76个通用I/O口(可承受5V电压),通过片内锁相环可实现最大为60MHz的CPU操作频率,有空闲和掉电两种低功耗模式。

2.2计量模块

为了提高工作可靠性和便于调试,本研究采用独立的电能测量电路对各用户的电能进行分开测量。选用BL6501A电能计量芯片,各用户的电能测量结果以脉冲形式从BL6501A的CF端输出,然后经I/O口送入LPC2210进行集中处理。用LPC2210测量时,只需对每个电能计量芯片产生的脉冲进行计数,再乘以脉冲常数,即可测出各个用户所用的实际电量。

2.2.1电能计量芯片BL6501A

单相双电流采样电能计量芯片BL6501A具有24脚双列直插塑封装,利用它可以实现单相反窃电功能,并在同一方向计量正向或负向功率,累计用电量。BL6501A有两个电流采样端,分别采样火线和零线电流,当两电流误差超过2.5%时,表明有窃电行为或错误接线,FAULT引脚发出报警指示信号,并按照两个电流中大的一个电流值计量。BL6051的CF输出较高频率的脉冲,用于计量和计算机数据处理,F1和F2输出较低频率的脉冲,用于驱动脉冲电机,记录用电量。BL6501A内部电能计量信号流如图3所示。

2.2.2多用户电能脉冲的测量

研究中需要对多路电能脉冲进行计量,由于LPC2210只有两个内部定时器/计数器,这对于要进行多路脉冲采集和监控的应用场合显然不够。通常的计数器扩展和软件循环查询的方法都有一定的局限性。本文提出一种可用于多用户电能脉冲测量的方法,此方法是在一种逻辑算法的基础上,可同时对多路电能脉冲的电平状态进行检测和存储,不需用到内部定时器或扩展计数器进行脉冲计数,以软件功能取代大量的硬件电路具有较高的实用价值。

算法中对连续两个测量周期的脉冲电平状态进行OR_XOR的逻辑运算,如式(1)

式中,P表示运算结果,fn表示脉冲电平的现在状态,fn-1表示前一测量周期的脉冲电平状态,“+”表示逻辑代数中的或运算,“+”表示异或运算。

下面以一用户计量脉冲为例,运算时,脉冲电平现状fn先与前一周期的电平状态fn-1作或运算,结果再与fn作异或运算,得出的结果P决定是否要进行电能脉冲计数和存储,结果P与脉冲计数关系如表1。

此算法是以检测脉冲的下降沿来作为电能脉冲测量的依据,在软件中分别定义LPC2210存储器中不同的地址,用来存放脉冲上一周期状态、现在状态及结果P。当P=1时,检测到脉冲的下降沿,对某路脉冲进行计数,并将当前P值保存到相应的存储单元中进行累加,最终得出该用户的用电量。对多用户电能脉冲的测量,因LPC2210有多个I/O口,可通过计量芯片直接输入多个用户的电能脉冲,用OR_XOR的逻辑运算按字节同时处理8路、16路、32路甚至更多路脉冲。

对某一段定时时间电能的测量,可变为对这段时间内转换的电脉冲数,在软件中设置脉冲常数C=3200 imp/kWh,然后可由LCD循环显示各个用户某段时间的用电量。假设某用户用电功率为5 kW,则一小时用电5 kWh,一秒钟用电5kWh/3600,再与脉冲常数C相乘得出脉冲频率为4.44 Hz,脉冲周期为225 ms,远远超过LPC2210的指令周期,则此检测脉冲下降沿的计数方法准确可靠,不会出现漏计或多计的现象。

2.3嵌入式Modem模块

系统中与LPC2210连接的Modem采用嵌入式MODEM芯片73M2901,使用贺氏标准AT命令呼叫和应答,实现与远程系统的通信。由于LPC2210微控制器的UART1口带有完整的调制解调接口,所以可将73M2901直接连接到LPC2210的UART1串口上,进行数据传输工作,接口结构如图4所示。

LPC2210直接采集数字信号,通过UART1串口送给本端的嵌入式Modem芯片73M2901,73M2901将数字信号调制成音频模拟信号在电话线上传输,再经过中心站标准Modem调制成数字信号送往上位机管理系统。

2.4其它电路模块

系统为多用户电表系统,在写用户电量时,需要经常改写电量(如增加0.1度改写一次电量),因此采用擦写次数较高、存储容量较大的EEPROM。研究中数据存储模块选用带接口的串行非易失存储器FM24C16A。用来存储各用户的电量数据信息和各用户的计量模块的地址,保证采集信息的正确无误。

电压输入通道采用电阻分压网络提供电压信号,电流通道有两个电流输入端,然而,每一时刻只有一个通道用来电能计量。研究中选择电流互感器作为电流传感器。

断电控制电路主要由跳闸继电器组成,当用户拖欠电费或用电需量持续超出需量限定一定时间后,上位机管理系统将通过Modem发送断电指令给LPC2210,然后LPC2210将输出信号,使继电器动作,切断供电电源。

3系统软件设计

3.1上位机软件设计

上位机软件用VC++编程,系统中上位机先完成标准Modem的初始化,需要数据传输时,上位机通过Modem拨号建立数据传输链路,然后发AT控制指令判断是进行异常处理还是接收电能数据,完成任务后挂断电话。此上位机管理软件系统的功能框图如图5所示。

3.2下位机软件设计

本文通过移植源码公开的嵌入式操作系统μC/OS-Ⅱ来管理整个系统的运行,它具有多任务性、实时性等优点。要构建整个下位机软件框架,首先对μC/OS-Ⅱ和各硬件部分进行初始化和参数设置,然后是多任务的创建,对整个下位机实现的功能进行任务分割,并根据实际需要为各个任务分配优先级,各个任务是通过抢占CPU的使用权来运行的,它们之间的通信通过信号量、邮箱、消息队列等机制来完成。多任务模块的划分如图6所示。

在用μC/OS-Ⅱ作为内核来编写整个下位机系统的应用软件之前,先完成μC/OS-Ⅱ在LPC2210的移植工作,要根据LPC2210的特点合理地修改μC/OS-Ⅱ的3个与LPC2210有关的文件:OS_CPU.H,OS_CPU_A.ASM,OS_CPU_C.C,其中包括OSCtxSW(),OSIntCtxSW(),OSTaskStkInit(),OSStartHighRdy(),OSTickISR()等重要文件。

主要是将文件中寄存器的初值进行修改,另外还须编写配置文件、参数等。为了很好地将系统中的实时采集和定时采集区分,并且能体现出实时采集优先级高的特点,研究中采用消息队列来实现。

4结语

多用户智能电能表系统采用32位ARM芯片作为控制系统的核心,大大提高了系统的数据处理能力,并且微控制器通过Modem与上位机管理系统通信,可实现供电系统同时对多个用户用电的智能化管理,特别对于公寓用电及单元用电的集中管理其优点尤为突出,目前在许多地方已得到广泛的应用。利用提供的各种系统调用以及任务间的通讯机制,使多任务设计得以简化并保证了系统行为的实时性,具有很好的应用前景。

本文为哔哥哔特资讯原创文章,未经允许和授权,不得转载,否则将严格追究法律责任;
Big-Bit 商务网

请使用微信扫码登陆

x
凌鸥学园天地 广告