虽然测量范围内指示空速是大气动压的单值函数,但其函数关系式比较复杂,若由式(1)、(2)由单片机直接计算,要使用浮点运算,会占用较多的计算机资源。该设计选定线性插值方法来计算指示空速。用一个简单易实现的线性函数代替原复杂函数,即:y=yi+ki(x-xi)。式中:yi,xi,ki分别代表第i个插值点气压高度值、大气静压值和插值线段的斜率。插值点的个数可由线性插值法的误差公式确定:
式中:M=max(f"(x));δ为计算精度。根据系统要求的计算精度δ,求出步长h=xi+1-xi,得出曲线插值的分段段数n=60。预先计算各插值点相应的气压高度值、大气静压值和插值线段的斜率,把校正点的数据求出,按照一定的规律构成表格存放在单片机的内部ROM中。采集到的数据,先与校正点的数据进行比较找到数据所在的分段,然后将该分段对应的yi,xi,ki代入分段插值公式中计算,即可解算出气压高度值。这样可在保证精度的前提下提高采样频率。
C8051F353单片机内部设有温度传感器,温度传感器系统由两个温度特性不同的二极管和两个恒流源组成。两个通道通过ADC的模拟多路选择器连接到ADC的输入端。温度传感器系统,工作在差分方式。本文利用C8051F353单片机内部的温度传感器对温度进行采样,对传感器的输出进行修正,以进一步提高输出精度。
根据压阻式压力传感器原理,所测压力大小P与传感器输出电压U是线性关系。即两个参数关系为:P=aU+b。由于传感器的零位和灵敏度会随温度漂移,因此系数a,b也会随温度变化而变化,即系数a,b是温度的函数。首先,通过多次采样定标,由标准压力源提供分组标准压力,记录一定温度下传感器的输出电压值,即多组(Pi,Ui),i=0,1,2,…,n,然后利用最小二乘法进行曲线拟合。为使总误差最小,可用Q对a,b求偏导数,令这两个偏导数为零,则求解方程得出一定温度对应的系数(at,bt)。其中t=-10℃,0℃,10℃,…,50℃。压力大小P与输出电压U关系为: