基于单片机的数字气压计设计.docx
《基于单片机的数字气压计设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的数字气压计设计.docx(60页珍藏版)》请在冰豆网上搜索。
基于单片机的数字气压计设计
本科毕业设计(论文)
题目:
基于单片机的数字气压计设计
教学单位:
专业:
学号:
姓名:
指导教师:
2013年5月
摘要
气压计是利用压敏元件将待测气压直接变换为容易检测、传输的电流或电压信号,然后再经过后续电路处理并进行实时显示的一种设备。
其中的核心元件就是气压传感器,它在监视压力大小、控制压力变化以及物理参量的测量等方面起着重要作用。
运用于气压计的气压传感器基本都是依靠不同高度时的气压变化来获取气压值的。
本文主要介绍基于单片机的数字气压计设计。
核心是气压传感器BMP085的精密数字气压计系统的软、硬件实现方法。
本文围绕气压计,着重介绍了MCS51单片机、气压传感器BMP085、液晶显示模块LCD1602还有蜂鸣器等的功能结构和用处并对其组成的一个数字气压传感器系统进行了详细的分析。
本文介绍通过气压传感器BMP085获得与大气压相对的模拟电压值,用V/F转换器则可把气压传感器输出的电压信号转换成具有一定频率的脉冲信号;以便用单片机接收该脉冲信号,并根据单位时间内得到的脉冲数,并经过单片机中的A/D转换模块转换为数字脉冲,通过单片机对此脉冲序列的计数等处理后获得实际的气压值,并通过数码管显示电路显示这一系统。
本文具体阐述了系统的软件设计和硬件的搭建,以C语言为开发工具,进行了详细设计和编码。
总体目标是实现系统的可靠性、稳定性、安全性和经济性。
关键词:
单片机;数字气压计;气压传感器;
Abstract
Thebarometersensitiveelementtestpressurewillbedirectlyconvertedintoeasilydetected,andthetransmissionofcurrentorvoltagesignal,andthenthroughthesubsequentprocessingcircuitry,andareal-timedisplayofadevice.Thecorecomponentistheairpressuresensor,whichmonitorsthepressureinsize,controlpressurechangesaswellasthemeasurementofphysicalparametersplayanimportantrole.Usedinbarometerpressuresensorsarebasicallyrelyingonthepressurechangewhendifferentheightstogetthepressurevalue.
Thispaperdescribesthedesignofmicrocontroller-baseddigitalbarometer.ThecoreofthepressuresensorBMP085PrecisionDigitalBarometersystemsoftwareandhardwareimplementation.Aroundthebarometer,highlightingtheMCS51microcontroller,airpressuresensorBMP085LCDmoduleLCD1602buzzerfunctionalstructureandusefulnessofdigitalpressuresensorsystemconsistingofadetailedanalysis.ThisarticledescribesthepressuresensorBMP085atmosphericpressurerelativetotheanalogvoltagevalueV/Fconvertercanputpressuresensoroutputvoltagesignalintoapulsesignalofacertainfrequency;ordertousemicrocontrollerreceivesthepulsesignalbasedontheunitthenumberofpulsesinthetime,andafterthemicrocontroller'sA/Dconvertermoduleisconvertedintoadigitalpulsethroughthemicrocontrollerofthispulsesequencecountobtainedafterprocessingtheactualpressurevalueandthesystemthroughthedigitaldisplaycircuit.Thepaperdescribesthedesignofthesystemsoftwareandhardwaretobuild,Clanguagedevelopmenttools,adetaileddesignandcoding.Theoverallobjectiveistoachievesystemreliability,stability,securityandeconomic.
Keywords:
SCM;digitalbarometer;pressuresensor;
第1章绪论
1.1选题背景
数字气压计是利用压敏元件将待测的气压值直接变换为容易检测、易于传输的电流或电压信号,然后再经过后续的电路处理并进行实时显示的一种设备。
其中的核心元器件就是气压传感器。
气压传感器在监视压力的大小、控制压力的变化以及物理参量的测量等方面起着重要的作用。
运用气压计的气压传感器基本上都是依靠不同高度时的气压变化来获取气压值的。
相对于普通的水银气压计,不仅准确易读,而且方便携带。
气象学研究表明,在垂直方向上气压随高度增加而降低。
例如在低层,每上升100m气压便降低10hPa;在5~6km的高空,高度每增加100m,气压便会降低7hPa;而当高度进一步增加时,即到9~10km的高空之后,高度每增加100m,气压便会降低5hPa;同样,若空气中有下降气流时,气压会增加;若空气中有上升气流时,作用于空气柱底部的气压就会减小。
一般把作用于单位面积上空气柱的重量称为大气压力。
数字气压计大量应用在各种工矿企业、野外作业、以及各消费类电子产品等中,需求极为广泛。
本文着重介绍数字气压计在汽车胎压方面的应用。
我设计的是一种基于单片机的数字气压计的设计,主要针对的是汽车轮胎胎压计的设计。
汽车轮胎胎压计是通过气压传感器获得与汽车轮胎胎压相对应的模拟电压值,并经过A/D变换输入到单片机中进行分析处理,从而实时显示相应的气压值。
由于使用胎压计有一定的参数要求,所以设计数字气压计时要仔细了解这些参数以防由于使用不当而损坏胎压计。
汽车轮胎胎压计采用高性能绝对压力传感器,屏幕显示出高准确度的汽车轮胎胎压,实现了对轮胎压力的实时监测。
当汽车轮胎压力处于非正常运行状态时,即通过报警电路来通知驾驶员注意控制轮胎爆胎发生,以便达到安全驾驶的目的。
1.2研究意义
随着社会经济的高速发展,高速公路网的蓬勃兴起,以及交通的日趋发达,车辆行驶速度的不断攀升,交通隐患的防范问题已迫在眉睫。
因汽车轮胎漏气和爆炸等原因造成的交通事故,大多都是由轮胎的工作温度过高或者不合理胎压引起的。
研究汽车轮胎胎压计,对现代汽车行驶时的安全性、经济性和操纵稳定性具有尤为重要的现实意义。
现如今,人们对驾驶过程中的安全性与舒适性的追求越来越高,随车携带的数字气压计可以保证人们安全的行驶,有效地降低由于爆胎而导致的交通事故发生的概率。
而服务商所要做的就是提供一种物美价廉的数字气压计,以满足有车一族的需要。
本课题设计充分利用了BMP085芯片的功能,它不仅满足数字气压计采集、控制和数据处理的需要,而且还可以提高系统稳定性和抗干扰能力。
同时,由于大量的工作由单片机软件来实现,简化了设计电路,而且调整方便、可兼顾的指标多,从而大大降低了成本。
另外,作为一种功能强大的平台,该数字气压计具有很好的功能扩展性,具有精度高、稳定性好、功能易于扩展等优点,为仪器及电子产品设计后续技术升级,以进一步满足市场的需要提供了条件。
1.3国内外相关技术概况
1.3.1气压计技术概况
目前国际国内很多公司都推出了其数字气压传感器,如摩托罗拉公司的MPX4105和Intersema公司的MS5534b另外还有华普微电子的HP03系列数字气压传感器、BOCSH的BPM085系列数字气压传感器。
众多数字气压传感器的出现使得多样化的数字化气压测量装置、用品大量出现,并越来越普及,精度也越来越高。
数字气压计一般不会只有测量气压一种功能,一般都有其他的功能,比如测温度、指南针、码表等等的功能。
本课题研究所用的气压计就附带有温度测控。
目前各国研制的轮胎气压报警系统主要分为两种类型:
一种是间接式,它通过汽车ABS(防抱制动系统)的轮速传感器及轮胎的力学模型,间接求出轮胎气压,以达到监视轮胎气压的目地;另一种是直接式,它利用安装在每一个轮胎里的以锂离子电池为电源的压力传感器来直接测量轮胎的气压,并通过无线调制发射到安装在驾驶台的监视器上,而监视器随时显示各种轮胎气压,驾驶者可以直观地了解各个轮胎的气压状况,当轮胎气压太低或有渗漏时,系统就会自动报警,确保行车安全。
市场研究的预测表明,直接系统技术将成为主流技术。
汽车高速行驶中,由于轮胎的压力不正常而造成爆胎是驾驶员难以预防的,也是突发性和恶性交通事故发生的重要原因。
引起轮胎漏气和爆胎的原因主要有:
(1)轮胎工作温度过高;
(2)轮胎气压过大;(3)轮胎使用时间过长;(4)轮胎负荷过大;(5)汽车行驶速度过快。
为使汽车能够处于安全的驾驶状态,驾驶者必须在行车过程中实时了解轮胎的超压、欠压、温度等工作状态,我们设计的基于单片机的汽车轮胎胎压计具有以下的功能:
(1)实时监测轮胎的压力情况及温度;
(2)当某个轮胎处于欠压状态时,相应的欠压报警指示灯亮。
当汽车轮胎压力处于非正常状态运行时,通过报警来通知驾驶员,控制轮胎爆胎发生,以达到安全驾驶的目的。
1.3.2国内外相关技术
对轮胎爆胎进行预警是保障汽车安全行驶的关键所在,已成为汽车行业研究的热点问题。
在轮胎爆胎预警系统及相关技术的研究方面,美国、日本、德国、法国、英国在近几年都取得了突破性的进展,形成了性能和功能完善的轮胎压力监测系统产品。
从近年发布的世界新车资料来看,林肯大陆、奔驰、宝马、标志、道奇等中高档车均安装了轮胎压力监测装置,用于监测汽车行驶过程中轮胎气压,车内主控机板显示模块实时显示轮胎气压状态。
据中国汽车工业协会相关市场调查表明,国内轮胎爆胎预警系统的相关产品有推出,但都是技术性能不甚完善简易系统产品,存在以下缺点:
①系统工作寿命极短;②系统在低温或高温环境下失效;③工作可靠性较差。
而性能可靠、功能完善、技术成熟的产品均是一些国外知名公司的品牌产品,但价格较为昂贵。
因此,研制性能可靠、功能完善并且价格能为当前多数国内消费者所接受的轮胎爆胎预警技术产品很有必要。
国内汽车行业正迫切需求成熟的轮胎爆胎预警系统及产品的投放市场以解决因轮胎爆胎而引起的行驶安全性问题。
1.4本课题的重点及难点
本课题的重点及难点就是对整体设计方案的选择和各硬件模块的选择,具体表现为整个系统总共包含几个模块,对气压传感器、A/D转换器等的选择,还有就是怎样通过气压传感器对气压信号的采集、控制、放大等处理完成气压参数的自动获取,以及进行数字显示等等。
1.5本课题相关理论及西安地区大气压
在设计电子气压计之前首先要搞清楚气压的定义。
气压是作用在单位面积上的大气压力,即等于单位面积上向上延伸到大气上界的垂直空气柱的重量。
气压以百帕(hPa)为单位,取一位小数。
国际制单位:
帕斯卡,简称帕,符号是Pa。
常用单位:
标准大气压。
表示气压的单位,习惯上常用水银柱高度。
例如,一个标准大气压等于760毫米高的水银柱的重量,它相当于一平方厘米面积上承受1.0336公斤重的大气压力。
由于各国所用的重量和长度单位不同,因而气压单位也不统一,这不便于对全球的气压进行比较分析。
因此,国际上统一规定用"百帕"作为气压单位。
经过换算:
一个标准大气压=1013百帕(毫巴)
1毫米水银(汞柱)柱高=4/3百帕(毫巴)
1个标准大气压=760mm水银(汞柱)柱高。
气压产生的原因:
从分子动理论可知,气体的压强是大量分子频繁地碰撞容器壁而产生的。
单个分子对容器壁的碰撞时间极短,作用是不连续的,但大量分子频繁的碰撞器壁,对器壁的作用力是持续的、均匀的,这个压力与器壁面积的比值就是压强大小。
影响压强的因素:
气压的大小与海拔高度、大气温度、大气密度等有关,一般随高度升高按指数律递减。
气压有日变化和年变化。
一年之中,冬季比夏季气压高。
一天中,气压有一个最高值、一个最低值,分别出现在9~10时和15~16时,还有一个次高值和一个次低值,分别出现在21~22时和3~4时。
气压日变化幅度较小,一般为0.1~0.4千帕,并随纬度增高而减小。
气压变化与风、天气的好坏等关系密切,因而是重要气象因子。
通常所用的气压单位有帕(Pa)、毫米水银柱高(mm·Hg)、毫巴(mb)。
它们之间的换算关系为:
100帕=1毫巴≈3/4毫米水银柱高。
气象观测中常用的测量气压的仪器有水银气压表、空盒气压表、气压计。
温度为0℃时760毫米垂直水银柱高的压力,标准大气压最先由意大利科学家托里拆利测出。
大气压强随高度升高而降低在海拔2000米范围内.海拔每升高12m降低一个毫米汞柱。
西安市平均海拔高度:
397米.大气压力:
冬季:
734毫米汞柱,夏季718毫米汞柱。
由公式:
1毫米汞柱=0.133千帕
可得:
734
0.133=97.622kpa
718
0.133=95.494kpa
所以可得,西安地区大致气压范围在95.494—97.622之间。
第2章系统总体设计
2.1气压计结构
本文研究的气压计结构如图2.1所示。
其中气压传感器用来将被测气压转换为电压信号;用V/F转换器则可把气压传感器输出的电压信号转换成具有一定频率的脉冲信号;以便用单片机接收该脉冲信号,并根据单位时间内得到的脉冲数,依据电压与频率的线性关系式计算出所对应的气压值,最后在单片机控制下由LED显示出来。
本气压计能够在气压传感器的线性范围内准确测量相应气压值。
需要说明的是,其测量值是绝对气压值。
本文研究的气压计BMP085的技术指标如下。
压力范围:
300—1100hPa(海拔9000米—-500米)
电源电压:
1.8V—3.6V(VDDA)
1.62V—3.6V(VDDD)
LCC8封装:
无铅陶瓷载体封装(LCC)
尺寸:
5.0mmx5.0
1.2mm
低功耗:
5μA在标准模式
高精度:
低功耗模式下,分辨率为0.06hPa(0.5米)
高线性模式下,分辨率为0.03hPa(0.25米)
含温度输出
C接口温度补偿
无铅,符合RoHS规范,MSL1
反应时间:
7.5ms待机电流:
0.1µA
无需外部时钟电路
图2.1气压计结构
2.2设计方案
2.2.1方案一
采用单片机主控,通过压力传感器、A/D转换采集数据信息,经过含有单片机的检测系统检测,将结果传送到单片机控制的主控器,数据通过显示器显示。
原理框图如图2.2所示。
图2.2设计方案一
2.2.2方案二
采用集成的单片机主控,通过压力传感器将气压信号送入带A/D转换的单片机中,以及在相关模拟分立元件的辅助下进行A/D转换以及其它的数据处理,将处理的结果送显示部分进行显示。
原理框图如图2.3所示。
图2.3设计方案二
综上所述,方案一电路虽然与方案二类似,都较方案二调整方便、可兼顾的指标多,但方案一利用PC机平台实现软件操作,在操作运行复杂,并且性价较低,因此耗费较大,所以在实际应用中一般不用,所以我们选择第二种方案。
设计51单片机数字气压计系统时,需要考虑下面4个方面的内容。
·选择合适的气压传感器芯片,这要根据实际需要以及各种气压传感器的性能参数来决定。
·选择合适的A/D转换器件,它的作用是将气压传感器输出的模拟电流或电压信号转换为数字信号。
·设计单片机和A/D转换器件的接口电路。
·实现气压信息采集并输出的软件设计。
2.3系统总体结构
本系统的总体结构框图如图2.4所示。
图2.4系统总体结构
由图2.4可知,整个系统的工作流程如下。
测量前先为各功能模块初始化,测量时被测气压由气压传感器转换为模拟的电压输出,此输出信号不能直接交由单片机处理。
因此,需要经过V/F转换模块把气压传感器输出的模拟电压信号转换为数字脉冲(其频率随输入电压呈线性变化)。
通过单片机接收该脉冲信号,得到单位时间内获得的脉冲数,依据电压与频率的线性关系式计算出所对应的实际气压值,最后通过数码管显示电路显示给用户。
如果该气压值不在预设值范围之内,则传送一个脉冲信号给单片机控制蜂鸣器报警,提示用户气压出现异常。
2.4系统各功能模块
2.4.1初始化模块
1)LCD1602的初始化
1602一般初始化(复位)过程
延时15ms
写指令38H(不检测忙信号)
延时5ms
写指令38H(不检测忙信号)
延时5ms
写指令38H(不检测忙信号)
以后每次写指令、读写数据操作均需要检测忙信号
写指令38H:
显示模式设置
写指令08H:
显示关闭
写指令01H:
显示清屏
写指令06H:
显示光标移动设置
写指令0CH:
显示开及光标设置
LCD1602由程序实现软初始化,部分程序如下:
voidInitLcd();//初始化lcd1602
voidWriteDataLCM(uchardataW);
voidWriteCommandLCM(ucharCMD,ucharAttribc);
voidDisplayOneChar(ucharX,ucharY,ucharDData);
voidconversion(longtemp_data);
voidSingle_Write(ucharSlaveAddress,ucharREG_Address,ucharREG_data);//单个写入数据
ucharSingle_Read(ucharREG_Address);//单个读取内部寄存器数据
voidMultiple_Read(uchar,uchar);//连续的读取内部寄存器数据
2)气压传感器的初始化
初始化BMP085,单片机开机进行自检,检查各硬件连接状况,利用蜂鸣器来判断各个模块状况。
其初始化程序如下:
voidbmp085Calibration()//BMP085初始化设置;
{
ac1=bmp085ReadInt(0xAA);
ac2=bmp085ReadInt(0xAC);
ac3=bmp085ReadInt(0xAE);
ac4=bmp085ReadInt(0xB0);
ac5=bmp085ReadInt(0xB2);
ac6=bmp085ReadInt(0xB4);
b1=bmp085ReadInt(0xB6);
b2=bmp085ReadInt(0xB8);
mb=bmp085ReadInt(0xBA);
mc=bmp085ReadInt(0xBC);
md=bmp085ReadInt(0xBE);
}
2.4.2数据处理模块
数据处理模块主要是对A/D转换模块的数据进行多次采集,并且对采集的数据进行处理,此处理过程主要是对采集的数据进行初值定义以及相应的移位处理,并且把处理好的数据送入相应的缓冲区,为后面的显示模块作好准备。
2.4.3数码显示模块
本设计是用单片机的P1口连接一个LCD1602液晶显示屏显示。
通过软件编码,显示当前的温度和气压值。
2.4.4警报电路模块
当气压传感器所测到的气压值超出预设值范围时,即给单片机一个脉冲信号,单片机控制蜂鸣器报警。
由于受条件所限,本次设计没法控制气压,只能控制温度,即当传感器测得温度值大于30摄氏度时,单片机控制蜂鸣器报警。
2.5各功能模块的选择
2.5.1单片机的选择
方案一:
选择arm系列芯片,arm系列具有低功耗,高性能的优点,一个机器周期能处理32位数据,可以使气压计的精度更高。
方案二:
选择TI公司的MSP430系列,430现在成为比较主流的单片机,在具有低功耗的五种模式下,还具有一定的计算能力,一般都为16位。
方案三:
选择使用八位处理的51系类单片机。
综合比较:
arm系列虽然处理精度高,但相比较MSP430系列和51系类价格太高。
考虑到我们身处平原地区,气压值浮动较小,不需要精度太高综合价格,我们最终选择51系类单片机,采用STC89S52。
2.5.2气压传感器的选择
方案一:
采用摩托罗拉公司的MPX4105,MPX4105可以产生于所加气压呈线性关系的高精度模拟输出电压。
方案二:
采用BOCSH的BMP085,BMP085是一款高精度、超低能耗的压力传感器,可以应用在移动设备中。
它的性能卓越,绝对精度最低可以达到0.03hPa,并且耗电极低,只有3µA。
BMP085采用强大的8-pin陶瓷无引线芯片承载(LCC)超薄封装,可以通过I²C总线直接与各种微处理器相连。
综合考虑,我们选用第二种方案,即BOCSH公司的BPM085。
2.5.3数码显示的选择
方案一:
采用八连排七段数码管,七段数码管有共阴和共阳两种,如用共阳显示电路需要用74LS47译码驱动集成电路,无论共阴还是共阳七段显示电路,都需要加限流电阻。
否则通电后就把数码管烧坏了。
但其价格便宜,使用简单。
方案二:
采用LCD1602,1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,内含复位电路,具有对比度可调、微功耗、体积小、显示内容丰富、超薄轻巧等特点,常用在袖珍式仪表和低功耗应用系统中。
综上考虑,我们选用第二种方案,即用LCD1602作为数码显示。
2.5.4蜂鸣器的选择
方案一:
采用有源蜂鸣器,有源蜂鸣器在工作的时候具有较高的稳定性。
方案二:
采用无源蜂鸣器。
综合比较:
使用无源蜂鸣器,考虑到板子上的线路布局,使用无源蜂鸣器,在电路上加入一个8550三级管,同样可以使其更稳定。
2.6系统的配置
我们用AT89S52单片机作为整个系统的核心,气压传感器、LCD1602数码显示器、蜂鸣器等为重要组成部分,组成了一个稳定的数字气压计系统。
本系统通过气压传感器对气压信号的采集、控制、放大等处理完成气压参数的自动获取,以及进行数字显示等等。
在此过程中需要利用AT89S52单片机内部的定时器对其进行度量,再使用软件模块对