微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于单片机的无人机真空速测量系统设计

基于单片机的无人机真空速测量系统设计

时间:04-27 来源:互联网 点击:

摘要:为了测量无人机真空速,设计了基于单片机的无人机真空速测量系统。根据真空速和动压静压的关系式,采用分段线性插值的算法,测试了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属性(用于设置或返回串口波特率、奇偶校验、数据位、停止位参数),InBufferCou

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

网站地图

Top