APP下载

基于单片机控制的数字气压计的设计

2015-11-17朱叶

现代电子技术 2015年16期
关键词:结构分析

朱叶

摘 要: 数字气压计是一种精确测量压力大小的工具,运用单片机的数字气压计携带方便,操作简单,精确度高,安全性好,具有良好的应用前景。对基于单片机控制的数字气压计进行详细介绍,分析气压计的总体结构,介绍气压计的软硬件实现方法和数字气压计系统的调试与仿真,保障数字气压计系统功能的可靠性和稳定性。

关键词: 数字气压计; 软件实现方法; 硬件实现方法; 结构分析

中图分类号: TN43?34 文献标识码: A 文章编号: 1004?373X(2015)16?0100?03

Design of digital barometer controlled by single chip microcomputer

ZHU Ye

(Xian Railway Vocational and Technical Institute, Xian 710014, China)

Abstract: Digital barometer is an accurate pressure measurement tool. The digital barometer with microcontroller is convenient to be carried, and has simple operation, high accuracy, good safety and good application prospect. The digital barometer controlled on single chip microcomputer is introduced in detail. The overall structure of the barometer is analyzed. then introduce The method to realize software and hardware of the barometer is described. The debugging and simulation methods of digital barometer system elaborated to guarantee the reliability and stability of digital barometer function.

Keywords: digital barometer; software realization method; hardware realization method; structural analysis\

0 引 言

气压计是一种运用压敏元件将待测气压转化成易被检测和传输的电压电流信号,通过后续电路处理将数据显示出来的一种测量工具。气压计的核心器件是气压传感器,其在监测压力大小、控制压力变化和对其他物理数量测量多个方面都有十分重要的作用。气压计通过不同高度时的气压变化获取气压数值。根据气象学规定,作用于单位面积上空空气柱的重量被称为大气压力。根据气象学研究,垂直方向上气压随着海拔高度的上升而下降。在近地地区,每上升100 m气压降低10 hPa,在距地面5~6 km的空中每上升100 m高度气压降低7 hPa;在距地面9~10 km的高空中每上升100 m气压降低5 hPa。当空气中有下降气流的时候气压会增加,反之会减小。

数字气压计广泛应用于工矿企业、电子产品和户外作业之中,经过长时间的发展其精确度越来越高,功能更加多样化,逐步向智能化、多功能化方向发展,笔者认为基于单片机控制的数字气压计发展前景很好。

1 气压计的总体结构分析

本文介绍的数字气压计采用集成的单片机控制,测量时待测气压被气压传感器转换成可检测的电压输出,通过V/F转化器将气压传感器输出的电压信号转化成有特定频率的脉冲信号,单片机接收脉冲信号,根据其单位时间内接收的脉冲数和电压频率的线性关系式计算出相应的气压值,最后气压值显示在LED屏幕上。

在这个流程中有以下3点需要注意:根据实际需求和气压传感器的具体参数选择合适的气压传感器芯片;选择合适的V/F转换器,确保气压传感器输出的模拟电压电流信号转换成能被识别的数字信号;设计合理的单片机与各模块的接口电路。数字气压计测量出的气压值是在气压传感器的线性范围内的绝对气压值。

2 数字气压计的硬件实现

数字气压计的硬件构建需要考虑其稳定性、复杂性、制造成本、维护成本等多种因素。本节要对数字气压计的硬件设施的组成进行介绍,建立一套稳定的、系统的硬件设施。

2.1 气压传感器

气压传感器在整个气压计结构中处于核心地位,其选择需要考虑测量精度、测量范围、温度变化、绝对气压值等因素。数字气压计测量的是绝对气压值,因此需要能测量绝对气压值的气压传感器;为了简化电路设计,提高气压计的稳定性和抗干扰能力,还需要气压传感器具有温度补偿。

根据上述要求,在本数字气压计中选择Motorda的MAX4100A型气压传感器。这种气压传感器的温度补偿范围为-40~125 ℃,承压范围为20~1 050 kPa,在这个压力范围内有良好的线性,电压输出信号范围为0.3~4.65 V。本气压传感器可以用于测量绝对气压值,其输出关系具体如下:

Vout=Vs(0.010 59P-0.152 8)±Error

式中:Vs是工作电压;P是大气压值;Vout为输出电压。

2.2 V/F转换

待测气压被气压传感器测出的是电压电流信号,但是其不能被单片机识别,这时候就需要V/F器件把输入进来的电压值转换成可被单片机识别的脉冲串。虽然V/F器件本身不是量化器,但是定时器和计数器的存在可以实现A/D的转换,将模拟电压信号转化成抗干扰能力强、可实现远距离传输、可直接输入计算机的脉冲串。endprint

