娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

基于機智云物聯網平臺的空氣質量多功能檢測系統設計

發布者:omega34最新更新時間:2024-07-04 來源: elecfans關鍵字:STM32 手機看文章 掃描二維碼
隨時隨地手機看文章

摘要: 目前市面上的空氣質量檢測儀通常只能檢測少數幾種氣體,面對空氣中多種有害氣體,就要使用不同的檢測儀器。針對現有檢測系統功能不全等問題,開發了由STM32單片機、各類傳感器、LCD顯示屏和WiFi通信模塊組成的多功能檢測系統,并利用機智云物聯網平臺傳輸數據到用戶終端。該檢測系統能夠實現對空氣中的CO、CO2、PM2.5、TVOC、甲醛的含量以及溫濕度進行實時監測,并具有超標報警功能。


1引言


空氣中的有害物質直接影響人們的心身健康,室內空氣的危害氣體主要有CO、CO2、PM2.5、甲醛等[1]。溫濕度對人的舒適度有較大影響,低濕度環境對人有多種不利影響[2-4]。因此,對空氣中的有害氣體及環境的溫濕度進行檢測是必要的,對人員密集、活動頻繁的室內公共場所進行空氣質量檢測尤為重要。空氣質量檢測方法可以根據檢測內容的不同進行設計。采用STC系列單片機可設計出室內溫濕度、PM2.5顆粒物濃度檢測方法[5]。


利用STM32單片機能實現對室內溫濕度、PM2.5以及甲醛濃度檢測,數據可采用藍牙通信方式傳輸到手機[8],也可利用網絡和Lo Ra(Long Range)無線通信技術實時地將檢測結果上傳至上位機[9]。上述方法對空氣質量的檢測主要對象是溫濕度、PM2.5、CO、CO2甲醛濃度等,而且一臺檢測設備也難以完成這些目標的同時檢測。在數據傳輸方面,藍牙通信距離短、可靠性不高,Lo Ra無線通信技術系統較復雜,成本相對高。


實際上,空氣中的有毒有害氣體比較多,例如空氣中的TVOC(TotalVolatile Organic Compounds總揮發性有機物,簡稱TVOC)對空氣質量影響大,引起了人們的高度重視。因此,針對目前空氣質量檢測系統功能少的現狀提出了一個新的設計方案,系統設計以STM32單片機為主控器,由有關功能傳感器和Wi Fi無線通信模塊組成,利用機智云和Wi Fi無線通信技術將數據傳輸到用戶終端,實現數據共享。該方案可完成多種有害氣體的檢測,同時能對溫濕度進行監測。


2 系統設計方案


空氣質量檢測系統可檢測多種有害氣體,對環境的溫度、濕度能進行監測,檢測到的數據信息可上傳到機智云物聯網云平臺,并發送到用戶終端,設計目標和技術指標如下:

2.1 設計目標與技術指標

2.1.1 設計目標

(1) 具有能夠檢測CO、CO2、甲醛、TVOC、PM2.5和溫濕度檢測功能。

(2) 能夠在LCD屏上實時的顯示相關檢測數據。

(3) 利用Wi Fi無線通信技術上傳數據到機智云物聯網云平臺。

(4) 能將數據發送到用戶終端,實現用戶手機及電腦等設備遠距離傳輸。

(5) 具有對有害氣體超標提示與報警功能。

2.1.2 主要技術指標

系統設計的技術指標如表1所示:


表1技術指標要求

pYYBAGHKyZSAI0EkAAGspnLK9aI119.png

2.2 系統組成與模塊選型

2.2.1 系統組成


根據設計目標構建系統組成,如圖1所示,系統主控制器為STM32,數據采集部分由二氧化碳(TVOC、溫濕度)傳感器模塊、甲醛傳感器模塊、PM2.5采集模塊以及一氧化碳采集模塊構成,此外還有顯示、報警以及Wi Fi無線通信模塊。

poYBAGHKyciAYEw6AAEMU4k2OKc913.png

圖1 空氣質量檢測系統組成框圖


2.2.2 功能模塊的選擇

(1)系統主控制芯片的選擇


控制器是系統的主要器件,在滿足功能要求的情況下主要考慮性價比,通過對目前市面上比較流行的幾大主流單片機芯片對比分析,系統設計宜選用STM32F407ZGT6單片機,該芯片具多個串口,主時鐘頻率達到168MHz。


