摘要:为改善燃气管道传统的过于单一的监测方式,更好地实现实时远程维护管道安全,设计了一款基于嵌入式技术的智能燃气管道监测控制系统。本系统以STM32单片机为控制核心,在STM32上移植了FreeRTOS实时操作系统及STemWin图形界面系统,并引入无线通信模块实现对管道天然气各监测点的温度、压力、位置等数据的传输,实现对管道燃气各监测点工作状态的实时监控及远程控制。经显示数据与现场对比,表明该系统工作稳定,达到设计要求。
关键词:STM32; 实时操作系统; 图形界面系统; 无线传输; 监测;
目录
引言…………………………………………………………1
1系统组成…………………………………………………………2
2系统硬件设计…………………………………………………………3
2.1单片机模块…………………………………………………………4
2.2传感器模块…………………………………………………………4
2.3示屏模块…………………………………………………………4
2.4无线传输模块…………………………………………………………4
3系统软件设计…………………………………………………………5
3.1单片机软件设计…………………………………………………………6
3.2实时操作系统和图形界面系统移植…………………………………………………………6
3.3数据处理…………………………………………………………5
3.4数据可视化…………………………………………………………5
4总结…………………………………………………………7
文内图表…………………………………………………………8
图1系统整体设计图…………………………………………………………8
图2接入设备组成图…………………………………………………………8
图3 BME280驱动电路…………………………………………………………8
图4 NB-IoT终端数据传输模式…………………………………………………………8
图5单片机系统工作流程图…………………………………………………………8
图6系统实时数据监测界面…………………………………………………………8
参考文献…………………………………………………………9
引言
随着人们生活水平的提高和城市经济的快速发展,燃气是工业生产、人民生活中的重要资源,燃气管道是天然气的主要运输手段。由于燃气的易燃易爆特性,实时监测管道天然气状态,改善传统机械触点式控制系统,实现远程、快速、准确报告处理泄漏事故就显得尤为重要,管道安全已经变成公共安全和人身安全的重大问题。针对上述问题,本文进行了管道实时监测技术的研究,采用STM32单片机为核心器件,通过实时操作系统FreeRTOS植入,实现多任务管理,实现温度、压力、位置等模拟数据的实时监测与数据显示,当有泄露事故出现时则迅速报警,准确显示事故地点,启动相关补救动作。管道实时监测技术的研究对维护天然气管道安全,保障居民人身财产安全有着重大意义。
1 系统组成
燃气管道监测系统主要由微处理器(STM32F4单片机)、BME280传感器(温度和大气压力传感器)、继电器模块、TFTLCD显示屏、NB-IoT无线模块、物联网云平台及终端设备组成。
系统设备具有显示各监测点温度压力数据、显示监测点位置、远程控制阀门、远程监控等功能。系统采用TFTLCD触摸屏控制及云平台控制。管道配备的LCD触摸屏可实时显示管道燃气温度、压力信息,同时通过单片机配备的无线模块将各监测点的参数状态信息(与LCD上显示一致的信息)发送给云平台。工作人员可通过云平台远程实时监测到各监测点数据信息,当信息异常,数据超出设定阀值时,云平台即刻报警并显示故障点位置。工作人员可通过云平台触动继电器远程关闭故障阀门,避免事故的发生。本系统实现了对燃气管网远程分布式全天候监控,并可在云平台查看各数值历史数据曲线,分析数据动态,体现了燃气管道监控的智能化。
系统整体设计的框图如图1所示。
图1 系统整体设计图
2 系统硬件设计
该嵌入式监测系统是以传感器检测技术、无线收发技术等为基础,接入STM32F4单片机、压力温度传感器、继电器模块、触摸屏和无线模块等设备。无线模块通过串口与STM32处理器连接,温度及压力传感器通过I2C总线与STM32处理器连接,TFTLCD屏幕自带驱动与STM32单片机显示控制器连接。接入设备组成图如图2所示。
图2 接入设备组成图
2.1 单片机模块
该系统采用Cortex-M4为内核的STM32F407作为核心器件。STM 32F407微处理器具有低成本、缩减的引脚数目、较低的系统功耗等优点,为新一代的嵌入式ARM处理器。STM32F407运行频率最高可为168MHz,有192kb的SRAM,对于外设具有更快速的A/D转换速度,有32位定时器,同时提供了卓越的计算性能和先进的中断响应系统。丰富的资源及广泛的硬件和软件开发工具,使得STM32微控制器成为实现燃气监测系统的理想方案[1].
2.2 传感器模块
本系统信号采集采用BME280传感器。BME280可以实时测量气体压力和温度,同时它还具有I2C总线的接口,便于单片机进行访问。BME280是集成式环境传感器,满足移动应用对小尺寸和低功耗的关键设计要求,具有多功能、高精度、小尺寸、低功耗、方便使用等特点。
该器件结合了压力和温度传感器:压力传感器是绝对气压传感器,具有极高的精度、高分辨率和极低噪声;集成的温度传感器针对极低噪声和高分辨率进行了优化。BME280同时提供I2C和SPI通信协议,可以方便快捷地搭建产品原型,且支持一系列完整的工作模式,灵活地优化了器件的功率消耗、分辨率和滤波器性能,适用于燃气管道监测系统。本系统将BME280模块接高电平,片选I2C通信接口,I2C总线标准是两线(SDA、SCL)、双向串行、多主控接口,在它的协议体系中,数据传输的同时会附带目的设备的地址,因此可以实现各设备组网。电路接法如图3所示。
图3 BME280驱动电路
2.3 显示屏模块
本系统采用STM32F4单片机外接TFTLCD电容触摸屏模块实现数据显示,ATK-4.3′TFTLCD电容触摸屏分辨率为800×480,16位真彩显示,支持5点同时触摸。
TFTLCD电容触摸屏模块自带驱动,单片机可轻易驱动TFTLCD电容触摸屏显示数据。电容触摸屏由驱动芯片来检测电容触摸,并通过I2C接口输出数据。触摸屏模块与单片机进行驱动模块中断输出信号INT、复位信号RST、I2C的SCL和SDA信号连接。通过执行A/D转换检测被触碰操作的位置,具有很好的操控体验,为当前广泛使用的LCD显示器[2].
2.4 无线传输模块
为了有效地将数据传输到上位机,该系统采用了NB-IoT无线网络代替传统的GPRS传输。NB-IoT具有覆盖广、连接多、速率低、成本低、功耗低、架构优等特点。该系统应用USR-NB700-BA模块,采用网络透传模式将NB-IoT设备的信息传送到透传云服务器,再根据设备ID进行数据的传递,操作简单的AT指令设置,完成数据透明、双向、远程的无线传输[3].NB-IoT终端数据传输模式如图4所示。
图4 NB-IoT终端数据传输模式图
3 系统软件设计
3.1 单片机软件设计
本系统将STM32单片机连接外围设备,利用传感技术将温度压力信号转变为电路信号,将数据显示在触摸屏上,并通过无线传输方式实现数据远程传递。系统上电后对各硬件模块的驱动进行程序开发,初始化CPU、串口、温度和压力传感器模块、TFTLCD电容触摸屏模块、继电器模块及NB-IoT无线模块,再利用FreeRTOS实时操作系统对每个工作任务进行开发,包括温度压力检测任务、LCD显示及按键扫描任务、无线通信任务、继电器控制阀门任务等。
3.2 实时操作系统和图形界面系统移植
本系统以STM32微处理器为核心器件,植入FreeRTOS实时操作系统。STM32单片机的编程方式无法满足信号的采集、控制、传输等实时性较高的要求,所以需要植入实时操作系统实现多任务管理。FreeRTOS系统占用空间小,不限任务数量和优先级,支持Keil编译器编译,可在多种芯片上进行移植[4].单片机植入FreeRTOS实时操作系统,使控制系统中各监测点的数据显示与控制划分为独立任务,由操作系统对系统资源进行分配,并根据任务优先级完成对任务的调度。其中,调度任务为系统初始化、温度压力监测、数据显示、无线通信、继电器控制等。
单片机连接TFTLCD触摸屏,通过移植STemWin图形库,可在屏幕上设计图形界面。STemWin图形库富含丰富的开发小工具,可设计出很多控件界面,适用于本系统所选用的TFTLCD电容触摸屏。单片机系统工作流程图如图5所示。
图5 单片机系统工作流程图
3.3 数据处理
单片机连接TFTLCD电容触摸屏模块,MCU发送显示数据到驱动电路上,驱动电路进而再将这些数据不断地扫描到显示器上,显示器接收MCU的数据完成各监测点数据的本地显示。
单片机采集传输控制器与温度压力传感器通过RS485进行总线通信,当完成各温度压力传感器采集数据解析后,STM32通过串口将AT数据包发送给NB-IoT无线模块,从而实现远程发送。NB-IoT接收到STM32串口数据,通过UDP协议上传给透传云服务器。使用NB-IoT前,首先对其进行参数配置和功能测试,通过配置软件将NB-IoT设置为CMD工作模式,并设置透传云的IP地址和端口号。NB-IoT上电后发送AT指令,配置软件收到"OK",NB-IoT则可以正常通信,实现数据远程传递[5].
3.4 数据可视化
监控平台通过NB-IoT透传云提供的应用程序接口登录透传云,将无线模块发送的数据转发给监控平台。平台软件根据自定义的通信协议解析数据,并将数据显示到人机交互界面并储存。管理人员可查询相关数据及其变化曲线。当有报警时,交互界面发出颜色警报,同时可操作界面按钮进行远程阀门操作。通过模拟实际燃气管道监测系统,读取并对比相关数据,证明了系统的稳定性与可靠性。系统实时数据监测界面如图6所示。
图6中共分为三种状态:图a表示系统初始状态,在云端分别显示两个监测点的温度和压力数据;图b表示当管道温度发生变化时,系统马上检测到数据异常,故障监测点在云端报警,并在地图上显示报警警示;图c表示历史数据,工作人员可通过云端查询参数数据相应数值及变化曲线。
图6 系统实时数据监测界面
4 总结
综上所述,本文对基于STM32的燃气管道监测系统进行了方案设计,以STM32为核心单片机,植入FreeRTOS实时操作系统,移植STemWin图形界面系统。通过传感技术,以无线传输方式为基础,实现了对燃气管道相关数据的本地显示,同时采用云平台显示、储存数据,实现了燃气监测的远程实时可视化管理。此监测系统的设计具有很大的实用价值和社会意义,对维护天然气管道安全具有重大意义。
参考文献
[1]张洋。精通STM32F4库函数版[M].北京:北京航空航天大学出版社,2015.
[2]宋慧文。智能饮水机嵌入式控制系统设计[J].软件导刊,2019(2):91-95.
[3]吴正平,张兆蒙,李东。基于NB-IoT智能水表抄表系统设计与实现[J].传感器与微系统,2019(38):93-95.
[4]刘海洋。基于FreeRTOS与机电传感器的人体辅助机械臂系统[J].单片机与嵌入式系统应用,2019(8):65-67.
[5]刘啸松。基于云平台的物联网温湿度监控系统[J].新技术应用与实践,2019:141-142.