本文根据外围电路相关性能标准和实现的难易程度选取LM331电压/脉冲转换芯片,这种器件采用的是温度补偿能隙基准电路,温漂最大能达到50 ppm/℃,温度稳定性非常好,而且这种器件输出的脉冲串兼容性好,可以和任何逻辑形式兼容;LM331可以使用单双电源供电,电压允许范围为5~40 V,最大非线性误差为0.01%。LM331的压频转化关系为:

fo=KVi

其中,K=[Rs2.09RtCtRL],Rs=Rs1+Rs。

图1为LM331外围电路连接图。

图1 LM331外围电路连接图

其中R的作用是调节电路的转换增益,K的值由设计者根据具体情况具体设定。考虑到单片机要使用测频率法测量fo,为保证频率信号的测量精度,在LM331中K=2 000,Rs=28.424 kΩ。对于不同元件的参数有着不同的要求,设计者要根据数字气压计的实际使用需求来选择元件的参数和测量精度。需要注意的是在选择V/F器件时要选取漏电流小的电容器,使用低通滤波器减小输出电压中的干扰脉冲,提高数据精度。

2.3 单片机

在本设计中,气压计需要单片机的P1口和P3口的一部分和中断源、定时器、计数器各一个。因此在本设计中选取AT89S52控制器,该控制器具有低功耗、高性能的优点,具有8 KB的FLASH和可编程的存储器。AT89S52控制器是Atmel公司生产的高密度非易失性存储器,与其他模块可以完全兼容。AT89S52具有以下的性能标准:8 KB FLASH,256 B RAM,32位的I/O口线,具有2个数据指针、3个16位计数器、1个看门狗定时器、1个6向量2级中断结构、片内晶振和时钟电路。除此之外,AT89S52支持两种软件工作模式,可以降到静态逻辑操作模式以节省电量。在空闲模式下,CPU工作停止,RAM、计数器、定时器可以保持工作;当发生掉电现象时,RAM的内容被自动保存下来,单片机内一切运转终止,防止意外的发生。

该单片机有40条引脚,按照功能来分可分为电源和时钟引脚、控制引脚、输入和输出引脚,其中P1口和P3口对应的输入和输出引脚在整个单片机结构中处于核心地位。P1口是一组8位准双向I/O口,内部有上拉电阻,将上拉电阻拉到高电平,P1口就具有输入口的功能;P3口是一组8位双向I/O口,内部有上拉电阻,其输出缓冲级可以驱动4个TTL逻辑门电路,将上拉电阻拉到高电平,P3口就具有输入口的功能。不仅如此,P3口还承担着许多第二功能。AT89S52控制器可以直接对LED显示屏输出数据,还有可编程的串行通信口,具有体积小、价格低、耗能低、性能高等优点。

2.4 LED显示

每一个LED都是由7段发光二极管组成的显示单位,其具有10个引脚,分别对应发光二极管的7个段、1个小数点和2个公共端。发光二极管有共阳极接法和共阴极接法2种,本设计需要4个LED组成一个显示单元,并采用动态显示的方式。由于同时使用4个单个LED构成显示单元的连线比较复杂,而且给单片机的端口驱动带来很大压力,这就需要加装专门的驱动芯片。由于4个LED是连体的,所以可以使用共阳极接法,这样的显示单元具有12个引脚、7个发光二极管段、4个公共端,再加装1个三极管驱动电路可以提高数码管的亮度。图2为本设计中的LED显示单元电路图。

图2 LED显示单元电路图

根据显示单元的电路图可以看出电阻R和Ra太大或太小都会使LED正常显示,所以需要选择适合的电阻以保障LED的亮度。考虑到印制板布线的便捷,可以选择贴片电阻和排阻的形式节省版布线的空间。

3 数字气压计的软件实现

对于单片机来说,其输入信号是具有一定频率的脉冲序列,单片机的计数器可以获取脉冲序列的频率并将其换算成具体的气压值。所以本节将着重介绍单片机的软件设计,分析其中的计算原理。基于单片机的数字气压计的程序流程设计图如图3所示。

图3 程序流程设计图

具体的信号转换过程如下:

首先,待测气压被气压传感器转换成电压输出,根据气压传感器的资料可知,输出电压Vout和气压P存在如下关系:

Vout=VCC(0.01P-0.09)

由于VCC是+5 V,所以上式可以转化为:

Vout=5×(0.01P-0.09)

然后气压传感器输出的电压Vout作为V/F的输入电压Vin转换成具体一定频率的脉冲序列fo,而这二者又存在fo=KVin的关系。根据Vout=Vin的关系可以得出:

