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