老古开发网首页
导航:老古开发网首页文章索引文章分类嵌入式系统→[基于分级通信模式的住宅小区自动电能计费系统的研制]
| -文章搜索 - 最新文章 - |

基于分级通信模式的住宅小区自动电能计费系统的研制

发布时间:2006年2月25日 点击次数:494
来源:单片机与嵌入式系统应用   作者:彭城大学 高玉芹;徐州发电厂 张允超
 
基于分级通信模式的住宅小区自动电能计费系统的研制 彭城大学高玉芹 徐州发电厂张允超 摘要介绍采用多级分级通信模式组成的住宅小区自动电能计费系统的硬件构成和软件设计;重点介绍电能数据采集器的硬件组成和提高电量计量精度的方法。 关键词电能计费系统分级通信通信中继器电能数据采集器 长期以来,供电管理部门对用户电量的统计一直是在人工抄表的基础上进行的,工作量大,直接影响供电部门的工作效率。随着计算机技术和网络技术的发展,自动电能计费系统应运而生。小区内的住户数量较多,甚至成千上万,因此数据采集单元数目较多,它们与计算机之间的通信必须采用多级分级通信模式。本文介绍基于分级通信模式的住宅小区自动电能计费系统的实施方案。 图1自动电能计费系统结构图一、 系统构成 系统的结构如图1所示。系统采用分级通信方式,计算机和32个89C51单片机之间采用RS\ 485半双工接口。MAX232实现将RS\ 232接口信号电平转化为TTL电平。MAX483为+5V供电的RS\ 485接口的差分信号收发器,可以将TTL电平转化为RS\ 485的差分接口信号形式或进行相反方向的转换。每一个89C51单片机承担计算机和32个数据采集器89C52之间通信的中继任务。采用不同的口线分别控制89C51与计算机、数据采集器之间的通信。89C51和数据采集器89C52之间也采用RS\ 485半双工接口,由MAX483实现两种信号格式的转换。89C52单片机构成数据采集器,通过T0和T1完成1个住宅单元2户脉冲电度表的脉冲量的采集,从而进行电度量的换算。RS\ 485接口支持多级通信,允许总线上挂接32个驱动器,因此通过分级管理,计算机可以连接32×32=1024个数据采集器,也就是1024×2=2048个用户的用电量的采集。如果在中间再增加1级89C51作为中继器,可以将用户数目扩大32倍,满足一般住宅小区的实际应用要求。 二、 硬件连接电路 1 RS\ 232与RS\ 485之间的电路连接 图2RS\ 232接口信号格式转换成RS\ 485的差分接口信号格式图3通信中继器的连接电路RS\ 232接口信号格式转换成RS\ 485差分接口信号格式的电路连接如图2所示;通信中继器的电路连接如图3所示。 图3所示通信中继器的连接电路中,89C51和计算机之间、89C51和数据采集器之间用1根双绞线进行半双工通信,分时实现发送和接收。由于使用1个串行口进行通信,为了避免发信号混乱,用P1.6控制1# MAX483的发数据允许位DE;用P1.7控制2# MAX483的发数据允许位DE。接收数据总是不同时进行,按先接收计算机发送的地址,再发送地址给数据采集器,最后接收数据采集器发送过来的数据顺序进行。采用多级通信方式,数据格式为11位,按先后顺序分别是:1位起始位、8位数据位、第9位用于识别发送或接收的是地址还是数据。每个通信中继单元有一个惟一的地址,分别为0~31,由接在P1口的拨动开关的设置来惟一确定。 2 电能数据采集器的组成 连接电路如图4所示。电能数据采集器计量电度的脉冲信号来自电能计量的专用集成电路芯片的脉冲输出端,通过光电耦合和施密特触发器整形后送至单片机89C52计数输入端T0和T1,采集每个住宅单元的2户脉冲电度表输出的脉冲量。T0和T1设置为方式2,初值为0FFFFH。当T0或T1输入端一旦出现1个脉冲,立即产生溢出中断申请,在溢出中断服务程序中完成脉冲的计数和电量的递增。为了配合用电收费制度的改革(即用电分为高峰用电期、低峰用电期和正常用电期),须对用电量进行实时统计(而不是定时的计算);同时为了保证电量采集和显示的精度,在软件设计中对用电量的计算分为1度位和0.1度图4数据采集器连接电路位,采取了分别递增的措施,原因如下: 当电度表常数和脉冲常数确定后,通过计算可得1度电对应电度表输出的脉冲数K为常数,则01度电对应电度表输出的脉冲数为K/10,即有K/10个脉冲到来,电量递增0.1度。若只对0.1度进行进位递增,因K/10不一定正好为整数,若舍去小数或对小数进行进位取整,必然产生累计误差。 分别递增的方法如下:T0(或T1)每检测到1个脉冲的下跳沿,TL0(或TL1)溢出中断1次,在中断服务程序中对K/10值寄存器和K值寄存器分别减1。K/10值寄存器减到0时,0.1度值寄存器递增0.1度,并对K/10值寄存器重新置初值;K值寄存器减到0时,度值寄存器递增1度,并对K值寄存器和K/10值寄存器重新置初值。这样在电量为整度时,累计误差将为0。 为了让用户及时了解自己的用电情况,数据采集器采用六位LED显示器显示总用电量,显示的量程为99999.9,显示的分辨率为0.1度。 TL7705CP为电源检测电路。数据采集器使用住户220V电源供电,当线路停电采集器工作电压由+5V降到4.75V以下时,系统复位,即由原来的高电平变为低电平,在外部中断0输入端产生下降沿即外部中断请求信号;在中断服务程序中将89C52内部RAM中的总电量和K/10值寄存器、K值寄存器的内容在电源电压消失前的一段很短时间内存入串行EEPROM 24C02中,以备重新来电时将总电量和脉冲量取出。89C52的P1口外接拨动开关,用于惟一确定电能数据采集器的地址。设置外部中断0的中断优先级为高优先级。 图5电能数据采集器串行口中断服务程序框图三、 通信工作流程 及部分程序框图1 通信工作流程 (1) 计算机首先发送通信中继单元的地址0。 (2) 32个通信中继器均接收这个地址,然后和自己的地址(由P1口的拨动开关惟一确定)比较,只有地址相等的通信中继器,发送数据采集器的地址才为0。 (3) 地址为0的数据采集器将T0和T1采集的总电量先后发送给通信中继单元,通信中继单元再将接收的数据发送给计算机。 (4) 重复第(3)步,直到将32个数据采集器的64个数据全部发送给计算机。 (5) 计算机发送通信中继器的地址1。重复第(2)、(3)、(4)步,直到将32通信中继器的32×32×2=2048个数据全部发送给计算机,本次通信结束。 2 程序框图 (1) 电能数据采集器 在数据采集器中,分为主程序和4个中断服务程序。4个中断源分别是电源掉电引起的外部中断0、T0和T1的溢出中断、串行中断。4个中断源中,外部中断0设置为高优先级中断,其余3个为同级的低优先级中断。当这3个中断源同时申请中断时,中断的响应顺序是:定时器0溢出中断、定时器1溢出中断和串行口中断。 主程序主要完成T0、T1和串行口的初始化,从24C02串行EEPROM中读取在电源电压消失前的一段很短时间内存入的总电量和K/10值寄存器、K值寄存器的计数值。 T0和T1中断服务程序中完成脉冲的计数和电量的递增。详细内容在上面已作详述。 外部中断0中断服务程序中将89C52内部RAM中的总电量和K/10值寄存器、K值寄存器在电源电压消失前的一段很短时间内存入串行EEPROM中,以备重新来电时将总电量和脉冲量取出。如图5所示为数据采集器串行通信的框图。 (2) 通信中继器 主程序比较简单,主要进行串行口的初始化、开中断、等待串行口中断的产生。中断服务程序框图如图6所示。 图6通信中继器串行口中断服务程序框图结束语 本设计方案不仅适用于住宅小区自动电能计费系统,其设计思想同样适用于宾馆、粮仓、工业过程检测等多点数据采集的系统,具有广阔的应用前景。MES 参考文献 1何立民.单片机应用系统设计.北京:北京航空航天大学出版社,1993 2姚行中,关林风,等.微型计算机及外部设备常用芯片手册.北京:清华大学出版社,1999 3熊峰.数据采集系统的多级分级通信.电子与自动化,2000(6)