[P=fo5K+0.090.01=20foK+9]

式中K为V/F转换增益,K=2 000,根据上式可以将脉冲序列的频率换算成气压值。

本设计的软件程序设计采用C语言编程。C语言是一种编译型的结构化程序设计语言,其语法结构简单,处理功能强大,有编译效率高、可读性强、运行速度高等多方面优点,可以让编程者实现对系统硬件的直接操作。运用C语言编写数字气压计的系统软件,可以大大缩短单片机的研发周期,增强软件的可读性,也便于对软件内容进行改进和变更,有利于应用系统的大规模开发和高效率的利用。其具体的代码为:

void spi_proc(void)

{unsigned int xdata c1,c2,c3,c4,c5,c6; long xdata utmp;

float xdata dt,temp,off,sens,x,p;

float xdata temp2,p2;

c1=(w1 >> 1) & 0x7FFF;

c2=((w3 << 6) & 0x0FC0)+(w4 & 0x003F);

c3=((w4 >> 6) & 0x03FF);

c4=((w3 >> 6) & 0x03FF);

c5=((w1 << 10)& 0x0400) +((w2>>6)&0x03FF);

c6=(w2 & 0x003F);

utmp=8*c5+20224;

dt=(float)(d2-utmp);

temp=200+dt*(c6+50)/1024;

off=c2*4+((c4-512)*dt)/4096;

sens=c1+(c3*dt)/1024+24576;

x=(sens*(d1-7168))/16384?off;

p=x*10/32+2500;

if(temp>450)

{temp2=3*(c6+24)*(450-temp)*(450-temp)/1048576; p2=temp2*(p-10000)/8192; }

else if(temp<200)

{temp2=11*(c6+24)*(200-temp)* (200-temp)/1048576; p2=3*temp2*(p-3500)/16384; }

else

{temp2=0; p2=0; }

temp=temp-temp2;

p=p-p2; }

4 系统的调试与仿真

为保障本文设计的数字气压计的可靠性和稳定性,还需要对整体系统进行调试与仿真。使用Keil软件和Proteus软件相结合进行仿真。使用Proteus软件对系统的总体执行效果进行调试,主要调试单片机的电源供应和电路复位。单片机的电源电路、复位电路和晶振电路是单片机乃至整个数字气压计正常运转的基础,要首先保证这几部分的正常工作。在调试中,单片机时钟的频率保持在11.059 2 MHz上。然后是应用Proteus软件对电气规则功能进行检查,检测其连接是否正确并得出检查报告,一旦发现原理图中存在错误要立刻根据错误点进行改正。在原理图的连接没有问题时,再进行器件连接调试,对电路中所有器件的名字、参数、器件之间的连接网络进行全面检查,确认每一个器件的正确和之间关系的合理。之后对PCB图进行检查,检查PCB设计、PCB电气特性和物理特性、印制板和导线图形检查。最后对整个程序进行调试和仿真。

5 结 语

本文对基于单片机的数字气压计进行分析,在硬件设施上,需要选择合适的气压传感器、V/F转换器、单片机和LED显示,设计合理的硬件电路,并通过C语言编译出能将脉冲序列的的频率转换为可读取的气压值信号。使用V/F变换信号和编程克服了测量中稳定性差、精确度低的缺点,为设计出功能易于扩展、可靠而又稳定的数字气压计提供了一种全新的思路。

参考文献

[1] 曹万丹.基于AVR的智能数字气压计的优化设计[D].武汉:武汉科技大学,2009.

[2] 沈绍祥,胡爱华.基于单片机控制的数字气压计设计与实现[J].国外电子元器件,2004(7):66?69.

[3] 田海燕,赖春强,贺思桥.基于MS5534C的数字气压计设计[J]. 兵工自动化,2012(9):86?88.

[4] 杨智.低功耗数字气压计的设计[J].沈阳航空工业学院学报,2007(3):72?73.

[5] 孙艳玲,刘亚丽.基于MPX4105芯片的数字气压计设计[J].中国仪器仪表,2007(11):62?65.

[6] 方刘海,文继国.基于BMP085的精密数字气压计设计[J].电子设计工程,2014(24):69?71.endprint

猜你喜欢

结构分析
京津冀一体化进程中的财政支出情况分析
京津冀一体化进程中的财政支出情况分析
影片《推手》剧作结构分析
疲劳分析在核电站核承压设备设计中的应用
医疗机构费用收入支出结构调查分析
山东省服务业统计分析
社会网络分析
2016年中国经济走势展望
“超四面体”及其衍生物的结构浅析