《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 具有溫度補(bǔ)償?shù)臒o人機(jī)高度傳感器
具有溫度補(bǔ)償?shù)臒o人機(jī)高度傳感器
摘要: 提出了使用帶有溫度補(bǔ)償和校準(zhǔn)系數(shù)的高靈敏度靜壓傳感器MS5534B作為無人機(jī)高度測量的傳感器件,同時(shí)考慮到無人機(jī)飛控處理器運(yùn)算能力不足的實(shí)際情況,提出一種分段擬合曲線的線性算法,以較高的精度實(shí)現(xiàn)了無人機(jī)的高度計(jì)算。
Abstract:
Key words :

  1.引言

  無人機(jī)的高度測量傳統(tǒng)上一直采用靜壓傳感器作為感知手段,通過其壓差膜盒對大氣靜壓的感應(yīng),將大氣壓力轉(zhuǎn)化為模擬信號輸出,從而計(jì)算出實(shí)際的高度值[1]。由于大氣壓力的變化除了與高度變化緊密聯(lián)系外,與本地的實(shí)際溫度也密切相關(guān),但是大部分靜壓傳感器在設(shè)計(jì)時(shí)并未考慮到實(shí)際溫度對大氣壓力的影響,這就造成了實(shí)際輸出靜壓值與真實(shí)值之間的大幅度偏差,從而影響了高度的精確計(jì)算[2]。

  本文針對上述不足,提出了使用帶有溫度補(bǔ)償和校準(zhǔn)系數(shù)的高靈敏度靜壓傳感器MS5534B作為無人機(jī)高度測量的傳感器件,同時(shí)考慮到無人機(jī)飛控處理器運(yùn)算能力不足的實(shí)際情況,提出一種分段擬合曲線的線性算法,以較高的精度實(shí)現(xiàn)了無人機(jī)的高度計(jì)算。

  2.系統(tǒng)硬件設(shè)計(jì)

  2.1MS5534B的特性

  MS5534B是一種低電壓、低功耗、高精度的測壓力模塊,其中包含一個(gè)壓阻式壓力傳感器和一個(gè)15bit的ADC集成模塊,具有數(shù)字輸出功能,它可以提供16位的氣壓和溫度數(shù)字信息,壓力測量范圍10~1100mbar,分辨率為0.1mbar。另外,傳感器有六個(gè)軟件校準(zhǔn)系數(shù),壓力絕對精度為+/-1.5mbar,相對精度為+/-0.5mbar,并且不需再接其他外圍模塊,接口簡單,電路連接方便。該模塊尺寸很小,平面尺寸為9mmX9mm,厚度僅為3.7mm,可以在-40°C到+125°C環(huán)境中應(yīng)用[3]。模塊的內(nèi)部結(jié)構(gòu)圖如圖1所示。

模塊內(nèi)部結(jié)構(gòu)圖

  2.2系統(tǒng)組成及接口連接

  基于MS5534B的高度傳感器系統(tǒng)主要有兩部分組成:(1)MS5534B氣壓數(shù)據(jù)采集單元;(2)ARM7微處理器單元。MS5534B的主要功能就是把壓阻壓力傳感器測得的未經(jīng)補(bǔ)償?shù)臍鈮耗M電壓輸出量轉(zhuǎn)化為16位數(shù)字的絕對氣壓值D1,同時(shí)輸出16位的絕對溫度值D2。在飛控系統(tǒng)中采用了32位微處理器內(nèi)核的ARM7,由于其快速的運(yùn)算速度和豐富的外圍接口資源,所以將MS5534B直接通過標(biāo)準(zhǔn)的SPI接口與其相連,簡化了電路設(shè)計(jì),提高了實(shí)時(shí)性。

  ARM7微處理器與氣壓傳感器間的通信通過標(biāo)準(zhǔn)SPI接口完成[4]。DOUT、DIN分別是數(shù)字輸出、輸入引腳,SCLK為串行數(shù)據(jù)時(shí)鐘,MCLK為主頻32.768kHZ的系統(tǒng)時(shí)鐘,由微處理器提供。MS5534B數(shù)字輸出的參考電壓是3V供電電壓,外接的4.7uF鉭電容應(yīng)盡量靠近MS5534B,以保證數(shù)據(jù)轉(zhuǎn)換時(shí)的供電穩(wěn)定和轉(zhuǎn)換精度。模塊實(shí)物和引腳分布圖如圖2所示。

