基于串口通信的远程自动抄表系统实现

发布者:Volare最新更新时间:2013-05-15 来源: eefocus关键字:串口通信  远程自动抄表系统 手机看文章 扫描二维码
随时随地手机看文章

在人们的日常生活中,水、电、气是不可缺少的必备生活保障,然而对于水、电、气供应公司来说,每个月上门抄取各个用户的三表读数却是非常繁重的工作,需要投入大量的人力和物力。现在许多公司在研究自动抄表系统,但是他们通常采用电话线或者是专线完成与上位机的通讯,成本比较高。详见参考资料[3][6][7]。针对这种情况,作者设计了一种远程无线自动抄表系统。自动抄表系统,简称ARMS(Automatic Reading Meter System),是供应水、电、气的部门将安装在用户处的水、电、气表所记录的用量等数据通过遥测、传输和计算机系统汇总到营业部门,代替人工抄表及一连串后续工作的系统。该系统的无线通信是采用GSM短消息业务,它的实现是迈向家庭自动化的第一步,并有助于提高水电系统管理的现代化水平。该系统具有两个主要特点:其一系统数据采集点多,成千上万,数据量大;其二系统是一个覆盖面很广的通信网络,采集点具有分散性。对系统的要求,一方面应造价低、经济实惠,另一方面数据的采集要准确及时,又要有一定的环境适应能力和抗干扰能力。随着现代化电子技术的发展,通信技术和计算机技术都有了飞速发展,而两者的结合又进一步演化出许多新的通信方式和通信系统,为ARMS的实现提供了可能。这样可避免抄表员上门抄表带来的弊端,省却了上门抄表打扰用户的尴尬问题,对公司、用户都有很大的便利,具有良好的市场前景。特别是在大中城市里,该系统具有很广的推广价值。

1.系统的组成及工作原理

系统组成:数据采集部分;数据发送、无线通信部分;数据接收、处理部分。

工作原理:数据采集装置首先通过传感器采集三表的读数,将采集的数据存入单片机(AT89C2051)内;单片机再通过无线通讯模块PTR2000(发端)将数据发送,用户集中器的PTR2000(收端)将发送来的数据接收,下位机主要完成采集数据、分时存储和同上位机通信的功能,它通过串行接口与GSM/Modem联接,以公众网(GSM)为平台,通过电信公众网络传输数据。随着GSM移动通信网络的建设和发展,移动通信网日益庞大复杂,所覆盖地区也日益广泛。因而通过GSM移动通信网络进行数据的传输也成为了一种新式的数据传输手段。GSM/Modem通过GSM的短消息业务发送数据。PC机(上位机)一般设在公司的营业处,它是负责整个系统管理的,它将数据收集到,然后对接收的数据整理、存储、显示,并计算出各用户需缴纳的费用。还可以将用户的用量曲线打印出来,对实行季节电价、分时电价,用经济杠杆实现削峰填谷很有利,可以为国家节约能源。
 
经济分析:本系统的最大容量设计为1000家。规定每100ms采集一家的数据,则一分钟可以采集600家的数据。普通的电表是2400转/KWH,采集装置每采集20个脉冲记1个点。每十分钟采集的数据最多占1个字节,每家的用量数据是按增量采集的,三个表的增量最多占3个字节,所以600家的数据最多占2K字节,每分钟采集一轮,采集到的数据存储在AT89C51的RAM内,在存储器内整理、打包,每十分钟发送一次。由于夜晚用电水气量比较少,所以在晚上发送的数据包,很多是空包,这样就浪费占用通信信道的时间。因此在软件设计时,采用越限发送,即每次采集的数据必须超越一定的量才发送,一天最多12小时的用量高峰期是每十分钟发送一次的。基于GSM短消息业务的容量主要是由短消息服务中心的处理能力和无线信令信道的承载能力决定的,每个短消息的信息量限制为140个八位组(7比特编码,160个字符)不超过140个字节。每十分钟采集3K数据,需要发送22条短消息,则每月发送约5万条。按照西安市短信费用标准,2-5万条/月的费用是2000元/月。平均每家2元/月。因此该系统非常的经济。而且上位机每十分钟就收集一次的数据,这样就可以在一天里用电高峰期里及时采集用户的用量,并将用量曲线打印出来。

