基于氣壓傳感器的高度測量系統(tǒng)設(shè)計(jì)_第1頁
基于氣壓傳感器的高度測量系統(tǒng)設(shè)計(jì)_第2頁
基于氣壓傳感器的高度測量系統(tǒng)設(shè)計(jì)_第3頁
基于氣壓傳感器的高度測量系統(tǒng)設(shè)計(jì)_第4頁
基于氣壓傳感器的高度測量系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

摘要:本文介紹了一種基于氣壓傳感器的高度測量系統(tǒng)設(shè)計(jì)。系統(tǒng)通過Arduino微控制器讀取傳感器BMP085的溫度、氣壓值及溫度補(bǔ)償校正參數(shù);利用溫度、氣壓和海拔高度的關(guān)系結(jié)合軟件編程及插值優(yōu)化計(jì)算出海拔髙度或相對海拔髙度;在LED屏上顯示當(dāng)前溫度、氣壓、海拔高度或相對海拔高度值。整個(gè)系統(tǒng)集傳感器和微控制器一體,具有結(jié)構(gòu)精簡、靈敏度髙、低功耗、體積小、智能化、操作簡單等特點(diǎn)。關(guān)鍵詞:氣壓傳感器、線性插值、髙度測量0引言當(dāng)前對海拔髙度的測量主要的方式有利用GPS的測量,采用儀器的測量和基于氣壓的海拔髙度測量三種方式。GPS精度能達(dá)到要求但成本較髙;儀器的測量因體積大攜帶不方便;相比較而言,采用微控制器的基于氣壓傳感器髙度測量系統(tǒng)在靈敏度、體積、成本、智能性等方面更符合實(shí)用要求。該系統(tǒng)采用Arduino微控制器利用溫度、氣壓值等傳輸參數(shù)經(jīng)過處理后將大氣壓值轉(zhuǎn)換成海拔髙度值。經(jīng)實(shí)驗(yàn)得出該系統(tǒng)得到的數(shù)據(jù)能夠滿足實(shí)際需求,在便攜氣象儀系統(tǒng)、低空飛行器系統(tǒng)、氣象控制系統(tǒng)等諸多領(lǐng)域有廣泛的應(yīng)用前景。1系統(tǒng)硬件設(shè)計(jì)系統(tǒng)硬件部分由Arduino微控制器、供電模塊、LED顯示模塊、數(shù)字氣壓傳感器BMP085以及外圍電路組成。如圖1所示:圖1氣壓高度計(jì)硬件系統(tǒng)框圖氣壓傳感器BMP085通過IIC總線接口和微控制器Arduino相連,從而將溫度、氣壓數(shù)據(jù)傳送到微控制器,經(jīng)過軟件編程將微控制器獲得的數(shù)據(jù)處理得到當(dāng)前海拔高值或相對海拔高度值,將處理后相對精確的數(shù)據(jù)值再由顯示器輸出。系統(tǒng)的硬件接口布線如下:BMP085:Vcc-3.3v,GND-GND,SDA-ArduinnoSDA,SCL-ArduinoSCL1602:Vcc-3.3v,Vss-GND,VL-R(〈10KQ)-GND,RS-ArduinoD12,R/W-ArduinoD11,E-ArduinoD2,D0~D7-ArduinoD3~D10,BLA-3.3V,BLK-GNDArduinomega2560微控制器微控制器是整個(gè)系統(tǒng)的控制核心,負(fù)責(zé)操作按鍵、傳感器數(shù)據(jù)的采集、數(shù)據(jù)運(yùn)算處理、顯示器驅(qū)動(dòng)等。本氣壓高度計(jì)系統(tǒng)選用Arduinomega2560微控制器芯片,該芯片由意大利Arduino公司出品一個(gè)開放源代碼的硬件組成。兼容ATmegal68/328/2560系列內(nèi)核,帶有54個(gè)數(shù)字I/O口(其中14個(gè)提供PWM輸出),6個(gè)模擬I/O口,4對串行數(shù)據(jù)通信(UART),8KBSRAM存儲,4KBEEPROM存儲,256KB閃存(其中8KB用于引導(dǎo)程序),支持3.3V和5V供電以及IIC總線通信和增強(qiáng)型SPI串行接口,能很方便地與外圍設(shè)備進(jìn)行通信。外圍供電電壓在5V-12V之間,本系統(tǒng)采用9V電源。數(shù)字氣壓傳感器BMP085數(shù)字氣壓傳感器BMP085是一款髙精度、超低能耗的壓力傳感器,可以應(yīng)用在移動(dòng)設(shè)備中。它內(nèi)部由控制單元、A/D轉(zhuǎn)換模塊、數(shù)據(jù)存儲單元、8-pin陶瓷無引線芯片承載(LCC)超薄封裝。傳感器通過A/D轉(zhuǎn)換模塊以最髙128次/s的速率對溫度氣壓的模擬值采樣轉(zhuǎn)換成數(shù)字信號,控制單元讀取存儲器EEPROM中的11個(gè)補(bǔ)償參數(shù)和溫度系數(shù)等。完成采樣后將數(shù)據(jù)通過IIC總線傳送給微控制器,經(jīng)過計(jì)算得到當(dāng)前的溫度值和氣壓值。數(shù)字氣壓傳感器的主要特點(diǎn):壓力范圍:300——1100hPa(海拔-500米到9000米);電源電壓:1.8V——3.6V(VDDA)1.62V——3.6V(VDDD);髙精度:低功耗模式下,分辨率為0.06hPa(0.5米);髙線性模式下,分辨率為0.03hPa(0.25米)。1.3輸出顯示器輸出電路部分采用標(biāo)準(zhǔn)的1602液晶顯示器。它是一種將液晶顯示器、控制集成電路、PCB板、背光源、結(jié)構(gòu)件裝備在一起的集合。如圖2所示:圖2標(biāo)準(zhǔn)1602液晶模塊主要參數(shù):D0—D7數(shù)據(jù)口、R/W讀寫選擇、RS數(shù)據(jù)/命令寄存器選擇、BLA/BLK背光正/負(fù)極、VDD電源、VSS電源地、VL液晶顯示偏壓。2系統(tǒng)軟件設(shè)計(jì)系統(tǒng)模塊化結(jié)構(gòu),主要有微控制上的復(fù)位按鍵,系統(tǒng)初始化,讀EEPROM中的數(shù)據(jù)溫度和氣壓值,軟件濾波處理,氣壓海拔高度轉(zhuǎn)換,輸出到顯示器等程序,主程序是循環(huán)方式工作。系統(tǒng)流程圖如圖3所示:圖3系統(tǒng)軟件設(shè)計(jì)流程圖系統(tǒng)初始化首先系統(tǒng)進(jìn)行微控制器啟動(dòng),對系統(tǒng)I/O口、波特率、時(shí)鐘等進(jìn)行設(shè)置;系統(tǒng)初始化完成之后,Arduinomega2560微控制器按照IIC協(xié)議讀取BMP085氣壓傳感器中存放在EEPROM中的11個(gè)16位數(shù)據(jù)組成的溫度補(bǔ)償校正參數(shù),每只傳感器有著唯一的溫度補(bǔ)償校正參數(shù);經(jīng)過溫度補(bǔ)償校正參數(shù)和軟件插值優(yōu)化以后得到當(dāng)前溫度、大氣壓值進(jìn)而計(jì)算得出所對應(yīng)的海拔高度值或相對海拔高度值,并將溫度、海高度值有效信息送入顯示器輸出。2.2溫度和氣壓的補(bǔ)償系統(tǒng)初始化后對氣壓傳感器BMP085進(jìn)行操作,微控制器Arduinomega2560將傳感器EEPR0M中的11個(gè)16位數(shù)據(jù)組成的補(bǔ)償參數(shù),acl,ac2,ac3,ac4,ac5,ac6,bl,b2,mb,mc,md分別讀取出來為溫度補(bǔ)償準(zhǔn)備。此時(shí),再對當(dāng)前傳感器采樣模式為0SS=0進(jìn)行原始未補(bǔ)償溫度數(shù)據(jù)(UT)和原始未補(bǔ)償?shù)拇髿鈮毫?shù)據(jù)(UP)的讀取操作。再利用數(shù)字氣壓芯片的補(bǔ)償算法對大氣壓值進(jìn)行溫度補(bǔ)償,得到當(dāng)前溫度值(temp)和大氣壓力值(p)。主要算法程序流程如下:floatbmp085GetTemperature(unsignedlongut){floatx1,x2;x1=(((long)ut-ac6)*ac5)>>15;x2=((long)mc<<11)/(x1+md);b5=x1+x2;floattemp=((b5+8)>>4);temp=temp/10;returntemp;}floatbmp085GetPressure(unsignedlongup){longx1,x2,x3,b3,b6,p;unsignedlongb4,b7;b6=b5-4000;//CalculateB3belowx1=(b2*(b6*b6)>>12)>>11;x2=(ac2*b6)>>11;x3=x1+x2;b3=(((((long)ac1)*4+x3)<<0SS)+2)>>2;//CalculateB4belowx1=(ac3*b6)>>13;x2=(b1*((b6*b6)>>12))>>16;x3=((x1+x2)+2)>>2;b4=(ac4*(unsignedlong)(x3+32768))>>15;b7=((unsignedlong)(up-b3)*(50000>>0SS));if(b7<0x80000000)p=(b7<<1)/b4;elsep=(b7/b4)<<1;x1=(p>>8)*(p>>8);x1=(x1*3038)>>16;x2=(-7357*p)>>16;p+=(x1+x2+3791)>>4;returnp;}2.3海拔高度計(jì)算數(shù)字氣壓傳感器BMP085對氣壓海拔髙度提供了參考公式,利用該公式配合傳感器采集到的氣壓值以及溫度補(bǔ)償值較好地得出海拔髙度,公式如下Altitude=44330*[l-(p/P0廠(1/5.255)](1)式中Altitude是以米(m)為單位的海拔髙度值;p以Pa為單位的當(dāng)前某一髙度的大氣壓值;P0為15°C時(shí)101325Pa海平面標(biāo)準(zhǔn)大氣壓值。將其值代入方程計(jì)算得到相應(yīng)海拔髙度(縱坐標(biāo)m)和大氣壓(橫坐標(biāo)Pa)關(guān)系曲線。如圖4所示:圖4大氣壓和海拔髙度曲線關(guān)系圖從圖4中可以看出:大氣壓和海拔髙度在0到6000米之間幾乎成線性關(guān)系,但隨著變化關(guān)系比較復(fù)雜,微處理器直接計(jì)算算法程序復(fù)雜、速度慢、資源占用較多。因此,在實(shí)際設(shè)計(jì)過程中,在系統(tǒng)允許誤差范圍內(nèi)對原始數(shù)據(jù)進(jìn)行插值優(yōu)化處理,假設(shè)系統(tǒng)輸入為p,并且p(i)〈p〈p(i+l)時(shí),在此區(qū)間內(nèi)可近似認(rèn)為系統(tǒng)的輸入/輸出的關(guān)系為線性關(guān)系P(p)=a0+a1*p,其插值公式為:P(p)=y(i)+(y(i+1)-y(i))/(p(i+1)-p(i))(2)國際標(biāo)準(zhǔn)大氣壓數(shù)據(jù)表記錄了-100~20000m之間每隔一段髙度所對應(yīng)的氣壓值。每個(gè)氣壓數(shù)據(jù)p(i)和所對應(yīng)髙度數(shù)據(jù)點(diǎn)y(i),P(p)為系統(tǒng)要測量的髙度值。將數(shù)據(jù)離散化制作成一個(gè)大氣壓值和海拔髙度值對應(yīng)查詢表,并放入到微控制器內(nèi)存中,再根據(jù)測量得到的大氣壓值進(jìn)行查表,從而確定對應(yīng)的海拔髙度值。3實(shí)驗(yàn)結(jié)果基于該系統(tǒng)于14年11月12讓下午5時(shí)對某樓層樓層髙度測量,并多次測量取海拔髙度值并計(jì)算得出相對海拔髙度值并與實(shí)際值比較,實(shí)驗(yàn)所得數(shù)據(jù)結(jié)果如下表1所示。對象樓層樓道溫度值/r樓道氣壓值/Pa測量相對地面髙度值/m與真實(shí)樓層髙誤差絕對值/m2樓15.8197111.175.28270.28273樓15.6397065.009.27800.27804樓15.4297014.8313.30920.30925樓15.1996974.1416.30180.19826樓14.8796922.1720.28140.2814表1實(shí)驗(yàn)數(shù)據(jù)結(jié)果由上表1可看出樓層相對地面海拔髙度平均誤差為0.2699m。實(shí)驗(yàn)測量結(jié)果表明該系統(tǒng)測量值和真實(shí)值差距在誤差范圍(0.25m-0.5m)內(nèi),效果良好,基本滿足了測量要求。4結(jié)束語實(shí)驗(yàn)結(jié)果表明本文設(shè)計(jì)實(shí)現(xiàn)了計(jì)算海拔高度或相對海拔高度的測量?;跉鈮簜鞲衅鰾MP085及微控制器通過簡單的電路和有效的軟件算法技術(shù)處理,具有較高的靈敏度和穩(wěn)定性,適用于精度比較高,體積小,成本低,操作簡單的設(shè)備中。本文研究結(jié)果在實(shí)際生活中具有廣泛的應(yīng)用前景。參考文獻(xiàn):U.S;SimonMonk;《30ArduinoProjectsfortheEvilGenius》;2010byTheMcGraw-HillCompanies。U.S;MichaelMcRoberts;《BeginningArduino》;2010byMichaelMcRoberts。程晨,《Arduino開發(fā)實(shí)戰(zhàn)指南》,機(jī)械工業(yè)出版社。殷希梅,楊維,程洪濤;基于BMP085數(shù)字氣壓傳感器的彈上髙度測量系統(tǒng)設(shè)計(jì);彈箭與制導(dǎo)學(xué)報(bào)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論