第25章+基于GSM网络的野外水位监测系统.docx

上传人:b****8 文档编号:9960461 上传时间:2023-02-07 格式:DOCX 页数:39 大小:174.39KB
下载 相关 举报
第25章+基于GSM网络的野外水位监测系统.docx_第1页
第1页 / 共39页
第25章+基于GSM网络的野外水位监测系统.docx_第2页
第2页 / 共39页
第25章+基于GSM网络的野外水位监测系统.docx_第3页
第3页 / 共39页
第25章+基于GSM网络的野外水位监测系统.docx_第4页
第4页 / 共39页
第25章+基于GSM网络的野外水位监测系统.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

第25章+基于GSM网络的野外水位监测系统.docx

《第25章+基于GSM网络的野外水位监测系统.docx》由会员分享,可在线阅读,更多相关《第25章+基于GSM网络的野外水位监测系统.docx(39页珍藏版)》请在冰豆网上搜索。

第25章+基于GSM网络的野外水位监测系统.docx

第25章+基于GSM网络的野外水位监测系统

第25章基于GSM网络的野外水位监测系统

本章主要内容包括:

Ð系统设计概述

Ð系统硬件电路设计

Ð系统软件设计

本章介绍了使用GSM模块的野外水位监测系统的设计,首先介绍了水位检测系统的组成部分和工作方式,然后介绍了系统的硬件电路设计,主要是单片机和GSM模块的接口电路及外围电路设计,最后介绍了系统的软件设计,包括主程序、初始化子程序、短信息子程序及数据处理子程序等。

本设计是一个通用的实例,也可以用于远程抄表、远程控制等应用场合。

25.1系统概述

水位监测是水文信息采集的重要组成部分,在防汛减灾、水利建设、工业生产等领域发挥着重要的作用。

水位监测系统是一种水情信息实时检测、处理系统,它应用检测、数据处理、通信和计算机技术,对江河、水库、地下水、矿井等水位参数进行实时采集和处理,以实现防洪、供水等任务。

水位监测系统一般需长时间、无间断的监测,因此通常设计成无人值守的方式,从而减少人工观测强度,并提高水情信息的时效性。

25.1.1水位监测系统组成

水位监测系统一般由采集终端、集中器、传输网络及监控中心等组成。

其中,采集终端负责实时、准确地采集水位信息,是实现测量及控制的首要环节;集中器是水位监控系统的重要组成部分,负责将采集终端送来的数据进行存储、处理,并通过有线或无线网络将数据传输到监控中心,或接收监控中心的命令,完成相应的动作;监控中心是整个系统的核心控制单元,负责将各个采集终端发送的数据进行存储、处理,并生成各种图表及数据库,另外,可以根据需要向采集终端发送命令,以实现对各个监测点的控制。

水位监测系统的主要组成如图25.1所示。

此外,由于系统的数据采集设备在野外工作,环境相对恶劣,因此,在选择传感器、设计集中器时需要充分考虑不利因素的影响,从而保证数据采集和传输的可靠性。

下面就系统的主要部分进行简要介绍。

图25.1水位监测系统的组成

1.水位传感器

水位传感器是水位监测系统的最前端,其测量的准确性和可靠性直接关系到整个系统的性能。

用于自动化监测的水位传感器主要有浮体式水位传感器、压阻式水位传感器、超声波水位传感器和导电式水位传感器等。

这些传感器可以直接接到数据终端上,自动监测水位参数。

浮体式水位传感器的特点是必须有浮体浮于水面。

它采集水位信号的原理是:

浮体浮于水面随水升降,同时浮体随水位移的信号,通过浮体以一定方式传递出去,实现水位采集。

浮体式水位传感器依据浮体传递水位信号方式的不同,又可划分为不同种类。

浮体式水位传感器的优点是稳定,可靠,成熟、运用最广泛。

缺点主要有两个:

一是冬季水结冰时无法正常工作。

二是无法在流动的水中测量水位,需建测井,使用中要防止水井淤积。

压阻式水位传感器是一种利用水的压力与水的深度成正比的性质采集水位信号的传感器。