(2)PM2.5傳感器的選擇

PM2.5傳感器種類多,有普通傳感器,也有激光傳感器,可根據精度要求和價格進行選擇,相對于普通傳感器,激光PM2.5傳感器精度高但價格貴許多,本次設計選用價格低的夏普GP2Y1014AU作為PM2.5傳感器。

(3)二氧化碳(TVOC)與溫濕度傳感器選擇

考慮到系統功能需求,采用CCS811傳感器,它既可檢測二氧化碳,又能作為TVOC傳感器使用。溫濕度傳感器選用HDC1080模塊,它與二氧化碳(TVOC)傳感器集成在一起,采用IIC總線傳輸數據,體積小。IIC總線類型的傳感器結合在一起有利于節省I/O口資源。

(4)一氧化碳以及甲醛傳感器模塊的選擇

一氧化碳(CO)與甲醛屬于高危氣體,考慮到安全性要求,CO傳感器選用ZET07-CO模塊,甲醛傳感器采用英國達特SMT8404數字式模塊,主要是因為這兩款傳感器是以串口方式傳輸信號,而且數字信號傳輸不易受到外界干擾。


3 系統硬件設計

系統硬件設計主要是對各種傳感器、Wi Fi無線通信模塊等功能器件與STM32單片機的接口電路設計。功能單一的傳感器接口電路簡單,下面介紹主要的模塊接口電路。


3.1 CJMCU-8118傳感器模塊采集電路設計


CJMCU-8118模塊就是CCS811二氧化碳(TVOC)傳感器與HDC1080溫濕度傳感器組合體,采用IIC總線,CJMCU-8118模塊與STM32單片機的連接方式如圖2所示,其中SCL是IIC數據傳輸的時鐘,SDA為IIC的數據線,WAK是一個使能信號線。


3.2 串口數據傳輸器件電路設計


系統設計使用四個串口類型的數據傳輸器件,分別是CO傳感器模塊、甲醛傳感器模塊、串口LCD屏幕以及Wi Fi8266模塊。這四個串口類型模塊與STM32單片機的連接方式如圖3所示。采用5V供電電壓,其中CO模塊連接的是單片機的串口P4,甲醛模塊連接的是單片機的串口P3,LCD屏幕連接的是單片機的串口P2,Wi Fi8633模塊連接單片機時,需要GBC_LED與GBC_KEY作為控制信號設置Wi Fi8266模塊的工作模式。

poYBAGHKyeuAOq9bAABkxLkHia8255.pngpYYBAGHKyfyABUaBAAD-SrWrBcI581.png

圖2 CJMCM-8118與STM32接口電路


pYYBAGHKyfyABUaBAAD-SrWrBcI581.png

圖3串口類模塊與單片機連接圖


4 系統軟件設計

4.1 主控程序設計


在系統運行時可能會出現外界的干擾,為了防止系統在遇到干擾時無法正常運行,系統在軟件設計上加入了看門狗程序,保障系統運行不出差錯,程序流程圖如圖4所示。STM32F4的中斷系統可配置16個不同優先級別的中斷,并且中斷之間還可以嵌套中斷。首先對單片機初始化,進行優先級分組,在此配置兩個響應優先級和兩個搶斷優先級。


統滴答計時器的初始化是為了做精準的延時而準備的,延時函數在每個模塊基本上都有調用。最后對各個模塊初始化,主要是對STM32F4最小系統I/O口的參數以及模式進行配置,主要有串口的配置、ADC、IIC、PWM的功能配置。完成了初始化后,系統開始檢測Wi Fi模塊有沒有成功連接路由器。在Wi Fi成功連接之后開始接收數據,與設定數據進行比較,是否有CO、甲醛超標,有超標則蜂鳴器警報,并通過通信方式向手機APP或者PC端發送警報。沒有超標將會繼續判斷CO2、TVOC、溫濕度、PM2.5是否超標,如果有超標,系統顯示屏將會紅色提示,否則,顯示屏將會是藍色,表示正常。

poYBAGHKyhGAXLdWAAVnGiJGX28568.png

圖4主程序流程圖


4.2 WiFi模塊程序設計


