《电子技术应用》

基于STM32的泥石流远程监测系统设计

2018年电子技术应用第5期
王晨辉,郭 伟
(中国地质调查局水文地质环境地质调查中心,河北 保定071051)
摘要: 泥石流在形成过程中泥位和流速会发生明显变化,因此设计了一种基于STM32和AD7706的低功耗泥石流远程监测系统,可实现对泥石流沟降雨量、泥位、流速等数据实时在线监测与预警预报。该系统通过MicroSD卡实现数据存储,利用GPRS/北斗双模通信网络将监测数据传送至地质灾害监测预警云服务器,实现24小时不间断对泥石流现场参数进行数据采集、传输、分析及预警判断,可在泥石流灾害监测中推广应用。
中图分类号: TP393
文献标识码: A
DOI:10.16157/j.issn.0258-7998.174502
中文引用格式: 王晨辉,郭伟. 基于STM32的泥石流远程监测系统设计[J].电子技术应用,2018,44(5):63-66.
英文引用格式: Wang Chenhui,Guo Wei. Design of debris flow remote monitoring system based on STM32[J]. Application of Elec-
tronic Technique,2018,44(5):63-66.

Design of debris flow remote monitoring system based on STM32

Wang Chenhui,Guo Wei
(Center for Hydrogeology and Environmental Geology Survey,CGS,Baoding 071051,China)
Abstract: The mud and flow rate of debris flow in the formation process will change significantly, so a low-power remote monitoring system of debris flow based on STM32 and AD7706 is designed. The system can realize real-time online monitoring and early warning of gully rainfall, mud, and the velocity of debris flow. It can achieve data storage through the MicroSD card and use GPRS/Beidou dual-mode communication network to send the monitoring data to the geological disaster monitoring and early warning cloud server. The system can realize 24-hour continuous data acquisition, transmission, analysis and early warning judgement of debris flow field parameters, which can be applied in the debris flow disaster monitoring.

0 引言

    泥石流灾害是我国地质灾害中威胁较为严重的灾害之一,严重威胁人民的生命财产安全,制约我国经济社会的可持续发展[1]。以往的泥石流监测手段一般是在野外环境下建立初步的简易监测点,主要通过人工手段来记录现场发生的具体情况,技术含量较低,预警预报准确率不高,而且易受到环境条件影响,在遇到暴风暴雨时监测预警工作极难开展。因此,本文利用微处理器STM32F107VCT6及低噪声双通道模数转换芯片AD7706共同构建低功耗泥石流远程监测系统,对泥石流灾害现场多监测参数实现不间断实时数据采集,有效提高数据采集速度和采集精度,降低系统功耗,极大提升泥石流远程监测系统的稳定性,便于在野外恶劣环境下实现泥石流远程动态实时监测[2]

1 系统总体结构设计

    该监测系统主要由低功耗微处理器STM32F107VCT6、电源模块、数据采集模块(泥位和流速采集模块)、A/D转换模块、数据存储模块、数据传输模块和地质灾害监测预警云服务器组成。STM32F107VCT6作为主中央处理器,控制协调具体的数据采集、存储、传输与命令控制;A/D转换电路可以采集泥位、流速监测数据;通过GPRS/北斗卫星多模通信方式将监测数据有效传送至地质灾害监测预警云服务器;云服务器可实时查询现场监测数据,可根据历史数据进行相应的数据分析及预警模型,并判断泥石流运动趋势及时发出预警预报信号;数据存储模块负责将采集数据实时保存到SD卡中[3]。系统总体结构框图如图1所示。

ck1-t1.gif

2 系统硬件电路设计

2.1 微处理器简介

    STM32F107VCT6是ARM Cortex-M3内核,是一款低成本高性能的RISC微处理器,集成各种高性能工业互联型标准接口,主要包括10个定时器、AD模数转换、DA数模转化、无线网络接口、外接2 Kbit的IIC接口及SPI模式的MicroSD存储接口;具有6~12个时钟周期,可实现快速嵌套中断,具有MPU保护设定访问规则,且软件具有完美的兼容性,可以适应多种物联应用。