其水位取样的基本原理是基于单晶硅材料的压阻效应。

单晶硅在受到水的压力后,其电阻会发生改变,且改变量与水的压力成正比。

为了实现单晶硅的压阻效应,在应用中一般是在圆形硅膜片上扩散出四个P型电阻,构成惠斯登电桥的四个臂。

电桥的输出与电阻的变化量成正比,也就是与水的压力或深度成正比,从而实现对水信号的采集。

压阻式水位传感器灵敏度高,动态响应好,精度高,易于微型化和集成化,至目前非电量电测技术中非常重要的检测手段。

这类传感器的主要缺点是,在大应变状态中有较明显的非线性,输出信号弱,抗干扰能力差。

超声波水位传感器是根据水能发射声波的特性研制的。

超声波水位传感器采集水位信号的原理是,传感器内部的放射源向水表面发射超声波,水反射部分回波,这种反射波被超声波接收器探测,并转换成电信号。

超声波的运动时间和运动距离(传感器与水表面的距离)成正比。

根据超声波运动的时间,便可得知传感器与水面的距离,经信号处理,就可将此距离转换成水位。

超声波水位传感器是一种适用于各种过程控制系统的智能型一体化非接触式水位测量仪,可以测量腐蚀性液体,精度较高,受温度影响较小。

导电式水位传感器采集水位信号的基本原理,是利用水的导电性将水位信号转换成电信号。

转换方式有两种:

一种是将水位变化转换成电容变化;另一种是利用水位变化与电极接触,来实现水位信号到电信号的转变。

根据水位信号转换成电信号的不同方式,导电式水位传感器可分成两种类型:

电容型和电接触型。

这类传感器的特点是精度与结构有关,不需要建造水位井,可分段安装。

野外环境影响稳定工作,适用浅水位检测,需定时检查清理接触点。

通过比较,系统选用压力型传感器。

这里选择压力、液位传感器JYB-KO-LAG(北京昆仑海岸传感器中心),它是一种硅压力传感器,利用专用线性放大芯片进行放大及线性化处理。

外形小巧,精度较高,采用集成设计,便于现场安装和使用。

JYB-KO-LAG传感器技术参数如下:

∙液位量程:

0~100m

∙压力量程:

0~35MPa

∙环境温度:

-10~60℃

∙供电电压:

12~32VDC(通常24VDC)

∙输出信号:

4~20mA/0~5V

∙负载特性:

电流输出型≤600Ω,电压输出型≥3kΩ

∙绝缘电阻:

>100MΩ

∙准确度:

A级±0.25%FS,B级±0.5%FS

∙非线性:

<±0.2%FS

∙迟滞性与可重复性:

≤±0.1%FS

∙长期稳定性:

≤±0.1%FS/年

∙热力零点漂移:

≤±0.03%FS/℃

∙响应时间:

<30ms

∙最大工作压力:

2倍量程

2.传输网络

一般来说,野外水位监测系统所处地形复杂,监控点分散,距离监控中心较远,有线网络(如利用公用交换电话网络PTSN)铺设困难,而且维护费用昂贵。

在现有的无线通信方式中,建立无线基站耗资巨大,建设周期长,维护困难,并且使用时需申请频道;射频无线通信技术传输距离短(小于50m),不适合于远距离传输;GSM短消息方式使用移动网络,可以避免重复建设,减少成本,在低频率、小容量等应用场合是一个不错的选择,但是响应偏慢,不能做到实时传输,而且在野外、山区等信号较弱地区,传输成功率也不容乐观;GPRS传输方式,多个用户可以共享同一无线信道,传输速率较高,保证实时在线,特别适合于一些流量小,传输频率高,需要及时响应的通讯系统。

综上所述,本系统的传输网络采用GPRS数据传输方式。

3.监控中心

监控中心负责接受并处理监控终端上传的数据,包括系统接收处理,数据的存储、实时显示、实时报表、报警、曲线图、打印、数据库等几部分;同时实现对监控点所有重要设备的运行参数进行实时监控,以及状态和故障的预测预报,同时以图形、文字、光声的方式报警。

安全员可以随时通过数据查询调出数据参数,并打印出来。

