基于嵌入式GSM模块的水文监测系统的设计
扫描二维码
随时随地手机看文章
摘要:依托完善的移动通信网络,采用西门子公司的嵌入式GSM模块MC35,辅以计算机、单片机、双音多频信号发生器UM9121O和解码器MT8 870、水位传感器等构成江河水位监测系统,由监测中心和多个监测点的监测子机组成,监测子机的监测数据通过MC35以短信方式上传给主机,上传的时间间隔可自动调整,也可由主机发送指令设定,还可通过移动通信的话音通道用双音多频信号传送。
关键词:移动通信;短信服务;双音多频;水位监测
0 引言
监测收集江河水位涨落情况,并送到相关水文管理部门是水文工作中的一项重要任务,特别是雨季,监测工作尤为重要,由于观测点多、分散性大、距离远且往往地处偏僻,因此在数据采集尤其是要求频繁采集时存在困难。目前,移动通信网已十分发达,信号基本覆盖了城乡各地,同时移动通信业务种类也在不断推出,包括单向收费、免月租计费、包月包短信等各种套餐。在此形式下,远程数据监测系统中利用短信平台来传输非频繁短数据成为一种省投资、省运行成本、免维护的很实用的方案。监测系统采用嵌入式GSM模块,集成数据采集等电路完成基于短信服务平台和话务平台的无线监测传输网络的设计。它有2种方式:短信方式传送数据和双音多频(DTMF)方式,两者可互补,试验表明该设计成本低、可靠性高、实用性强。
1 监测系统组成概述
如图1所示,系统由一个监测主机和若干个监测点子机构成,它们通过移动通信网的短信平台和话务平台构成信息通道,所依托的移动通信运营商及模式没有限制。在通常情况下,各测点用短信方式定时向监测中心传送水位实时监测数据,定时间隔可智能判断、自动调整,遇汛期水位波动大,单片机根据水位的变化速率给出定时间隔,这在洪水季节水位波动大时十分必要。监测中心也可以用短信方式向某子机发出指令,对子机的数据传送间隔或其他功能要求进行设置。如遇短信通道拥挤、堵塞,或有特别需求,监测中心还可用通话方式通过“拨号呼叫”接通监测点话路,然后监测点用DTMF信号来传送数据以作为互补。
2 水位测量方案
采用“浮球法”将水位增量转为电压值:基本结构如图2所示,浮球1跟随水位涨落而上下移动,通过钢丝索3以及传动机构带动精密多圈电位器转动,球体2是平衡球。多圈电位器将+5 V电压转换成与水位相对应的电压值ui,再经A/D转换成数字量,由单片机检测、计算。为消除风浪所造成的水面波动,“浮球法”必须建造竖井,将浮球置于井中以使水面平稳。
3 测点监测子机构成原理
如图3所示,主要由嵌入式GSM模块MC35、DTMF信号发生器UM91210、单片机AT89S51、水位变换测量模块、显示模块等部分组成。
MC-35是西门子公司出品的移动通信模块,具有短信收发、拨号呼出、全双工语音通信等功能,各项功能均由一个异步串行通信接口接收来自单片机或PC机的AT指令而实现;多圈电位器、4位半双积分模/数转换器ICL7135通过图2装置将水位变化量转换成数字量送给单片机89S 51的中断口P3.3,经单片机计算处理后,一方送LED串行显示模块;若需要上传数据另一方面按照规定的格式组成AT指令数据包,由单片机的串口TXD送出,GSM模块MC35的串口RXD接收后即以短信方式发往主机。
一般情况下,水位数据以智能定时方式主动上传,但主机也可以向子机发短信指令要求上传或设定定时间隔等,MC35收到来自主机的短信,从串口TXD输出.单片机的RXD接收后即执行相应功能。
如遇短信信道堵塞,主机还可以向子机“拨号”呼叫,这时子机RINGO端会输出振铃信号,该信号周期为低1S高4S,单片机的INT0(P3.2)端检测到这一信号即通过串口向MC35写入一条“接收电话”的AT指令,使MC35进入“通话”状态,同时把水位数据转换为控制码从P1口输出给DTMF发生器UM91210,UM91210随即根据控制码从TONE端输出相对应的双音多频信号,GSM模块MC35的MIC+(话筒输入)端接收该信号并通过移动通信网络发往主机。水位数据由5位10进制数组成,P1口每送一次控制码,只完成1位(10进制数)的上传,P1口连续多次给出控制码,即可完成整组数据的上传。
[!--empirenews.page--]
4 监测中心监测主机构成原理
如图4所示,主要由GSM模块MC35、DTMF信号解码器MT8870、单片机AT89S51、显示模块、PC机等部分组成。
当MC35收到子机发来的短信(水位数据)时,从其串行口TXD输出至带RS 232接口的PC机,PC机完成数据处理、存储、显示、报表等功能。
当主机需要向子机发送指令时,使用鼠标点击PC屏幕软按钮,PC机则按照规定的格式组成包含指令内容的AT指令数据包,通过RS 232接口向MC35串口RXD端送出,MC35接收后即向子机发送指令短信,完成了指令下传的工作。
当主机需要以“拨号”方式呼叫子机时,可由PC机键盘输入子机的“电话号码”,然后点击“拨号”按钮(电话号码也可以事先设定),则PC机由USB口经“USB转232转换器”向MC35的串口RXD端写入一条相应的AT指令,实现了对子机的拨号呼叫;稍后,MC35就会收到从子机送来的DTMF信号,该信号从喇叭接口SP+端输出,送入DTMF信号解码器MT8870的IN-端,MT8870正确解码后,在Q0,Q1,Q2,Q3端输出4 b相应的二进制码,同时STD端会输出一个正脉冲,单片机P1.4端检测到该脉冲,P1.0~P1.3即读取二进制码。水位数据(包括结束符*)由若干位组成,因此MT8870的解码、单片机的读取须经几次,直到读到“*”号才完成一组完整数据的读取,然后单片机对数据处理后送LED显示器,同时由串口TXD端经USB-232转换器送PC机。
5 AT指令及DTMF信号传送数据原理
5.1 AT指令
对于MC35,只要按规定从其串口输入AT指令,就能执行相应的功能。本文中涉及到的有关AT指令如表1所示。
以上指令中0D是回车符的ASCII码,1A是替补的ASCII码,其余所有字符、数字均需转换为ASCII码后输入MC35串口。
[!--empirenews.page--]
5.2 DTMF信号传送数据原理
双音多频信号(DTMF)是一种由2个音频混合组成的信号,所使用的音频共有16个频率,分别称为高频群和低频群,各取其一个混合后来代表“0,1,2,…,9,A,B,C,D,*,#”等16个字符,其标准如表2所示。由于其频率落在音频的主频带内,因此可以通过电信网络的话务通道传输,稳定性、可靠性极高,抗干扰能力极强,且配套电路简单,因而得到广泛应用。
本文使用UM91210来产生DTMF信号,该芯片是用于电话机的一种拨号芯片,价格十分便宜而性能非常稳定,其设有“行线”R1,R2,R3,R4和“列线”C1,C2,C3,C4,使用行列线可组成4×4的矩阵键盘(电话机键盘),可输入表2中规定的16个字符,当有字符键按下时,若使HK端为低电平,则在TONE端会输出相应的双音频。图3中,使用单片机的P1口线来控制UM91210产生DTMF信号,P1口的控制码与UM91210所发送的DTMF信号以及所代表的字符的对应关系如表3示。
在接收端(见图4),MT8870是专用于DTMF信号解码的芯片,当MC35收到子机发来的DTMF信号并送入MT8870的IN-端时,MT8870将DTMF信号还原成二进制码,从Q0,Q1,Q2,Q3端输出,输出的二进制码与数字或符号的对应关系如表4所示。
[!--empirenews.page--]
6 模/数转换原理
本文使用4位半双积分A/D转换器ICL7135,精度高、价廉,转换速度较低(2~4次/s)。本应用中,该器件的使用方法与常规不同,如图3所示,单片机的P3.4(T0)提供积分器所需的时钟脉冲clock,在BUSY为高电平期间,与门开放,单片机的P3.3(INT1)对该clock计数,根据该计数值即可计算被测电压ui。原理如下:
根据双积分型A/D转换器的工作原理,第一阶段对被测电压ui进行定时积分,其定时时间固定为:
T1=n1×Tc (1)
第二阶段对参考电压UREF进行定压积分,积分时间为:
T2=n2×Tc (2)
式中:Tc是clock时钟的周期;n1是第一阶段积分期间内部计数器的计数值,本器件已知为20 000;n2是第2阶段积分期间内部计数器的计数值。设在积分期间被积分电压为恒值,可以推得:
对于ICL7135,在积分(包括1,2两个阶段)期间,其“BUSY”端输出高电平信号,图3中,单片机在BUSY=1期间对clock计数,因此该计数值为n1+n2,而已知“n1=20 000”,所以“n2=单片机计数值-20 000”,于是根据式(4)可算得被测电压ui。该方法电路连接简单且编程亦较简单。
7 结语
水文数据监测与采集的内容涉及江河水位、水库水位、雨量甚至气温、风力风向等方面,监测点分散性大、数量多、地理环境差,若自建微波等无线通信网络实现数据传送,致使设备复杂、工程投入大,运行维护费用高。近年移动通信业务以及微电脑技术的迅速发展,可以很好弥补传统上的不足,本文是基于移动通信平台的一种设计实例,实验表明费用低、可靠性高,具有较实用意义,可推广应用于相类似的其他领域。