聚豐項目 > 氣體流量在線監(jiān)測系統(tǒng)

氣體流量在線監(jiān)測系統(tǒng)

氣體流量在線監(jiān)測系統(tǒng)基于IDT氣體流量傳感器FS2012模塊而設計。主控芯片采用高性能意法半導體公司Cortex-M4系列微控制器STM32F429IGT6,并采用ESP32無線2.4GHz Wi-Fi模塊實現(xiàn)系統(tǒng)與互聯(lián)網(wǎng)的連接。 本方案專為改變家庭傳統(tǒng)燃氣計費抄表方式,采用物聯(lián)網(wǎng)+云平臺方式實現(xiàn)智能在線監(jiān)測和在線計費等功能。在斷網(wǎng)斷電等離線情況下可通過系統(tǒng)EEPROM和Nand Flash存儲流量總量,待恢復網(wǎng)絡連接情況下可繼續(xù)記錄并實時監(jiān)測。具有實用性、便捷性、安全性等優(yōu)點。 本項目采用模塊化方案設計,主要構成系統(tǒng)的模塊有STM32F429核心板、底板和各模塊等。便于擴展各類傳感器模塊,實現(xiàn)家庭燃氣、水、溫濕度、空氣質(zhì)量等的實時在線監(jiān)測功能。軟件采用開源嵌入式實時操作系統(tǒng)RT-Thread,具有組件豐富、可靠性高等諸多優(yōu)點。

h1654155744.0520 h1654155744.0520

分享
1 喜歡這個項目
團隊介紹

h1654155744.0520 h1654155744.0520

團隊成員

溫家保 系統(tǒng)設計

分享
項目簡介
氣體流量在線監(jiān)測系統(tǒng)基于IDT氣體流量傳感器FS2012模塊而設計。主控芯片采用高性能意法半導體公司Cortex-M4系列微控制器STM32F429IGT6,并采用ESP32無線2.4GHz Wi-Fi模塊實現(xiàn)系統(tǒng)與互聯(lián)網(wǎng)的連接。 本方案專為改變家庭傳統(tǒng)燃氣計費抄表方式,采用物聯(lián)網(wǎng)+云平臺方式實現(xiàn)智能在線監(jiān)測和在線計費等功能。在斷網(wǎng)斷電等離線情況下可通過系統(tǒng)EEPROM和Nand Flash存儲流量總量,待恢復網(wǎng)絡連接情況下可繼續(xù)記錄并實時監(jiān)測。具有實用性、便捷性、安全性等優(yōu)點。 本項目采用模塊化方案設計,主要構成系統(tǒng)的模塊有STM32F429核心板、底板和各模塊等。便于擴展各類傳感器模塊,實現(xiàn)家庭燃氣、水、溫濕度、空氣質(zhì)量等的實時在線監(jiān)測功能。軟件采用開源嵌入式實時操作系統(tǒng)RT-Thread,具有組件豐富、可靠性高等諸多優(yōu)點。
硬件說明

本項目硬件主要有電源模塊、STM32核心板(含SDRAM、EEPROM、Nand Flash、USB通信等功能部分)、ESP32模塊電路、和FS2012模塊。各部分電路介紹如下。

2.1    電源模塊

通過分析,此項目所需功耗約為2W。電源模塊采用寬輸入電壓,低噪聲500mA,5V固定輸出的LTC1763芯片,再將5V電壓使用LM1117低壓差穩(wěn)壓器轉(zhuǎn)換為3.3V電壓給整個系統(tǒng)供電。電源電路原理圖如圖4所示。

                                               image.png

4 系統(tǒng)電源電路原理圖

2.2    STM32F429核心板

為滿足系統(tǒng)高性能和適應嵌入式RTOS的需求和后續(xù)功能擴展,本項目采用STM32F429高性能微控制器。并配有SDRAM、Nand FlashEEPROM等芯片保證系統(tǒng)性能。STM32F429運行主頻最高180MHz,內(nèi)部集成了多達20個通信模塊,能支持Compact Flash、SRAM、PSRAM、NORNAND以及現(xiàn)在的SDRAM存儲器,內(nèi)部定時器多達17個,完全滿足本項目需求。核心板電路原理圖如圖5所示。

