引言
無人機的高度測量傳統上一直采用靜壓傳感器作為感知手段,通過其壓差膜盒對大氣靜壓的感應,將大氣壓力轉化為模擬信號輸出,從而計算出實際的高度值[1]。由于大氣壓力的變化除了與高度變化緊密聯系外,與本地的實際溫度也密切相關,但是大部分靜壓傳感器在設計時并未考慮到實際溫度對大氣壓力的影響,這就造成了實際輸出靜壓值與真實值之間的大幅度偏差,從而影響了高度的精確計算[2]。
本文針對上述不足,提出了使用帶有溫度補償和校準系數的高靈敏度靜壓傳感器MS5534B作為無人機高度測量的傳感器件,同時考慮到無人機飛控處理器運算能力不足的實際情況,提出一種分段擬合曲線的線性算法,以較高的精度實現了無人機的高度計算。
2.系統硬件設計
2.1 MS5534B的特性
MS5534B是一種低電壓、低功耗、高精度的測壓力模塊,其中包含一個壓阻式壓力傳感器和一個15bit的ADC集成模塊,具有數字輸出功能,它可以提供16位的氣壓和溫度數字信息,壓力測量范圍10~1100mbar,分辨率為0.1mbar。另外,傳感器有六個軟件校準系數,壓力絕對精度為+/-1.5mbar,相對精度為+/-0.5mbar,并且不需再接其他外圍模塊,接口簡單,電路連接方便。該模塊尺寸很小,平面尺寸為9mmX9mm,厚度僅為3.7mm,可以在-40°C
到 +125°C環境中應用[3]。模塊的內部結構圖如圖1所示。
2.2 系統組成及接口連接
基于MS5534B的高度傳感器系統主要有兩部分組成:(1)MS5534B氣壓數據采集單元;(2)ARM7微處理器單元。MS5534B的主要功能就是把壓阻壓力傳感器測得的未經補償的氣壓模擬電壓輸出量轉化為16位數字的絕對氣壓值D1,同時輸出16位的絕對溫度值D2。在飛控系統中采用了32位微處理器內核的ARM7,由于其快速的運算速度和豐富的外圍接口資源,所以將MS5534B直接通過標準的SPI接口與其相連,簡化了電路設計,提高了實時性。
ARM7微處理器與氣壓傳感器間的通信通過標準SPI接口完成[4]。DOUT、DIN分別是數字輸出、輸入引腳,SCLK為串行數據時鐘,MCLK為主頻32.768kHZ的系統時鐘,由微處理器提供。MS5534B數字輸出的參考電壓是3V供電電壓,外接的4.7uF鉭電容應盡量靠近MS5534B,以保證數據轉換時的供電穩定和轉換精度。模塊實物和引腳分布圖如圖2所示。
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所示。
根據以上表格數據,運用Matlab對大氣壓向高度轉化方程所得曲線圖進行擬合[8],擬合效果非常好,仿真結果如下圖5所示。
為了進一步提高精度,可以采用非等距分段法,根據函數曲線形狀的變化率的大小來修正間隔點間的距離。曲率變化大的部分,距離取小一點,而在曲線較平緩區域距離取大一點。
圖6為在海拔-700m~8000m時,運用Matlab仿真折線擬合法所得海拔高度與我國標準大氣壓對照高度誤差示意圖,在-700m~8000m時最大高度誤差為+/-5m,而在-100~1000m時的誤差在+/-3m以內,適合小型無人機的高度需求。
4.結論
在自行研制的無人機自動駕駛儀上,應用了上述的基于MS5534B的氣壓高度測量系統,在實際多次飛行任務中測試的效果良好,定位高度準確。本文針對小型無人機自動駕駛儀微處理器浮點運算能力不強,實時性要求高的特點,提出折線線性擬合的方法,減少了大量浮點運算,提高了運算效率,節省了寶貴的RAM存儲空間,適合于小型無人機的自動駕駛儀中。
編輯:jq
-
傳感器
+關注
關注
2552文章
51237瀏覽量
754754 -
ARM7
+關注
關注
3文章
207瀏覽量
50376 -
無人機
+關注
關注
230文章
10470瀏覽量
181108
發布評論請先 登錄
相關推薦
評論