殷希梅,楊 維,程洪濤
(1解放軍陸軍軍官學(xué)院,合肥230031;2總裝駐襄陽(yáng)地區(qū)軍事代表室,湖北襄陽(yáng)441021)
隨著精確制導(dǎo)等各種信息化、智能化炮彈的發(fā)展,對(duì)炮彈在飛行過(guò)程中各種參數(shù)測(cè)試的要求也越來(lái)越高,同時(shí)要求測(cè)量器件具有體積小、功耗低、響應(yīng)速度快及抗高過(guò)載能力。目前,對(duì)于飛行中的彈丸的高度測(cè)量主要是采用 GPS,這種方式方便、直接,而且GPS具有體積小、價(jià)格低等優(yōu)點(diǎn),但是GPS高程信息準(zhǔn)確度,尤其在近地面時(shí)準(zhǔn)確度相對(duì)較差,而且其安全性也可能受它國(guó)影響而不能得到保障,因此不能完全依賴GPS提供高度信息。無(wú)線電測(cè)高和激光測(cè)高也是常見的彈上測(cè)高方式,雖然精度較好,但成本相對(duì)較高,目前主要應(yīng)用于彈道導(dǎo)彈[1]。
針對(duì)上述情況,提出了一種基于數(shù)字氣壓傳感器BMP085的高度測(cè)量方法,設(shè)計(jì)了具有溫度補(bǔ)償和校正功能的高精度高度測(cè)量系統(tǒng)。
彈上高度測(cè)量系統(tǒng)主要由彈載高度傳感器和地面站上位機(jī)組成,系統(tǒng)原理框圖如圖1所示。其中彈載高度傳感器主要有4部分:1)ATmega16微控制器單元;2)BMP085氣壓采集單元;3)AT24C256存儲(chǔ)單元;4)電源模塊。
圖1 系統(tǒng)原理框圖
系統(tǒng)工作時(shí),微控制器ATmega16通過(guò)模擬I2C接口與BMP085實(shí)現(xiàn)通信,獲取測(cè)點(diǎn)的溫度和經(jīng)過(guò)溫度補(bǔ)償?shù)膲毫χ?,然后采用AT24C256存儲(chǔ)器對(duì)溫度、壓力數(shù)據(jù)進(jìn)行非易失實(shí)時(shí)存儲(chǔ),并將壓力、溫度數(shù)據(jù)通過(guò)彈載無(wú)線傳輸模塊實(shí)時(shí)傳輸?shù)降孛嬲?。地面站接收?shù)據(jù)后,上位機(jī)根據(jù)壓力與高度的轉(zhuǎn)換關(guān)系,求得在該氣壓下相對(duì)應(yīng)的高度值,并對(duì)測(cè)量高度值進(jìn)行補(bǔ)償修正,分析統(tǒng)計(jì)后存儲(chǔ)。
由于在彈體的飛行過(guò)程中,彈上電路系統(tǒng)要承受高速、高過(guò)載、高沖擊的惡劣環(huán)境。因此,為提高電路系統(tǒng)的抗過(guò)載能力,對(duì)印制電路板采用雙層設(shè)計(jì),所有電子元器件選用貼片式、小封裝,并在裝配時(shí)對(duì)系統(tǒng)電路板進(jìn)行固體灌封處理[2]。
為了滿足系統(tǒng)抗高過(guò)載的要求,采用德國(guó)BOSCH公司基于MEMS的BMP085氣壓傳感器[3]。BMP085是一款高精度、超低功耗數(shù)字氣壓傳感器,具有體積小(5.0mm*5.0mm*1.2mm)、穩(wěn)定性好、低電壓(1.8~3.6V)、低功耗(在標(biāo)準(zhǔn)模式下工作電流5μA、待機(jī)電流小于 0.1μA)等特點(diǎn)。采用 8-pin無(wú)鉛陶瓷載體超薄封裝(LCC),其壓力測(cè)量范圍為30~110kPa(相當(dāng)于海拔 -500~9000m),絕對(duì)精度可以達(dá)到0.03hPa(0.25m),溫度測(cè)量范圍為 -40℃ ~+85℃,反應(yīng)時(shí)間7.5ms,使用 I2C接口與微處理器通信。與其它數(shù)字氣壓傳感器相比,BMP085可抗高過(guò)載。
考慮到彈丸飛行時(shí)間短(一般小于2min),測(cè)得的壓力、溫度數(shù)據(jù)量小。采用 ATMEL公司的AT24C256存儲(chǔ)器對(duì)測(cè)得的壓力、溫度數(shù)據(jù)作非易失實(shí)時(shí)存儲(chǔ)。AT24C256是兩線制串行E2PROM芯片,共有256kbit的存儲(chǔ)容量。具有結(jié)構(gòu)緊湊、存儲(chǔ)容量大等特點(diǎn),芯片與單片機(jī)之間使用I2C接口通信,接口電路簡(jiǎn)單,操作方便[4]。
ATmega16與BMP085和AT24C256的硬件連接圖如圖2所示。圖中BMP085的SCL、SDA引腳分別與ATmega16的模擬 I2C接口 PD3、PD4相連,而AT24C256存儲(chǔ)器的 SCL、SDA引腳則直接與ATmega16自帶的兩線串行接口TWI(I2C)連接。微控制器ATmega16的主時(shí)鐘(11.0592M)由外部晶振產(chǎn)生,BMP085無(wú)需外部時(shí)鐘電路,其串行時(shí)鐘信號(hào)SCL由ATmega16的I/O口PD3模擬產(chǎn)生。同時(shí),按照I2C協(xié)議的接線要求,對(duì)BMP085和AT24C256的串行時(shí)鐘線SCL和串行數(shù)據(jù)線SDA接上拉電阻[5]。溫度、壓力打包數(shù)據(jù)通過(guò)ATmega16的串行輸出口TXD輸出。接口電路原理圖如圖2所示。
圖2 接口電路原理圖
每個(gè)BMP085在出廠時(shí)都有一個(gè)針對(duì)模塊特有的11個(gè)校準(zhǔn)數(shù)據(jù),儲(chǔ)存在176位的E2PROM中。軟件設(shè)計(jì)時(shí),微控制器ATmega16在初始化以后,通過(guò)模擬的I2C接口從BMP085的E2PROM中讀出校準(zhǔn)數(shù)據(jù)(AC1 ~ AC6、B1、B2、MB、MC、MD),然后循環(huán)讀取未得到補(bǔ)償?shù)臏囟戎礥T和壓力值UP,再按圖3所示的算法,計(jì)算出實(shí)際溫度T和補(bǔ)償后的壓力p。最后,將得到的實(shí)際溫度和壓力數(shù)據(jù)打包處理,存入AT24C256存儲(chǔ)器中,并將打包數(shù)據(jù)以50Hz的速率從ATmega16的TXD串口輸出給彈載無(wú)線傳輸模塊。測(cè)得的溫度、壓力數(shù)據(jù)通過(guò)彈載無(wú)線傳輸模塊實(shí)時(shí)傳輸?shù)降孛嬲尽?/p>
圖3 主程序流程圖和補(bǔ)償算法
為了減少數(shù)據(jù)量,打包后的數(shù)據(jù)和串口輸出格式采用BCD碼格式,輸出內(nèi)容包括:符號(hào)信息、溫度數(shù)據(jù)、壓力數(shù)據(jù)。輸出格式采用固定長(zhǎng)度,每9個(gè)字節(jié)(Byte)為一組數(shù)據(jù),如表1所示。
表1 數(shù)據(jù)輸出格式
例如,當(dāng)前溫度為 +23.1°,氣壓為 101385Pa,數(shù)據(jù)輸出如下:
TT ZZ 02 31 PP 10 13 85 0A
3.2.1 壓力 -高度轉(zhuǎn)換及誤差修正原理
根據(jù)氣壓測(cè)高原理,在標(biāo)準(zhǔn)大氣條件下,載體所在處重力勢(shì)高度(即標(biāo)準(zhǔn)氣壓高度)H與氣壓p之間的關(guān)系如下式:
其中:R=287.05287m2/(s2·K),代表空氣專用氣體常數(shù);g表示自由落體加速度;β表示溫度的垂直變化率,高度在 0 ~ 11km 時(shí),β = - 0.0065K/m,T0、p0、H0分別為參考平面的溫度、壓力和高度,標(biāo)準(zhǔn)大氣條件下,平均海平面處取如下值:p0=101.325kPa,T0=288.15K,H0為平均海平面的高度,規(guī)定為0m。
然而,以上關(guān)系式只有在實(shí)際大氣條件符合標(biāo)準(zhǔn)大氣各項(xiàng)規(guī)定的前提下才能成立,但是一般情況下實(shí)際大氣條件并不能滿足標(biāo)準(zhǔn)大氣的要求,尤其是在載體處于高速飛行的情況下,因此若按式(1)計(jì)算載體真實(shí)高度會(huì)產(chǎn)生較大的誤差,這種誤差是由于測(cè)量原理方法上不完善造成的,稱為“原理誤差”。為了減少這種誤差,可以考慮在測(cè)點(diǎn)附近(20km以內(nèi))尋找一個(gè)高度已知的參考點(diǎn),通過(guò)該參考點(diǎn)的已知高度、溫度以及壓力數(shù)據(jù)對(duì)測(cè)量高度值進(jìn)行修正,補(bǔ)償氣象環(huán)境變化對(duì)測(cè)點(diǎn)高度測(cè)量結(jié)果的影響,提高高度測(cè)量的準(zhǔn)確性[6]。
因此,在地面站上位機(jī)軟件實(shí)現(xiàn)部分,采用文獻(xiàn)[6]給出的高度修正計(jì)算公式:
其中:H為測(cè)點(diǎn)的待求高度;p為測(cè)點(diǎn)壓力;Ta、pa、Ha分別為參考點(diǎn)的溫度、壓力和重力勢(shì)高度。
3.2.2 上位機(jī)軟件實(shí)現(xiàn)
圖4 上位機(jī)軟件流程圖
上位機(jī)軟件功能模塊主要包括:數(shù)據(jù)處理模塊、數(shù)據(jù)統(tǒng)計(jì)存儲(chǔ)模塊和數(shù)據(jù)圖形化模塊。軟件流程圖如圖4所示。軟件設(shè)計(jì)以循環(huán)作為主體,基本工作流程:先讀入已知參考點(diǎn)的高度、溫度、壓力數(shù)據(jù)和接收的測(cè)點(diǎn)實(shí)時(shí)壓力、溫度值,再按式(1)和式(2)解算測(cè)點(diǎn)高度,最后對(duì)解算的高度數(shù)據(jù)統(tǒng)計(jì)分析、存儲(chǔ)和圖形化處理。
彈上高度測(cè)量系統(tǒng)的彈載高度傳感器樣機(jī)如圖5所示,樣機(jī)功耗小于0.5W,輸出頻率為50Hz。
圖5 彈載高度傳感器樣機(jī)
為驗(yàn)證彈載高度傳感器及整個(gè)系統(tǒng)的性能,進(jìn)行了3種地面靜態(tài)實(shí)驗(yàn)。
4.1.1 錘擊試驗(yàn)
為檢驗(yàn)經(jīng)過(guò)固體灌封處理后,樣機(jī)的抗過(guò)載能力,在沖擊試驗(yàn)臺(tái)分別對(duì)3塊樣機(jī)進(jìn)行了5000g、10000g和15000g的沖擊試驗(yàn)。試驗(yàn)后對(duì)樣機(jī)進(jìn)行測(cè)試,3塊樣機(jī)均能正常工作。試驗(yàn)結(jié)果表明,系統(tǒng)能夠承受高達(dá)15000g的沖擊過(guò)載。
4.1.2 絕對(duì)高度的測(cè)量
以合肥氣象站(海拔27 m)為參考點(diǎn),在距其約15 km的合肥市區(qū)某處,不同時(shí)間段測(cè)量某已知高程控制點(diǎn)的高度,所得結(jié)果如表2所示。
表2 絕對(duì)高度的測(cè)量
4.1.3 相對(duì)高度的測(cè)量
在一高層建筑內(nèi),測(cè)量并記錄地面和5樓的高度(每次測(cè)量50組數(shù)據(jù),取平均值),測(cè)得地面的高度為24.29m,5樓的高度為40.11m。已知地面到5樓的實(shí)際高度為15m,通過(guò)測(cè)量的高度值可以得到地面到5樓的高度為15.82m,與實(shí)際高度僅相差0.82m。
實(shí)驗(yàn)測(cè)試結(jié)果表明,系統(tǒng)能夠承受高達(dá)15000g的沖擊過(guò)載,具有抗高過(guò)載能力;修正后的絕對(duì)高度測(cè)量誤差在5m以內(nèi),相對(duì)高度測(cè)量誤差小于1m,完全達(dá)到高精確測(cè)量的要求。而且,從實(shí)測(cè)數(shù)據(jù)分析可以看出,該系統(tǒng)還具有如下特性:在較短的測(cè)量時(shí)間內(nèi)(5min以內(nèi)),系統(tǒng)具有很好的準(zhǔn)確性、穩(wěn)定性,很適合彈上高度測(cè)量;相對(duì)高度的測(cè)量具有很高的準(zhǔn)確性。
對(duì)于彈丸飛行高度的測(cè)量,文中設(shè)計(jì)了一種具有溫度補(bǔ)償和校正功能的高精度高度測(cè)量系統(tǒng)。該系統(tǒng)體積小、功耗低、響應(yīng)速度快、能抗高過(guò)載。通過(guò)地面靜態(tài)實(shí)驗(yàn)表明,系統(tǒng)完全可以達(dá)到高精確測(cè)量的要求,可以應(yīng)用于彈上高度測(cè)量。并且該系統(tǒng)在較短的測(cè)量時(shí)間內(nèi)具有很好的準(zhǔn)確性、穩(wěn)定性,以及相對(duì)高度測(cè)量具有很高的準(zhǔn)確性,上述特性可為高度傳感器與GPS構(gòu)建組合測(cè)高系統(tǒng)以及組合系統(tǒng)融合算法的研究提供新的解決思路。
[1]同鳴.精確定高技術(shù)在常規(guī)彈引信上的應(yīng)用[J].現(xiàn)代引信,1994(4):49-51.
[2]呂彩琴,翟成瑞.高過(guò)載測(cè)試中的電子線路灌封技術(shù)研究[J].機(jī)械工程與自動(dòng)化,2009(5):91-94.
[3]Bosch.BMP085 用戶手冊(cè)[OL].http://www.bosch-sensortec.com.
[4]周巧娣,劉敬彪.AT24C256在單片機(jī)系統(tǒng)中的應(yīng)用[J].國(guó)外電子元器件,2003(2):27-29.
[5]李曉鋒.AVR單片機(jī)原理與應(yīng)用[M].北京:北京理工大學(xué)出版社,2010.
[6]趙天成,饒和昌.一種基于MS5803和氣象數(shù)據(jù)的高度測(cè)量方法[J].電子設(shè)計(jì)工程,2011,19(14):44-47.