在對Wi Fi模塊進行編程之前,先要對WiFi模塊進行固件庫改寫,在固件庫改寫成功之后才能進行編程,程序流程圖如圖5所示。圖中的喂狗就是上一節提到的看門狗程序,協議處理可直接調用庫函數實現。WiFi設備通過配置入網,可由按鍵啟動相應的連接模式,并對配置好的路由器進行連接。


WiFi設備與機智云服務器是雙向通信,APP端的操作信息通過機智云服務器發送到Wi Fi設備,WiFi設備接收完成后,單片機(MCU)將會收到協議幀格式的數據,緩沖區將會儲存數據。每隔一段時間都會進行一次抓包,然后將數據進行解析,解析后的數據能被MCU識別從而發起事件處理。傳感器采集的數據能夠被MCU儲存,然后這些數據通過協議封裝成數據幀發送到WiFi設備,WiFi設備將數據輸送至機智云平臺的云端服務器,再傳輸到用戶終端。


pYYBAGHKyiWAeP83AAH3LslQaVM359.png

圖5 WiFi模塊工作流程圖


4.3 傳感器模塊程序設計

4.3.1 PM2.5傳感器模塊程序設計


PM2.5傳感器主要用到了ADC變換以及PWM脈沖信號配合才能得到采集的數據。采樣程序是根據夏普官方說明書中提到要接入一個280us低電平和9720us高電平的PWM信號作為啟動信號。通過計算PWM的周期能達到10ms,PM2.5模塊只有在PWM低電平280us后才開啟轉換,因此這時候的ADC采樣才是有效的。程序設計時ADC的初始化是通過配置寄存器把管腳功能復用為ADC,PWM初始化是配置PA4管腳相關參數。

根據夏普PM2.5官方提供的典型粉塵電壓轉換圖,如圖6所示,可計算粉塵濃度。但是由于起始電壓的典型值在不同的地區會有不一樣的取值,實際上在很多地區的無塵電壓為0V。由圖6可知,電壓變化范圍在0.0V~3.5V時,粉塵濃度與電壓呈線性關系。

poYBAGHKyjqAQgZdAADLiR4jfxA761.png

圖6粉塵電壓轉換圖

電壓值的轉換計算:

poYBAGHKytyAIFebAAA6xOG0pak627.png

粉塵轉換計算:

pYYBAGHKyuSAdgqXAAA-5y_CLFo966.png

由公式(1)(2)得出總的計算公式:

poYBAGHKyu-ALRuGAAA6VBUzh9w471.png

注:因ADC是12位,212的值是4096,但計算機中12位的非負數補碼最大值是4095,公式(3)需要進行修正,修正值為500/4095=0.12,因此,公式(3)要減去0.12,這樣實際測量值更準確。


4.3.2 CJMCU-8118模塊程序設計


CJMCU-8118模塊的信息采集是通過IIC總線進行的,IIC協議啟動、停止、等待ACK到來的時序都是通用時序。在IIC總線的通信中要求時鐘速度不能過快,否則將會丟失數據,導致無法進行數據的采集。IIC協議內容也相對比較簡單,在使用時可以直接調用相應的庫函數。IIC總線中規定讀取寄存器數據必須選擇對應的地址,寫入信息之后停止,重新啟動才能真正開始讀取儲存器的數值。


要讀取相應的CO2、TVOC、溫濕度大小必須將其地址寫入傳感器,才能獲取相應的轉化值。寫入地址信息以及配置好模塊的模式之后,要用IIC的讀數據方式。讀完數據之后沒有應答信號,結束一次數據的讀取。程序設計時二氧化碳與TVOC直接是16位的ADC轉換值,溫濕度計算轉換根據官方資料提供的公式。

溫度計算公式:

poYBAGHKy0qALy1QAABectWuz_U399.png

濕度計算公式:

pYYBAGHKy1SAEAU1AABgaOkPfq4996.png

4.3.3 甲醛與一氧化碳模塊程序設計

這兩個傳感器使用的傳輸方式都是串口方式,并且在數據傳輸上是一致性,所以兩個模塊的程序設計方法相同。串口通信(USART)初始化是配置好相應的復用功能,串口采用中斷接收的方式,下一步就是要對中斷服務函數初始化。在中斷數據接收中判斷數據是否為0xff的16進制編碼,如果是則進一步開始保存相應的數據,當數據達到8位的時候停止接收。經過這一個流程就能完成一次數據的接收。程序設計時根據表2計算CO濃度與甲醛濃度,具體計算公式如下:

