微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于MS5534B的气压高度计系统的设计

基于MS5534B的气压高度计系统的设计

时间:09-02 来源:中电网 点击:

0引言

传统的气压测量方法很多,例如水银气压计和机械振筒式空盒气压计,但它们的结构复杂、体积庞大、测量精度低,不便于自动遥测。目前,气压传感器正朝着小型化、集成化、智能化、标准化的方向发展,在性能上追求高稳定性、高灵敏度、高分辨率、低功耗、宽温度范围等。随着电子技术的快速发展,相继出现了压阻式、电容式以及基于MEMS技术制作的绝对压力传感器等。压阻式或电容式传感器结构简单、精度高、灵敏度高,尤其是采用MEMS技术制作的绝对压力传感器,采用先进的集成电路工艺和微加工技术,将传感元件和信号处理电路集成于一体,大大提高了测量性能,并简化了测量系统设计,同时大大减小了体积,使得测量仪器系统整体小型化。MS5534B就是基于MEMS的绝对压力传感器的典型代表。本文提出了一种基于压力传感器MS5534B实现高度传感器的设计方案,其系统体积小、质量轻、精度高、数据稳定、响应快、功耗低。

  1 系统硬件设计

系统由数字压力传感器MS5534B、单片机MSP430F449、电源模块、液晶显示器LCD、RS232接口及其他外围电路组成,如图1所示。

   MSP430F449用软件模拟三线SPI口,实现MSP430F449与MS5534B通信,根据MS5534B的通信协议发送相应的指令,获得气压、温度以及校准系数值。串行时钟信号SCLK由MSP430F449产生,SCLK提供串行数据传输所需时钟。主时钟MCLK由外部晶振产生,MCLK给MS5534B内部逻辑电路提供时钟。MSP430F449利用I/O口读得MS5534B的数据,通过软件进行温度补偿和压力-高度转换运算得到实际高度值。首先MSP430F449对MS5534接口复位后,通过串口读出MS5534B模块存储器中的WORD1~WORD4,再用逻辑运算操作和移位操作提取补偿参数C1~C6,然后,通过SPI口读取16位压力数据D1和温度数据D2,用D1、D2和C1~C6通过补偿算法计算出补偿后的压力,再由压力-高度转换算法得到实际高度值。温度和实际高度值通过LCD显示。LCD驱动模拟电压由R3、R5、R6组成的权电阻网络提供。RS232接口通过异步串口与MSP430F449相连,实现上位机与MSP430F449的通信。

  1.1 数字压力传感器

MS5534B是基于MEMS技术的数字压力传感器,内部集成了绝对压力传感器、电阻式温度传感器、数据选择器、15位A/D转换器、数字滤波器及数据存储器,其结构如图2所示。压力、温度传感器分别检测压力、温度信号,压力测量和温度测量之间的切换是通过多路选择开关在很短的时间内完成的。A/D转换器分别将压力、温度的差分模拟信号转换成数字信号,通过数字滤波器抑制干扰,然后将16位的压力和温度数字信号存贮在数字IC模块中。同时,64位的数据存储器PROM中存贮了6个补偿参数,分别是参考温度下的零漂、灵敏度、零漂的温度系数、灵敏度的温度系数、参考温度、温度的变化系数。MS5534B供电电压为2.2~3.6 V,压力测量范围为(30~110)kPa,工作时钟为(30~35)kHz,是一种低功耗、低供电电压的传感器,可自动断开电源,三线接口则可满足与单片机通信,方便实现软件矫正,达到极高的精度。

  1.2单片机

MSP430F449是具有功耗低、存储容量大、集成度高、在线支持性强等特点的单片机,其工作电压低(1.8~3.6 V)、电流小,有5种低功耗模式;丰富的中断源并可任意嵌套,用中断请求将系统从备用状态唤醒仅需6μs;片内看门狗及上电复位电路,三个时钟源(XTAL1、XTAL2或内部DCO)可供灵活选用;片内16位的硬件乘法器,实时处理大量复杂的温度补偿和压力-高度转换运算;双向并行I/O口P1和P2(有中断功能)及P3~P6口,多数口有复用功能;片内集成4×40段LCD液晶驱动器,实时显示温度和高度;通用通信模块UARST0,通过软件可选用为同步或异步方式。

  2 软件设计

软件采用模块化设计方法,主要包括系统初始化、I/O口模拟SPI口通信、温度补偿、滤波、气压-高度转换、液晶显示、RS232通信等子程序,主程序以循环方式工作,完成初始化及子程序的调用;I/O口模拟SPI口通信是单片机根据传感器的通信协议,发送相应的指令,读取传感器中相应的压力、温度及校正参数值,并将4个字的校正参数值WORD1~WORD4转换为6个补偿参数C1~C6;温度补偿是单片机根据补偿原理对读出来的压力进行温度补偿计算,修正温度变化引起的零漂和灵敏度变化,从而修正温度变化引起的压力值的变化;通过软件滤波减小电路的噪声干扰,提高测量精度,得到在实际温度下的压力值,然后程序通过高度与压力、温度的关系计算出高度。程序流程图如图3所示。

  2.1 温度补偿

大气压力p与温度T成线性关系,温度传感器输出电压与测量温

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

网站地图

Top