基于MS5534B气压传感器的高度测量

2017-03-30 16:10李槐生
科技与创新 2016年24期
关键词:实时监控无人机

李槐生

摘 要:近年来,无人机以其成本低、安全性高、控制简单等特点,成为了各国研究的热点之一。而无人机如此多优点的实现皆依赖于对其飞行的精确控制。要想实现对无人机的精确控制,就要利用各种传感器实时精确监测无人机的各种状态。

关键词:无人机;气压传感器;实时监控;无线模块

中图分类号:TH761.3 文献标识码:A DOI:10.15913/j.cnki.kjycx.2016.24.017

本文主要使用安装在无人机上的MS5534B气压传感器实时监控无人机所处海拔的气压,通过M0计算该传感器测得的气压数据,将其转换成基本的高度数据,并通过无线模块传送到上位机。上位机在LabVIEW上编程,进一步处理下位机发送的高度数据,并采取语音播报的形式实时通知控制人员。

本文所用的MS5534B气压传感器是一款压阻式压力传感器和ADC接口的集成电路。该传感器测量气压精度比较高,价格便宜,性价也比较高。其主要原器件有高度传感器、单片机LPC1114、FT52 STD无线模块、TTL转USB模块等。

1 硬件系统构成

硬件系统的具体设计方案如下。

1.1 发送模块

发送模块的组成设计如图1所示。

在LPC1114控制MS5534B的过程中,LPC1114需要给MS5534B的MCLK提供1路32.768 K的PWM方波,并通过SPI总线读出MS5534B的温度和气压数据。读出的数据经过LPC1114的处理,算出发送模块此刻的海拔高度,并通过FT52 STD无线发送模块发送给接收模块。

1.2 接收模块

接收模块的组成设计如图2所示。

由图2可知,接收模块负责接收发送模块的信号,经TTL转USB模块发送给PC机,再在PC机中做下一步处理。

2 MS5534B温度和压力的测量

2.1 出场校准

每个模块都要经过单独的温度和压力校准,64位PROM中的6个系数要补偿工艺变化和温度变化造成的影响。这64位必须由微控制器读取,然后供软件使用。

2.2 温度值和压力值的计算

通过串行口SPI读取Word1-Word4,使用位逻辑和移位操作算出校准系数C1-C6;循环读取未经补偿的压力值D1和温度值D2,通过如图3的流程算出真实的压力和温度。

所有的计算都使用有符16位变量,乘法结果可能多达32位长(有符),所以,在每次乘法计算后跟除法运算。除法中的除数都是2的幂次方,这样可以保证计算结果小于65 535(16位)。

2.3 校准值

在Word1-Word4中,校准系数的排列如图4所示。

2.4 宽温度范围内的计算

为了获得整个温度范围内的最佳精度,需要对温度传感器的输出进行非线性补偿。这可以通过一个二阶因子校正实现,二阶因子的计算如图5所示。

2.5 控制时序

MS5534B通过3线的同步串行通讯口与微处理器通讯,如图6所示。由微控制器产生的SCLK信号初始化通讯,并且同步数据传输。MS5534B在SCLK的上升沿采集数据或发送数据,微处理器在SCLK的下降沿采集数据或发送数据。在DOUT引脚上的数据是MS5534B的转换结果或者软件校准数据。另外,DOUT也用来指示转换状态(转换完毕信号),所选择的输出数据由DIN引脚输入的相应时序决定。

校准值、温度值、压力值读取时序和复位时序如图6、图7、图8、图9所示。

每一次通讯都在开始时序的引导下初始化,并且在启动时序后都有停止时序。启动时序由4个位组成,用来选择读压力、温度或者校准值。在读取压力值(D1)和温度值(D2)的过程中,MS5534B将通过在停止时序的最后1位时拉高在DOUT上的电平来响应AD转换的开始。

当SCLK上的响应信号开始后,还需要2个时钟信号。当SCLK上出现下降沿时,表明AD转换已经完成。微控制器经查询发现AD转换完成后,便可以给17个时钟信号后读取16位的值。在开始新一次AD转换时,必须读取上次的结果。

复位时序用来在微控制器与MS5534B间的同步时序丢失时重新同步,其时序如图10所示。建议在每读取数值前发送复位时序,避免干扰导致协议被永久挂起。

2.6 数据滤波

为了提高数据的稳定度,需要进行滤波。D1、D2 中有压力和温度数据,不能滤波。因此,可先通过温度补偿得出压力值P,再对P进行滤波。为了使数据显得平滑,可采取先中位值平均,后低通的滤波算法。

2.7 高度与压力的关系

大气压力是由大气重力造成的,因为空气可压缩,所以,压力和高度存在非线性关系。在考虑大气中典型温度分布的情况下,1976年美国公布了标准大气压的气压和高度的近似函数。其函数关系如图11所示。

3 上位机程序设计

上位机程序是在LabVIEW软件中编写的。上机位程度的主要作用是,接收下位机发送的高度信息,计算初始高度和相对高度,播报相对海拔高度,计算发送模块的海拔变化速度。

3.1 接收功能

接收功能的程序如图12所示。

3.2 海拔高度

计算相对海拔高度的流程如图13所示。

3.3 播报海拔高度

3.3.1 等间隔播报海拔高度

等间隔播报海拔高度的流程如图14所示。

等间隔播报海拔的子VI程序如图15所示。

3.3.2 按照海拔变化播报海拔高度

这种播报情况是当发送模塊的海拔高度从一海拔范围变化到另一海拔范围时,才播报海拔高度,例如,从1~2 m的海拔范围变化到2~3 m的海拔范围时,会自动播报海拔高度。其流程如图16所示。

按照海拔变化播报海拔高度的程序如图17所示。

计算海拔变化速度的程序如图18所示。

参考文献

[1]Intersema Sensoric SA.MS5534Bbarometermoduledatasheet[EB /OL].[2008-01-16].http://www.intersema.ch.

[2]USB转TTL模块使用说明[EB/OL].[2012-08-23].http://wen ku.baidu.com/link?url=UoL10b23BUKODOyeVOZ0OGMKAmDPWxSdrDb6CScd8J8Wu-2sU6Gz1Z6D1UbDRmkpf3hd0Ts82onVhEENMw2h5HI3iWD5HwDeUE0ueZ6lD8m.

〔编辑:白洁〕

猜你喜欢
实时监控无人机
智能可调节动作识别型节能风扇的设计
智能投料过程动态监控系统研发及应用
基于无线传感器网络的绿色蔬菜生长环境监控系统设计与实现
一种煤矿瓦斯检测系统的设计与实现
一种基于物联网的电梯闸瓦磨耗实时监测系统的设计
高职院校新开设无人机专业的探讨
一种适用于输电线路跨线牵引无人机的飞行方案设计
浅析无人机技术在我国的发展前景