基于STM32的山体地质形变实时监测系统
2014-03-08万兴兵周凤星张志坚
万兴兵,周凤星,张志坚
(武汉科技大学 信息科学与工程学院,武汉 430081)
对于地质监测及其发展趋势的研究,过去往往是由人工定时采集地质状态信息,这种方法采样频率低,偏远地区实施困难,无法适应和满足监测预报工程的需求[1-2]。利用基于GPRS网络方式构建的远程监测系统能够实时、快速、高效、准确地确定山体地质的位移,倾斜等状态信息。该系统经过测试是可行的、经济的和方便的,也是地质灾害监测技术发展的必然趋势。科研人员通过对远程监控中心的地质状态数据信息进行认真分析和研究,能够掌握地质运动状态的规律和趋势,从而做到有所预见,有所把握,使国家财产和人民安全得到有效保障。
1 系统整体设计
系统的整体构成主要包括两大部分:监测终端和远程监控中心。监测终端主要由倾角传感器、STM32控制器、GPRS数据发送模块、SD卡数据读写模块和供电系统五部分组成。远程监控中心则是一台接入Internet的具有固定IP地址的服务器,监测用户可以通过接入Internet的电脑和手机来访问固定IP服务器的数据,达到多用户实时监控的目的。系统整体工作流程如图1所示。
图1 系统整体流程图Fig.1 Overall flow chart of system
系统的工作流程:(1)远程监控中心服务器打开相应的监测软件,等待监测终端的连接;(2)服务器接收到监测终端连接信息后自动建立TCP/IP通讯通道;(3)监测终端的STM32控制板一旦检测到连接成功便开始读取传感器数据,并将数据通过UART串口传送给 GPRS模块;(4)服务器接收GPRS模块发来的数据并存储显示;(5)不同的监测用户可通过接入Internet的电脑、手机访问服务器数据。
系统中,倾角传感器的安装采用钻孔法,每个监测点将3路传感器安装在不同深度的山体岩土中,这样能够使得获取的地质形变信息更加准确。GPRS传输网络是由网络运营商自动完成,只需对GPRS模块配置好相应的IP地址和端口号即可。由于地质的监测点通常会在野外或者偏远的山区、矿区,采用太阳能电池板和大容量蓄电池为整个系统提供电力供应。
2 监测终端硬件设计与实现
微控制器是地质监测系统的控制核心,数据的采集处理、存储及远程发送均由微控制器完成。地质监测系统采用STM32F103ZE作为控制核心。STM32F103ZE使用ST公司高性能Cortex—M3内核,工作频率高达为72 MHz,内置高速Flash存储器,具有丰富的增强型I/O口和两条APB外设总线,APB总线外设接口包含2个12 bit的ADC、3个通用16 bit定时器和一个PWM定时器。标准外设通信接口多达2个I2C和2个SPI、3个 USART、一个USB和一个CAN,丰富的外设接口为硬件设计提供了方便。控制器及外围电路组成的监测终端结构图如图2所示。
图2 监测终端结构图Fig.2 Monitoring terminal structure diagram
传感器采用高精度动态双轴数字型工业级倾角传感器,内部集成24位ARM高端系统,分辨率高达 0.0001°,精度 0.01°,温漂 0.0007°/℃,响应频率高达300 Hz(波特率115200 Bd/s)。其原理是由非接触位移传感器、力矩马达、误差和放大电路、反馈电路、悬臂质量块5部分组成[4]。该倾角传感器精度相对于电解质原理或者是电容原理的倾角传感器在非线性、重复性、迟滞、温度漂移和工作温度、抗冲击、振动等性能上要优越得多。利用此倾角传感器实现对山体岩土深度形变的持续测量,可以将山体岩土的细微变形所产生的倾角准确地检测出来,足以满足地质监测的需要。传感器通过RS485总线与STM32控制器相连,RS485采用平衡发送和差分接收,具有抑制共模干扰的能力。除此之外,由于传感器埋在岩土较深的位置,连线较长,为了防止信号干扰,采用磁隔离芯片ADM2587E。ADM2587E基于先进的iCoupler磁隔离技术,而且内部集成了DC/DC电源,省去了DC/DC电源的外电路设计,使用方便。该芯片还具有热关断和失效保护功能,可以实现稳定可靠的半双工通信.
为了获取数据采集的精确时间,监测终端添加了内置晶振和锂电池的高精度时钟芯片DS12C887,该芯片在没有外部电源的情况下可工作长达10年之久,内置高精度时钟调整功能,无需人工校时。DS12C887具有MOTOROLA和INTEL两种总线工作模式,在本系统中采用INTEL总线工作模式。由于STM32系统的时钟频率比较高,在运行时极有可能发生干扰和被干扰的现象,严重时系统可能会出现死机。为了克服这种情况,不仅使用了STM32自带的软件看门狗,还引入了硬件看门狗芯片MAX706,用来监测处理器的运行状态,一旦处理器失控就强行复位,引导程序重新运行,保证系统的可靠运行。
GPRS模块选用西门子公司生产的工业级三频模块SIEMENS-MC55,该模块是市场上尺寸最小、性价比相当高的三频模块,STM32可以直接使用AT指令集控制该模块连接固定IP的服务器和数据发送等工作。此外,该模块内部内嵌有TCP/IP协议栈,能够直接将STM32发送到UART串口上的数据转换成TCP/IP数据包进行网络传送,省去了自定义通信协议的麻烦。GPRS模块是通过网关GPRS支持节点(GGSN)接入Internet的,当模块长时间不进行网络数据传输时,为了节省信道资源,网关会自动断开模块的网络连接而导致模块的网络中断。为了避免这种情况的发生,每隔5 min,STM32会控制GPRS模块向远程监控中心发送一段心跳包,保证模块永久在线。
MC55模块正常运行时所需电源电压范围是3.3 V~4.8 V,当该模块以最大功率运行时,电路中电流的最大值可能达到2 A,为了避免模块高功率运行时的电压跌落而导致模块掉电重启等异常状况发生,电源部分采用开关稳压芯片LM2596-ADJ,并在电压输出端口并联多个大容量电容。LM2596-ADJ是一款运用成熟的开关稳压芯片,具有电压输出可调,工作性能稳定、输出电流驱动能力强等优点。最大输出电流高达3 A,在系统高功率运行时有较强的抵抗电压跌落的能力,利用此芯片为系统供电,保证了电路的可靠运行。
在系统工作过程中,为了防止因GPRS模块网络信号丢失、SIM卡欠费停机或网络通信故障等而不能实时传输数据信息,采用文件管理控制芯片CH376S外接SD卡来存储因网络不能正常通信时STM32采集的数据,使用存储容量为512 M的SD卡可以存储至少一年内非正常通信而采集的数据,避免了数据的丢失,方便工作人员及时获取采集的数据信息并进行相关分析研究。CH376S可以控制系统读写U盘或SD卡中的文件,本系统中主要用于向SD卡中写入数据。CH376S支持三种通讯接口:8位并口、SPI接口或者异步串口,在本系统中CH376S采用SPI接口与STM32F103ZE进行通讯。CH376S与STM32F103ZE和SD卡接口电路如图3所示。STM32F103ZE自带2个SPI接口,这里采用SPI0接口与CH376S通讯,CH376S的 SPI信号线SCS、SDO、SDI、SCK 分别与 STM32F103ZE 的 IO 口SPI0_CS,SPI0_MISI、SPI0_MISO、SPI0_SCK 对 应 连接,只需对STM32的SPI相关寄存器进行配置,即可方便的实现STM32对CH376S数据文件的读写。
图3 CH376S接口电路图Fig.3 CH376S Interface circuit schematics
3 系统软件设计
软件是整个系统的重要组成部分,传感器数据的输入、GPRS模块数据的远程传输等功能都需要通过软件来实现,性能优良的软件是实现整个系统正常可靠运行的重要前提。在本系统中的软件设计主要包括两个部分:监测终端的STM32程序设计和远程监控中心服务器的程序设计。
监测终端是实现数据采集与传输的关键部分,其软件设计采用基于MDK开发环境的C语言来完成,主要包括传感器数据的读取、时钟芯片控制、GPRS数据传输控制、文件管理芯片CH376S的控制等。其中,传感器数据读取、GPRS数据传输控制、控制CH376S对SD卡读写是监测终端软件设计的核心,本部分主要对核心部分程序流程图进行描述。
程序的开始需要对整个监测终端进行初始化,包括STM32各个寄存器的初始化和GPRS模块的初始化等,这个过程是由STM32控制器来完成的。然后STM32控制器控制GPRS模块连接远程监控中心服务器,成功连接后即进行数据的读取与发送。当出现网络异常或通信故障时,控制器控制GPRS模块连接远程服务器超时或不成功,控制器就将读取的数据通过CH376S写入SD卡[5]进行存储,然后再次控制GPRS模块连接服务器。程序流程图如图4所示。
图4 监测终端程序流程图Fig.4 Monitoring terminal program flow chart
远程监控中心服务器的程序设计采用Java Socket和多线程机制相结合的框架,引人Java的多线程机制,可以建立多条Socket的通信信道,一个通信信道为一个远程监测终端服务。这样监控中心服务器可以同时监听并接收多个客户端 (监测终端)的请求。其原理是:服务器端开启监听线程,监听到客户端的请求后,立即调度一个线程,并建立一个套接字与客户端绑定,监听程序继续监听,等待下一个客户端的请求,建立连接的线程在交互完毕后自动退出[3]。这样便实现了服务器与多客户端的通信,即实现多个监测终端与服务器的连接与数据传输。服务器程序设计主要实现的功能包括:监测客户端的连接请求并接受连接请求,实现基于TCP/IP协议的数据接收;实现Web服务,通过浏览器运行并显示接收的实时数据;数据库技术将接收的数据进行备份存储,实现历史数据的查询和显示。服务器端的数据查询显示页面如图5所示。从图中可以看出,数据的值很小,基本接近Y轴最低点,这是由传感器数据取值范围决定的,这种数值小而平坦的曲线,表明倾斜角度很小且基本没有变化,即地质的倾角形变基本保持不变,这是实际地质状况的真实表现。
图5 数据查询显示界面Fig.5 Data query and display interface
4 结语
基于STM32和GPRS的山体地质形变实时监测系统,性能稳定、实时性强,极大地提高了偏远地区山体地质的监测频次,节省了人力物力,为科研工作者对地质运动规律和趋势的研究以及地质灾害的预防和预警提供了可靠的数据依据,并在实际工程中得到了应用,在其他倾角检测的远程监测工程中具有广泛的推广应用价值。
[1] 佟维妍,刘春梅,赵国材.基于GPRS数据远程传输的水质参数监测系统[J].自动化与仪表,2010,25(7):52-55.
[2] 曹修定,阮俊,吴悦.GPRS技术及其在地质灾害监测中的应用[J].中国地质灾害与防治学报,2006,17(1):69-72.
[3] 王磊,许小琳.GPRS无线数据传输中服务器端软件的设计和实现[J].测控技术,2007,26(11):55-56.
[4] 陈烁辉,周翔,王汉其,等.高精度倾角传感器检测系统的设计与实现[J].自动化与仪表,2012,27(12):18-20.
[5] 吉涛,蔡航.应用SD卡实现大容量存储测试系统设计[J].陕西科技大学学报,2010,28(5):97-101. ■