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