表2 串口通信數據傳輸表

pYYBAGHKy12ACzlAAADcCs7zC_U059.png

甲醛濃度計算公式:

甲醛濃度(ug/m3)=(高位×256+低位)/10(6)

CO濃度計算公式:

pYYBAGHKy2aAZMWOAABesB6lXIo981.png

5 系統集成與測試

各功能模塊設計、調試完成后,集成為一個系統,再進行系統功能測試。根據實際測量得到的粉塵濃度數據如圖7所示。圖中數據是在高濃度的粉塵下進行的測試,該測試結果能夠驗證公式(3)計算的正確性。圖8是系統集成圖,圖中所示信息是在一個VR室測試的空氣質量數據,測試結果說明了系統實現了相關功能。

poYBAGHKy3GAIh70AACWwu8yAKo177.png

圖7實際測量粉塵濃度與電壓關系圖


pYYBAGHKy3-AQaQbAAEpNnN3zSw559.png

圖8VR室的實際檢測數據效果圖


6 結語

項目系統硬件設計了多種不同功能傳感器、WiFi無線通信模塊與主控制器STM32芯片的接口電路。根據傳感器的工作原理設計了相關程序,并以機智云物聯網平臺和WiFi無線通信模塊原理編寫了通信程序。實現了對室內空氣中的CO、CO2、PM2.5、TVOC、甲醛的含量以及溫濕度的實時監測,檢測到的數據可在LCD液晶屏顯示,同時通過WiFi無線通信技術和機智云物聯網平臺傳輸到用戶終端,并具有超標報警功能。該空氣質量檢測系統在VR室得到測試,性能穩定,數據準確,具有實際應用價值。


關鍵字:STM32 引用地址:基于機智云物聯網平臺的空氣質量多功能檢測系統設計

上一篇:嵌入式技術的智能閉環反饋增氧系統
下一篇:解析單片機的幾種復位電路

推薦閱讀最新更新時間:2025-06-07 23:36