2.硬件配置

2.1数据采集、发送部分

水表是将原水表计数齿轮指针换装成带磁性的指针,再通过传感器进行数据采集;气表要用带信号输出的气表;电表必须采用脉冲式电子电度表,电表脉冲输出的器件为光耦输出,具有较好的隔离作用。数据采集装置与用户的电表安装在一起,为了防止用户的突然断电,采集装置必须装在空气开关的前端。电表可以通过计数脉冲来测量,由光电采集头采集电表的计数脉冲,表盘转一圈,光电采集头发出一个脉冲,输入的P1口的P1.0,由AT89C2051存储。然后通过PTR2000模块发送数据。

PTR2000模块乃是超小型、超低功耗、高速率19.2K无线收发数传MODEM。采用了当代最先进的欧洲蓝牙技术应用全数字科技,由单IC组合而成,接收发射合一,工作频段为433--434MHz,空中传输数据速率为19.2Kbps,工作电压范围为2.7V-5.25V,采用FSK调制,抗干扰能力强,标准的DIP引脚间距,更适合嵌入式设备。当PTR2000的TXEN脚为高时,它处于发射状态;当TXEN脚为低时,它处于接收状态。在硬件设计时,将TXEN与AT89C2051的P1.1脚连接,通过软件控制PTR2000的状态。

2.2 数据接收和远程无线通讯

PTR2000将数据接收并且存入AT89C51内,ROM和RAM分别用来存储程序和数据,数据按当时的时间存入相应时段的存储区内,时段间隔为10分钟。不同日期的同一时段数据仅在相应的存储区内累加。采集装置内装有免维护电源,保证断电后还可以工作,保护数据和接收、执行上位机的命令。AT89C51通过串口与无线MODEM连接,实现与上位机的无线通讯。

GSM(Global System for Mobile Communication)系统是目前基于时分多址技术的移动通信体制中最成熟、最完善、应用最广的一种系统。我国目前已建成了覆盖全国的GSM数字蜂窝移动通信网,是我国公众陆地移动通信网的主要方式。GSM的短消息业务SMS(Short Message Service)与话音传输及传真一样同为GSM数字蜂窝移动通信网络提供的主要电信业务,它通过无线控制信道进行传输,是GSM通信网所特有的,经短消息业务中心完成存储和前转功能,它不用拨号建立连接,直接把要发的信息加上目的地址发送到短消息服务中心,由短消息服务中心再发送给最终的信宿。这适于把每次采集到的数据随时发送到监控中心。传送短消息业务的控制信道为专用控制信道(DCCH)。详见参考资料[6]。短消息业务可以使网络端知道被叫方是否已经收到短消息,如果传送失败,被叫方没有回答确切消息,网络一侧会保留所传的消息,一旦网络发现被叫方能被叫通时,消息能被重发以确保被叫方能收到。因此短消息业务作为GSM网络的一种主要的电信业务,它的传递是可靠的。综上所述,本系统选用GSM的短消息业务来实现远程无线数据传送是可行的。GSM调制解调器(GSM/MODEM)的出现改变了传统的以话音为主的通信手段,打开了GSM网络数据通信及其应用的大门。它提供RS232数据接口,采用AT贺氏指令,符合ETSI标准GSM0707和GSM0705。本系统的GSM/MODEM采用法国WAVECOM公司的GSM/MODEM模块。
2.3 数据处理部分