本章主要针对基于GSM的野外监控系统(以集中器为中心)的设计,监控中心的设计这里不再介绍。

4.集中器

集中器是整个野外监控系统(下位机)的核心,是联系采集终端和监控中心的桥梁,负责将采集终端送来的数据通过GPRS网络将数据传输到监控中心,或将接收到的监控中心的命令传送给采集终端。

因此,集中器实际上就是一个透明传输系统,对采集终端和监控中心而言,只是一个传输通路。

25.1.2系统的工作方式

目前自动测报系统通常采用主动式(自报式)、被动式(查询应答式)及混合式(自报-应答兼容式)三种工作方式,主要特点如下:

1.主动式

主动式工作方式下,监测站点不受中心指令控制,当监测站到达一定时间或检测到水位参数发生一个计量单位变化时,主动将水位信息发送给监控中心。

其特点是功耗低、结构简单、实时性强,能很好反映参数变化全过程。

缺点是监控中心不能控制各监测站,不能获取即时信息。

2.被动式

被动式工作方式下,监测站自动采集和存储水位信息,但不主动传送给监控中心。

只有接收到监控中心的查询命令时,才将数据送出。

其优点是控制性好,监控中心可随时获取数据。

缺点是如果遇到水位突变的场合不能及时上报,造成反应滞后,甚至导致事故发生。

3.混合式

混合式集成了上述方式的优点,既能实时反映参数变化,又能及时响应监控中心的命令。

GPRS具有双向数据传输功能,适合于混合式工作方式,同时GPRS按数据流量收费,在不传送数据时无费用,而且监测站设备耗电很低,适合野外作业。

考虑到水位参数平时变化缓慢,而在水位突变时需及时上报,而且监控中心能够随时控制监测站,因此系统采用混合工作方式。

另外,由于GPRS每次传送数据都将发生通话费用,所以应选择合适的水位参数变化量,使数据传输频率不至于过高。

25.2系统硬件电路设计

根据实际应用的需要,整个系统分为两个相互独立的部分:

采集终端部分和集中器部分。

集中器分为服务器端和客户端两类,其中服务器端和监控中心相连,使用RS-232接口,客户端和采集终端相连,使用RS-485接口。

前面已说,集中器实际上就是一个透明传输系统,对采集终端和监控中心而言,只是一个传输通路。

因此,为了设计的统一,这里将集中器的服务器和客户端设计成相同的模块,其仅负责数据的传输,并接受指令返回相应的数据。

即集中器的接口设计为RS-485接口,在监控中心端可使用一根232/485转接线或在监控中心安装转接卡,这种设备在市场上有很多,读者可自行选购。

系统的原理框图如图25.2所示。

图25.2系统原理框图

25.2.1采集终端的设计

采集终端其实是一个智能仪表,单片机是仪表的主体。

传感器测量的模拟信号信号经过A/D转换之后,经过输入通道进入单片机内部进行数据处理、存储等操作,如果接收到命令,可以通过通信接口与其它仪器仪表甚至计算机作远距离通信,以达到资源共享的目的。

如今,许多单片机采用超大规模COMS集成电路技术,而且在芯片内部集成了许多新的功能部件,如片内A/D转换器、片内看门狗电路、片内脉宽调制电路、更大的RAM及EEPROM等,从而使系统硬件电路功耗更低、体积更小,也更适合于野外使用。

采集终端原理框图如图25.3所示。

图25.3采集终端原理框图

为了适合野外作业,需要尽量减少系统的功耗,因此在进行系统设计时需要充分考虑。

采集终端的单片机在这里选择使用STC12C5410AD,其主要性能如下:

∙RISC型8051内核,1个时钟/机器周期,运行速度快;

∙3.4~5.5V宽电压供电,保证了在电量降低时能够正常工作;

∙片内集成了512字节的RAM和10K字节的程序存储器,能够存储较大的程序和处理更多的数据;

∙8路10位A/D转换器,可以直接处理模拟信号;

∙内置看门狗和复位电路,保证了系统的工作稳定;

∙内置EEPROM,可以掉电存储重要数据;