2.2 数据采集电路

    利用STM32F107VCT6定时器中断的方式采集现场降雨量,利用电磁波雷达采集泥石流泥位数据,采用多普勒雷达采集泥石流流速数据,将泥位和流速传感器输出的电压信号输入到AD转换电路进行模数转换。系统采用的AD转换芯片是AD7706,AD7706是一款高性能、16位Σ-Δ型模数转换器,分辨率较高,功耗低,能够满足宽动态范围以及较低的抗混叠要求。AD7706具有三通道准差分模拟输入,简化了硬件电路设计,可以支持单极性、双极性信号输入和自校准、系统校准,它的非线性度达到0.003%,工作电压支持3.3 V和5 V供电模式。本系统采用与微处理器相同的3.3 V供电模式,AD7706与单片机通过SPI进行通信,片选信号ck1-t1-x1.gif串行时钟输入SCLK、串行数据输入DIN、串行数据输出DOUT、状态信号ck1-t1-x2.gif分别与STM32F107VCT6的PA4、PA5、PA6、PA7及PA8相连[4]。其接口电路如图2所示。

ck1-t2.gif

2.3 电源电路设计

    泥石流远程监测系统大多工作在野外环境,需要为系统提供可靠稳定的电源供应。系统的电源电路有12 V、5 V、3.3 V 3种,12 V电源由太阳能供电系统构成,主要包括单晶硅太阳能电池板和锂电池,用于为泥位传感器、流速传感器、数据传输模块提供电源;LP3878电源模块提供稳定的5 V输出,用于为数据采集电路供电[5]。5 V电源电路原理图如图3所示。

ck1-t3.gif

    微处理器的供电电源为3.3 V,由蓄电池提供12 V电源经降压电路转换为3.3 V,考虑到系统低功耗设计,3.3 V电源电路采用功耗非常低的降压模块LTC3631,电源电路原理图如图4所示,LTC3631的静态电流是12 μA,在3.3 V电压下最大输出电流可以达到100 mA。

ck1-t4.gif

2.4 数据存储电路

    MicroSD卡是一种具有可移动性低功耗的Flash多功能微型存储卡,具有智能保护功能,具有传输效率快、存储容量高的特点。数据存储电路用来将现场采集到的监测数据实时存储到MicroSD卡中,这样可以保证数据的完整性,同时实现数据的历史查询,当信号质量出问题数据传输不出去时可以对数据进行保存。STM32F107VCT6不具备SDIO接口,采用SPI通信模式实现对MicroSD卡的读写操作[6]。MicroSD卡接口电路如图5所示。

ck1-t5.gif

2.5 数据传输电路

    本设计数据传输电路分为两部分,分别是GPRS传输和北斗卫星传输。GPRS传输作为常规的传输模式,其传输简单、可靠、稳定,在数据传输时优先选择GPRS传输。在某些偏远地区无法满足GPRS信号时就要选择北斗卫星传输模式,双重传输模式能有效保证数据传输的可靠性和稳定性,系统通过RS232串口分别与GPRS模块和北斗卫星传输模块连接。

    GPRS模块选用西门子MC52iR3,它具有低功耗模式,在休眠模式下工作电流仅为3 mA,可以支持TCP/IP协议栈,通过GPRS网络以TCP/IP数据包方式将现场采集到的监测数据实时传输到远程地质灾害监测预警云服务器。北斗卫星传输模块选用国智恒集团的BGT-500型北斗通信模块,它结构紧凑,支持北斗卫星系统RDSS的S、L频点和RNSS的B1、L1频点,可实现RDSS的双向定位和短报文通信功能,具有较高的集成度和较低的功耗,通过北斗卫星以短报文方式将监测数据传输到云服务器。

3 系统软件设计

    系统软件设计在ARM公司的Keil5集成开发环境下采用C语言编程实现,主要包括系统初始化、降雨量采集、泥石流泥位和流速采集、数据存储、数据传输等。主程序流程图如图6所示。