欢迎进入老古论坛进行讨论
[嵌入式系统] 相关文章:
ispPAC10在系统可编程模拟电路及其应用
简介:
基于VRTX操作系统实现V5接口协议 电力自动化研究院赵高峰 摘要V5接口是接入网(AN)和本地交换机(LE)之间标准化的开放接口。本文首先简要介绍V5接口协议结构,然后给出IDS2000综合数字通信系统中V5接口的实现方法;着重介绍第三层协议的软件实现方法,并对嵌入式系统编程进行一些探讨。 关键词接入网V5接口实时操作系统本地交换机 引言 接入网的概念是由传统的用户线发展起来的。近年来,由于电话业务的发展、新业务种类的增多、对线路带宽要求的提高以及各种新兴技术(特别是光纤通信技术)的发展,使得传统的用户线的概念逐渐发展成为接入网的概念。前几年,国际电信联盟(ITU)正式定义了用户接入网。引......

液晶显示模块KS0713及其应用
基于Visual C++6.0的PC机与DSPs的串行通信
基于MC68HC11单片机实现垂直奇偶校验
数字信号处理器与图形液晶显示模块的接口
VxWorks在高速数字电台互联网中的应用
闪速存储器技术现状及发展趋势
光电隔离的RS-232C串行接口设计
闪存Am29F400B的操作过程及动态数据保存
基于MSP430F1121的虚拟示波器实现方法
 
下一个:[网络文摘]嵌入式C编程技术(六)
简介:
[编者按] 为使广大嵌入式系统应用技术人员系统地了解和掌握一些先进应用、开发技术,本刊从创刊号起开辟《学习园地》栏目。上半年集中介绍嵌入式C编程技术(一)~(六),内容包括单片机C语言应用程序设计中的变量定义和变量空间、C语言编程技巧、函数有效使用及混合编程技术。 嵌入式C编程技术(六) 北京理工大学马忠梅 (2)“Structure”型返回值 这部分考虑返回“Structure”型返回值的函数。例子如下所示: 1〖3〗#define BIG_DATA 5389〖1〗2〖3〗#define SMALL_DATA 145〖1〗3〖3〗#define OK 1〖1〗4〖3〗#define ERR......
 

上一个:[嵌入式系统]在VC++中用ActiveX控件实现与单片机的串行通信

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:10分钟 执行时间:16毫秒