聚丰项目 > 气体流量在线监测系统

气体流量在线监测系统

气体流量在线监测系统基于IDT气体流量传感器FS2012模块而设计。主控芯片采用高性能意法半导体公司Cortex-M4系列微控制器STM32F429IGT6,并采用ESP32无线2.4GHz Wi-Fi模块实现系统与互联网的连接。 本方案专为改变家庭传统燃气计费抄表方式,采用物联网+云平台方式实现智能在线监测和在线计费等功能。在断网断电等离线情况下可通过系统EEPROM和Nand Flash存储流量总量,待恢复网络连接情况下可继续记录并实时监测。具有实用性、便捷性、安全性等优点。 本项目采用模块化方案设计,主要构成系统的模块有STM32F429核心板、底板和各模块等。便于扩展各类传感器模块,实现家庭燃气、水、温湿度、空气质量等的实时在线监测功能。软件采用开源嵌入式实时操作系统RT-Thread,具有组件丰富、可靠性高等诸多优点。

h1654155744.0520 h1654155744.0520

分享
1 喜欢这个项目
团队介绍

h1654155744.0520 h1654155744.0520

团队成员

温家保 系统设计

分享
项目简介
气体流量在线监测系统基于IDT气体流量传感器FS2012模块而设计。主控芯片采用高性能意法半导体公司Cortex-M4系列微控制器STM32F429IGT6,并采用ESP32无线2.4GHz Wi-Fi模块实现系统与互联网的连接。 本方案专为改变家庭传统燃气计费抄表方式,采用物联网+云平台方式实现智能在线监测和在线计费等功能。在断网断电等离线情况下可通过系统EEPROM和Nand Flash存储流量总量,待恢复网络连接情况下可继续记录并实时监测。具有实用性、便捷性、安全性等优点。 本项目采用模块化方案设计,主要构成系统的模块有STM32F429核心板、底板和各模块等。便于扩展各类传感器模块,实现家庭燃气、水、温湿度、空气质量等的实时在线监测功能。软件采用开源嵌入式实时操作系统RT-Thread,具有组件丰富、可靠性高等诸多优点。
硬件说明

本项目硬件主要有电源模块、STM32核心板(含SDRAMEEPROMNand FlashUSB通信等功能部分)、ESP32模块电路、和FS2012模块。各部分电路介绍如下。

2.1    电源模块

通过分析,此项目所需功耗约为2W。电源模块采用宽输入电压,低噪声500mA5V固定输出的LTC1763芯片,再将5V电压使用LM1117低压差稳压器转换为3.3V电压给整个系统供电。电源电路原理图如图4所示。

                                               image.png

4 系统电源电路原理图

2.2    STM32F429核心板

为满足系统高性能和适应嵌入式RTOS的需求和后续功能扩展,本项目采用STM32F429高性能微控制器。并配有SDRAMNand FlashEEPROM等芯片保证系统性能。STM32F429运行主频最高180MHz,内部集成了多达20个通信模块,能支持Compact FlashSRAMPSRAMNORNAND以及现在的SDRAM存储器,内部定时器多达17个,完全满足本项目需求。核心板电路原理图如图5所示。

image.pngimage.pngimage.png

image.pngimage.pngimage.png

image.png

5 STM32核心板原理图

2.3    ESP32模块

ESP32是集成2.4GHz Wi-Fi和蓝牙双模的单芯片方案,采用台积电(TSMC)超低功耗的40纳米工艺,具有超高的射频性能、稳定性、通用性和可靠性,以及超低的功耗,满足不同的功耗需求,适用于各种应用场景。

ESP32专为移动设备、可穿戴电子产品和物联网(IoT)应用而设计。本项目中使用ESP32模块连接系统与互联网,实现流量数据实时上传功能。ESP32模块外围电路如图6所示。

 

image.png

6 ESP32模块外围原理图

2.4    FS2012模块

气体流量传感器模块采用IDT公司高性能FS2012模块,实现对气体流量的采样,工作电流仅为30mA(5V电压),其精度达到2%,具有数字I2C接口和模拟输出接口,是实现气体流量检测的最佳选择。本项目采用排线外接FS2012模块,通信接口采用模拟输出接口方式与STM32F429连接。由于FS2012输出电压0~5VSTM32内部ADC采样电压最大3.6V,因此通过两个1K电阻分压后输入到STM32ADC通道。

2.5    系统硬件PCB设计

系统硬件采用核心板+底板方案。核心板包含STM32F429SDRAMNand FlashEEPROM、调试接口、USB通信接口等。为实现存储芯片的可靠工作,本项目核心板PCB采用4PCB设计,其层叠设计如图7所示。

image.png

7 核心板PCB层叠设计

image.png

8 核心板PCB设计图

底板包含核心板接口和各种模块接口。其PCB如图9所示。

image.png

9 底板PCB设计图

