基于单片机的便携式数字气压高度计的设计与实现Word文档格式.docx
《基于单片机的便携式数字气压高度计的设计与实现Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的便携式数字气压高度计的设计与实现Word文档格式.docx(28页珍藏版)》请在冰豆网上搜索。
![基于单片机的便携式数字气压高度计的设计与实现Word文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/21/5312eb3c-3f09-4594-b8a1-be710d7d6296/5312eb3c-3f09-4594-b8a1-be710d7d62961.gif)
对于身处荒郊的人来说,有个必须要关心的问题就是所处地方的海拔高度。
虽然目前市面上测量高度的仪器已经不少了,但一般都是较高端的产品才带有此项功能,比如GPS导航仪等。
诚然,一些机械式高度仪拥有低廉的价格,但是测量精确度有待提高。
所以高精度的测量设备深受人们的喜爱。
因此研制一种高精度,低价格的便携式气压高度计是有一定市场需求的。
海拔高度的测量,通常有以下这么几种方法。
一是通过GPS利用卫星测距;
二是利用所处地区压强来间接的测量海拔高度;
但是前者开发成本较高且开发难度不低,以本人现阶段的水平无法实现。
第二种方法的话,无论从器件的选择,电路的编辑,成本的控制来讲,都优于前者。
气压传感器,顾名思义,就是用来测量空气压力的一种传感器。
如今市场上能搜寻到的气压传感器琳琅满目。
出于多方面的考虑,本次设计使用Bosch公司的BMP085数字式气压传感器采集信号,通过STC89C52单片机的处理,在LCD1602液晶显示屏上实时显示当前的数据。
BMP085不仅拥有实时监测气压的左右,还具有温度补偿的作用。
同时它使用了IIC总线接口,利于微控制器的访问。
还有就是它的使用也很便捷,不需要经过A/D转换就可读取到温度、气压及测量数据。
本次设计集单片机与传感器为一体,具有精密度高、总体型小、能耗低、使用简单方便等特点。
关键词:
STC89C52;
BMP085数字传感器;
气压高度计;
海拔高度
ABSTRACT
Altitudeisanimportantfactorinourdailylives,anditisclosedtoourlife.Altitudeisdefinedasanobjectwithastandardverticaldistanceofsealevel,anditisanimportantcredentialtoguidenavigation.Peoplewhoisinthewilderness,theremustbesomewherehe/shewillbeconcernedaboutthealtitudeattheplacehewas.Whiletherewerealotofmeasuringaltitudeinstrumentsonthemarket,buttheyaretypicallyhigher-endproductswiththefunction,suchasGPSnavigators,etc.Admittedly,somemechanicalaltimeterhasalowprice,butthemeasurementaccuracytobeimproved.Sothealtitudeprecisionmeasuringequipmentwasdeeplylovedbypeople.Therefore,thedevelopmentofahigh-precision,low-costportablebarometricaltimeterisacertainmarketdemands.
Therearesomenormalwaystomeasuringthealtitudeweusuallyused.Thefirstone,throughtheuseofGPSsatelliteranging;
thenextoneisusingtheirlocationstoindirectlymeasurethepressurealtitude;
Buttheformercostsalotandthedifficultyofproducingitisdifficult,maybefailedinthisdesign.Thesecondmethod,theneitherselectfromthecontroldevice,editthecircuit,intermsofcost,andarebetterthantheformer.
Theso-calledpressuresensorisadeviceformeasuringatmosphericpressure.Onthemarkettodaycanfindanarrayofpressuresensors.Forvariousreasons,thisdesignusesBosch’sBMP085digitalpressuresensorsignalacquisition,throughSTC89C52MCUprocessing,displayreal-timedataonthecurrentLCD1602LCDscreen.BMP085pressurenotonlyabouttohavereal-timemonitoring,butalsohastheeffectoftemperaturecompensation.AnditusestheIICbusinterfacefacilitatesaccesstothemicrocontroller.Itisalsoveryeasytouse,doesnotrequireA/Dconversioncanbereadtothetemperature,barometricpressureandthemeasureddata.Thedesignofbothsinglechipmicrocomputerandsensorandhashighprecision,smallvolume,lowpowerconsumption,simpleoperation,etc.
Keywords:
BMP085;
Barometricaltimeter;
Altitude.
1引言
气压高度计是一种利用气压传感器来采集空气压强信息,再利用空气压强与海拔高度的转换公式进行计算得到所需要的海拔高度值的测量仪器。
一般有传统的机械式高度仪、便携式气压高度计和GPS高度仪三种类型。
气压高度计在日常的工农业生产和生活中有着非常广泛的应用,比如:
登山爱好者在登山时一定会及时关注压强、海拔高度和温度等与他们自身密切相关的信息;
飞行器在高空中飞行,执行空中任务也要实时监控所在高度以便及时调整路径;
蚕农在养蚕时也要时刻关注蚕室内的压强和温度来保证蚕宝宝的生长。
所以说,制作一个能同时显示气压、海拔高度和温度的气压高度计是很有必要和市场需求的。
对于传统的机械式高度仪,制作过程复杂,内部结构复杂,体积庞大不方便携带,精度无法保证,基本已经被现代社会所淘汰,不符合本次设计的主题,故本次设计不采用。
对于GPS高度仪,首先一点是制作成本比较高,会超过本次毕业设计的预算;
其次制作难度比较大,因为他需要与卫星进行通讯,涉及电子、通讯、计算机等多方面的知识且专业性极强,不是现阶段的可以解决的,为了能顺利完成本次毕业设计,所以本次设计也不采用。
对于便携式的气压高度计,设计方便,成本不高,精度也有所保障,所以本次设计采用基于单片机的气压高度计进行制作。
此次制作的便携式高度计主要使用了STC89C52单片机和BMP085型气压传感器,由电源电路、晶振电路、单片机控制电路、传感器电路和显示电路组成。
气压数据和温度数据由BMP085采集获得经由STC89C52处理后显示到液晶显示屏LCD1602上。
本次设计的系列参数均基于BMP085的参数,可以测量-500米到9000米的范围,温度范围在-40℃到85℃,完全能满足日常生活和工农业生产的需求。
2概述
2.1气压高度计研究目的及意义
随着现代科学技术的发展,海拔高度的测量已成为工农业生产和日常生活不可或缺的一个重要组成部分;
在化工熔炼方面,原料的融化所需的温度随着海拔高度的变化而产生变动。
一般来说,海拔高度越高,熔点越低,反之,海拔高度越低,熔点就越高;
海拔高度同时也影响农作物的播种地区和播种类型,海拔低的区域一般地形平阔,温度适宜、氧含量密度大,适应于稻米、麦子、苞谷等作物的生长;
海拔高的地方地势一般以山地、丘陵为主,温度低、气压低、空气密度小,不利于一般农作物的生长,可以种植青稞一类的高原作物。
在对能源的利用方面,气压高度计也有一定的用处,它能优化能源的使用,做到节约能源。
有一个典型的例子就是IBM生产的服务器内部都装有气压高度计。
这么做的原因就在于该公司的服务器遍布全球,然而不是所有地方的海拔都是一致的,在不同高度的地方,空气密度都不相同,因此散热时需要的风量大小就有所不同。
在高海拔的地方,空气稀疏,散热时就需要发出指令,让散热器加快转速以便产生更大的风量来加速空气流动,增加散热效果,避免由于过热而造成的稳定性问题。
反之,在低海拔的区域就可以适当降低旋转速度来节省能量的消耗,同时也能延长散热器的使用时间,这种只能的设计就是IBM的服务器无论出于何种环境都能顺利运行,机器不会过热的重要原因。
可见气压高度计在对于能源的控制方面也是有所长的。
在日常生活中,我们常能看到像部分登山爱好者到了高原地带,出现头晕、胸闷、想吐等病症(既高原反应),并且症状随着高度的增加而加强的例子。
这是因为随着海拔高度的增高大气压就会降低,从而影响到人体内氧气的供应。
如果有一款便携式的气压高度计,就可以实时监控海拔高度,从而在达到不适高度时引起警觉。
防止下次活动时这些症状的产生。
在科学探索方面,一款高精度的气压高度计能更加准确测量各种的山峰的高度,不停更新各方面的数据,对于地理教育或探索有着重大的意义。
比如能让我们了解世界最高峰的真正高度,一些我们关系的山峰的高度等等。
另一方面还能增加民族自豪感,我们能拥有如此之多的高峰。
因此,气压高度计是生活和生产中不可或缺的一部分。
然而传统的机械式海拔高度测量系统的各项参数(精度、大小等)都不能达到要求,而GPS海拔高度仪价格又不是一般人能接受的。
综上所述,无论是从工、农业和能源的发展在来讲,还是从传统的高度计的不足的角度来讲,研究一种新型的高度计是迫在眉睫的了。
2.2国内外发展现状
现在市场上常见的气压高度计有机械式气压高度计、盒式气压高度计和腕带式气压高度计。
现在飞行器上所使用的气压高度计本质上是由盒装气压高度计改装而成的。
现在常见的机械式气压高度计基本都是液体式气压高度计,像酒精啊,水银啊等等,这几种高度计都已经是很古老的机械式气压高度计了,不但个头大,而且精密度低,随带困难且不够牢固,稍有碰撞就会碎裂,已经完全无法适应当今社会。
20世纪以后,地球村的科技整体呈现高速发展的趋势,尤其是现在的21世纪,各行各业不断地涌现出新技术、新材料。
高度测量方面也是如此。
虽然盒装气压高度计的出现部分地解决了液体气压高度计的一些缺点,比如体积过大、不方便携带、精度不高等问题。
在人类社会进入20世纪90年代以后,微电子行业蓬勃发展,各式各样的传感器陆续被发明,并有迅速地被运用到生产和生活当中,为人类的发展和生存带来了巨大的便利。
各种先进便捷的数字式气压传感器早已遍布世界,并广泛被运用。
便携式气压高度计早已走进千家万户,不高的成本,简单的使用方式,腕带式带来的便捷,使得气压高度计不在是一个专业设备,任何的人都可以实时的监控所在地区的海拔高度、气压、温度等数据。
这些年来,在电子技术不断发展的同时,传感器这个行业也进入了告诉发展时期。
从地区分布来讲,一些欠发达地区,如亚洲、东欧等逐渐成为了传感器的使用大户,传感器市场在其中不断扩张,大有使用量超越欧美等发达地区的趋势,毕竟这些地区处在发展的高峰期,需要大量使用各种设备。
而美日德等老牌的电子强国,也没有落后,依旧是传感器市场分布最大的地区。
从使用范围来讲,使用频率最大的行业还是汽车电子行业,每年有大量的各式的传感都被用在上面。
对于本次所需要的气压传感器行业,目前国内国外的很多电子器件公司都推出了各式各样的气压传感器,如摩托罗拉公司的MPX4105、APM公司的TP015P、intersema公司的MS系列气压传感器,当然还有产自Bosch公司,被广泛运用的BMP085数字式气压传感器等。
无数的气压传感器的出现使得各种类型的数字式气压测量装置大量出现,且普及率日益增加,精度也越来越高。
现在的数字式气压高度计不在只有测量气压和高度这两个单一的功能了,一般都还集成了测量温度、辨别方向、显示时间等功能,有的甚至还能预测未来的天气变化。
利用气压传感器和单片机的各类特性,巧妙的将两者结合,就能顺利地开创出无数多的实用产品,可以说是只要能想到的物品,一般都可以通过设计而实现就像超越传统机械式气压高度计和盒式气压高度计的便携式气压高度计一样。
得益于日新月异的电子技术和器件,气压高度计已经成功的由以前的只有专业场合专业人士才能使用的测量仪器变成今天的随处可见,方便使用的电子产品,并集成到众多的电子产品中,这都归功于电子行业技术发展和很多有创新精神开发者。
2.3本次设计方案思路
本次制作的系统主要由单片机控制部分、传感器部分、液晶显示部分、时钟电路和复位电路等组成,其结构框图如图2-1所示,各部分作用如下:
图2-1组成图
单片机部分:
本次系统的最主要的部分之一,它控制着这个系统的运作,包括数据的处理、反馈以及传输。
时钟电路:
为STC89C52提供信号源。
本次采用的晶体振荡器频率是12MHz。
显示电路:
显示温度、高度值和气压值。
传感器电路:
实现气压数据和温度数据的采集。
电源电路:
为整个系统提供能量支持。
2.4研发方向和技术关键
在查阅相关文献和联系自身实际后,能研发设计出以下功能:
(1)能实时显示当前温度,要解决的关键问题是将温度传感器与单片机的连接问题;
(2)能实时显示当前大气压强,要解决的关键问题是温度漂移问题;
(3)能实时显示当前海拔高度,要解决的关键问题是找到合适的换算公式同时要尽可能的减小误差。
2.5主要技术指标
本次设计主要达成的技术指标如下:
(1)压强精度:
0.01kPa
(2)温度精度:
0.1℃
(3)高度精度:
0.5米
3总体设计
便携式气压高度计就是一种集温度显示和高度显示于一体的,基于单片机的高集成度的有别于传统高度仪的测量海拔高度的仪器。
其工作原理是利用气压传感器采集压强信号,通过压强高度换算公式得到高度,同时温度传感器采集温度数据,将这两个数据经由单片机处理后传输到液晶显示屏上,在液晶显示屏上完成温度、高度和压强的显示。
便携式气压高度计的原理框图如图3-1所示。
本次设计的系统主要由单片机、电源电路部分、液晶显示部分、晶振部分、传感器部分组成。
图3-1组成原理图
3.1气压传感器的选择
在此次便携式气压高度计设计中,气压传感器是组成气压高度计的核心器件中之一。
在设计初期一直纠结与以下两款主流传感器,APM公司的TP015P传感器和Bosch公式的BMP085传感器。
一、TP015P
由APM公司生产,是一款传统的模拟气压传感器,一般来讲,该款传感器的可测范围在0~100kPa左右。
使用温度可以在-40℃~125℃之间,精度可以控制在±
0.2%左右。
本款传感器没有温度补偿功能,设计电路时需要增加额外温度补偿电路来增加精度,减小由于温度漂移带来的误差,同时它没有集成温度传感器,还需要增加温度传感器电路模块。
这样一来就会增加本次制作的工作量和成本,同时也会降低容错率,影响最终的完成度。
二、BMP085
Bosch公司的BMP085是一款高精度、超低能耗的数字压力传感器,被广泛运用于移动设备中。
该款传感器性能优异,使用方便,最大精度可以控制到0.03hPa,并且耗电极低,只有3uA。
最关键的是本款芯片是数字式的且集成了一块温度传感器在里面,不在需要外部的A/D转换模块和温度传感器模块,它也具有温度补偿功能,不在需要外部的温度补偿电路。
综上所述,使用TP015P传感器设计的话会比较复杂,还要加上温度采集模块和A/D转换模块,并且需要加了温度补偿电路才能提高精度;
而高集成度的BMP085设计更加方便,因此后者更加符合本次设计的要求且设计方便,所以选择BMP085作为本次设计的传感器。
3.2单片机的选择
单片机是一个系统的核心,选择好合适的单片机可以节约成本,减少能耗,同时也能方便设计,减小工作量。
本次设计所使用的单片机主要从以下两款单片机中挑选:
一、STC89C52具有以下特点:
8K字节程序存储空间;
512字节数据存储空间;
内带2K字节EEPROM存储空间;
可直接使用串口下载;
二、AT89C52具有以下特点:
256字节数据存储空间;
没有内带EEPROM存储空间;
需要专用的编程器下载。
本身两款芯片本身差别不是很大,但是出于烧写程序时的方便考虑,最终还是选择了STC89C52。
3.3电源的选择
既然本次设计的是便携式气压高度计,那么电源部分就只能选择电池,稳压源是不可选的,本来还想选择锂电池,但是对于锂电池不是很了解,怕出错,还是放弃了选择他。
所以备选的就只剩普通的干电池和纽扣电池了。
比较两者的特点,两者都能满足电压需求,虽然说纽扣电池的体积小,但是使用范围没有干电池广,干电池可以在任意商店买到,而纽扣电池在一些小商店无法买到,所以说使用干电池更加符合本次制作的主题。
因此,本次设计使用3节干电池作为电源。
3.4显示器件的选择
本次设计的便携式气压高度计需要能够同时显示气压、高度和温度值,显示器的选择方案如下:
一、数码管显示
数码管显示的数据够大够清晰,但是其耗电量比较大,并且无法显示复杂字符,只能显示数字。
功能过于单一,无法与此次设计的要求相符合。
二、液晶屏显示
液晶显示屏具有无辐射,能耗低,发热少,厚度小,质量轻,还能精确还原图像等优点,关键是能显示复杂符号,符合本次设计的要求。
方案比较:
液晶显示屏功能足够强大,而且能耗不高,完全可以满足本文设计的需求,所以选择液晶屏。
LCD显示器的选择
一、LCD12864
主要技术参数
显示容量:
128*64个像素点
芯片工作电压:
3.3~5.5
V
带背光,内置汉字库,能显示简繁汉字,串行和并行接口任选。
二、LCD1602
16*2个字符
4.5~5.5
自身带有背景光源,能更清晰地呈现两行字符,每行16个字符,缺点是无法在屏幕上显示汉字,但能显示各种字符,接口无法选择,只有一个并行接口。
LCD12864顾名思义像素是128*64,能显示8*4个汉字,本身自带汉字库,能显示图像效果,功能相对于LCD1602略有强大;
LCD1602虽然只能显示字母、数字和符号且只能显示16*2个字符,但它本身的寄存器不止32个,价格比LCD12864便宜,只要6元左右,而LCD12864至少也要40元一片。
综上,两片液晶显示屏都可以满足本次制作要求,因此出于成本控制考虑,选择LCD1602显示屏。
3.5海拔高度换算原理
海拔高度换算原理
利用气压值来测量海拔高度的具体原理是:
地球上空气体密度基本处处不同,一般来说,越是离地面近的地方空气密度就越大,而高空中大气稀薄,密度当然就比较小。
经过长期的大量的实践和实验证明,在海拔高度-100m~+4000m的范围中,一般就可以认为气压的下降与海拔高度的提升成反比关系,比例系数一般认为大约在-(12.3~11.5)Pa/m。
通俗的讲,就是海拔高度大约每升高1m,大气压强就会下降约12Pa。
而我们要制作的气压高度计,就是基于这个最基本的原理,通过不是很复杂的公式换算得到高度值。
当然了,想要明白变换的原理,还需要弄清楚以下几个知识点:
1.大气压强P(又称大气压或气压):
空气对完全没在其中的物体产生的压力叫大气压强。
大气压强的经常使用的单位有:
百帕(hPa)、兆帕(mBr)、毫米汞柱(mmHg)等。
2.标准大气压:
在标准大气下海平面上方的气压,其值为101.325kPa,这是压强的基本单位,记作atm。
化学中曾一度将标准压力(STP)定义为101.325kPa(1atm),但1982年起国际纯粹与应用化学联合会将“标准压力”重新定义为100kPa。
3.海拔高度:
海拔,也被称为绝对与海平面的绝对高度差,通常的标准计算为平均海平面的垂直距离,是从地面的地方所在海平面。
从海拔高度为零或零是一个沿海的平均海水面的水平位置。
它是基于地方站的验潮记录年,平均海面是从位置绘制。
解放以前,我国的海拔零点很不一致;
解放后,从1956年起,统一改用青岛零点,既青岛附近的黄海海面作为各地计算海拔高度的水准零点。
所以,本次设计采用国标计算海拔高度。
海拔高度的一般计算公式
大气物理学中对海拔高度和大气压力之间的关系作出了一个明确的规定。
国际标准大气是国际上一致认可的一个虚构的大气压强,他规定了-2000~80000m高度范围内大气各参数与高度的关系,公式详见1-1。
代表着传感器采集到的压力值,H就是与之相对应的海拔高度值。
有一个需要特别留意的地方就是温度的高低会影响到海拔高度与气压值之间的关系。
(1-1)
其中:
:
大气静压.
标准海平面气压,大小为
.
R:
气体常数R=287.05287/k.
标准海平面高度,0毫米汞柱的地方.
自由落体标准加速度.
相应层大气温度,值为288K.
H:
重力势高度.
地球半径.
本次设计想得到的高度h
基于BMP085的换算公式
根据上面得到的知识,我们可以知道大气压在数值上可以定义为所处位置的海拔高度到大气层最上面的空气柱的总质量。
在0到3000米内,大概高度每增加10米,大气压强就会减少大概100帕;
在精确的话,就是在海拔2000米内,高度没提高12米,大气压强就会减少133帕左右。
使用传感器采样得到的大气压强P和海平面标准大气压强Po就可以计算出当地海拔高度(取标准大气压为101.325兆帕)。
具体公式见下面的公式1-2,
(1-2)
该公式是由BMP085的使用手册提供,所以与BMP085传感器收集到的气压值配合能准确地得到当地海拔高度值,其中Altitude是以米为单位的海拔高度值,
为标准大气压值,p为当前的大气压值。
3.6误差的产生和消除
误差产生的的因素有很多种,其中最为关键的就是温度