STM32學習筆記4.3】GPIO輸入模式控制
前言 本系列文章統一圍繞STM32F103C8T6最小系統開發板進行記錄,如涉及其他開發板將會特別說明。 HC-SR501人體紅外傳感器 工作原理 HC-SR501模塊三個引腳從左到右分別為GND、Output和VCC,其中VCC工作電壓范圍為5V-20V。 hcsr501.png 觸發模式 可通過跳線選擇模塊感應觸發方式: 不可重復觸發方式:感應輸出高電平后,延時時間一結束,輸出將自動從高電平變為低電平。 重復觸發方式: 感應輸出高電平后,在延時時間段內,如果有人體在其感應范圍內活動,其輸出將一直保持高電平,直到人離開后才延時將高電平變為低電平(感應模塊檢測到人體的每一次活動后會自動順延一個延時時間段,并且以最后一次活
[單片機]
STM32在keil下開發時候文件options配置的一些小技巧
總述 這是之前ST芯片載keil下開發時候總結的一些代碼文件options配置小筆記,雖然不是很復雜但是在使用的過程中很方便,這里給大家介紹一下。一個是一個bug介紹,第二個是多個同名代碼文件的條件編譯,第三個是“文件的解鎖/開鎖”。 一、bug解釋 keil編譯遇到這樣的提示 FCARM - Output Name not specified,please check 'Options for Target - Utilities' 一般是原因是加載文件時為了選擇.md .TXT等非.c.h.lib說明文件,而且在配置選項選擇了代碼文件被一同編譯。 解決方法如下: 將工程目錄里面非程序的文件,右鍵并選擇第
[單片機]
STM32學習筆記6.1】USART基本概念
前言 本系列文章統一圍繞STM32F103C8T6最小系統開發板進行記錄,如涉及其他開發板將會特別說明。 串口基本概念 串行接口與并行接口 串行接口:數據一位一位地順序傳送,只要一對傳輸線就可以實現雙向通信,降低成本,適用于遠距離通信,但傳送速度較慢。 并行接口:一次同時傳輸多位數據,同一時刻傳輸的數據量大。 單工、半雙工和全雙工 單工:數據只在一個方向上傳輸,不能實現雙方通信。如廣播、電視。 半雙工:允許數據在兩個方向上傳輸,但是同一時間數據只能在一個方向上傳輸,其實際上是切換的單工。如對講機(只能單向通話)。 全雙工:允許數據在兩個方向上同時傳輸。如手機通話。 單工、半雙工和全雙工.jpg 異步
[單片機]
VSCode+arm-none-eabi+msys使用Make實現STM32交叉編譯
記錄一下在Windows平臺下,利用VSCode的arm-none-eabi擴展和msys使用Make實現STM32的交叉編譯。 準備: 1.安裝arm-none-eabi擴展 在VSCode的擴展窗口,搜索eabi,安裝windows-arm-none-eabi擴展 需要注意:我最開始安裝的0.1.6版本,但是編譯到最后copy的時候出錯,安裝0.1.2版本后,就正常,目前沒有去詳細分析原因。 這里搜索出來的時候,只能安裝最新版本,安裝成功后,可以點擊“設置”- “Install Another Version...” 來安裝舊版本。有的時候“Install Another Version...”不可點擊,重啟一下
[單片機]
stm32串口應用及使用注意事項小白必備
串口是我們常用的一個數據傳輸接口,STM32F103系列單片機共有5個串口。 其中1-3是通用同步/異步串行接口USART(Universal Synchronous/Asynchronous Receiver/Transmitter)。 4,、5是通用異步串行接口UART(Universal Asynchronous Receiver/Transmitter)。 看完文章總結可以看下邊的資料了解詳細情況 (stm32 USART串口應用) http://www.makeru.com.cn/live/1392_1164.html?s=45051 通過Z-stack協議棧實現串口透傳 http://www.makeru.com
[單片機]
stm32之DMA中斷
AD轉換之DMA 1、DMA的配置 //DMA的配置 void DMA_Configuration(void) { /* 允許 DMA1 */ RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); /* DMA通道1*/ DMA_DeInit(DMA1_Channel1); DMA_InitStructure.DMA_PeripheralBaseAddr =(u32)( &(ADC1- DR)); //ADC1數據寄存器 DMA_InitStructure.DMA_MemoryBaseAddr = (u32)ADCCov; //獲取ADC的數組 DMA_InitStructur
[單片機]
stm32設置JTAG工作模式
/* set JTAG mode */ #define JTAG_SWD_DISABLE 0x01 #define SWD_ENABLE 0x02 #define JTAG_SWD_ENABLE 0x04 void JTAG_Set(u8 mode) { u32 temp; temp=mode; temp =25; RCC- APB2ENR |= 1 0; //開啟輔助時鐘 AFIO- MAPR &= 0XF8FFFFFF; //清除MAPR的 AFIO- MAPR |= temp; //設置jtag模式 }
[單片機]
STM32芯片存儲器映射概述
STM32系統構架 當你拿到一款芯片后,怎樣可以快速了解到它具有哪些功能?了解單片機的系統架構是使用款芯片的基礎,這些信息在芯片手冊上都會有詳細的說明,并且它們會被安排在最前面的章節,目的就是讓用戶最開始就能夠關注到該款芯片具有哪些功能,特點。 STM32F103系統結構 從上圖我們可以了解到STM32F103系列的主要系統組成單元: CPU核:使用ARM Cortex-M3內核; 存儲器: STM32F103系列微控制器采用經典的哈佛架構,程序存儲和數據存儲采用獨立的存儲器空間; ICode:指令代碼,Flash存儲器用于存儲程序; DCode:數據代碼,SRAM用于存儲數據; 外設: GPIO;
[單片機]
<font color='red'>STM32</font>芯片存儲器映射概述
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 湛江市| 澄城县| 华阴市| 孝感市| 个旧市| 阳西县| 会昌县| 田阳县| 陵川县| 行唐县| 双城市| 双柏县| 泰来县| 屏南县| 商南县| 丰城市| 武汉市| 马边| 桃江县| 定襄县| 抚顺县| 南部县| 运城市| 大渡口区| 松潘县| 霍林郭勒市| 祥云县| 重庆市| 海城市| 温宿县| 奈曼旗| 荔浦县| 沧州市| 宁河县| 康定县| 武鸣县| 临沭县| 霍林郭勒市| 察雅县| 祁阳县| 绩溪县|