




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
摘要:本文介紹了一種基于氣壓傳感器的高度測量系統設計。系統通過Arduino微控制器讀取傳感器BMP085的溫度、氣壓值及溫度補償校正參數;利用溫度、氣壓和海拔高度的關系結合軟件編程及插值優化計算出海拔髙度或相對海拔髙度;在LED屏上顯示當前溫度、氣壓、海拔高度或相對海拔高度值。整個系統集傳感器和微控制器一體,具有結構精簡、靈敏度髙、低功耗、體積小、智能化、操作簡單等特點。關鍵詞:氣壓傳感器、線性插值、髙度測量0引言當前對海拔髙度的測量主要的方式有利用GPS的測量,采用儀器的測量和基于氣壓的海拔髙度測量三種方式。GPS精度能達到要求但成本較髙;儀器的測量因體積大攜帶不方便;相比較而言,采用微控制器的基于氣壓傳感器髙度測量系統在靈敏度、體積、成本、智能性等方面更符合實用要求。該系統采用Arduino微控制器利用溫度、氣壓值等傳輸參數經過處理后將大氣壓值轉換成海拔髙度值。經實驗得出該系統得到的數據能夠滿足實際需求,在便攜氣象儀系統、低空飛行器系統、氣象控制系統等諸多領域有廣泛的應用前景。1系統硬件設計系統硬件部分由Arduino微控制器、供電模塊、LED顯示模塊、數字氣壓傳感器BMP085以及外圍電路組成。如圖1所示:圖1氣壓高度計硬件系統框圖氣壓傳感器BMP085通過IIC總線接口和微控制器Arduino相連,從而將溫度、氣壓數據傳送到微控制器,經過軟件編程將微控制器獲得的數據處理得到當前海拔高值或相對海拔高度值,將處理后相對精確的數據值再由顯示器輸出。系統的硬件接口布線如下: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微控制器微控制器是整個系統的控制核心,負責操作按鍵、傳感器數據的采集、數據運算處理、顯示器驅動等。本氣壓高度計系統選用Arduinomega2560微控制器芯片,該芯片由意大利Arduino公司出品一個開放源代碼的硬件組成。兼容ATmegal68/328/2560系列內核,帶有54個數字I/O口(其中14個提供PWM輸出),6個模擬I/O口,4對串行數據通信(UART),8KBSRAM存儲,4KBEEPROM存儲,256KB閃存(其中8KB用于引導程序),支持3.3V和5V供電以及IIC總線通信和增強型SPI串行接口,能很方便地與外圍設備進行通信。外圍供電電壓在5V-12V之間,本系統采用9V電源。數字氣壓傳感器BMP085數字氣壓傳感器BMP085是一款髙精度、超低能耗的壓力傳感器,可以應用在移動設備中。它內部由控制單元、A/D轉換模塊、數據存儲單元、8-pin陶瓷無引線芯片承載(LCC)超薄封裝。傳感器通過A/D轉換模塊以最髙128次/s的速率對溫度氣壓的模擬值采樣轉換成數字信號,控制單元讀取存儲器EEPROM中的11個補償參數和溫度系數等。完成采樣后將數據通過IIC總線傳送給微控制器,經過計算得到當前的溫度值和氣壓值。數字氣壓傳感器的主要特點:壓力范圍:300——1100hPa(海拔-500米到9000米);電源電壓:1.8V——3.6V(VDDA)1.62V——3.6V(VDDD);髙精度:低功耗模式下,分辨率為0.06hPa(0.5米);髙線性模式下,分辨率為0.03hPa(0.25米)。1.3輸出顯示器輸出電路部分采用標準的1602液晶顯示器。它是一種將液晶顯示器、控制集成電路、PCB板、背光源、結構件裝備在一起的集合。如圖2所示:圖2標準1602液晶模塊主要參數:D0—D7數據口、R/W讀寫選擇、RS數據/命令寄存器選擇、BLA/BLK背光正/負極、VDD電源、VSS電源地、VL液晶顯示偏壓。2系統軟件設計系統模塊化結構,主要有微控制上的復位按鍵,系統初始化,讀EEPROM中的數據溫度和氣壓值,軟件濾波處理,氣壓海拔高度轉換,輸出到顯示器等程序,主程序是循環方式工作。系統流程圖如圖3所示:圖3系統軟件設計流程圖系統初始化首先系統進行微控制器啟動,對系統I/O口、波特率、時鐘等進行設置;系統初始化完成之后,Arduinomega2560微控制器按照IIC協議讀取BMP085氣壓傳感器中存放在EEPROM中的11個16位數據組成的溫度補償校正參數,每只傳感器有著唯一的溫度補償校正參數;經過溫度補償校正參數和軟件插值優化以后得到當前溫度、大氣壓值進而計算得出所對應的海拔高度值或相對海拔高度值,并將溫度、海高度值有效信息送入顯示器輸出。2.2溫度和氣壓的補償系統初始化后對氣壓傳感器BMP085進行操作,微控制器Arduinomega2560將傳感器EEPR0M中的11個16位數據組成的補償參數,acl,ac2,ac3,ac4,ac5,ac6,bl,b2,mb,mc,md分別讀取出來為溫度補償準備。此時,再對當前傳感器采樣模式為0SS=0進行原始未補償溫度數據(UT)和原始未補償的大氣壓力數據(UP)的讀取操作。再利用數字氣壓芯片的補償算法對大氣壓值進行溫度補償,得到當前溫度值(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海拔高度計算數字氣壓傳感器BMP085對氣壓海拔髙度提供了參考公式,利用該公式配合傳感器采集到的氣壓值以及溫度補償值較好地得出海拔髙度,公式如下Altitude=44330*[l-(p/P0廠(1/5.255)](1)式中Altitude是以米(m)為單位的海拔髙度值;p以Pa為單位的當前某一髙度的大氣壓值;P0為15°C時101325Pa海平面標準大氣壓值。將其值代入方程計算得到相應海拔髙度(縱坐標m)和大氣壓(橫坐標Pa)關系曲線。如圖4所示:圖4大氣壓和海拔髙度曲線關系圖從圖4中可以看出:大氣壓和海拔髙度在0到6000米之間幾乎成線性關系,但隨著變化關系比較復雜,微處理器直接計算算法程序復雜、速度慢、資源占用較多。因此,在實際設計過程中,在系統允許誤差范圍內對原始數據進行插值優化處理,假設系統輸入為p,并且p(i)〈p〈p(i+l)時,在此區間內可近似認為系統的輸入/輸出的關系為線性關系P(p)=a0+a1*p,其插值公式為:P(p)=y(i)+(y(i+1)-y(i))/(p(i+1)-p(i))(2)國際標準大氣壓數據表記錄了-100~20000m之間每隔一段髙度所對應的氣壓值。每個氣壓數據p(i)和所對應髙度數據點y(i),P(p)為系統要測量的髙度值。將數據離散化制作成一個大氣壓值和海拔髙度值對應查詢表,并放入到微控制器內存中,再根據測量得到的大氣壓值進行查表,從而確定對應的海拔髙度值。3實驗結果基于該系統于14年11月12讓下午5時對某樓層樓層髙度測量,并多次測量取海拔髙度值并計算得出相對海拔髙度值并與實際值比較,實驗所得數據結果如下表1所示。對象樓層樓道溫度值/r樓道氣壓值/Pa測量相對地面髙度值/m與真實樓層髙誤差絕對值/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實驗數據結果由上表1可看出樓層相對地面海拔髙度平均誤差為0.2699m。實驗測量結果表明該系統測量值和真實值差距在誤差范圍(0.25m-0.5m)內,效果良好,基本滿足了測量要求。4結束語實驗結果表明本文設計實現了計算海拔高度或相對海拔高度的測量。基于氣壓傳感器BMP085及微控制器通過簡單的電路和有效的軟件算法技術處理,具有較高的靈敏度和穩定性,適用于精度比較高,體積小,成本低,操作簡單的設備中。本文研究結果在實際生活中具有廣泛的應用前景。參考文獻:U.S;SimonMonk;《30ArduinoProjectsfortheEvilGenius》;2010byTheMcGraw-HillCompanies。U.S;MichaelMcRoberts;《BeginningArduino》;2010byMichaelMcRoberts。程晨,《Arduino開發實戰指南》,機械工業出版社。殷希梅,楊維,程洪濤;基于BMP085數字氣壓傳感器的彈上髙度測量系統設計;彈箭與制導學報
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版地理七下8.2歐洲西部教學設計
- 人教部編版歷史七年級下第9課宋代經濟的發展教學設計
- 2024四川瀘州交投集團汽車服務有限公司公開招聘勞務派遣人員7人筆試參考題庫附帶答案詳解
- 體育-王文兵-《中長跑的技術動作分析與訓練》教學設計
- 勞動項目二《疊被子》(教學設計)2023-2024學年人教版勞動一年級下冊
- 安全生產主體責任培訓
- 出境旅游線路培訓
- 財務報表培訓課件
- 人教PEP版英語三年級上冊 Unit 4 We love animals 表格式教案
- 單純的高血壓護理查房
- 湖北環境監測服務收費標準
- 城市垃圾填埋處理監理投標文件技術標
- 主提升機司機培訓課件
- 數獨比賽六宮練習題道練習
- GB3469-83《文獻類型與文獻載體代碼》
- 互聯網大學生創新創業大賽培訓
- 3號鋼筋加工場桁吊安裝方案
- 部編版(統編)六年級語文下冊文學常識及文化常識(共4頁)
- 世界500強企業企業文化(企業使命、愿景、核心價值觀)集錦
- 《QCC對策擬定》ppt課件
- 《管子·弟子職》全文翻
評論
0/150
提交評論