经过焊接并调试各功能模块,最终制作出本项目硬件电路如图10所示。

image.png


软件说明

本项目软件使用的功能模块较多,软件功能模块如表1所示。

1 软件功能模块

序号

软件模块

功能

备注

1

系统初始化

实现系统和各模块驱动初始化


2

FS2012采集模块

实现对气体流量的AD采集


3

EEPROM存取模块

实现对流量数据的存储与读取


4

ESP32 AT指令模块

实现对ESP32的控制


5

MQTT通信模块

实现将气体流量数据上传至互联网云平台


若使用裸机程序编写,将花费大量时间安排各模块工作流程,以保证各模块之间无缝配合。因此本项目采用嵌入式RTOS进行程序设计,各个软件功能采用模块化、多任务设计。

本项目采用RT-Thread物联网操作系统。RT-Thread物联网操作系统是由上海睿赛德电子科技有限公司研发的稳定可靠、简单易用、高度可伸缩、组件丰富的嵌入式RTOSRT-Thread提供了专为针对物联网开发的各种组件,其中AT组件、SAL组件、onenet软件包、MQTT软件包和各种设备驱动可用于本项目开发。并且具有简单易用的调试组件如finsh组件、ulog组件,大大提高了软件开发效率。

3.1     软件整体设计方案

软件设计采用开源嵌入式系统RT-Thread作为运行基本系统。在此基础上增加各模块使用的驱动和线程函数,系统每10ms进行一次进行线程调度,保证系统实时性。软件整体设计流程如图11所示。

                          image.png                    

11 软件流程图

 

3.2     系统初始化

系统初始化包含系统时钟、IO、定时器、AD采样、串口、I2CESP32onenet等初始化,不同的是,RT-Thread操作系统提供组件初始化功能,无需在主函数初始化时初始化系统外设,应用起来十分灵活。本项目各初始化函数如表2所示。

2 组件初始化函数

序号

驱动模块

初始化函数

备注

1

板级初始化

rt_hw_board_init();

系统初始化

2

串口初始化

INIT_BOARD_EXPORT(stm32_hw_usart_init);

组件初始化

3

I2C初始化

INIT_BOARD_EXPORT(hw_i2c1_init);

组件初始化

4

ESP32初始化

INIT_APP_EXPORT(at_socket_device_init);

组件初始化

5

onenet_mqtt初始化

INIT_APP_EXPORT(onenet_mqtt_init);

组件初始化

 

3.3    FS2012采集模块

程序启动后即刻通过STM32内部12bit ADC采样FS2012输出的模拟信号,调用函数为fs2012_mess_get_adc(rt_int16_t *mess)实现气体流量的采集。采样后通过计算得出当前实时的气体流量值。为保证长时间采集的气体流量准确性,原则上采样周期越大,计算出的流量总和越准确。本项目采样周期1s,连续采样10次后计算一次当前流量平均值和总流量值。

image.png  

为保证数据准确性,对10次数据进行排序,去除最小值和最大值后计算8次数据的平均值。计算完成后向EEPROM写入当前总流量的值。

3.4    EEPROM存取模块

为保证断电重启后前面的总流量数据准确,程序启动后读取一次EEPROM内存储的重启前的总流量值。

image.png

3.5    ESP32 AT指令模块

STM32通过串口AT指令对ESP32模块进行控制。其模块配置过程如下所示。

image.png

3.6    MQTT通信模块

配置完成ESP32模块后,ESP32作为TCP Client,通过MQTT协议与中国移动OneNET平台进行数据传输,主要将计算得到的气体流量当前流量速度与总流量上传至OneNET平台。

image.png

image.png

3.7    中国移动OneNET平台使用

OneNET云平台是由中国移动打造的PaaS物联网开放平台。能够帮助开发者轻松实现设备接入与设备连接,快速完成产品开发部署,为智能硬件、智能家居产品提供完善的物联网解决方案。本项目使用MQTT协议接入OneNET平台,实现流量数据的在线监测。需要在OneNET平台上创建账号并创建产品,复制设备ID、鉴权信息、APIkey等信息,将其配置进onenet组件包对应的位置。

image.png

 


演示效果

完成项目硬件设计和软件设计后,进行气体流量在线监测测试。由于目前未制作连接于燃气管道的结构工装,因此测试时使用软管对接流量传感器P1管道并进行吹风,获取2分钟测量数据。OneNET云平台显示总流量数据和当前流量速度如下所示。

                                              image.png

使用手机客户端查看的数据如下所示。

image.png

image.png


由于视频文件较大,无法上传,因此视频放在优酷网,请自行观看。

优酷演示视频链接:https://v.youku.com/v_show/id_XMzk5OTY2MDgyNA==.html?spm=a2h3j.8428770.3416059.1

观看密码:messmonitor

附件

(1.75 MB)下载

评论区(0 )