∙内置SPI高速通信端口和1个全双工异步串口UART;

∙另外,其高抗静电(ESD保护)、宽温度范围(-40~85℃)、超低功耗(掉电模式<0.1μA,空闲模式<1.3mA,正常工作模式2.7mA~7mA)等设计非常适合于野外使用。

采用STC12C5410AD单片机后,采集终端部分的设计变得非常简单,仅涉及通信接口电路(RS-485)和实时时钟电路,读者可参考第12章的电路设计,这里不再详细介绍。

25.2.2集中器的设计

集中器是监测系统的重要部分,主要由单片机电路、GSM模块、SIM卡电路、485电路和供电电源电路组成。

由于单片机仅有一个串行口,但需要和GSM模块和485电路两个部分通信,因此需要进行功能切换,增加一个开关电路。

本设计中,单片机选用STC89C58RD+芯片,GSM模块选择西门子公司的MC55,485转换芯片选择MAX485E,模拟开关选择CD4066。

集中器的电路图如图25.4所示。

图25.4集中器电路图

1电源电路

本系统中有5V、4.2V、2.6V三种典型电压。

其中5V为单片机STC89C58RD+、模拟开关4066、MAX485E等芯片的电源电压;4.2V为MC55模块的电源电压BATT+;2.6V为MC55模块串口高电平的典型电压。

5V电压由锂电池直接提供。

MC55模块的供电电压是3.3~4.8V,典型值电压是4.2V,直接用5V供电会引起模块工作不稳定甚至可能烧坏模块,所以在5V输出和MC55模块之间加了两个并联的二极管1N4007。

1N4007的额定电流是1A,电压降是0.7V。

经测量,两个二极管并联可以将MC55的电源电压拉至4.3V左右,达到其典型电压,并且会防止在GPRS发送数据的时候,电流消耗峰值超过其额定电流而烧坏管子。

此外,MC55模块的串口收发数据时电压典型是2.65V,而单片机的串口收发数据时高电平电压大于3.5V,直接连接会引起数据错误甚至烧毁端口。

因此,在单片机和MC55模块的收发数据线上分别加了5V、2.5V的上拉,保证数据达到各自的端口时能被正确的接收。

其中,2.6V的电压是由LM1117-2.5降压芯片产生的,实际输出电压为2.5V。

2.电平转换电路

前面说到,MC55模块的串口收发数据时电压典型是2.65V,单片机的串口收发数据时电压是大于3.5V,直接连接可能会引起数据错误。

所以在图25.4中设计了两个电平转换电路,分别将5V转换为2.5V,2.6V转换为5V。

每个转换用了两个三极管9013(Q1、Q2和Q4、Q5),在最后一级的9013上拉各自需要的电压。

3.单片机电路

采集器的单片机采用STC89C58RD+芯片。

STC89C58RD+与51系列单片机兼容,但是功能更强大,价格更便宜。

其主要特性如下:

∙芯片内部有1280字节的RAM,可以进行大容量的数据处理,在本系统中GPRS的数据流可以一次性吞吐,从而提高了处理速度和可靠性;

∙内嵌了32K的Flash程序存储器,保证了程序的存放空间;

∙片上集成了大于16K的EEPROM,可以用来存放数据,掉电数据不丢失,每个扇区512个字节,读一个字节/编程一个字节/擦除一个扇区时间大约是10μs/60μs/10ms;

∙内部集成的MAX810专用复位电路,可以实现软件复位;

∙双数据指针,对外部数据存储单元的操作更加方便;

∙有三个定时器,使用方式同52系列单片机兼容;

∙内置ISP,可以在线编程。

STC89C58RD+芯片的内部框图如图25.5所示。

图25.5STC89C58RD+芯片的内部框图

单片机的晶振选用的是11.0592MHz。

用这个晶振可以提供很准确的波特率,可以避免通讯时出错。

使用11.0592MHz晶振波特率最大可以达到57600bps,若想传输速率更高,可以采用更高频率的晶振,如选用22.1184MHz晶振,波特率可以达到115200bps(不推荐)。

注意:

由于STC的数据存储是Flash,所以写数据时需要对其预先扇区擦除,然后才能字节编程。

