基于單片機的氣壓式高度計設計
1.3 高度計的軟件件設計
軟件設計流程如圖1所示,采用模塊化結構,方便調試。包括初始化子程序、采樣數(shù)據(jù)處理、A/D轉換子程序、壓力補償子程序、數(shù)據(jù)處理子程序、高度計算子程序、通信子程序、顯示子程序等部分組成。本文引用地址:http://m.butianyuan.cn/article/172606.htm
雖然測量范圍內指示空速是大氣動壓的單值函數(shù),但其函數(shù)關系式比較復雜,若由式(1)、(2)由單片機直接計算,要使用浮點運算,會占用較多的計算機資源。該設計選定線性插值方法來計算指示空速。用一個簡單易實現(xiàn)的線性函數(shù)代替原復雜函數(shù),即:y=yi+ki(x-xi)。式中:yi,xi,ki分別代表第i個插值點氣壓高度值、大氣靜壓值和插值線段的斜率。插值點的個數(shù)可由線性插值法的誤差公式確定:
式中:M=max(f(x));δ為計算精度。根據(jù)系統(tǒng)要求的計算精度δ,求出步長h=xi+1-xi,得出曲線插值的分段段數(shù)n=60。預先計算各插值點相應的氣壓高度值、大氣靜壓值和插值線段的斜率,把校正點的數(shù)據(jù)求出,按照一定的規(guī)律構成表格存放在單片機的內部ROM中。采集到的數(shù)據(jù),先與校正點的數(shù)據(jù)進行比較找到數(shù)據(jù)所在的分段,然后將該分段對應的yi,xi,ki代入分段插值公式中計算,即可解算出氣壓高度值。這樣可在保證精度的前提下提高采樣頻率。
C8051F353單片機內部設有溫度傳感器,溫度傳感器系統(tǒng)由兩個溫度特性不同的二極管和兩個恒流源組成。兩個通道通過ADC的模擬多路選擇器連接到ADC的輸入端。溫度傳感器系統(tǒng),工作在差分方式。本文利用C8051F353單片機內部的溫度傳感器對溫度進行采樣,對傳感器的輸出進行修正,以進一步提高輸出精度。
根據(jù)壓阻式壓力傳感器原理,所測壓力大小P與傳感器輸出電壓U是線性關系。即兩個參數(shù)關系為:P=aU+b。由于傳感器的零位和靈敏度會隨溫度漂移,因此系數(shù)a,b也會隨溫度變化而變化,即系數(shù)a,b是溫度的函數(shù)。首先,通過多次采樣定標,由標準壓力源提供分組標準壓力,記錄一定溫度下傳感器的輸出電壓值,即多組(Pi,Ui),i=0,1,2,…,n,然后利用最小二乘法進行曲線擬合。為使總誤差最小,可用Q對a,b求偏導數(shù),令這兩個偏導數(shù)為零,則求解方程得出一定溫度對應的系數(shù)(at,bt)。其中t=-10℃,0℃,10℃,…,50℃。壓力大小P與輸出電壓U關系為:
評論