基于气压传感器的高度测量系统设计
- 格式: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在三维导航和定位系统中,高度是极其重要的一个维度。
基于气压传感器的高度测量系统设计摘要:本文介绍了一种基于气压传感器的高度测量系统设计。
系统通过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月。