也就是说,一个字节如果是1,可以编程为0;一个字节如果是0,则不可以编程为1。

因此,同一次修改的数据最好放在同一个扇区中,单独修改的数据放在别的扇区中,这样不需要读出保护(扇区擦除会花费很多时间)。

4.GSM模块电路

本系统的GSM模块选择MC55模块。

模块的具体参数及接口信息详见第22章,这里仅介绍MC55模块的外围接口电路。

MC55模块的外围接口电路包括SIM卡接口电路(见下节)、SYNC指示电路、启动电路、关闭电路、串口电路和电源电路。

MC55模块SYNC(同步)指示电路的参数设置、AT指令及指示的具体意义详见第22章,本系统选择LED模块状态指示功能。

MC55模块启动电路由单片机的一个端口控制,在电源BATT+已连接,模块关闭的情况下,如果/IGT引脚有持续大于100ms的低电平,模块将会被启动。

启动模块后,再将/IGT引脚置于高阻状态。

MC55模块的关闭电路与启动电路类似。

将/EMERGOFF拉低至0V超过3.2s,GSM模块将会关闭。

需要注意的是,将/EMERGOFF拉低将会使电源被立刻切断,存储在可变存储器中的数据将全部丢失。

将/EMERGOFF拉低使模块关机后,MC55的电源输出引脚VDD将会变成低电平,由此引脚的变化也可以检测模块是否关闭。

MC55的串口有两个——ASC0和ASC1,在本系统中仅使用ASC0的两个引脚RXD0和TXD0(/RING0引脚可以用来显示呼入信号及URC,或者提供脉冲给上位机,比如用来把应用程序从节电模式唤醒,但由于单片机的外部中断有限,而且为简单起见,此引脚未用)。

另外需要注意的是,对MC55而言,RXD0是数据发送端,而TXD0是数据接收端。

MC55的电源电路要将五个BATT+引脚和五个GND引脚分别连接起来。

此外,需在BATT+引脚和GND引脚之间连接一个12pF的小电容,电容焊接时应尽量靠近模块。

5.SIM卡电路

本系统由于不经常插拔SIM卡,因此无需检测SIM卡的存在,在此采用较常用的6管脚SIM卡座,且使用了其中的5个。

SIM卡连接电路如图25.6所示。

图25.6SIM卡连接电路

注意:

SIM卡和模块连接后需要到运营商处开通相关业务方可使用,另外需要及时充费,防止影响正常工作。

6.模拟开关电路

模拟开关电路的作用是切换单片机与MC55模块和485总线之间的数据传输。

初始时单片机与MC55模块连接。

如果MC55接收到来自485总线的数据或要给485总线发送数据,则切换到485总线。

数据收发完毕后再切换到MC55模块。

这部分功能用一个CD4066刚好完成,而且只用P1.0和P1.1两根线就可以控制,快速又简单。

当P1.0=0并且P1.1=1时模拟开关连接到模块,此时MC55和单片机连接;当P1.0=1并且P1.1=0时模拟开关连接到485总线(或PC),此时485总线和单片机连接。

在MC55和单片机连接的时候,外部中断/INT1打开,当485总线给单片机发送数据时引起中断,单片机响应中断,处理数据。

处理完数据后,继续连接到MC55,即MC55总是优先和单片机连接,只有在MC55接收到来自485总线的数据或要给485总线发送数据时才连接到485端,并且处理完数据后立刻回到与MC55连接的状态。

因为单片机不会同时与MC55和485总线联系,所以一条链路可以分时复用。

7.RS-485电路

RS-485电路功能可参照第12章,这里不再详细介绍。

8.防雷保护及抗干扰措施

由于本系统需要经常放在户外,因此防雷是系统安全的一个重要环节。

系统中应注意防雷措施,防止雷电通过485总线或外部线路进入系统,从而造成系统的损坏。

在485总线进入系统的两个端口处应加一个1500V的压敏电阻,将雷电卸掉,再在其后并接一个TVS管,将残余电压消除。

485芯片应选用的是带ESD保护系列芯片(如MAX485E等),以保证系统的稳定性。

