1.引言
无人机的高度测量传统上一直采用静压传感器作为感知手段,通过其压差膜盒对大气静压的感应,将大气压力转化为模拟信号输出,从而计算出实际的高度值[1]。由于大气压力的变化除了与高度变化紧密联系外,与本地的实际温度也密切相关,但是大部分静压传感器在设计时并未考虑到实际温度对大气压力的影响,这就造成了实际输出静压值与真实值之间的大幅度偏差,从而影响了高度的精确计算[2]。
本文针对上述不足,提出了使用带有温度补偿和校准系数的高灵敏度静压传感器MS5534B作为无人机高度测量的传感器件,同时考虑到无人机飞控处理器运算能力不足的实际情况,提出一种分段拟合曲线的线性算法,以较高的精度实现了无人机的高度计算。
2.系统硬件设计
2.1 MS5534B的特性
MS5534B是一种低电压、低功耗、高精度的测压力模块,其中包含一个压阻式压力传感器和一个15bit的ADC集成模块,具有数字输出功能,它可以提供16位的气压和温度数字信息,压力测量范围10~1100mbar,分辨率为0.1mbar。另外,传感器有六个软件校准系数,压力绝对精度为+/-1.5mbar,相对精度为+/-0.5mbar,并且不需再接其他外围模块,接口简单,电路连接方便。该模块尺寸很小,平面尺寸为9mmX9mm,厚度仅为3.7mm,可以在-40°C
到 +125°C环境中应用[3]。模块的内部结构图如图1所示。
图1 模块内部结构图
2.2 系统组成及接口连接
基于MS5534B的高度传感器系统主要有两部分组成:(1)MS5534B气压数据采集单元;(2)ARM7微处理器单元。MS5534B的主要功能就是把压阻压力传感器测得的未经补偿的气压模拟电压输出量转化为16位数字的绝对气压值D1,同时输出16位的绝对温度值D2。在飞控系统中采用了32位微处理器内核的ARM7,由于其快速的运算速度和丰富的外围接口资源,所以将MS5534B直接通过标准的SPI接口与其相连,简化了电路设计,提高了实时性。
ARM7微处理器与气压传感器间的通信通过标准SPI接口完成[4]。DOUT、DIN分别是数字输出、输入引脚,SCLK为串行数据时钟,MCLK为主频32.768kHZ的系统时钟,由微处理器提供。MS5534B数字输出的参考电压是3V供电电压,外接的4.7uF钽电容应尽量靠近MS5534B,以保证数据转换时的供电稳定和转换精度。模块实物和引脚分布图如图2所示。