對于身處野外的人來說,一個比較關心的問題就是所在地的海拔是多少。而目前市面上這類產(chǎn)品很少,一般都是高端產(chǎn)品才帶有此項功能。有的機械式海拔儀雖然價格較低,但精度太低。所以急需研制一種精度高,價格低廉的海拔儀,以滿足大眾消費的需求。對于海拔高度的測量,常用的方法。一是GPS全球定位系統(tǒng);二是通過測量大氣壓來間接的獲得海拔高度。前一種方法成本較高且難度較大,而采用后一種方法相對來說,器件的選擇范圍要更廣一些,因而可以把成本降到最低。
1 多功能海拔儀的總體設計思路
本文采用測量大氣壓強來間接的獲得海拔高度的方法。通過大氣壓強傳感器得到表征大氣壓強的電壓信號,該信號通過放大電路和濾波電路后,再進行A/D轉換。單片機作為本系統(tǒng)的控制單元,主要完成三個功能:其一是對MD轉換的數(shù)據(jù)進行數(shù)據(jù)轉化,以得到海拔的準確值;二是控制溫度傳感器;三是控制液晶顯示,以將海拔和溫度準確值在液晶上顯示。其系統(tǒng)原理框圖如圖1所示。
本文的高度測量的理論依據(jù)是大氣壓強與海拔高度關系滿足玻爾茲曼公式:
其中,P是高度為Z處的大氣壓強,P0為海平面上的大氣壓強,μ為空氣的摩爾質(zhì)量,R為普適氣體常數(shù),T為氣體的溫度。事實上,玻爾茲曼公式是在假定T為常數(shù)的條件得出的,而實際情況下。大氣的溫度與海拔高度有一定的關系。在通過大氣壓強的值來計算海拔時,必須考慮溫度因素,所以,必須采取一定的補償措施。本系統(tǒng)采用溫補和軟件方法,可在很大程度上減小溫度對測量值的影響。
2 硬件電路
2.1 大氣壓強傳感器及溫度補償電路
本儀器采用APM公司的TP015P大氣壓強傳感器,該器件的測量范圍為0~100 kPa。工作溫度范圍為-40℃~125℃,靜態(tài)精度<±0.2%FS0。從該大氣壓強傳感器在相同溫度下的測試結果來看,其輸出值與大氣壓強基本成線性關系。但為了去除溫度帶來的誤差,還須加上溫度補償。常用的溫度補償方法有加二極管、三極管、熱敏電阻和軟件補償(如神經(jīng)網(wǎng)絡等)。經(jīng)過測量計算,本文以NTC熱敏電阻來進行溫度補償,其電路如圖2所示。
2.2 放大濾波電路
本儀器采用的運算放大器是美國AD公司的儀器儀表放大器AD620,該放大器的放大系數(shù)可以由外接電阻RG所決定,其具體的放大倍數(shù)計算公式為。AD620的核心是三運放電路,并具有較高的共模抑制比,而且溫度穩(wěn)定性好,放大頻帶寬,噪聲系數(shù)小,調(diào)節(jié)方便。由于大氣壓強傳感器TP015的輸出在10~150 mV,而A/D芯片MCP3221的信號輸入范圍為0~3 V,故設定AD620的放大倍數(shù)約為30倍。其放大濾波電路原理如圖3所示。
2.3 A/D轉換電路
本儀器中的A/D電路采用Microchip Technology公司的12位低功率模數(shù)轉換器MCP3221。MCP3221是連續(xù)的近似值12位逐次逼近式A/D轉換器。采用2線串行和I2C兼容的接口。MCP3221采用單電源工作,故可簡化電路設計。該器件可在較大的電壓范圍內(nèi)工作(2.7~5.5 V),同時片內(nèi)還具有采樣保持電路和自定時轉換功能,其采集時間和轉換可利用內(nèi)部時鐘定時。每次轉換后,可將結果存在12位的寄存器里,并按照I2C總線時序讀取A/D轉換的值。當MCP3221采用快速轉換模式并且時鐘速率為400 kHz時,其最大的采樣速率可達22.3 ksps。在硬件電路上,MCP3221的電源電壓必須具有較小的紋波且保持穩(wěn)定,這樣,A/D的誤差才會小。MCP3221的SCL和SDA引腳需上拉10 kΩ電阻后再與單片機I/O相接。MCP3221與8051單片機的接口電路如圖4所示。
2.4 溫度采集電路
本文介紹的海拔高度測量儀器的溫度采集電路采用Dallas半導體公司的一線式數(shù)字溫度傳感器DS18B20。數(shù)字式溫度傳感器DS1820是世界上第一片支持“一線總線”接口的溫度傳感器,它可采用一根信號線來實現(xiàn)信號的雙向傳輸,并具有接口簡單,節(jié)省I/O口線,便于擴展和維護等優(yōu)點。DS18B20的測量溫度范圍為-55~+125℃,在-10~+85℃范圍內(nèi),其精度為±0.5℃。現(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,從而大大提高了系統(tǒng)的抗干擾性,適合于惡劣環(huán)境下的現(xiàn)場溫度測量。DS18B20與單片機8051的接口電路如圖5所示。
2.5 顯示電路
本儀器采用的1601字符型液晶顯示模塊具有體積小、功耗低、顯示內(nèi)容豐富等特點。該模塊的工作電壓為5 V,并帶有字符對比度調(diào)節(jié)和背光等功能。1601模塊與單片機的接口電路如圖6所示。
3 軟件設計
該儀器工作流程首先是初始化單片機、字符液晶和DS18B20;第二是啟動溫度轉化,發(fā)送DS18B20匹配命令,逐個將各個DS18B20采集的溫度值讀出;第三是啟動A/D轉換,采集8個大氣壓強的電壓值,并求出平均值;第四,用轉換算法將電壓值轉化成實際的海拔高度,第五是用液晶顯示溫度和海拔高度。其系統(tǒng)軟件流程圖如圖7所示。
在整個系統(tǒng)軟件設計中,會涉及到一線總線和I2C總線編程技術。一線總線的讀寫時序操作、搜索算法和匹配算法的實現(xiàn)是系統(tǒng)軟件最為重要的部分。在一線總線程序中,關鍵是一線總線的總線初始化、讀數(shù)據(jù)和寫數(shù)據(jù)時序的實現(xiàn)。本儀器的軟件系統(tǒng)涉及到DS18B20的命令字有搜索命令(OxF0)、溫度轉化命令(0x44)、讀取溫度命令(0xBE)和匹配命令(0x55)。
4 產(chǎn)品測試結果分析
因為玻爾茲曼公式是在假定大氣溫度為常數(shù)的情況下推導出來的。而實際情況是大氣的溫度與海拔高度有關。故在實際測量的基礎上(兩個儀器測試),可利用MATLAB軟件進行實驗數(shù)據(jù)分析。其分析結果如圖8所示,這樣就可以找到傳感器輸出值與海拔高度的實際對應關系。目前,本產(chǎn)品已在四川省成都市龍泉山上進行了4個不同海拔高度的測量,其測量高度與實際高度的對比如表1所列。
5 結束語
該數(shù)字海拔儀能夠精確地測出大氣壓強,并能夠正確地用數(shù)字方式顯示海拔高度和溫度值。經(jīng)過大量的實地測量,驗證了文中的海拔高度和大氣壓強轉換算法的正確性和儀器精度。該儀器可廣泛使用于野外考察,旅游等民用領域,具有廣闊的市場前景。