此外,应在每个芯片的电源和地间接一个0.1uf或0.01uf的去耦电容,电容要尽量靠近元器件;在时钟线,差分对,复位线和其他关键的走线处强制使用3-W原则,即走线间的距离间隔(走线中心间的距离)大于单一走线宽度的三倍,以使走线间的耦合最小;根据功能分类逻辑器件系列,最小化元件间的物理距离,最小化并行布线走线的长度,最大化走线间的间隔或使走线更接近参考层以避免或最小化平行走线间串扰;上层走线和下层走线尽量垂直,以减少寄生耦合容;印制导线的拐弯角度要大或成圆角,因为直角或尖角会影响电气性能;大面积铺地等。

25.3系统软件设计

软件设计是整个系统设计的重要环节,应遵循可靠性、交互性、实时性的原则。

采集器是控制系统的处理单元,同时也是控制系统的重要部分。

下位机软件编程主要包括水位数据的采集、处理、存储、发送及GSM通信等。

上位机软件使用VB建立管理控制软件,建立数据库。

由于篇幅所限,本文主要针对采集器进行设计,采集终端和上位机的软件设计这里不作介绍。

25.3.1系统流程图

为提高响应速度,系统采用中断处理方式。

单片机上电初始化后,对系统进行初始化操作,然后开启中断,并根据中断的内容处理相应的任务。

系统流程图如图25.7所示。

图25.7系统流程图

如图25.7所示,系统上电初始化完毕后,单片机串口一直等待接收数据,如果有数据到达,则判断数据类型,如果是MC55模块的返回码,则进入处理返回码子程序;如果是需要告知客户端或服务器的自己的IP地址指令,则发送短消息告知对方自己的IP地址(动态);如果是PC的抄表指令,则发送给相应的采集器,采集器再通知采集终端需要返回的数据;如果是采集端返回的水位数据,则将数据发送给服务器,服务器再发送给监控中心;如果是监控中心的AT控制指令(对MC55模块控制),则直接发送给MC55模块。

相应的子程序处理完毕后,返回继续等待数据。

25.3.2主程序

系统的主程序主要完成初始化工作,等待接收数据,接收到数据后跳入相应的子程序进行处理。

主程序的主要代码如下:

(1)函数声明及变量定义

#include

#include

//***************************宏定义**********************************

#defineucharunsignedchar

#defineuintunsignedint

#defineOLEN50//发送缓冲区大小

#defineILEN100//接收缓冲区大小

//**************************变量定义**********************************

sfrWDT_CONTR=0xe1;//看门狗寄存器

ucharn,i,j,ch;

ucharCMP_flag=0;//接收数据帧类型

ucharSISW[2]={0,0};

uinttt=0;

ucharxdataoutbuf[OLEN];//定义发送缓冲区

ucharxdata*outlast=outbuf;//最后由中断传输出去的字节位置

ucharxdata*putlast=outbuf;//最后放入发送缓冲区的字节位置

ucharxdatainbuf[ILEN];//定义接收缓冲区

ucharxdata*inlast=inbuf;//最后由中断进入接收缓冲区的字节位置

ucharxdata*getlast=inbuf;//最后取走的字节位置

ucharxdataphone_obj[12];//对方的手机号码

ucharxdataIP_self_buf[26];//自己的IP地址缓冲区

ucharxdataIP_obj_buf[26];//对方的的IP地址缓冲区

//*************************位变量定义**********************************

sbitP1_0=P1^0;

sbitP1_1=P1^1;

sbitP1_2=P1^2;

sbitP1_4=P1^4;

sbitP3_1=P3^1;

sbitP3_0=P3^0;

bitWait_t0=0;//定时时间到标志

bitWait_RI=0;//数据到达标志

///****************************函数声明*******************************

voiddelay(uinttime);//延时函数

voidserl_init(void);//串口初始化

voidmodule_init(void);//模块初始化

voidIGT_target(void);//启动模块

voidconn_module(void);//模拟开关连接到模块

voidconn_485(void);//模拟开关连接到485总线

voidSMS_set(void);//设置短消息

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1