微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于单片机的气压式高度计设计

基于单片机的气压式高度计设计

时间:07-25 来源:互联网 点击:

虽然测量范围内指示空速是大气动压的单值函数,但其函数关系式比较复杂,若由式(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关系为:

然后再通过牛顿插值法,根据温度传感器提供的温度参数t,对压力P与电压U关系式进行插值修正。由插值多项式:

根据一定温度修正后压力P与电压U的关系式,可以由所测电压U计算出实际压力值P。

2 实验结果和误差分析
由于传感器的最大误差在测量值的最高端,如果此段的误差满足设计要求,其他分段即可满足要求。结果如表2所示。由于仿真阶段排除了可能出现的软硬件错误,在后继的PCB制版及总体调试中非常顺利。实际电路中由于存在电磁干扰和温度漂移,整体误差比仿真略大,对于误差最大来源的传感器,已对其进行了单独的校正和补偿,最终该测量系统在-300~+6 000 m的高度范围内误差小于1m。

对于海拔高度,系统测量误差主要来自传感器、放大电路和转换器三项误差,用均方根法可表示为:

要降低系统误差,就要分别降低这三项误差。其中放大器电路的误差,主要由放大电路中所用电阻的精度、集成运算放大器的性能和电路的结构决定。设计和调校好的放大电路可以使该项误差很小,基本可以忽略。ADC误差主要是其积分非线性误差、微分非线性误差、偏移误差、满量程误差和偏移温度系数误差。现代放大电路的误差和ADC误差远小于传感器的误差。所以系统的误差主要决定于传感器的误差。如要进一步提高测量精度,可以换用更高精度的传感器。

3 结语
该高度计避免了机械部件带来的机械误差,充分利用了C8051F353单片机内部资源。具有体积小、精度高和智能化误差补偿等特点,特别适合在小型飞行器上使用。具有很好的实用性,适用于需要实时高度信息的场合,可以完成载体上多种高度参数的实时测量和显示,内有串口通信模块,不仅可显示本机测量值,也可通过串口发送给大气数据计算机,实现数据的记录和监测。有广泛的应用前景。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top