image.pngimage.pngimage.png

image.pngimage.pngimage.png

image.png

5 STM32核心板原理圖

2.3    ESP32模塊

ESP32是集成2.4GHz Wi-Fi和藍牙雙模的單芯片方案,采用臺積電(TSMC)超低功耗的40納米工藝,具有超高的射頻性能、穩(wěn)定性、通用性和可靠性,以及超低的功耗,滿足不同的功耗需求,適用于各種應用場景。

ESP32專為移動設備、可穿戴電子產(chǎn)品和物聯(lián)網(wǎng)(IoT)應用而設計。本項目中使用ESP32模塊連接系統(tǒng)與互聯(lián)網(wǎng),實現(xiàn)流量數(shù)據(jù)實時上傳功能。ESP32模塊外圍電路如圖6所示。

 

image.png

6 ESP32模塊外圍原理圖

2.4    FS2012模塊

氣體流量傳感器模塊采用IDT公司高性能FS2012模塊,實現(xiàn)對氣體流量的采樣,工作電流僅為30mA(5V電壓),其精度達到2%,具有數(shù)字I2C接口和模擬輸出接口,是實現(xiàn)氣體流量檢測的最佳選擇。本項目采用排線外接FS2012模塊,通信接口采用模擬輸出接口方式與STM32F429連接。由于FS2012輸出電壓0~5V,STM32內(nèi)部ADC采樣電壓最大3.6V,因此通過兩個1K電阻分壓后輸入到STM32ADC通道。

2.5    系統(tǒng)硬件PCB設計

系統(tǒng)硬件采用核心板+底板方案。核心板包含STM32F429、SDRAMNand Flash、EEPROM、調(diào)試接口、USB通信接口等。為實現(xiàn)存儲芯片的可靠工作,本項目核心板PCB采用4PCB設計,其層疊設計如圖7所示。

image.png

7 核心板PCB層疊設計

image.png

8 核心板PCB設計圖

底板包含核心板接口和各種模塊接口。其PCB如圖9所示。

image.png

9 底板PCB設計圖

經(jīng)過焊接并調(diào)試各功能模塊,最終制作出本項目硬件電路如圖10所示。

image.png


軟件說明

本項目軟件使用的功能模塊較多,軟件功能模塊如表1所示。

1 軟件功能模塊

序號

軟件模塊

功能

備注

1

系統(tǒng)初始化

實現(xiàn)系統(tǒng)和各模塊驅(qū)動初始化


2

FS2012采集模塊

實現(xiàn)對氣體流量的AD采集


3

EEPROM存取模塊

實現(xiàn)對流量數(shù)據(jù)的存儲與讀取


4

ESP32 AT指令模塊

實現(xiàn)對ESP32的控制


5

MQTT通信模塊

實現(xiàn)將氣體流量數(shù)據(jù)上傳至互聯(lián)網(wǎng)云平臺


若使用裸機程序編寫,將花費大量時間安排各模塊工作流程,以保證各模塊之間無縫配合。因此本項目采用嵌入式RTOS進行程序設計,各個軟件功能采用模塊化、多任務設計。

本項目采用RT-Thread物聯(lián)網(wǎng)操作系統(tǒng)。RT-Thread物聯(lián)網(wǎng)操作系統(tǒng)是由上海睿賽德電子科技有限公司研發(fā)的穩(wěn)定可靠、簡單易用、高度可伸縮、組件豐富的嵌入式RTOSRT-Thread提供了專為針對物聯(lián)網(wǎng)開發(fā)的各種組件,其中AT組件、SAL組件、onenet軟件包、MQTT軟件包和各種設備驅(qū)動可用于本項目開發(fā)。并且具有簡單易用的調(diào)試組件如finsh組件、ulog組件,大大提高了軟件開發(fā)效率。

3.1     軟件整體設計方案

軟件設計采用開源嵌入式系統(tǒng)RT-Thread作為運行基本系統(tǒng)。在此基礎上增加各模塊使用的驅(qū)動和線程函數(shù),系統(tǒng)每10ms進行一次進行線程調(diào)度,保證系統(tǒng)實時性。軟件整體設計流程如圖11所示。

                          image.png                    

11 軟件流程圖

 

3.2     系統(tǒng)初始化

系統(tǒng)初始化包含系統(tǒng)時鐘、IO、定時器、AD采樣、串口、I2C、ESP32、onenet等初始化,不同的是,RT-Thread操作系統(tǒng)提供組件初始化功能,無需在主函數(shù)初始化時初始化系統(tǒng)外設,應用起來十分靈活。本項目各初始化函數(shù)如表2所示。

2 組件初始化函數(shù)

序號

驅(qū)動模塊

初始化函數(shù)

備注

1

板級初始化

rt_hw_board_init();

系統(tǒng)初始化

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內(nèi)部12bit ADC采樣FS2012輸出的模擬信號,調(diào)用函數(shù)為fs2012_mess_get_adc(rt_int16_t *mess)實現(xiàn)氣體流量的采集。采樣后通過計算得出當前實時的氣體流量值。為保證長時間采集的氣體流量準確性,原則上采樣周期越大,計算出的流量總和越準確。本項目采樣周期1s,連續(xù)采樣10次后計算一次當前流量平均值和總流量值。

image.png  

為保證數(shù)據(jù)準確性,對10次數(shù)據(jù)進行排序,去除最小值和最大值后計算8次數(shù)據(jù)的平均值。計算完成后向EEPROM寫入當前總流量的值。

3.4    EEPROM存取模塊

為保證斷電重啟后前面的總流量數(shù)據(jù)準確,程序啟動后讀取一次EEPROM內(nèi)存儲的重啟前的總流量值。

image.png

3.5    ESP32 AT指令模塊

STM32通過串口AT指令對ESP32模塊進行控制。其模塊配置過程如下所示。

image.png

3.6    MQTT通信模塊

配置完成ESP32模塊后,ESP32作為TCP Client,通過MQTT協(xié)議與中國移動OneNET平臺進行數(shù)據(jù)傳輸,主要將計算得到的氣體流量當前流量速度與總流量上傳至OneNET平臺。

image.png

image.png

3.7    中國移動OneNET平臺使用

OneNET云平臺是由中國移動打造的PaaS物聯(lián)網(wǎng)開放平臺。能夠幫助開發(fā)者輕松實現(xiàn)設備接入與設備連接,快速完成產(chǎn)品開發(fā)部署,為智能硬件、智能家居產(chǎn)品提供完善的物聯(lián)網(wǎng)解決方案。本項目使用MQTT協(xié)議接入OneNET平臺,實現(xiàn)流量數(shù)據(jù)的在線監(jiān)測。需要在OneNET平臺上創(chuàng)建賬號并創(chuàng)建產(chǎn)品,復制設備ID、鑒權信息、APIkey等信息,將其配置進onenet組件包對應的位置。

image.png

 


演示效果

完成項目硬件設計和軟件設計后,進行氣體流量在線監(jiān)測測試。由于目前未制作連接于燃氣管道的結構工裝,因此測試時使用軟管對接流量傳感器P1管道并進行吹風,獲取2分鐘測量數(shù)據(jù)。OneNET云平臺顯示總流量數(shù)據(jù)和當前流量速度如下所示。

                                              image.png

使用手機客戶端查看的數(shù)據(jù)如下所示。

image.png

image.png


由于視頻文件較大,無法上傳,因此視頻放在優(yōu)酷網(wǎng),請自行觀看。

優(yōu)酷演示視頻鏈接:https://v.youku.com/v_show/id_XMzk5OTY2MDgyNA==.html?spm=a2h3j.8428770.3416059.1

觀看密碼:messmonitor

附件

(1.75 MB)下載

評論區(qū)(0 )