上位机通过DDE接口将下位机发送的数据传送到EXCEL工作表中,在EXCEL中定义好报表格式,计量格式,并将文件以模板格式保存,在抄表完成后,系统能自动将数据填写到相应指定单元格,由EXCEL自动计算,换算成KWH值并算出收费值。在上位机上打印、显示用户的水、电、气费和各种报表及负荷曲线,当用户负荷超限时发出报警信号,根据公司的规定决定是否发遥控命令给下位机对用户实行断电处理。还可以计算各个时段的费用,为电力部门实行分时收费提供可靠的保证。而且为了保证数据存储的安全性,上位机(PC机)采用了双硬盘做数据备份,系统带有后备电源,停电后能保持正常工作状态。后备电源可保证系统在满负荷工作状态下正常工作36小时以上,若停电时间更长,系统将不会进行数据采集,但原有数据不会丢失,供电恢复后需要重新核查数据,更新设置用户集中器中下位机存储的数据。

3.软件设计

由于该系统采用的是一点对多点的双向数据传输,因此每家的表都有自己的地址码。上位机可以查询下位机,下位机也可以定时发送数据给上位机。本系统要实现的目的是一机(上位机)对多机(下位机)的通讯控制,其通讯软件主要分为两部分:上位机与下位机的远程通讯软件;单片机与GSM/MODEM的串行通讯软件。详见参考资料[2]。程序设计的关键是上、下位机间的远程通讯的准确性。在程序设计中,采用通讯协议(Protocol)的做法,由上位机发出读表指令与地址码,让各个下位机将记录的数据传过来,同时进行校验,以保证数据的正确性。每个下位机都编有不同的地址码,当上位机向所有的下位机发送一个地址码和抄表指令时,所有的下位机都接收到该地址码,并比较是否与其自身的地址码相同,如不相同则退出比较,不再接收其他命令。如相同则表示上位机查询的就是该下位机,同时收回应答信号,并准备接收命令,而上位机将收回的应答信号与发出的地址码相比较,不同则给出错误的信息,相同则可控制已叫通的下位机。这时已叫通的下位机继续接收上位机发送的抄表命令,并收集用户的数据,通过GSM网络发送给上位机,直到接收到上位机发来的执行完成命令。
 
4.结束语

本文介绍的自动抄表系统集计算机、通信技术于一体,采用先进的无线通讯模块和最成熟、最完善、应用最广的GSM作为数据传输的平台,抄数即快速又准确,彻底解决了人工抄表的所有弊病。还可进一步与银行系统的微机联网,实现费用自动划拨,大大提高了工作效率,具有良好的市场前景。

关键字:串口通信  远程自动抄表系统 引用地址:基于串口通信的远程自动抄表系统实现

上一篇:OLED矩阵显示屏控制电路的设计
下一篇:MCS_51单片机与8155H的接口设计

推荐阅读最新更新时间:2024-03-16 13:24

