基于气压传感器的高度测量系统设计
- 格式:docx
- 大小:146.79 KB
- 文档页数:8
基于单片机的数字气压计的设计与实现学生:指导教师:内容摘要:数字气压计的重要组成部分是压敏元件。
压敏元件可以将数字气压计需要测量的气压转化成为一种电流或者是一种电压信号。
此时形成的电流或者电压信号具有容易传输、容易检测的特点.之后,经过后续电路处理这种电流或者是电压信号,它就可以显示在数字气压计的屏幕上.这就是数字气压计的电流传输、处理、显示与读数过程。
在数字气压计中,气压传感器起着决定性的作用。
数字气压计的设计与实现是一个复杂而繁琐的过程。
它的设计需要硬件与软件二者相结合,再经过系统的仿真调试得以实现。
气压传感器起着关键性、决定性的作用。
本设计中我们将采用型号为MPX4105的传感器。
通过此型号的传感器测出相对应的具有模拟性的电压值,之后通过电压/频率(V/F)变换手段将其电压值输入到单片机进行处理,显示出相对应的气压值.本设计的总体目标是将大学三年多所学的专业知识运用到实践当中去.在这次设计中可以实现数字气压计系统的所有特性。
关键词:压敏元件数字气压计单片机气压传感器The Design and Implementation of Digital Barometer Base onSingle Chip MicrocomputerAbstract: Digital barometer is a device that makes full use of pressure sensitive components,which can make the tested pressure change into current or voltage signal easily。
At the same time,pressure sensors is the core component for barometer.The ariticle introduces a excellent way that illustrated digital precision barometer can obtain the function of soft and hardware at the same time.The air pressure via MPX4105 which achieving the value of analong voltage,and the signal is converted by V/F converter,then coped with SCM。
手机测海拔原理手机测海拔是一种利用手机内置的传感器来获取海拔高度的方法。
现在,许多手机都配备了气压传感器和GPS定位系统,这使得手机可以较为准确地测量海拔高度。
接下来,我们将详细介绍手机测海拔的原理及其实现方法。
首先,我们来了解一下气压传感器的原理。
气压传感器是一种能够测量大气压力的传感器,它可以将大气压力转换成电信号输出。
当海拔高度增加时,大气压力会逐渐减小,因此可以通过测量大气压力的变化来推算海拔高度的变化。
其次,GPS定位系统也是手机测海拔的重要组成部分。
GPS定位系统通过接收卫星信号来确定手机所处的位置,包括经度、纬度和海拔高度。
利用GPS定位系统可以获得较为准确的海拔高度信息。
在实际测量中,手机会同时利用气压传感器和GPS定位系统来获取海拔高度。
首先,手机会通过GPS定位系统获取当前位置的经纬度和海拔高度信息,然后通过气压传感器实时测量大气压力,并将其转换成海拔高度信息。
最后,手机会将两者的数据进行综合计算,得出最终的海拔高度数据。
需要注意的是,手机测海拔的准确性受到许多因素的影响,例如天气、地形、大气压力等。
在山区、高楼大厦等地方,由于地形和建筑物的遮挡,GPS信号可能会受到干扰,从而影响测量结果的准确性。
此外,气压传感器的精度也会影响测量结果的准确性。
因此,在使用手机测海拔时,需要注意这些因素,并尽量选择开阔的地方进行测量,以提高测量结果的准确性。
总的来说,手机测海拔是一种便捷的方法,可以在大多数情况下提供较为准确的海拔高度信息。
但在特定情况下,仍需要注意其局限性,并结合其他方法进行验证,以确保获取准确的海拔高度数据。
希望通过本文的介绍,您能对手机测海拔的原理有更深入的了解,同时在实际使用中能够更加准确地获取海拔高度信息。
一种压力检测系统的设计与实现[摘要]本文研究了一种精密数字气压计的软硬件实现方法。
此数字气压计能够实时显示所测气压值。
该方法通过气压传感器获得与大气压相对应的模拟电压值,并经过v/f变换输入到单片机进行处理,从而实时显示相应的气压值。
用本文所述的方法制成的气压计携带方便,操作简单,精确度高,完全符合设计要求。
[关键词]压力检测系统设计实现中图分类号:tp29 文献标识码:a 文章编号:1009-914x(2013)07-0078-011.引言传统的气压测量方法有很多,例如水银气压计和机械震筒式空盒气压计,但它们的结构复杂、体积庞大、测量精度低,不便于自动遥测。
目前,气压传感器正朝着小型化、集成化、智能化、标准化的方向发展,在性能上追求高稳定性、高灵敏度、高分辨率、低功耗、宽温度范围等。
本文提出了一种基于压力传感器实现高度测量的设计方案,其系统体积小、质量轻、精度高、数据稳定、响应快、功耗低。
2.基于单片机的数字气压计的发展和应用2.1 关于单片机单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器cpu随机存储器ram、只读存储器rom、多种i/o口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、a/d转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
2.2 单片机的特点及应用单片机由运算器、控制器、存储器、输入输出设备构成。
由于单片机具有体积小、重量轻、价格便宜、功耗低、控制功能强及运算速度快等等特点。
因而在国民经济建设、军事及家用电器等各个领域均得到了广泛的应用。
按照单片机的特点,其应用可分为单机应用与多机应用。
2.3 关于气压计气压计是利用压敏元件将待测气压直接变换为容易检测、传输的电流或电压信号,然后再经过后续电路处理并进行实时显示的一种设备。
其中的核心元件就是气压传感器,它在监视压力大小、控制压力变化以及物理参量的测量等方面起着重要作用。
气压高度测量系统的设计与实现王晓雷;闫双建;张吉涛;任林娇;郑晓婉;曹玲芝【摘要】Aiming at the shortages of traditional mechanical and GPS methods in height measurement,a new method is proposed by using the new type of barometric pressure sensor,and the height measurement system based on micro electro mechanical system(MEMS) digital barometric pressure sensor is constructed.Firstly,the structure and characteristics of the new digital pressure sensor BMP180 are introduced.Secondly,with the high-performance AVR single chip computer as the control platform,the hardware system is designed,including digital pressure and temperature signal reading equipmeats,organtic ligth emitting diode(OLED) display screen and other peripheralcircuits.Thirdly,according to the corresponding relationship between the barometric pressure and height,the software system is developed,including temperature and atmospheric pressure signal acquisition,temperature and air pressure compensation,height estimation and result display.Finally,the weighted recursive average filtering algorithm is used to deal with the height measurement data,reduce the noise and interference,and improve the accuracy and stability of the measurement data.In order to verify the effectiveness of the design method,the height of different floors of a high building is measured,the results indicate that the system can accurately measure the relative height of each floor,and the standard deviation is 0.32 m and the average error is 0.03 m.This shows that the method provides apractical and portable solution for low altitude measurement,which also provides an important reference for accurate vertical displacement measurement,especially in precision 3D space navigation and positioning.%针对传统机械和GPS方法测量高度时存在的不足,采用新型气压传感器测量高度的方法,构建了基于微机电系统(MEMS)数字气压传感器的高度测量系统.首先,介绍了新型数字气压传感器BMP180的结构和特点;其次,以高性能AVR单片机为控制平台,设计了数字气压和温度信号读取设备、有机发光二级管(OLED)显示屏和其他外围电路的硬件系统;然后,根据气压与高度的对应关系,开发了温度和气压信号采样、温度和气压补偿、高度推算以及结果显示的软件系统;最后,采用加权递推平均滤波算法对高度测量数据进行处理,减小了噪声和干扰,提高了测量的准确度和稳定性.为了验证设计方法的有效性,对高层建筑的不同楼层高度进行测试,结果表明该系统能够准确地测量楼层相对高度,标准偏差为0.32 m,平均误差为0.03 m.由此可见,采用加权递推平均滤波的新型气压高度测量方法,为低空高度测量提供了一种非常实用便携的解决方案,也为空间垂直位移测量尤其是三维空间的准确导航和定位提供了重要参考.【期刊名称】《自动化仪表》【年(卷),期】2017(038)008【总页数】5页(P59-63)【关键词】微机电系统;数字气压传感器;高度测量系统;AVR单片机;有机发光二级管;补偿校正;滤波算法【作者】王晓雷;闫双建;张吉涛;任林娇;郑晓婉;曹玲芝【作者单位】郑州轻工业学院电气信息工程学院,河南郑州 450002;郑州轻工业学院电气信息工程学院,河南郑州 450002;郑州轻工业学院电气信息工程学院,河南郑州 450002;郑州轻工业学院电气信息工程学院,河南郑州 450002;郑州轻工业学院电气信息工程学院,河南郑州 450002;郑州轻工业学院电气信息工程学院,河南郑州 450002【正文语种】中文【中图分类】TH7;TP271.4在三维导航和定位系统中,高度是极其重要的一个维度。
大连理工大学本科毕业设计(论文)大连理工大学本科毕业设计(论文)题目The Subject of Undergraduate Graduation Project (Thesis) of DUT学院(系):专业:学生姓名:学号:指导教师:评阅教师:完成日期:大连理工大学Dalian University of Technology大连理工大学本科毕业设计摘要航空航天事业的日益发展促使航空仪表向着智能化方向发展。
同时新能源在航空领域的应用,小型飞行器的研制使航空仪表出现了向低功耗方向发展的趋势。
气压高度表是一种重要的航空仪表,其主要作用是向载体提供准确的高度数据。
体积小、重量轻、功耗低正成为气压高度表的新的发展趋势。
基于上述原因,本文基于ARM系统的低功耗原理,完成了低功耗气压高度表的研制工作,主要包括整机的硬件设计,软件编程以及从硬件和软件两个角度降低功耗的设计。
该气压高度表主要由数字气压传感器、主控制器、电源管理组成。
主机以意法半导体公司的 STM32F103RBT6 单片机为核心,直接读取数字气压传感器的气压信号,之后再通过气压与海拔的关系换算得到实际海拔,即高度值。
关键词:气压高度表,低功耗设计,STM32,小型化设计I大连理工大学本科毕业设计AbstractAerospace business to the development of aircraft instruments to intelligent direction. At the same time the new energy in aviation, the application of the development of small aircraft that aircraft instruments appeared to the trend of the development of the direction of low power consumption. Air pressure altimeter is a kind of important aircraft instruments, its main function is to provide accurate height data carrier. Small volume, light weight, low power consumption is becoming the new development trend of air pressure altimeter.Based on the above reasons, this paper based on ARM system of low power consumption principle, the completion of the low power consumption of the air pressurealtimeter research work, including the machine's hardware design, software programming and from two aspects of hardware and software design of the lower power consumption. The air pressure altimeter digital pressure sensor, mainly by main controller and power management component.The host to ST company STM32F103RBT6 microcontroller as the core, digital pressure sensor directly read the pressure of the signal, and then through the air pressure and elevation of the relationship between the actual conversion get altitude, namely high value.Key Words:Pressure altimeter;Low power design;STM32;Miniaturization design II大连理工大学本科毕业设计目录摘要 (I)Abstract (II)1 绪论 (1)1.1 气压高度表概述 (1)1.2 气压高度表的发展趋势 (1)1.3 目前气压高度表存在的问题 (2)1.3.1 气压高度表的功耗问题 (2)1.3.2 气压高度表的抗干扰问题 (2)1.3.3 气压高度表的小型化问题 (2)1.4 本课题的意义 (3)2 大气压力高度测量原理 (4)2.1 高度和压力的基本概念 (4)2.1.1 高度的概念 (4)2.1.2 静压的概念和测量 (5)2.2 标准大气压力-高度公式 (6)2.2.1 国际标准大气 (6)2.2.2 大气压力PH与标准气压高度H 函数 (7)3 系统硬件方案设计 (10)3.1 单片机的选择 (10)3.1.1 STM32结构概述 (10)3.1.2 STM32单片机特点 (11)3.2 气压传感器 (13)3.2.1 气压传感器概述 (13)3.2.2 气压传感器的校正 (15)3.2.3 二阶温度补偿 (18)3.2.4 气压传感器通信接口 (19)3.2.4.1 传感器初始化 (20)3.2.4.2 传感器原始数据读取 (20)3.2.4.3 传感器修正参数读取 (20)3.3 晶体振荡器设计 (21)3.4 上位机通信设计 (21)3.5 电源设计 (23)4 系统软件设计 (26)4.1 系统整体软件流程........................................... 26 III大连理工大学本科毕业设计4.2 传感器原始数据读取 (27)4.3 初次校正计算 (27)4.4 二阶温度补偿计算 (28)结论 (29)致谢 (30)附录1 (32)附录2 (35)IV大连理工大学本科毕业设计1 绪论进入新世纪以来,无人机在世界各国得到广泛研究和发展,尤其是微小型无人机以其低成本灵活机动隐蔽性好等优点,在军事和民用方面都获得了广泛应用高度信息作为无人机的一个重要飞行参数,是保障无人机安全飞行以及保证地面操纵人员正确引导并顺利完成飞行任务的关键,要实现无人机的自主着陆,必须精确测量无人机相对于机场跑道平面的高度为了满足飞行控制以及自主着陆对高度表系统的需求,以及高度表系统微型化高精度高实时性的要求,本文设计了以MS5534-BP 气压传感器为核心传感器,以 STM32F103 为数据采集控制器的微小型高度测量系统,并对系统的软硬件设计进行了研究。
MS5611传感器总结MS5611是新一代高分辨率气压传感器,分辨率可达10cm。
其内置24位AD转换器,支持IIC和SPI通讯协议,传输速率可达20MHz 其转换时间可以设置。
测量/工作范围:10~1200mbar(毫巴=百帕),-40~+85℃。
从机地址0xee一、传感器寄存器的配置过程(IIC通讯条件)1.复位2、读取存储器(128-bit PROM)3、D1转换4、D2转换5、读取ADC结果(24-bit气压/温度值)二、主要寄存器介绍三、寄存器配置1、复位指令向MS5611写命令字节0x1e,方式如下其中A表示应答,P表示停止,S表示开始2、读取PROM(128bit)指令由两部分构成,第一部分使系统处于PROM读模式,第二部分从系统中读取数据。
(1)第一部分使系统处于PROM读模式其中A表示应答,P表示停止,S表示开始(2)从系统中读取数据其中A表示应答,P表示停止,S表示开始。
N表示没有应答3、启动AD转化其中A表示应答,P表示停止,S表示开始。
启动D1时Command 为0x40至0x48启动D2时Command 为0x50至0x58*Command可以设置转换时间4、读AD转换结果(为多字节读取)(1)写读寄存器的指令0x00其中A表示应答,P表示停止,S表示开始。
(2)读AD的数值其中A表示应答,P表示停止,S表示开始。
一、基础知识首先,MS5611是什么MS5611气压传感器是由MEAS(瑞士)推出的一款SPI和I²C总线接口的新一代高分辨率气压传感器,分辨率可达到10cm。
该传感器模块包括一个高线性度的压力传感器和一个超低功耗的24位Σ模数转换器(工厂校准系数)。
计算温度:D2 = MS5611_DO_Conversion(OSR_Temp);delay_ms(10);dT = D2 - (((u32)c5)*256) ;Temperature = 2000 + dT*((float)c6)/8388608 ;计算大气压:D1 = MS5611_DO_Conversion(OSR_Pressure) ;delay_ms(10) ;OFF = (((int64_t)c2)*65536 + (((int64_t)c4*dT)/128)) ; SENS = (((int64_t)c1)*32768) + (((int64_t)c3*dT)/256) ; if(Temperature 《 2000)//µ±Î¶ÈÖµTEMPСÓÚ2000ʱÐèÒª×öζȲ¹³¥{T2 = (float)(dT*dT)/0x80000000 ;Aux = (Temperature - 2000)*(Temperature - 2000) ;OFF2 = 2.5f*Aux ;SENS2 = 1.25f*Aux ;if(Temperature 《 -1500)//µ±Î¶ÈÖµTEMPСÓÚ-1500ʱÐèÒª×öζȲ¹³¥{Aux = (Temperature+1500)*(Temperature+1500);OFF2 = OFF2 + 7*Aux;SENS2 = SENS2 + 5.5f*Aux;}}else{T2 = 0 ;OFF2 = 0 ;SENS2= 0 ;}Temperature = Temperature - T2 ;OFF = OFF - OFF2 ;SENS = SENS - SENS2 ;Pressure = ((D1*SENS)/2097152 - OFF)/32768 ;海拔计算:Altitude = (44330.0f*(1.0f - pow((float)Pressure/101325.0f, 0.190295f))) ;MS5611主要用于智能手机、海拔高度测量和导航辅助,做四轴的朋友一般都了解。
BMP388与STM32F103设计案例一、背景介绍近年来,随着物联网技术的快速发展,传感器技术得到了广泛的应用和发展。
作为传感器技术的重要领域之一,气压传感器在气象、航空航天、环境监测、智能穿戴设备等领域都有着重要的应用。
BMP388是博世旗下的Sensortec推出的一款高精度数字气压传感器,具有精度高、功耗低、体积小等特点,适合于各种应用场景。
而STM32F103是STMicroelectronics推出的一款低功耗、高性能的32位微控制器,具有丰富的外设、强大的处理能力,是物联网设备设计中的理想选择。
二、设计目标本设计旨在将BMP388气压传感器与STM32F103微控制器相结合,构建一个高精度、低功耗的气压监测系统。
具体设计目标包括:1. 实现BMP388气压传感器与STM32F103微控制器的硬件连接;2. 开发适用于该系统的驱动程序,实现对BMP388的数据采集和处理;3. 优化系统设计,实现低功耗、高精度的气压监测;4. 提供友好的用户界面,实现对气压数据的实时监测和显示;5. 为该设计提供完善的软硬件支持文档,方便用户进行二次开发。
三、硬件设计1. 硬件连接需要将BMP388和STM32F103进行合理的硬件连接。
BMP388的通信接口采用SPI协议,因此需要连接到STM32F103的SPI接口,同时还需连接传感器的供电和地线。
在连接过程中,需要留意传感器的时序要求和电气特性,确保连接的可靠性和稳定性。
2. 外围电路设计为了保证系统的稳定性和可靠性,还需要设计合适的外围电路。
包括电源管理电路、时钟电路、传感器滤波电路等。
同时需要考虑到系统的功耗需求,在外围电路设计中进行功耗优化。
四、软件设计1. 驱动程序设计针对BMP388气压传感器,需要开发相应的驱动程序,实现对传感器的初始化、数据采集、校准等操作。
驱动程序需要充分发挥STM32F103的优势,通过SPI接口和I2C接口与传感器进行通信,同时需要考虑系统的实时性和稳定性。
《大气压强》实验创新设计
实验名称:大气压强实验
实验目的:通过测量气压的变化,了解大气压强对物体的影响,并探
讨气压与高度之间的关系。
实验材料:
1.气压计
2.测高仪
3.水平仪
4.计时器
5.高度计
6.大气压强计
实验步骤:
1.使用水平仪调整气压计的水平位置,确保测量结果准确。
2.开始实验前,先将气压计的指针调零,记录下此时的气压数值。
3.在不同的高度处进行测量,记录下每个高度处的气压数值和测高仪
的读数。
4.根据气压的变化和高度的变化,可以计算出气压与高度之间的关系。
实验结果与讨论:
通过实验可以得出如下结论:
1.随着高度的增加,气压逐渐减小,符合大气对物体的压力变化规律。
2.气压与高度之间存在一定的线性关系,可以通过实验数据拟合出气
压与高度之间的数学模型。
3.大气压强的变化对人体、动植物和自然界的影响是十分重要的,了
解气压的变化有助于预测天气变化和地质灾害等自然现象。
实验创新设计:
在以上基础上,我们还可以进行以下创新设计:
1.利用高度计和气压计对不同海拔地区的气压进行实时监测,研究气
压与气象变化之间的关系。
2.在不同季节和天气条件下,对大气压强进行长期监测,研究气压的
周期性变化规律。
3.结合气象数据和地质数据,研究气压变化与地震、火山爆发等地质
灾害之间的关系,为灾害预警提供参考依据。
通过创新设计的实验,我们可以更加全面地了解大气压强对自然环境
和人类生活的影响,为科学研究和实践应用提供更多有益的信息和数据。
手机怎么测海拔标高的原理手机测量海拔标高的原理可以通过GPS技术和气压传感器来实现。
下面将对这两种原理进行详细解释。
首先,GPS(全球定位系统)是一种通过卫星测定地球上任意位置的定位系统。
手机内置的GPS接收器可以接收卫星发射的信号并进行计算,从而确定手机所处的位置。
在测量海拔标高方面,GPS可以通过测量大气层顶部到卫星的直线距离,进而计算出手机所处位置与海平面间的高度差。
当GPS计算出手机所处的经纬度坐标时,可以使用一种称为“地理坐标系统”的标准,将其与地球表面上的其他点进行比较。
一般情况下,这些坐标会与海平面上一个已知的参考点进行对比,该点的高度被认为是零点。
在比较坐标时,GPS接收器会确定手机所在位置和参考点之间的高度差,即海拔标高。
然而,GPS并非测量海拔标高的理想方法,因为它的定位精度与可用的卫星数量有关,并且在城市的高楼大厦和山谷等复杂地形下,其可靠性会下降。
为了弥补GPS的局限性,手机通常还配备了气压传感器,也称作高度计或气压计。
气压传感器测量的是大气压强的变化,而大气压强则会随海拔的变化而发生改变。
在测量海拔标高方面,气压传感器的工作原理是基于大气压强按指数规律随海拔高度下降的特性。
当我们在海平面上时,大气压强较高,随着我们移动到海拔更高的地方,大气压强逐渐减小。
利用这一规律,气压传感器可以通过检测周围空气的压强变化来确定当前的海拔标高。
具体来说,气压传感器内部有一个精密的硅芯片,其上有微小的气压孔,外界气压通过这些孔进入。
当外界气压较大时,进入芯片内部的气压也会较大,反之亦然。
芯片上的电气元件可以将这个压强变化转化为电压信号,并通过手机的电路进行处理。
在进行海拔标高测量时,手机会读取气压传感器的电压输出,并结合在时间上的气压变化来计算手机所处位置的海拔标高。
然而,需要注意的是,气压传感器的数据受天气和环境条件的影响较大,例如温度和湿度等因素。
为了提高测量的准确性,手机通常会要求用户在进行测量时保持手机稳定并等待一段时间以获得更精确的结果。
基于气压传感器的高度测量系统设计摘要:本文介绍了一种基于气压传感器的高度测量系统设计。
系统通过Arduino微控制器读取传感器BMP085的温度、气压值及温度补偿校正参数;利用温度、气压和海拔高度的关系结合软件编程及插值优化计算出海拔高度或相对海拔高度;在LED屏上显示当前温度、气压、海拔高度或相对海拔高度值。
整个系统集传感器和微控制器一体,具有结构精简、灵敏度高、低功耗、体积小、智能化、操作简单等特点。
关键词:气压传感器、线性插值、高度测量0 引言当前对海拔高度的测量主要的方式有利用GPS的测量,采用仪器的测量和基于气压的海拔高度测量三种方式。
GPS精度能达到要求但成本较高;仪器的测量因体积大携带不方便;相比较而言,采用微控制器的基于气压传感器高度测量系统在灵敏度、体积、成本、智能性等方面更符合实用要求。
该系统采用Arduino微控制器利用温度、气压值等传输参数经过处理后将大气压值转换成海拔高度值。
经实验得出该系统得到的数据能够满足实际需求,在便携气象仪系统、低空飞行器系统、气象控制系统等诸多领域有广泛的应用前景。
1 系统硬件设计系统硬件部分由Arduino微控制器、供电模块、LED显示模块、数字气压传感器BMP085以及外围电路组成。
如图1所示:图1 气压高度计硬件系统框图气压传感器BMP085通过IIC总线接口和微控制器Arduino相连,从而将温度、气压数据传送到微控制器,经过软件编程将微控制器获得的数据处理得到当前海拔高值或相对海拔高度值,将处理后相对精确的数据值再由显示器输出。
系统的硬件接口布线如下:1.BMP085:Vcc-3.3v,GND-GND,SDA-Arduinno SDA,SCL-Arduino SCL 2.1602:Vcc-3.3v,Vss-GND,VL-R(<10KΩ)-GND,RS-Arduino D12,R/W-Arduino D11,E-Arduino D2,D0~D7-Arduino D3~D10,BLA-3.3V, BLK-GND1.1Arduino mega2560微控制器微控制器是整个系统的控制核心,负责操作按键、传感器数据的采集、数据运算处理、显示器驱动等。
本气压高度计系统选用Arduino mega2560微控制器芯片,该芯片由意大利Arduino公司出品一个开放源代码的硬件组成。
兼容ATmega168/328/2560系列内核,带有54个数字I/O口(其中14个提供PWM输出),16个模拟I/O口,4对串行数据通信(UART),8KB SRAM存储,4KB EEPROM存储,256KB 闪存(其中8KB用于引导程序),支持3.3V和5V供电以及IIC总线通信和增强型SPI串行接口,能很方便地与外围设备进行通信。
外围供电电压在5V-12V之间,本系统采用9V电源。
1.1数字气压传感器BMP085数字气压传感器BMP085是一款高精度、超低能耗的压力传感器,可以应用在移动设备中。
它内部由控制单元、A/D转换模块、数据存储单元、8-pin陶瓷无引线芯片承载(LCC)超薄封装。
传感器通过A/D转换模块以最高128次/s的速率对温度气压的模拟值采样转换成数字信号,控制单元读取存储器EEPROM中的11个补偿参数和温度系数等。
完成采样后将数据通过IIC总线传送给微控制器,经过计算得到当前的温度值和气压值。
数字气压传感器的主要特点:压力范围:300——1100hPa(海拔-500米到9000米);电源电压:1.8V——3.6V (VDDA)1.62V——3.6V(VDDD);高精度:低功耗模式下,分辨率为0.06hPa(0.5米);高线性模式下,分辨率为0.03hPa(0.25米)。
1.3输出显示器输出电路部分采用标准的1602液晶显示器。
它是一种将液晶显示器、控制集成电路、PCB板、背光源、结构件装备在一起的集合。
如图2所示:图2 标准1602液晶模块主要参数:D0—D7数据口、R/W读写选择、RS数据/命令寄存器选择、BLA/BLK背光正/负极、VDD电源、VSS电源地、VL液晶显示偏压。
2系统软件设计系统模块化结构,主要有微控制上的复位按键,系统初始化,读EEPROM中的数据温度和气压值,软件滤波处理,气压海拔高度转换,输出到显示器等程序,主程序是循环方式工作。
系统流程图如图3所示:图3 系统软件设计流程图2.1 系统初始化首先系统进行微控制器启动,对系统I/O口、波特率、时钟等进行设置;系统初始化完成之后,Arduino mega2560 微控制器按照IIC 协议读取BMP085气压传感器中存放在EEPROM中的11个16位数据组成的温度补偿校正参数,每只传感器有着唯一的温度补偿校正参数;经过温度补偿校正参数和软件插值优化以后得到当前温度、大气压值,进而计算得出所对应的海拔高度值或相对海拔高度值,并将温度、海高度值有效信息送入显示器输出。
2.2 温度和气压的补偿系统初始化后对气压传感器BMP085进行操作,微控制器Arduino mega2560将传感器EEPROM中的11个16位数据组成的补偿参数,ac1,ac2,ac3,ac4,ac5,ac6,b1,b2,mb,mc,md分别读取出来为温度补偿准备。
此时,再对当前传感器采样模式为OSS=0进行原始未补偿温度数据(UT)和原始未补偿的大气压力数据(UP)的读取操作。
再利用数字气压芯片的补偿算法对大气压值进行温度补偿,得到当前温度值(temp)和大气压力值(p)。
主要算法程序流程如下:float bmp085GetTemperature(unsigned long ut){float x1,x2;x1=(((long)ut-ac6)*ac5)>>15;x2=((long)mc<<11)/(x1+md);b5=x1+x2;float temp=((b5+8)>>4);temp=temp/10;return temp;}float bmp085GetPressure(unsigned long up){long x1,x2,x3,b3,b6,p;unsigned long b4,b7;b6=b5-4000;//Calculate B3 belowx1=(b2*(b6*b6)>>12)>>11;x2=(ac2*b6)>>11;x3=x1+x2;b3=(((((long)ac1)*4+x3)<<OSS)+2)>>2; //Calculate B4 belowx1=(ac3*b6)>>13;x2=(b1*((b6*b6)>>12))>>16;x3=((x1+x2)+2)>>2;b4=(ac4*(unsigned long)(x3+32768))>>15;b7=((unsigned long)(up-b3)*(50000>>OSS));if(b7<0x80000000)p=(b7<<1)/b4;elsep=(b7/b4)<<1;x1=(p>>8)*(p>>8);x1=(x1*3038)>>16;x2=(-7357*p)>>16;p+=(x1+x2+3791)>>4;return p;}2.3海拔高度计算数字气压传感器BMP085对气压海拔高度提供了参考公式,利用该公式配合传感器采集到的气压值以及温度补偿值较好地得出海拔高度,公式如下Altitude=44330*[1-(p/P0)^(1/5.255)] (1) 式中Altitude是以米(m)为单位的海拔高度值;p以Pa为单位的当前某一高度的大气压值;P0为15 ℃时101325Pa海平面标准大气压值。
将其值代入方程计算得到相应海拔高度(纵坐标m)和大气压(横坐标Pa)关系曲线。
如图4所示:图4 大气压和海拔高度曲线关系图从图4中可以看出:大气压和海拔高度在0到6000米之间几乎成线性关系,但随着变化关系比较复杂,微处理器直接计算算法程序复杂、速度慢、资源占用较多。
因此,在实际设计过程中,在系统允许误差范围内对原始数据进行插值优化处理,假设系统输入为p,并且p(i)<p<p(i+1)时,在此区间内可近似认为系统的输入/输出的关系为线性关系P(p)=a0+a1*p,其插值公式为:P(p)=y(i)+(y(i+1)-y(i))/(p(i+1)-p(i)) (2) 国际标准大气压数据表记录了-100~20000m之间每隔一段高度所对应的气压值。
每个气压数据p(i)和所对应高度数据点y(i),P(p)为系统要测量的高度值。
将数据离散化制作成一个大气压值和海拔高度值对应查询表,并放入到微控制器内存中,再根据测量得到的大气压值进行查表,从而确定对应的海拔高度值。
3实验结果基于该系统于14年11月12让下午5时对某楼层楼层高度测量,并多次测量取海拔高度值并计算得出相对海拔高度值并与实际值比较,实验所得数据结果如下表1所示。
表1 实验数据结果由上表1可看出楼层相对地面海拔高度平均误差为0.2699m。
实验测量结果表明该系统测量值和真实值差距在误差范围(0.25m-0.5m)内,效果良好,基本满足了测量要求。
4 结束语实验结果表明本文设计实现了计算海拔高度或相对海拔高度的测量。
基于气压传感器BMP085及微控制器通过简单的电路和有效的软件算法技术处理,具有较高的灵敏度和稳定性,适用于精度比较高,体积小,成本低,操作简单的设备中。
本文研究结果在实际生活中具有广泛的应用前景。
参考文献:[1]U.S;Simon Monk;《30 Arduino Projects for the Evil Genius》;2010 by The McGraw-Hill Companies。
[2]U.S;Michael McRoberts;《Beginning Arduino》;2010 by Michael McRoberts。
[3]程晨,《Arduino开发实战指南》,机械工业出版社。
[4]殷希梅,杨维,程洪涛;基于BMP085数字气压传感器的弹上高度测量系统设计;弹箭与制导学报2013年8月。
[5]王俊彩,王福平,候瑞锋,王成;基于BMP085的一种便携式海拔高度测量系统设计;传感器与微系统2011年12月。
[6]孙凯,张中平,秦明,黄庆安;基于C8051F310的智能便携式气压高度测量系统;电子器件2005年9月。
[7]张金燕,刘高平,杨如祥;基于气压传感器BMP085的高度测量系统实现;技术与方法2014年6月。