




已阅读5页,还剩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 SCL21602:Vcc-3.3v,Vss-GND,VL-R(15; x2=(long)mc4); 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 below x1=(b2*(b6*b6)12)11; x2=(ac2*b6)11; x3=x1+x2; b3=(long)ac1)*4+x3)2; /Calculate B4 below x1=(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)*(50000OSS); if(b70x80000000) p=(b71)/b4; else p=(b7/b4)8)*(p8); 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)pp(i+1)时,在此区间内可近似认为系统的输入/输出的关系为线性关系P(p)=a0+a1*p,其插值公式为:P(p)=y(i)+(y(i+1)-y(i)/(p(i+1)-p(i) (2) 国际标准大气压数据表记录了-10020000m之间每隔一段高度所对应的气压值。每个气压数据p(i)和所对应高度数据点y(i),P(p)为系统要测量的高度值。将数据离散化制作成一个大气压值和海拔高度值对应查询表,并放入到微控制器内存中,再根据测量得到的大气压值进行查表,从而确定对应的海拔高度值。3实验结果基于该系统于14年11月12让下午5时对某楼层楼层高度测量,并多次测量取海拔高度值并计算得出相对海拔高度值并与实际值比较,实验所得数据结果如下表1所示。 对象楼层楼道温度值/楼道气压值/Pa测量相对地面高度值/m与真实楼层高误差绝对值/m2楼15.8197111.175.28270.28273楼15.6397065.009.27800.27804楼15.4297014.8313.30920.30925楼15.1996974.1416.30180.19826楼14.8796922.1720.28140.2814表1 实验数据结果由上表1可看出楼层相对地面海拔高度平均误差为0.2699m。实验测量结果表明该系统测量值和真实值差距在误差范围(0.25m-0.5m)内,效果良好,基本满足了测量要求。4 结束语实验结果表明本文设计实现了计算海拔高度或相对海拔高度的测量。基于气压传感器BMP085及微控制器通过简单的电路和有效的软件算法技术处理,具有较高的灵敏度和稳定性,适用于精度比较高,体积小,成本低,操作简单的设备中。本文研究结果在实际生活中具有广泛的应用前景。参考文献:1U.S;Simon Monk;30 Arduino Projects for the Evil Genius;2010 by The McGraw-Hill Companies。2U.S;Michael McRoberts;Beginning Arduino;2010 by Michael McRoberts。3程晨,Arduino开发实战指南,机械工业出版社。4殷希梅,杨维,程洪涛;基于BMP085数字气压传感器的弹上高度测量系统设计;弹箭与制导学报2013年8月。5王俊彩,王福平,候瑞锋,王成;基于BMP085的一种便携式海拔高度测量系统设计;传感器与微系统2011年12月。6孙凯,张中平,秦明,黄庆安;基于C8
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 双方离婚户口迁移及财产分割协议范本
- 离婚夫妻共同财产分割及子女心理辅导协议范本
- 环保物流货物运输合同的法律责任与环保法规遵守
- 私人宅基地土地租赁与现代农业合作合同
- 新能源汽车制造企业股权并购与市场拓展协议
- 离异双方子女抚养权调整及财产分割执行合同
- 离职员工保密协议及知识产权保护合同
- 合肥美湖置业涉嫌空白合同欺诈案件调查与处理协议
- 时尚购物中心租赁合同及一体化物业运营管理协议
- 住宅小区物业服务合同续签与居民权益保障协议
- 英语常用3000单词
- 2025年全脂甜羊奶粉项目市场调查研究报告
- 偷东西和解协议书
- 社区基本诊查技能课件
- 2025年合肥兴泰金融控股(集团)有限公司招聘23人笔试参考题库附带答案详解
- 舞蹈即兴动作创编课件
- 交互式内容在商业领域的创新应用
- 财务电子票据管理制度
- 扶梯安全知识培训课件
- 安全施工规范手册
- 铸牢中华民族共同体意识课件
评论
0/150
提交评论