串口通信预备知识
0、前言 计算机通信是指计算机与外部设备或者计算机与计算机之间的信息交换。 通信分为并行通信和串行通信,在多微机系统以及现代测控系统中信息的交换多采用串行通信方式 串行口工作前,应对其进行初始化,设置产生波特率的定时器1、串行口控制和中断控制。 0.1并行通信 每次发送前,会进行询问,接收方进行应答,相当于一次握手。8位同时发送。一般用于计算机内部总线、排线等需求高速的传输。 0.2串行通信 0.3异步通信 一个字节前面1位是起始位,中间是8位数据,最后一位是停止位,一个字节中的各个位之间的时间间隔是固定的(由波特率决定),每个字节之间的时间间隔则是任意的。 注意:同一字符内的各位之间是有间隔的,
[单片机]
<font color='red'>串口通信</font>预备知识
pc机与89C51单片机的串口通信编程
一、pc机上的串口通信编程过程如下: 1.建立项目 打开VC++6.0,建立一个基于对话框的MFC应用程序SCommTest(与我源代码一致,等会你会方便一点); 2.在项目中插入MSComm控件 选择Project菜单下Add To Project子菜单中的 Components and Controls 选项,在弹出的对话框中双击Registered ActiveX Controls项(稍等一会,这个过程较慢),则所有注册过的ActiveX控件出现在列表框中。 选择Microsoft Communications Control, version 6.0,,单击Insert按钮将它插入到我们的Project中来,接受缺省
[单片机]
pc机与89C51单片机的<font color='red'>串口通信</font>编程
串口通信USART-AVR程序代码
#include #include #define RXB8 1 #define TXB8 0 #define UPE 2 #define OVR 3 #define FE 4 #define UDRE 5 #define RXC 7 #define FRAMING_ERROR (1 FE) #define PARITY_ERROR (1 UPE) #define DATA_OVERRUN (1 OVR) #define DATA_REGISTER_EMPTY (1 UDRE) #define RX_COMPLETE (1 RXC) // USART Receiver buffer #define RX_BUFFER_
[单片机]
串口通信数据校验问题
Modbus协议 Modbus协议最初由Modicon公司 开发出来,在1979年末该公司成为施耐德自动化(Schneider Automation)部门的一部分,现在Modbus已经是工业领域全球最流行的协议。此协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 当在网络上通信时,Modbus协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消 息,决定要产生何种行动。如果需要回应,控制器将生成应答并使用Modbus协议发送给询问方。 Modb
[单片机]
STC12C5A60S2双串口通信
STC12C5A60S2单片机是一款功能比较强大的单片机,它拥有两个全双工串行通信接口,串口1的功能及操作与传统51单片机串行口相同;特殊的是STC12C5A60S2单片机内部有一个独立波特率发生器,串口1可以使用定时器1作为波特率发生器,也可以使用独立波特率发生器作为波特率发生器;而串口2只能使用独立波特率发生器作为波特率发生器。 下面是一段双串口通信的程序: /*********************************************************************** 时间:2012.11.24 芯片:STC12C5A60S2 晶振:22.1184MHz 波特率:9600bps 引
[单片机]
STM32学习之使用库函数编写串口通信
注:使用的芯片是STM32F103ZET6 一、串口初始化部分的程序 1.初始化时钟   因为要使用串口1这个外设,因此在使用之前就需要开启串口1的时钟,并且之后还需要设置IO输入输出的模式,在这里我们也需要开启GPIO的时钟。程序如下: //初始化串口时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE); //初始化GPIO时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);   可是为什么要初始化时钟呢在《STM32中文参考手册_V10》的RCC中有这样一句话“当外设时钟没有启用时,软件不能读出
[单片机]
STM32学习之使用库函数编写<font color='red'>串口通信</font>
基于STM32模拟UART串口通信
UART工作原理 UART即通用异步收发器,是一种串行通信方式。数据在传输过程中是通过一位一位地进行传输来实现通信的,串行通信方式具有传输线少,成本底等优点,缺点是速度慢。串行通信分为两种类型:同步通信方式和异步通信方式。 但一般多用异步通信方式,主要因为接受和发送的时钟是可以独立的这样有利于增加发送与接收的灵活性。异步通信是一个字符接着一个字符传输,一个字符的信息由起始位、数据位、奇偶校验位和停止位组成。 每一个字符的传输靠起始位来同步,字符的前面一位是起始位,用下降沿通知收方开始传输,紧接着起始位之后的是数据位,传输时低位在前高位在后,字符本身由5~8位数据位组成。 数据位后面是奇偶校验位,
[单片机]
基于STM32模拟UART<font color='red'>串口通信</font>
STM8L 串口通信波特率异常
串口配置 2400/9600/57600/115200 波特率出现异常 使用16M时钟的时候,2400和115200不正常,乱码,但是在这中间频率又是好的;修改时钟才能适应不同时钟频率。。。;看寄存器配置是完全没有问题的。 经过分析,是因为在配置串口波特率的时候BBR1,BBR2的配置顺序有问题引起的。 解决方法: 确保先配置BBR2再配置BBR1,否则会出现波特率异常 USART1- BBR2 = XXXXX; USART1- BBR1 = XXXXX;
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved