王曉雷,閆雙建,張吉濤,任林嬌,鄭曉婉,曹玲芝
(鄭州輕工業(yè)學院電氣信息工程學院,河南 鄭州 450002)
氣壓高度測量系統(tǒng)的設計與實現(xiàn)
王曉雷,閆雙建,張吉濤,任林嬌,鄭曉婉,曹玲芝
(鄭州輕工業(yè)學院電氣信息工程學院,河南 鄭州 450002)
針對傳統(tǒng)機械和GPS方法測量高度時存在的不足,采用新型氣壓傳感器測量高度的方法,構(gòu)建了基于微機電系統(tǒng)(MEMS)數(shù)字氣壓傳感器的高度測量系統(tǒng)。首先,介紹了新型數(shù)字氣壓傳感器BMP180的結(jié)構(gòu)和特點;其次,以高性能AVR單片機為控制平臺,設計了數(shù)字氣壓和溫度信號讀取設備、有機發(fā)光二級管(OLED)顯示屏和其他外圍電路的硬件系統(tǒng);然后,根據(jù)氣壓與高度的對應關系,開發(fā)了溫度和氣壓信號采樣、溫度和氣壓補償、高度推算以及結(jié)果顯示的軟件系統(tǒng);最后,采用加權(quán)遞推平均濾波算法對高度測量數(shù)據(jù)進行處理,減小了噪聲和干擾,提高了測量的準確度和穩(wěn)定性。為了驗證設計方法的有效性,對高層建筑的不同樓層高度進行測試,結(jié)果表明該系統(tǒng)能夠準確地測量樓層相對高度,標準偏差為0.32 m,平均誤差為0.03 m。由此可見,采用加權(quán)遞推平均濾波的新型氣壓高度測量方法,為低空高度測量提供了一種非常實用便攜的解決方案,也為空間垂直位移測量尤其是三維空間的準確導航和定位提供了重要參考。
微機電系統(tǒng); 數(shù)字氣壓傳感器; 高度測量系統(tǒng); AVR單片機; 有機發(fā)光二級管; 補償校正; 濾波算法
在三維導航和定位系統(tǒng)中,高度是極其重要的一個維度。通常情況下,高度的測量方法主要有傳統(tǒng)機械式海拔高度測量儀、全球定位系統(tǒng)(global positioning system,GPS)、北斗衛(wèi)星導航系統(tǒng)(BeiDou navigation satellite system,BDS)高度測量定位系統(tǒng)[1-2]以及基于大氣壓的高度測量系統(tǒng)[3-4]。其中,傳統(tǒng)機械式海拔高度測量儀精度低、體積大、不便于攜帶;GPS或BDS定位系統(tǒng)可以實現(xiàn)高度測量,但精度低、成本高;而采用微機電系統(tǒng)(micro electro-mechanical system,MEMS)技術(shù)制作的氣壓傳感器,具有體積小、成本低、便于攜帶等特點。大氣壓推算高度,是基于大氣壓隨高度變化的規(guī)律,在已知當?shù)卮髿鈮旱幕A上推算海拔或相對高度的有效方法。該方法思路簡單、準確高效,已成為目前高度測量的主流方案。
測量大氣壓的MEMS傳感器很多,比如MEAS公司的MS54xx[5]、MOTO公司的MPX4115A[6-7]以及BOSCH公司的BMP085和BMP180等[8]。其中,MS54xx和MPX4115A輸出的模擬信號,必須通過信號調(diào)理、A/D轉(zhuǎn)換等一系列操作實現(xiàn)數(shù)字化,處理過程復雜、工作量大。
本文以AVR單片機作為控制器,采用BOSCH公司生產(chǎn)的BMP180傳感器采集大氣壓信號,并根據(jù)大氣壓與高度的關系計算海拔高度或相對高度。該方法具有測量精度高、體積小、成本低和易于實現(xiàn)等特點,在工程高度測量、三維空間導航與定位、飛行器GPS輔助導航、大氣壓測量和氣象監(jiān)測等領域具有廣泛的應用前景[9-10]。
為了實現(xiàn)對大氣壓的準確測量,并實時顯示測量結(jié)果,系統(tǒng)硬件包括大氣壓傳感器BMP180、AVR單片機Atmega16、有機發(fā)光二極管(organic light-emitting diode,OLED)顯示屏和必要的外圍電路等幾個部分。系統(tǒng)硬件結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)硬件結(jié)構(gòu)圖
AVR單片機Atmega16通過BWI端口與大氣壓傳感器BMP180的I2C接口連接,通過時鐘控制獲得氣壓和溫度數(shù)據(jù),并由濾波等數(shù)據(jù)處理得到穩(wěn)定的氣壓值;利用氣壓與高度的曲線關系,計算當前高度值,并把溫度、氣壓和高度值送至OLED顯示屏輸出。
1.1 大氣壓傳感器BMP180
BMP180是繼BMP085之后BOSCH公司開發(fā)的新一代高精度MEMS數(shù)字氣壓傳感器,其內(nèi)部集成壓阻式氣壓傳感單元、A/D轉(zhuǎn)換器(analog digital converter,ADC)、E2PROM存儲器、控制單元以及I2C串行總線接口。
BMP180內(nèi)部結(jié)構(gòu)如圖2所示。
圖2 BMP180內(nèi)部結(jié)構(gòu)圖
BMP180采用LGA封裝,體積為(3.6×3.6×0.93)mm3;氣壓測量范圍為30~110 kPa,所對應海拔高度為-500~+9 000 m;在超高分辨率模式下,精度可以達到0.002 kPa(對應于0.17 m海拔);電源電壓低,僅為1.8~3.6 V;標準模式下具有5 μA電流的超低功耗;最高采樣速率為128 Hz,滿足氣壓的實時測量要求。
控制單元發(fā)出命令,由前端的傳感器單元采集環(huán)境中的溫度和氣壓,經(jīng)A/D轉(zhuǎn)換為數(shù)字量,供單片機讀取和處理。E2PROM中存儲著由生產(chǎn)商固化的用于測量數(shù)據(jù)補償?shù)男拚?,初始化時由單片機通過I2C總線讀取,用于溫度和氣壓的測量值校正和補償,以得到準確的溫度和氣壓值。
1.2 AVR單片機Atmega16
Atmega16是Atmel公司推出的高性能低、功耗8位AVR微處理器,具有先進的RISC結(jié)構(gòu)、單周期指令和兩周期硬件乘法器;運行速度較快,在16 MHz工作頻率時,每秒可協(xié)行指令高達16×106條;內(nèi)存資源豐富,具有16 Kb Flash,512 b E2PROM和1 Kb SRAM;對外接口齊全,具有兩線TWI接口、三線SPI接口和2個USART串口。
由于性能優(yōu)良且價格便宜,系統(tǒng)選用Atmega16微處理器作為控制核心,通過TWI接口與BMP180的I2C總線無縫連接,能實現(xiàn)對大氣壓傳感器數(shù)據(jù)的采集和補償數(shù)據(jù)讀??;通過SPI總線接口與OLED顯示屏連接,實現(xiàn)對大氣壓和高度等數(shù)據(jù)的直觀顯示;USART串行接口可實現(xiàn)與計算機的實時通信。
1.3 OLED顯示屏
OLED是采用新型的平板顯示技術(shù)制作的有機電激發(fā)光二極管,具有對比度高、功耗低、響應速度快等特點。OLED顯示屏具有128×64個像素,雙色顯示,能夠以矩陣的形式顯示多種符號和圖形,由驅(qū)動控制芯片SSD1306按照顯示命令激勵不同位置的LED發(fā)光,形成所需圖案。
本設計選用0.96英寸(1英寸=25.4 mm)OLED顯示屏,通過SPI串行總線實時顯示單片機處理的數(shù)據(jù)。
為了實現(xiàn)硬件系統(tǒng)對溫度和大氣壓的數(shù)據(jù)采集和顯示,設計以AVR單片機為控制平臺的軟件方案,包括單片機的上電復位、初始化、BMP180傳感器中E2PROM存儲修正數(shù)據(jù)讀取、溫度和氣壓數(shù)據(jù)采集與傳輸、溫度和氣壓補償、高度計算、濾波處理以及驅(qū)動OLED數(shù)據(jù)顯示等模塊。
常用的AVR單片機開發(fā)環(huán)境有ICCAVR、AVR Studio和GCCAVR等。本設計選用ICCAVR平臺作為開發(fā)環(huán)境進行軟件構(gòu)建,具體的系統(tǒng)軟件設計流程如圖3所示。
圖3 系統(tǒng)軟件設計流程圖
2.1 溫度和大氣壓采集與補償
BMP180可采用單倍采樣速率和2倍、4倍、8倍采樣速率模式對大氣壓進行采集或過采樣,對應于超低功耗、標準、高分辨率和超高分辨率4種模式,通過I2C總線寫入不同的控制命令設置其采樣或過采樣倍率。
本系統(tǒng)采用單倍采樣和超低功耗模式,對溫度和大氣壓的讀取與補償流程如圖4所示。
圖4 讀取與補償流程圖
系統(tǒng)上電初始化后,單片機通過I2C總線讀取固化在BMP180的E2PROM中的修正數(shù)據(jù),存儲在內(nèi)存中,以便對溫度和大氣壓進行補償校正。
單片機通過0xEE和0xEF指令對BMP180傳感器進行寫和讀操作。首先,發(fā)送指令0xEE執(zhí)行寫操作,對寄存器0xF4寫入控制寄存器指令0x2E,控制傳感器對溫度進行操作;發(fā)送設備讀取指令0xEF,從地址0xF6開始讀取原始溫度值Ti;然后,發(fā)送指令0xEE執(zhí)行寫操作,對寄存器0xF4寫入控制寄存器指令0x34,控制傳感器對大氣壓進行操作;發(fā)送讀取指令0xEF,從地址0xF6開始讀取原始氣壓值Pi。
根據(jù)氣壓傳感器BMP180提供的校正算法對溫度和氣壓進行校正。溫度補償校正時,按照溫度校正公式和參數(shù),對Ti進行運算處理得到校正中間值b5,然后進一步處理得到校正后的溫度值T;校正氣壓時,在校正中間值b5的基礎上,按照氣壓計算公式對Pi進行一系列計算,最終得到大氣壓值P。
由上述分析可知,大氣壓的補償校正是在溫度校正的基礎上進行的。因此,溫度變化直接影響大氣壓的數(shù)值。
2.2 高度計算
根據(jù)玻爾茲曼氣體分子在重力場中按高度的分布規(guī)律可知,在溫度均勻的情況下,大氣壓隨高度增加按指數(shù)減小,因此測定大氣壓隨高度減小的量值,即可確定上升的高度。以海平面為基準,大氣壓與高度的對應關系可用如下計算公式表示:
(1)
式中:H為相對于海平面的高度,m;P0為海平面大氣壓,kPa。在15 ℃時,P0=101.325 kPa。
繪制海平面以下500 m至海平面以上9 000 m范圍內(nèi),海拔高度H與大氣壓P的關系曲線,如圖5所示。
圖5 海拔高度與大氣壓關系曲線
因此,根據(jù)高度與大氣壓的對應關系曲線和計算公式(1),在9 000 m高空范圍內(nèi),通過測量某一位置的大氣壓值,就可以準確地推算出其相對于海平面的高度值。
2.3 數(shù)據(jù)濾波處理
由于所測環(huán)境的空氣流動速度變化、溫度不均勻等影響,測量溫度和氣壓時不可避免地引入了一定量的隨機噪聲,導致溫度和氣壓存在一定誤差,從而使計算的高度穩(wěn)定性差、準確度低。對此,必須采用有效的方法進行處理。
遞推平均濾波法[11-12]是取連續(xù)的N個采樣數(shù)作為一個隊列,按照先進先出的原則,將采樣新數(shù)據(jù)放入隊尾,舍棄隊首老數(shù)據(jù),并始終對N個數(shù)據(jù)求取均值作為新的測量值。該方法對高頻隨機噪聲具有較好的抑制作用,但是靈敏度低。本文在遞推平均濾波算法的基礎上,對N個數(shù)據(jù)進行權(quán)系數(shù)分配,使不同時刻的數(shù)據(jù)加上不同的權(quán)值,以提高靈敏度。越接近當前時刻的數(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)次高度測量原始值;k1、k2和k3為權(quán)值,即濾波系數(shù),滿足k1+k2+k3=1。濾波系數(shù)的大小會直接影響高度數(shù)據(jù)靈敏度和穩(wěn)定性,k1越大,靈敏度越高。本試驗中,k1>2(k2+k3)。
因此,采用加權(quán)遞推平均濾波方法對高度值進行處理,不僅對測量靈敏度的影響不大,而且能夠有效地抑制噪聲,提高測量的準確性。
為了驗證基于大氣壓測量高度方法的有效性,對鄭州某14層建筑物的各個樓層高度進行了實地測量,以該建筑物第1層為基準,多次測量第2~14層的相對高度,得到多組數(shù)據(jù)。
任意選取其中的兩組數(shù)據(jù)繪制曲線,可得樓層高度測量值與實際值關系曲線如圖6所示。
圖6 樓層高度測量值與實際值關系曲線
從各樓層測量結(jié)果可以看出,高度測量系統(tǒng)能夠較準確地測量出各樓層相對于某一平面的高度,最大誤差為0.6 m,發(fā)生在第7層的位置;全部樓層高度標準偏差為0.32 m,平均誤差為0.03 m,能夠滿足絕大多數(shù)的低空高度測量需求。
值得注意的是,高度計算公式是以15 ℃時某條件下的海平面大氣壓為基準進行計算的。由于天氣變化,海平面的大氣壓將隨之發(fā)生改變,如采用固定的海平面氣壓值計算,將導致海拔高度發(fā)生較大誤差。但是,如果以附近地平面高度為參考,計算相對高度,仍然能夠得到較準確的測量結(jié)果。
本文在總結(jié)傳統(tǒng)高度測量的基礎上,基于氣壓與高度的對應關系,提出了采用新型MEMS數(shù)字氣壓傳感器測量氣壓,進而推算高度的方法。針對MEMS氣壓傳感器BMP180感應預處理的環(huán)境氣壓和溫度,以高性能AVR單片機為控制平臺,設計了溫度和氣壓采集、溫度和氣壓數(shù)據(jù)補償、氣壓高度推算以及OLED數(shù)據(jù)顯示的硬件和軟件處理系統(tǒng)。為了減小噪聲、提高穩(wěn)定性,采用加權(quán)遞推平均濾波算法對氣壓數(shù)據(jù)進行遞推濾波處理。
通過對高層建筑不同樓層高度進行測量試驗,證明了本文所設計的系統(tǒng)能夠準確地測量各個樓層的相對高度,其標準偏差為0.32 m,平均誤差為0.03 m。因此采用加權(quán)遞推平均濾波的新型氣壓高度測量方法,為低空高度測量提供了一種非常實用、便攜的解決方案,同時也為三維導航和定位系統(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] 張鵬,杜航航.北斗導航系統(tǒng)導航顯示器設計[J].自動化儀表,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 的高度測量系統(tǒng)實現(xiàn)[J].微型機與應用,2014,33(6):64-67.
[9] 桂宇貴,孫佳,吳杰,等.基于GPS/氣壓高度計的高度數(shù)據(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)滑動平均的磁盤使用率預測模型[J].深圳大學學報(理工版),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
河南省科技攻關基金資助項目(162102210210)、鄭州輕工業(yè)學院博士科研基金資助項目(2014BSJJ046)
王曉雷(1980—),男,博士,講師,主要從事MEMS傳感器技術(shù)及測控系統(tǒng)的研究。E-mail:wangxiaolei@zzuli.edu.cn。
TH7;TP271.4
A
10.16086/j.cnki.issn1000-0380.201708014
修改稿收到日期:2017-03-17