ck1-t6.gif

3.1 数据采集软件设计

    数据采集程序由微处理器与AD7706共同完成,主要包括AD数据采集和数字量数据采集。系统上电初始化AD7706后,配置微处理器端口,通过写入通信寄存器选择AD输入通道并设置下一次操作为写时钟寄存器;根据泥位、流速传感器实际需要设置时钟寄存器并选择合适的AD更新速率;写通信寄存器并设置下一次操作为写置位寄存器;写设置寄存器选择合适参数并启动AD转换,当查询DRDY由高电平变为低电平时表示数据转换完成,然后写通信寄存器并设置下一次操作为读取数据寄存器,通过读取数据寄存器中数据得到最新的AD转换数据。AD数据采集流程图如图7所示。

ck1-t7.gif

3.2 数据存储软件设计

    本系统采用SPI通信模式进行数据存储,MicroSD卡上电初始化后,会自动进入总线模式,由嵌入式微处理器向MicroSD卡发送74个时钟周期,将片选信号CS信号拉低。考虑到MicroSD卡读写命令不易读写,采用移植FAT32文件系统以文件的形式存储数据,直接调用FAT32_Status、FAT32_Open_File、FAT32_Close_File、FAT32_Read_File等函数对MicroSD卡进行操作[7]

3.3 数据传输软件设计

    数据传输软件采用模块化设计思路,嵌入式微处理器与云服务器通过GPRS或北斗进行数据交互。数据传输软件主要包括系统初始化模块、信号检测模块、数据建立连接模块、数据传输模块。串口初始化后,首先调用传输函数,检测传输信号,如检测有GPRS网络则采用GPRS模式进行传输,否则采用北斗卫星传输模式。微处理器与后端云服务器建立连接,调用GPRSconnection()函数,根据云服务器要求以TCP/IP数据包的形式进行数据发送;在北斗卫星传输模式下,调用BDConnction()函数,检测北斗主机号是否与云服务器北斗主机一致,如相同则继续执行数据发送程序,北斗模式下以短报文形式进行数据发送[8]。数据传输软件流程图如图8所示。

ck1-t8.gif

4 结论

    本文以微处理器STM32F107VCT6与AD7706共同构建泥石流远程监测系统,系统可以实时在线采集泥石流灾害现场雨量、泥位、流速数据,通过GPRS/北斗卫星传输网络进行数据传输,远程地质灾害监测预警云服务器与地质灾害现场可实现实时在线通信,对现场数据可以进行实时查询、分析及数据处理,系统稳定可靠、成本低、功耗低,在泥石流灾害监测中有较好的应用前景。

参考文献

[1] 方华.泥石流监测预警技术研究[J].人民黄河,2011,33(10):63-65.

[2] 杨成林,丁海涛,陈宁生.基于泥石流形成运动过程的泥石流灾害监测预警系统[J].自然灾害学报,2014,23(3):2-9.

[3] 黄志伟,王兵,朱卫华.STM32F32位ARM微控制器应用设计与实践[M].北京:北京航空航天大学出版社,2012.

[4] 马育峰,龚沈光.基于MSP430单片机的多路信号采集系统[J].武汉理工大学学报(交通科学与工程版),2009,33(2):369-372.

[5] 薛冰冰,吴书裕,李亚萍,等.基于STM32的微型多参数健康监护终端的设计[J].电子技术应用,2014,40(2):12-15.

[6] 杨博,张加宏,李敏,等.基于ARM的多通道数据采集系统[J].仪表技术与传感器,2015(2):104-107.

[7] 崔鹏伟,闫学文.基于SD卡的FAFFS文件系统的研究与应用[J].工业控制计算机,2013,26(11):141-142.

[8] 陈伟峰,张培建,吴建国,等.基于STM32和CDMA的污水曝气装置远程监控系统[J].仪表技术与传感器,2016(12):152-156.



作者信息:

王晨辉,郭  伟

(中国地质调查局水文地质环境地质调查中心,河北 保定071051)

继续阅读>>