崔群 梁鑒如 光金正 高文建
摘 要 文章介紹了一種基于單片機且有定位功能的環境監測儀。該監測儀以stm32f103單片機為核心,采用低功耗設計,利用北斗導航芯片定位授時,通過溫度傳感器,濕度傳感器,噪聲傳感器,PM2.5傳感器實現多功能環境參數的采集整理,同時具有LED屏顯示和人機交互功能。
關鍵詞 環境監測儀 定位 單片機 信息采集
0 引言
目前市場上有很多流通的環境監測儀,但是很多的儀器不具備定位功能,不能更仔細地檢測一個區域的環境信息。還有現在很多監測儀精度不高。本文設計了一個可以定位的測量溫度,濕度,噪聲和PM2.5的低功耗的環境監測。
1 基于環境監測的環境檢測儀模塊設計
1.1 系統總體結構
檢測儀的主控芯片采用ST半導體公司的Cortex-M3系列的單片機,采用北斗導航模塊接收衛星定位數據和授時數據。該系統包括北斗導航模塊,顯示模塊,傳感器模塊(噪聲傳感器,溫度傳感器,濕度傳感器,PM2.5傳感器),電源模塊組成。①主要完成對定位到局部區域的空氣質量,溫濕度以及噪音情況進行監測??傮w結構框圖如圖1所示。一臺儀器可以同時監測四種參數,該儀器工作方式為自動采樣自動分析,測量濃度直接在顯示屏上顯示。STM32F103是增強系列的MCU,擁有72MHZ的運行頻率,能夠完成北斗導航芯片的數據解析,顯示屏的掃描更新,同時能夠滿足用戶交互任務的需求。MCU自帶的異步串口USART可以對接導航芯片,同步串口SPI外設可用于控制顯示模塊的刷屏,TIM的輸入捕獲功能可以實現對PM2.5檢測模塊的數據捕獲。采用質量輕儲能高的鋰電池為系統的供電電源,采用可視角度大、功耗低的彩色液晶屏作為顯示模塊。②同時系統還設置了紅色預警系統,當檢測的值超過了規定的值,顯示會出現顏色變化進行預警。
1.2 溫度傳感器電路
溫度測量電路采用數字式溫度傳感器DS18B20。③DS18B20只有一個串行通信接口,即單線制傳感器,DS18B20在與微處理器連接時僅需要一條口線即可實現微處理器與DS18B20的雙向通訊,大大提高了系統的抗干擾性。這樣的系統允許每一個掛在總線上的區間都能在適當的時間驅動它。由于DS18B20的單線制特性,其發送和接收必須為三態特性,其出具口為漏極開路輸出,而且我們采用的是外加電源供電,因此外接上拉電阻,在常態下呈現高電平狀態。
DS18B20測溫范圍在55℃~+125℃,精度為?.1℃。工作電源:3.0~5.5V/DC。
DS18B20的溫度讀取過程為:復位→發SKIP ROM命令(0XCC)→發開始轉換命令(0X44)→延時→復位→發送SKIP ROM命令(0XCC)→發讀存儲器命令(0XBE)→連續讀出兩個字節數據(即溫度)→結束。
1.3 濕度傳感器電路
我們采用DHT11濕度傳感器作為濕度傳感器。DHT11技術性能特征:工作電壓范圍:3.3V-5.5V。工作電流 :平均0.5mA。輸出:單總線數字信號。測量范圍:濕度20~90%RH。精度:濕度?%。分辨率:濕度1%。
DHT11數字濕溫度傳感器采用單總線數據格式。單個數據引腳端口完成輸入輸出雙向傳輸。其數據包由5Byte(40Bit)組成。數據分小數部分和整數部分,一次完整的數據傳輸為40bit,高位先出。
DHT11的數據格式為:8bit濕度整數數據+8bit濕度小數數據+8bit溫度整數數據+8bit溫度小數數據+8bit校驗和。
其中校驗和數據為前四個字節相加。
傳感器數據輸出的是未編碼的二進制數據。數據(濕度、溫度、整數、小數)之間應該分開處理。
我們這里選擇的DHT11也可以測量溫度,但由于它的精度不高,測量范圍較DS18B20小,所以我們只采用濕度測量。
用戶MCU發送一次開始信號后,DHT11從低功耗模式轉換到高速模式,等待主機開始信號結束后,DHT11發送響應信號,送出40bit的數據,并觸發一次信號采集,用戶可選擇讀取部分數據。從模式下,DHT11接收到開始信號觸發一次濕度采集,如果沒有接收到主機發送開始信號,DHT11不會主動進行濕度采集。采集數據后轉換到低速模式。
1.4 PM2.5傳感器電路
我們選擇GP2Y1051AU0F作為傳感器,GP2Y1051AU0F是灰塵(粉塵)傳感器由光學傳感系統一個紅外發光二極管(IRED)和光電子晶體管是對角布置在該裝置中組成的。它是通過檢測空氣中塵埃的反射光計算粉塵的濃度。尤其是它可以有效地檢測到非常細的顆粒像香煙煙霧。
工作溫度:-10-+65℃;工作電壓:4.8-5.2V;靈敏度:0.5V/(0.1mg/m3)
最小粒子檢知能力:0.03%em 。
我們通過灰塵傳感器測出的數據發送給單片機,通過接收到的數據長度轉化為輸出電壓,再通過粉塵濃度計算公式:Ud=A*Vout(其中Ud為粉塵濃度,位為ug/m3;Vout為傳感器輸出信號,單位為V;A為比例系數)最后得出PM 值。
1.5 噪聲傳感器電路
通過外界噪聲的大小,噪聲模塊捕獲信號,通過AD采集,利用 AD采集分貝公式:150*AD1/AD =分貝,得到分貝參數。AD1為當前采集到的AD值,AD為AD精度。
1.6 北斗導航模塊
我們采用UM220-3-N模塊作為我們的導航模塊。工作電壓為2.7~3.3V。是目前市場上尺寸最小的完全國產化的北斗/GPS模塊,集成度高、功耗低,非常適合對尺寸、功耗要求高的北斗規模應用。UM220-III 模塊采用和芯星通Ultra-Sense 高靈敏度設計,能夠在弱信號條件下提供優異的捕獲、跟蹤靈敏度,保持接收機定位的連續性和可靠性。定位精度:2.0m CEP。
1.7 電源方案
系統采用7.2V(2S)放電能力大的鋰電池供電,鋰電池質量輕、儲能密度高,能夠滿足系統的要求。傳感器使用5V供電,控制器、顯示器、北斗芯片采用3.3V供電。北斗芯片另外使用線性穩壓器AMS-1117 3.3V供電;考慮到控制器對電源性能要求較高,通過低壓差線性穩壓器LD29150可獲得最大1.5A的3.3V電源,用于控制器和顯示器供電;傳感器模塊使用AMS-1117 另外產生的一路5V供電。
2 軟件設計
基于STM32F103的環境監測儀的設計采用C語言編寫程序。其主要完成對溫度傳感器,濕度傳感器,噪聲傳感器,PM2.5傳感器的測量值進行計算以及相應的顯示和預警功能。還有對測量目的地的定位和精確授時的顯示。程序設計包括系統初始化,復位程序,溫度,濕度,PM2.5,噪聲采集轉化顯示程序,定位授時顯示程序,預定值預警程序,其總體流程圖如圖2顯示。
5 結語
采用stm32單片機作為核心控制器,采用北斗定位模塊、溫度、濕度、噪聲和PM2.5模塊作為外圍電路設計了一種低功耗的多參數環境監測儀。測試結果表明,該儀器測量結果較精確,基本滿足環境參數監測的要求。