王曉雷,閆雙建,張吉濤,任林嬌,鄭曉婉,曹玲芝
(鄭州輕工業(yè)學(xué)院電氣信息工程學(xué)院,河南 鄭州 450002)
氣壓高度測(cè)量系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
王曉雷,閆雙建,張吉濤,任林嬌,鄭曉婉,曹玲芝
(鄭州輕工業(yè)學(xué)院電氣信息工程學(xué)院,河南 鄭州 450002)
針對(duì)傳統(tǒng)機(jī)械和GPS方法測(cè)量高度時(shí)存在的不足,采用新型氣壓傳感器測(cè)量高度的方法,構(gòu)建了基于微機(jī)電系統(tǒng)(MEMS)數(shù)字氣壓傳感器的高度測(cè)量系統(tǒng)。首先,介紹了新型數(shù)字氣壓傳感器BMP180的結(jié)構(gòu)和特點(diǎn);其次,以高性能AVR單片機(jī)為控制平臺(tái),設(shè)計(jì)了數(shù)字氣壓和溫度信號(hào)讀取設(shè)備、有機(jī)發(fā)光二級(jí)管(OLED)顯示屏和其他外圍電路的硬件系統(tǒng);然后,根據(jù)氣壓與高度的對(duì)應(yīng)關(guān)系,開(kāi)發(fā)了溫度和氣壓信號(hào)采樣、溫度和氣壓補(bǔ)償、高度推算以及結(jié)果顯示的軟件系統(tǒng);最后,采用加權(quán)遞推平均濾波算法對(duì)高度測(cè)量數(shù)據(jù)進(jìn)行處理,減小了噪聲和干擾,提高了測(cè)量的準(zhǔn)確度和穩(wěn)定性。為了驗(yàn)證設(shè)計(jì)方法的有效性,對(duì)高層建筑的不同樓層高度進(jìn)行測(cè)試,結(jié)果表明該系統(tǒng)能夠準(zhǔn)確地測(cè)量樓層相對(duì)高度,標(biāo)準(zhǔn)偏差為0.32 m,平均誤差為0.03 m。由此可見(jiàn),采用加權(quán)遞推平均濾波的新型氣壓高度測(cè)量方法,為低空高度測(cè)量提供了一種非常實(shí)用便攜的解決方案,也為空間垂直位移測(cè)量尤其是三維空間的準(zhǔn)確導(dǎo)航和定位提供了重要參考。
微機(jī)電系統(tǒng); 數(shù)字氣壓傳感器; 高度測(cè)量系統(tǒng); AVR單片機(jī); 有機(jī)發(fā)光二級(jí)管; 補(bǔ)償校正; 濾波算法
在三維導(dǎo)航和定位系統(tǒng)中,高度是極其重要的一個(gè)維度。通常情況下,高度的測(cè)量方法主要有傳統(tǒng)機(jī)械式海拔高度測(cè)量?jī)x、全球定位系統(tǒng)(global positioning system,GPS)、北斗衛(wèi)星導(dǎo)航系統(tǒng)(BeiDou navigation satellite system,BDS)高度測(cè)量定位系統(tǒng)[1-2]以及基于大氣壓的高度測(cè)量系統(tǒng)[3-4]。其中,傳統(tǒng)機(jī)械式海拔高度測(cè)量?jī)x精度低、體積大、不便于攜帶;GPS或BDS定位系統(tǒng)可以實(shí)現(xiàn)高度測(cè)量,但精度低、成本高;而采用微機(jī)電系統(tǒng)(micro electro-mechanical system,MEMS)技術(shù)制作的氣壓傳感器,具有體積小、成本低、便于攜帶等特點(diǎn)。大氣壓推算高度,是基于大氣壓隨高度變化的規(guī)律,在已知當(dāng)?shù)卮髿鈮旱幕A(chǔ)上推算海拔或相對(duì)高度的有效方法。該方法思路簡(jiǎn)單、準(zhǔn)確高效,已成為目前高度測(cè)量的主流方案。
測(cè)量大氣壓的MEMS傳感器很多,比如MEAS公司的MS54xx[5]、MOTO公司的MPX4115A[6-7]以及BOSCH公司的BMP085和BMP180等[8]。其中,MS54xx和MPX4115A輸出的模擬信號(hào),必須通過(guò)信號(hào)調(diào)理、A/D轉(zhuǎn)換等一系列操作實(shí)現(xiàn)數(shù)字化,處理過(guò)程復(fù)雜、工作量大。
本文以AVR單片機(jī)作為控制器,采用BOSCH公司生產(chǎn)的BMP180傳感器采集大氣壓信號(hào),并根據(jù)大氣壓與高度的關(guān)系計(jì)算海拔高度或相對(duì)高度。該方法具有測(cè)量精度高、體積小、成本低和易于實(shí)現(xiàn)等特點(diǎn),在工程高度測(cè)量、三維空間導(dǎo)航與定位、飛行器GPS輔助導(dǎo)航、大氣壓測(cè)量和氣象監(jiān)測(cè)等領(lǐng)域具有廣泛的應(yīng)用前景[9-10]。
為了實(shí)現(xiàn)對(duì)大氣壓的準(zhǔn)確測(cè)量,并實(shí)時(shí)顯示測(cè)量結(jié)果,系統(tǒng)硬件包括大氣壓傳感器BMP180、AVR單片機(jī)Atmega16、有機(jī)發(fā)光二極管(organic light-emitting diode,OLED)顯示屏和必要的外圍電路等幾個(gè)部分。系統(tǒng)硬件結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)硬件結(jié)構(gòu)圖
AVR單片機(jī)Atmega16通過(guò)BWI端口與大氣壓傳感器BMP180的I2C接口連接,通過(guò)時(shí)鐘控制獲得氣壓和溫度數(shù)據(jù),并由濾波等數(shù)據(jù)處理得到穩(wěn)定的氣壓值;利用氣壓與高度的曲線關(guān)系,計(jì)算當(dāng)前高度值,并把溫度、氣壓和高度值送至OLED顯示屏輸出。
1.1 大氣壓傳感器BMP180
BMP180是繼BMP085之后BOSCH公司開(kāi)發(fā)的新一代高精度MEMS數(shù)字氣壓傳感器,其內(nèi)部集成壓阻式氣壓傳感單元、A/D轉(zhuǎn)換器(analog digital converter,ADC)、E2PROM存儲(chǔ)器、控制單元以及I2C串行總線接口。
BMP180內(nèi)部結(jié)構(gòu)如圖2所示。
圖2 BMP180內(nèi)部結(jié)構(gòu)圖
BMP180采用LGA封裝,體積為(3.6×3.6×0.93)mm3;氣壓測(cè)量范圍為30~110 kPa,所對(duì)應(yīng)海拔高度為-500~+9 000 m;在超高分辨率模式下,精度可以達(dá)到0.002 kPa(對(duì)應(yīng)于0.17 m海拔);電源電壓低,僅為1.8~3.6 V;標(biāo)準(zhǔn)模式下具有5 μA電流的超低功耗;最高采樣速率為128 Hz,滿足氣壓的實(shí)時(shí)測(cè)量要求。
控制單元發(fā)出命令,由前端的傳感器單元采集環(huán)境中的溫度和氣壓,經(jīng)A/D轉(zhuǎn)換為數(shù)字量,供單片機(jī)讀取和處理。E2PROM中存儲(chǔ)著由生產(chǎn)商固化的用于測(cè)量數(shù)據(jù)補(bǔ)償?shù)男拚担跏蓟瘯r(shí)由單片機(jī)通過(guò)I2C總線讀取,用于溫度和氣壓的測(cè)量值校正和補(bǔ)償,以得到準(zhǔn)確的溫度和氣壓值。
1.2 AVR單片機(jī)Atmega16
Atmega16是Atmel公司推出的高性能低、功耗8位AVR微處理器,具有先進(jìn)的RISC結(jié)構(gòu)、單周期指令和兩周期硬件乘法器;運(yùn)行速度較快,在16 MHz工作頻率時(shí),每秒可協(xié)行指令高達(dá)16×106條;內(nèi)存資源豐富,具有16 Kb Flash,512 b E2PROM和1 Kb SRAM;對(duì)外接口齊全,具有兩線TWI接口、三線SPI接口和2個(gè)USART串口。
由于性能優(yōu)良且價(jià)格便宜,系統(tǒng)選用Atmega16微處理器作為控制核心,通過(guò)TWI接口與BMP180的I2C總線無(wú)縫連接,能實(shí)現(xiàn)對(duì)大氣壓傳感器數(shù)據(jù)的采集和補(bǔ)償數(shù)據(jù)讀??;通過(guò)SPI總線接口與OLED顯示屏連接,實(shí)現(xiàn)對(duì)大氣壓和高度等數(shù)據(jù)的直觀顯示;USART串行接口可實(shí)現(xiàn)與計(jì)算機(jī)的實(shí)時(shí)通信。
1.3 OLED顯示屏
OLED是采用新型的平板顯示技術(shù)制作的有機(jī)電激發(fā)光二極管,具有對(duì)比度高、功耗低、響應(yīng)速度快等特點(diǎn)。OLED顯示屏具有128×64個(gè)像素,雙色顯示,能夠以矩陣的形式顯示多種符號(hào)和圖形,由驅(qū)動(dòng)控制芯片SSD1306按照顯示命令激勵(lì)不同位置的LED發(fā)光,形成所需圖案。
本設(shè)計(jì)選用0.96英寸(1英寸=25.4 mm)OLED顯示屏,通過(guò)SPI串行總線實(shí)時(shí)顯示單片機(jī)處理的數(shù)據(jù)。
為了實(shí)現(xiàn)硬件系統(tǒng)對(duì)溫度和大氣壓的數(shù)據(jù)采集和顯示,設(shè)計(jì)以AVR單片機(jī)為控制平臺(tái)的軟件方案,包括單片機(jī)的上電復(fù)位、初始化、BMP180傳感器中E2PROM存儲(chǔ)修正數(shù)據(jù)讀取、溫度和氣壓數(shù)據(jù)采集與傳輸、溫度和氣壓補(bǔ)償、高度計(jì)算、濾波處理以及驅(qū)動(dòng)OLED數(shù)據(jù)顯示等模塊。
常用的AVR單片機(jī)開(kāi)發(fā)環(huán)境有ICCAVR、AVR Studio和GCCAVR等。本設(shè)計(jì)選用ICCAVR平臺(tái)作為開(kāi)發(fā)環(huán)境進(jìn)行軟件構(gòu)建,具體的系統(tǒng)軟件設(shè)計(jì)流程如圖3所示。
圖3 系統(tǒng)軟件設(shè)計(jì)流程圖
2.1 溫度和大氣壓采集與補(bǔ)償
BMP180可采用單倍采樣速率和2倍、4倍、8倍采樣速率模式對(duì)大氣壓進(jìn)行采集或過(guò)采樣,對(duì)應(yīng)于超低功耗、標(biāo)準(zhǔn)、高分辨率和超高分辨率4種模式,通過(guò)I2C總線寫入不同的控制命令設(shè)置其采樣或過(guò)采樣倍率。
本系統(tǒng)采用單倍采樣和超低功耗模式,對(duì)溫度和大氣壓的讀取與補(bǔ)償流程如圖4所示。
圖4 讀取與補(bǔ)償流程圖
系統(tǒng)上電初始化后,單片機(jī)通過(guò)I2C總線讀取固化在BMP180的E2PROM中的修正數(shù)據(jù),存儲(chǔ)在內(nèi)存中,以便對(duì)溫度和大氣壓進(jìn)行補(bǔ)償校正。
單片機(jī)通過(guò)0xEE和0xEF指令對(duì)BMP180傳感器進(jìn)行寫和讀操作。首先,發(fā)送指令0xEE執(zhí)行寫操作,對(duì)寄存器0xF4寫入控制寄存器指令0x2E,控制傳感器對(duì)溫度進(jìn)行操作;發(fā)送設(shè)備讀取指令0xEF,從地址0xF6開(kāi)始讀取原始溫度值Ti;然后,發(fā)送指令0xEE執(zhí)行寫操作,對(duì)寄存器0xF4寫入控制寄存器指令0x34,控制傳感器對(duì)大氣壓進(jìn)行操作;發(fā)送讀取指令0xEF,從地址0xF6開(kāi)始讀取原始?xì)鈮褐礟i。
根據(jù)氣壓傳感器BMP180提供的校正算法對(duì)溫度和氣壓進(jìn)行校正。溫度補(bǔ)償校正時(shí),按照溫度校正公式和參數(shù),對(duì)Ti進(jìn)行運(yùn)算處理得到校正中間值b5,然后進(jìn)一步處理得到校正后的溫度值T;校正氣壓時(shí),在校正中間值b5的基礎(chǔ)上,按照氣壓計(jì)算公式對(duì)Pi進(jìn)行一系列計(jì)算,最終得到大氣壓值P。
由上述分析可知,大氣壓的補(bǔ)償校正是在溫度校正的基礎(chǔ)上進(jìn)行的。因此,溫度變化直接影響大氣壓的數(shù)值。
2.2 高度計(jì)算
根據(jù)玻爾茲曼氣體分子在重力場(chǎng)中按高度的分布規(guī)律可知,在溫度均勻的情況下,大氣壓隨高度增加按指數(shù)減小,因此測(cè)定大氣壓隨高度減小的量值,即可確定上升的高度。以海平面為基準(zhǔn),大氣壓與高度的對(duì)應(yīng)關(guān)系可用如下計(jì)算公式表示:
(1)
式中:H為相對(duì)于海平面的高度,m;P0為海平面大氣壓,kPa。在15 ℃時(shí),P0=101.325 kPa。
繪制海平面以下500 m至海平面以上9 000 m范圍內(nèi),海拔高度H與大氣壓P的關(guān)系曲線,如圖5所示。
圖5 海拔高度與大氣壓關(guān)系曲線
因此,根據(jù)高度與大氣壓的對(duì)應(yīng)關(guān)系曲線和計(jì)算公式(1),在9 000 m高空范圍內(nèi),通過(guò)測(cè)量某一位置的大氣壓值,就可以準(zhǔn)確地推算出其相對(duì)于海平面的高度值。
2.3 數(shù)據(jù)濾波處理
由于所測(cè)環(huán)境的空氣流動(dòng)速度變化、溫度不均勻等影響,測(cè)量溫度和氣壓時(shí)不可避免地引入了一定量的隨機(jī)噪聲,導(dǎo)致溫度和氣壓存在一定誤差,從而使計(jì)算的高度穩(wěn)定性差、準(zhǔn)確度低。對(duì)此,必須采用有效的方法進(jìn)行處理。
遞推平均濾波法[11-12]是取連續(xù)的N個(gè)采樣數(shù)作為一個(gè)隊(duì)列,按照先進(jìn)先出的原則,將采樣新數(shù)據(jù)放入隊(duì)尾,舍棄隊(duì)首老數(shù)據(jù),并始終對(duì)N個(gè)數(shù)據(jù)求取均值作為新的測(cè)量值。該方法對(duì)高頻隨機(jī)噪聲具有較好的抑制作用,但是靈敏度低。本文在遞推平均濾波算法的基礎(chǔ)上,對(duì)N個(gè)數(shù)據(jù)進(jìn)行權(quán)系數(shù)分配,使不同時(shí)刻的數(shù)據(jù)加上不同的權(quán)值,以提高靈敏度。越接近當(dāng)前時(shí)刻的數(shù)據(jù),其權(quán)值越大。
加權(quán)遞推平均濾波方程式為:
Y(n)=k1X(n)+k2X(n-1)+k3X(n-2)
(2)
式中:Y(n)為本次高度濾波輸出值;X(n)、X(n-1)和X(n-2)分別為第n、(n-1)和(n-2)次高度測(cè)量原始值;k1、k2和k3為權(quán)值,即濾波系數(shù),滿足k1+k2+k3=1。濾波系數(shù)的大小會(huì)直接影響高度數(shù)據(jù)靈敏度和穩(wěn)定性,k1越大,靈敏度越高。本試驗(yàn)中,k1>2(k2+k3)。
因此,采用加權(quán)遞推平均濾波方法對(duì)高度值進(jìn)行處理,不僅對(duì)測(cè)量靈敏度的影響不大,而且能夠有效地抑制噪聲,提高測(cè)量的準(zhǔn)確性。
為了驗(yàn)證基于大氣壓測(cè)量高度方法的有效性,對(duì)鄭州某14層建筑物的各個(gè)樓層高度進(jìn)行了實(shí)地測(cè)量,以該建筑物第1層為基準(zhǔn),多次測(cè)量第2~14層的相對(duì)高度,得到多組數(shù)據(jù)。
任意選取其中的兩組數(shù)據(jù)繪制曲線,可得樓層高度測(cè)量值與實(shí)際值關(guān)系曲線如圖6所示。
圖6 樓層高度測(cè)量值與實(shí)際值關(guān)系曲線
從各樓層測(cè)量結(jié)果可以看出,高度測(cè)量系統(tǒng)能夠較準(zhǔn)確地測(cè)量出各樓層相對(duì)于某一平面的高度,最大誤差為0.6 m,發(fā)生在第7層的位置;全部樓層高度標(biāo)準(zhǔn)偏差為0.32 m,平均誤差為0.03 m,能夠滿足絕大多數(shù)的低空高度測(cè)量需求。
值得注意的是,高度計(jì)算公式是以15 ℃時(shí)某條件下的海平面大氣壓為基準(zhǔn)進(jìn)行計(jì)算的。由于天氣變化,海平面的大氣壓將隨之發(fā)生改變,如采用固定的海平面氣壓值計(jì)算,將導(dǎo)致海拔高度發(fā)生較大誤差。但是,如果以附近地平面高度為參考,計(jì)算相對(duì)高度,仍然能夠得到較準(zhǔn)確的測(cè)量結(jié)果。
本文在總結(jié)傳統(tǒng)高度測(cè)量的基礎(chǔ)上,基于氣壓與高度的對(duì)應(yīng)關(guān)系,提出了采用新型MEMS數(shù)字氣壓傳感器測(cè)量氣壓,進(jìn)而推算高度的方法。針對(duì)MEMS氣壓傳感器BMP180感應(yīng)預(yù)處理的環(huán)境氣壓和溫度,以高性能AVR單片機(jī)為控制平臺(tái),設(shè)計(jì)了溫度和氣壓采集、溫度和氣壓數(shù)據(jù)補(bǔ)償、氣壓高度推算以及OLED數(shù)據(jù)顯示的硬件和軟件處理系統(tǒng)。為了減小噪聲、提高穩(wěn)定性,采用加權(quán)遞推平均濾波算法對(duì)氣壓數(shù)據(jù)進(jìn)行遞推濾波處理。
通過(guò)對(duì)高層建筑不同樓層高度進(jìn)行測(cè)量試驗(yàn),證明了本文所設(shè)計(jì)的系統(tǒng)能夠準(zhǔn)確地測(cè)量各個(gè)樓層的相對(duì)高度,其標(biāo)準(zhǔn)偏差為0.32 m,平均誤差為0.03 m。因此采用加權(quán)遞推平均濾波的新型氣壓高度測(cè)量方法,為低空高度測(cè)量提供了一種非常實(shí)用、便攜的解決方案,同時(shí)也為三維導(dǎo)航和定位系統(tǒng)提供了重要參考。
[1] CHENG J,YANG L,LI Y,et al.Seamless outdoor/indoor navigation with WIFI/GPS aided low cost inertial navigation system[J].Physical Communication,2014(13):31-43.
[2] 張鵬,杜航航.北斗導(dǎo)航系統(tǒng)導(dǎo)航顯示器設(shè)計(jì)[J].自動(dòng)化儀表,2015,36(9):96-99.
[3] LI B,HARVEY B,GALLAGHER T.Using barometers to determine the height for indoor positioning[C]//IEEE International Conference on Indoor Positioning and Indoor Navigation (IPIN),2013:1-7.
[4] SABATINIA M,GENOVESE V.A sensor fusion method for tracking vertical velocity and height based on inertial and barometric altimeter measurements[J].Sensors,2014,14(8):13324-13347.
[6] LI C,SUN D,TANG W.Anti-theft system of smart homes based on GPRS[J].TELKOMNIKA (Telecommunication Computing Electronics and Control),2016,14(3A):139-144.
[7] ALI M S,AKODE A O,AWADALKAREEM S D,et al.A design of a remote weather factors monitoring system[C]//IEEE International Conference on Communication,Control,Computing and Electronics Engineering (ICCCCEE),2017:1-5.
[8] 張金燕,劉高平,楊如祥.基于氣壓傳感器 BMP085 的高度測(cè)量系統(tǒng)實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2014,33(6):64-67.
[9] 桂宇貴,孫佳,吳杰,等.基于GPS/氣壓高度計(jì)的高度數(shù)據(jù)融合算法研究[J].機(jī)械與電子,2017,35(1):11-14.
[10]KIM L W,CHOI K H,LIM J H,et al.Improving GPS vertical error using barometric altimeter[J].The journal of advanced navigation technology,2016,20(1):29-36.
[11]SUN Y,DAI M,XI L.Scaling of average weighted shortest path and average receiving time on weighted hierarchical networks[J].Physica A:Statistical Mechanics and its Applications,2014,407:110-118.
[12]張宗華,張海全,李師航,等.基于加權(quán)滑動(dòng)平均的磁盤使用率預(yù)測(cè)模型[J].深圳大學(xué)學(xué)報(bào)(理工版),2016,33(1):72-79.
Design and Realization of the Barometric Altitude Measurement System
WANG Xiaolei,YAN Shuangjian,ZHANG Jitao,REN Linjiao,ZHENG Xiaowan,CAO Lingzhi
(College of Electric and Information Engineering,Zhengzhou University of Light Industry,Zhengzhou 450002,China)
Aiming at the shortages of traditional mechanical and GPS methods in height measurement,a new method is proposed by using the new type of barometric pressure sensor,and the height measurement system based on micro electro mechanical system(MEMS) digital barometric pressure sensor is constructed.Firstly,the structure and characteristics of the new digital pressure sensor BMP180 are introduced. Secondly,with the high-performance AVR single chip computer as the control platform,the hardware system is designed,including digital pressure and temperature signal reading equipmeats,organtic ligth emitting diode(OLED) display screen and other peripheral circuits.Thirdly,according to the corresponding relationship between the barometric pressure and height,the software system is developed,including temperature and atmospheric pressure signal acquisition,temperature and air pressure compensation,height estimation and result display.Finally,the weighted recursive average filtering algorithm is used to deal with the height measurement data,reduce the noise and interference,and improve the accuracy and stability of the measurement data.In order to verify the effectiveness of the design method,the height of different floors of a high building is measured,the results indicate that the system can accurately measure the relative height of each floor,and the standard deviation is 0.32 m and the average error is 0.03 m.This shows that the method provides a practical and portable solution for low altitude measurement,which also provides an important reference for accurate vertical displacement measurement,especially in precision 3D space navigation and positioning.
MEMS; Digital barometric pressure sensor; Height measurement system; AVR single chip computer; Organtic ligth emitting diode; Compensation and correction; Filtering algorithm
河南省科技攻關(guān)基金資助項(xiàng)目(162102210210)、鄭州輕工業(yè)學(xué)院博士科研基金資助項(xiàng)目(2014BSJJ046)
王曉雷(1980—),男,博士,講師,主要從事MEMS傳感器技術(shù)及測(cè)控系統(tǒng)的研究。E-mail:wangxiaolei@zzuli.edu.cn。
TH7;TP271.4
A
10.16086/j.cnki.issn1000-0380.201708014
修改稿收到日期:2017-03-17