模塊實(shí)物和引腳分布圖

  3.系統(tǒng)軟件設(shè)計(jì)

  3.1系統(tǒng)軟件設(shè)計(jì)流程

  每個(gè)MS5534B在出廠時(shí)都有一個(gè)針對模塊特有的四個(gè)Word校準(zhǔn)數(shù)據(jù),儲存在64位的PROM中。ARM7微處理器在初始化以后通過串口從MS5534B中讀出Word1~Word4,然后運(yùn)用邏輯移位操作方式轉(zhuǎn)化為6個(gè)校準(zhǔn)補(bǔ)償系數(shù)C1~C6。ARM7微處理器從MS5534B不斷讀取絕對氣壓值D1和溫度值D2,然后結(jié)合校準(zhǔn)補(bǔ)償系數(shù)計(jì)算求得相對氣壓值P,判斷其是否在有效范圍內(nèi),對有效值進(jìn)行低通濾波處理,最后按折線法轉(zhuǎn)化為海拔高度值。將高度值通過與飛控系統(tǒng)相連接的無線數(shù)據(jù)傳輸模塊實(shí)時(shí)傳輸?shù)降孛嬲?,?shí)時(shí)掌握飛機(jī)的飛行高度,對出現(xiàn)的意外情況可以及時(shí)處理[5]?;贛S5534B的高度測量系統(tǒng)的軟件流程圖3如下所示。

基于MS5534B的高度測量系統(tǒng)的軟件流程

  3.2折線線性擬合法將氣壓值轉(zhuǎn)化為高度值

  在實(shí)際應(yīng)用中,大氣壓力與海拔高度的關(guān)系是非線性的[6],傳統(tǒng)的方法是將氣壓值與對應(yīng)的高度值做成數(shù)據(jù)表,運(yùn)用查表的方式,如果精確到1m,則需要上萬個(gè)數(shù)據(jù),需要龐大的存儲空間,且耗時(shí)較大,另外由于飛控系統(tǒng)中微處理器對大量浮點(diǎn)運(yùn)算的能力不是很強(qiáng),并且飛控系統(tǒng)對實(shí)時(shí)性要求很高,為了節(jié)省寶貴的存儲空間,所以本系統(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)分成不同的多段,會得到不同的高精度值。i,j的一種分段列表,如表1所示。

分段列表

   根據(jù)以上表格數(shù)據(jù),運(yùn)用Matlab對大氣壓向高度轉(zhuǎn)化方程所得曲線圖進(jìn)行擬合[8],擬合效果非常好,仿真結(jié)果如下圖5所示。

仿真結(jié)果

   為了進(jìn)一步提高精度,可以采用非等距分段法,根據(jù)函數(shù)曲線形狀的變化率的大小來修正間隔點(diǎn)間的距離。曲率變化大的部分,距離取小一點(diǎn),而在曲線較平緩區(qū)域距離取大一點(diǎn)。

  圖6為在海拔-700m~8000m時(shí),運(yùn)用Matlab仿真折線擬合法所得海拔高度與我國標(biāo)準(zhǔn)大氣壓對照高度誤差示意圖,在-700m~8000m時(shí)最大高度誤差為+/-5m,而在-100~1000m時(shí)的誤差在+/-3m以內(nèi),適合小型無人機(jī)的高度需求。

 

高度誤差示意圖

  4.結(jié)論

  在自行研制的無人機(jī)自動駕駛儀上,應(yīng)用了上述的基于MS5534B的氣壓高度測量系統(tǒng),在實(shí)際多次飛行任務(wù)中測試的效果良好,定位高度準(zhǔn)確。本文針對小型無人機(jī)自動駕駛儀微處理器浮點(diǎn)運(yùn)算能力不強(qiáng),實(shí)時(shí)性要求高的特點(diǎn),提出折線線性擬合的方法,減少了大量浮點(diǎn)運(yùn)算,提高了運(yùn)算效率,節(jié)省了寶貴的RAM存儲空間,適合于小型無人機(jī)的自動駕駛儀中。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。