基于单片机的无人机真空速测量系统设计
扫描二维码
随时随地手机看文章
摘要:为了测量无人机真空速,设计了基于单片机的无人机真空速测量系统。根据真空速和动压静压的关系式,采用分段线性插值的算法,测试了0-5 000m高度的实际真空速值,得到的结果相对误差均不大于4%,能够满足系统精度要求。测试结果表明:该系统具有良好的稳定性,能实时准确地测量出真空速值。
关键词:单片机;真空速;动压;静压;线性插值
真空速是指飞机相对空气运动时所具有的真实速度,它是飞机安全飞行的重要参数。准确的真空速数据信息对于提高飞行的安全性、准确性和经济性起着相当大的作用。飞机相对于空气运动时,可根据运动的相对性将飞机看作不动,而空气是以大小相等,方向相反的流速流过飞机。真空速无法直接测出,只能根据大气静压和动压间接计算出来。本文介绍了一种基于C8051F352单片机的无人机真空速测量系统的设计,该系统测量结果的相对误差小于4%,能够满足无人机飞行控制系统的精度要求。
1 测量原理
无人机的真空速通常跟大气静压和动压有关,对于飞行高度不超过11 000 m,飞行马赫数不大于1的情况,真空速可由公式(1)计算:
式中,PH为对应高度的大气压力(大气静压),PD为大气动压,是大气总压与静压之差。式中各常数分别为:Pob=101 325 Pa,是标准海平面上的大气静压;Tob=288 K,是标准海平面处大气温度;τb=0.0065 K/m是温度递减率;R=29.2746 m/K,是大气常数;k=1.4是空气绝热指数;g=9.806 65是重力加速度。
从式(1)可看出,只要测量出大气静压和动压,便可根据计算公式,计算出真空速。
2 系统整体结构
根据数字式大气数据测量系统的组成和工作原理,笔者设计了以单片机为核心的真空速测量系统,其整体结构如图1所示。绝压传感器和动压传感器感受到静压和动压,并分别将其转换为相应的电压信号。由于传感器的输出信号较为微弱,因此,必须通过放大电路和调零电路以及滤波电路对其进行处理,产生符合要求的信号,然后传送到AD转换输入端。单片机自带的A/D转换器将静压和动压的模拟电压信号转换为数字信号,并送入单片机CPU进行处理,CPU根据真空速计算公式计算出相应真空速值。计算结果通过串口发送至机载飞控计算机,在显示界面显示出来。
3 系统硬件电路设计
3.1 压力数据采集模块
笔者设计的真空速测量系统要求工作在0~5 000 m高度范围内,根据压高公式(2),可计算出静压范围在54 005~101 325 Pa之间。差压传感器的量程取决于飞行器真空速的量程。文中所测量的真空速范围为50~400 km,则根据公式(1)可计算出动压范围在71~7 769 Pa之间。
根据静压和动压范围,本文的绝压传感器和差压传感器分别选用HONEYWELL公司的ASDX015A24R型传感器和140PC02D型传感器。ASDX015A 24R的量程为0~15 psi(103.419 kPa),精度在2%以内;140PC02D的量程为0~2 psi(13.7892 kPa),精度为0.25%。测压器件选用GCY-1M型高精度综合测试仪。可根据公式(3)计算出由传感器所引起的误差为3.23%。
本系统所选单片机C8051F352有2个16位AD转换(ADC0和ADC1),静压和动压传感器输出信号经放大调零后,可分别送入单片机AD转换输入端转换为数字信号。
3.2 单片机处理电路
本设计的使用C8051F352单片机采用32管脚的LQFP封装,是由美国Cygnal公司推出的具有高速度、高性能、高集成等特点,并能与8051兼容的单片机,除了具有标准8052的数字外设部件以外,片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件。
本系统设计中使用了C8051F352微控器中的AIN0和AIN1两个模拟通道,分别用于静压和动压的模拟/数字转换。单片机的AD将输入的模拟信号转换为数字信号,然后送入CPU进行数据处理。
3.3 串口通信
解算后的真空速要通过串口发送至上位机,在显示界面显示。真空速由单片机串口经RS-232接口发送至上位机,并使用MAX232芯片实现单片机电平转换从而能与上位机进行正常通信。单片机CPU采用异步串行输出UART0,工作在方式1,中断方式,定时器1设置为自动重装载方式产生115 200的波特率。
3.4 显示界面
上位机通讯程序主要使用Visual C++编程,该显示界面用于显示大气静压、动压和真空速值。程序界面如图2所示。
在上位机程序编写时,需要使用MSComm控件,通过设置控件的各个属性来完成串口的参数设置以及数据的接收。真空速显示界面所使用的MSComm控件属性主要有以下几个:CommPort属性(用于设置串口号),PortOpen属性(用于打开或关闭串口),SetSettings属性(用于设置或返回串口波特率、奇偶校验、数据位、停止位参数),InBufferCount属性(设置或返回接收缓冲区中等待计算机接收的字符数),Input属性(从接收缓冲区中读取数据并清空接收缓冲区)。
4 真空速解算方法设计
4.1 线性插值原理
分段低次插值是函数插值方法的一种,将比较复杂的函数f(x)的插值区间[a,b]分成一系列子区间,在每一个子区间[xi,xi+1]上,用一个简单的函数来近似原函数。当每个子区间采用的近似函数为一次函数时,就成为常用的线性插值法。
子区间的线性插值公式为:
h即为插值步长。在计算函数值时,系统采集到x值,然后找到值所在的插值区间[xi,xi+h]及相应函数值[yi,yi+h],便可根据插值公式计算出y值。
4.2 插值节点计算
由公式(1)看出真空速计算公式比较复杂,如果直接用单片机进行计算,则会占用大量内存资源,从而降低计算速度。因此,在系统允许误差范围内,对原函数采用插值,将复杂函数用一个简单的函数来近似。由于真空速计算式有两个变量,无法直接采用分段线性插值来解算,考虑到实际运算的方便,使用公式(6)来计算真空速值。
则公式(6)中的真空速分为两部分:一部分是只包含动压PD变量的指示空速Vi,另一部分是只含有静压PH变量的气压高度H的函数式H’,通过计算可得1≤H’≤1.289 9。
指示空速Vi和气压高度日的计算公式分别如公式(7)和公式(8)所示。
根据公式(4),对真空速公式的两部分分别进行处理。
首先对的Vi进行分段线性插值。插值节点个数可由线性插值余项来确定:
本设计中将插值计算的相对误差设为0.5%,则δ=400x0.000 5=0.2 km,,根据公式(9)可得,插值步长为。令h=29,插值节点。因为为整数,所以令,n=266。
真空速公式的第二部分是气压高度H的函数式H’,在此不对H进行插值,而直接对H’进行插值。本设计中将插值计算的相对误差设为0.01%,则δ=1.2899×0.01%=0.012 899≈0.0013。M=max|(H’)”(Ph)|=.513×10-10,根据公式(9)可得,插值步长为。则插值节点n≥。为整数,所以令n=8。
只要通过上述插值算法分别计算出动压相应值和静压相应值,然后相乘即得到实际真空速值。
5 测试结果
表1是高度分别在0 m,1 000 m,3 000 m和5 000 m实时计算出的真空速实际值。从表中看出,实际真空速最大误差均不超过4%,能够满足设计要求。
6 结束语
文中设计的基于单片机的无人机真空速测试系统,电路简单,体积小,重量轻,性能稳定,能够实时、准确地测量出真空速值,适用于小型无人飞行系统。