具有溫度補(bǔ)償?shù)臒o人機(jī)高度傳感器
3.系統(tǒng)軟件設(shè)計(jì)
3.1 系統(tǒng)軟件設(shè)計(jì)流程
每個(gè)MS5534B在出廠時(shí)都有一個(gè)針對(duì)模塊特有的四個(gè)Word校準(zhǔn)數(shù)據(jù),儲(chǔ)存在64位的PROM中。ARM7微處理器在初始化以后通過串口從MS5534B中讀出Word1~Word4,然后運(yùn)用邏輯移位操作方式轉(zhuǎn)化為6個(gè)校準(zhǔn)補(bǔ)償系數(shù)C1~C6。ARM7微處理器從MS5534B不斷讀取絕對(duì)氣壓值D1和溫度值D2,然后結(jié)合校準(zhǔn)補(bǔ)償系數(shù)計(jì)算求得相對(duì)氣壓值P,判斷其是否在有效范圍內(nèi),對(duì)有效值進(jìn)行低通濾波處理,最后按折線法轉(zhuǎn)化為海拔高度值。將高度值通過與飛控系統(tǒng)相連接的無線數(shù)據(jù)傳輸模塊實(shí)時(shí)傳輸?shù)降孛嬲?,?shí)時(shí)掌握飛機(jī)的飛行高度,對(duì)出現(xiàn)的意外情況可以及時(shí)處理[5]?;贛S5534B的高度測量系統(tǒng)的軟件流程圖3如下所示。
3.2 折線線性擬合法將氣壓值轉(zhuǎn)化為高度值
在實(shí)際應(yīng)用中,大氣壓力與海拔高度的關(guān)系是非線性的[6],傳統(tǒng)的方法是將氣壓值與對(duì)應(yīng)的高度值做成數(shù)據(jù)表,運(yùn)用查表的方式,如果精確到1m,則需要上萬個(gè)數(shù)據(jù),需要龐大的存儲(chǔ)空間,且耗時(shí)較大,另外由于飛控系統(tǒng)中微處理器對(duì)大量浮點(diǎn)運(yùn)算的能力不是很強(qiáng),并且飛控系統(tǒng)對(duì)實(shí)時(shí)性要求很高,為了節(jié)省寶貴的存儲(chǔ)空間,所以本系統(tǒng)設(shè)計(jì)運(yùn)用折線法進(jìn)行線性擬合[7]。折線線性擬合法的基本思想就是將被逼近的函數(shù)曲線根據(jù)變化情況分成多個(gè)間隔區(qū)域值,為了提高精度及縮短運(yùn)算時(shí)間,各間隔域值內(nèi)可根據(jù)精度要求,采用不同的斜率線性線段表示曲線線段。擬合原理誤差分析如圖4所示。
根據(jù)大量實(shí)驗(yàn)數(shù)據(jù)和理論推導(dǎo)得擬合公式(1)
其中,alti表示海拔高度(0.1m),pres表示氣壓值(mbar),j,i表示折線間隔系數(shù)。在不同的i,j取值范圍內(nèi),大氣壓向高度轉(zhuǎn)化時(shí)是線性的,提高了轉(zhuǎn)化的時(shí)間,誤差是周期性的,且在一個(gè)小的范圍內(nèi)。將正常的工作高度范圍內(nèi)分成不同的多段,會(huì)得到不同的高精度值。i,j的一種分段列表,如表1所示。
評(píng)論