- UID
- 1023230
|
O 引言
对于身处野外的人来说,一个比较关心的问题就是所在地的海拔是多少。而目前市面上这类产品很少,一般都是高端产品才带有此项功能。有的机械式海拔仪虽然价格较低,但精度太低。所以急需研制一种精度高,价格低廉的海拔仪,以满足大众消费的需求。对于海拔高度的测量,常用的方法。一是GPS全球定位系统;二是通过测量大气压来间接的获得海拔高度。前一种方法成本较高且难度较大,而采用后一种方法相对来说,器件的选择范围要更广一些,因而可以把成本降到最低。
1 多功能海拔仪的总体设计思路
本文采用测量大气压强来间接的获得海拔高度的方法。通过大气压强传感器得到表征大气压强的电压信号,该信号通过放大电路和滤波电路后,再进行A/D转换。单片机作为本系统的控制单元,主要完成三个功能:其一是对MD转换的数据进行数据转化,以得到海拔的准确值;二是控制温度传感器;三是控制液晶显示,以将海拔和温度准确值在液晶上显示。其系统原理框图如图1所示。
本文的高度测量的理论依据是大气压强与海拔高度关系满足玻尔兹曼公式:
其中,P是高度为Z处的大气压强,P0为海平面上的大气压强,μ为空气的摩尔质量,R为普适气体常数,T为气体的温度。事实上,玻尔兹曼公式是在假定T为常数的条件得出的,而实际情况下。大气的温度与海拔高度有一定的关系。在通过大气压强的值来计算海拔时,必须考虑温度因素,所以,必须采取一定的补偿措施。本系统采用温补和软件方法,可在很大程度上减小温度对测量值的影响。
2 硬件电路
2.1 大气压强传感器及温度补偿电路
本仪器采用APM公司的TP015P大气压强传感器,该器件的测量范围为0~100 kPa。工作温度范围为-40℃~125℃,静态精度<±0.2%FS0。从该大气压强传感器在相同温度下的测试结果来看,其输出值与大气压强基本成线性关系。但为了去除温度带来的误差,还须加上温度补偿。常用的温度补偿方法有加二极管、三极管、热敏电阻和软件补偿(如神经网络等)。经过测量计算,本文以NTC热敏电阻来进行温度补偿,其电路如图2所示。
2.2 放大滤波电路
本仪器采用的运算放大器是美国AD公司的仪器仪表放大器AD620,该放大器的放大系数可以由外接电阻RG所决定,其具体的放大倍数计算公式为。 AD620的核心是三运放电路,并具有较高的共模抑制比,而且温度稳定性好,放大频带宽,噪声系数小,调节方便。由于大气压强传感器TP015的输出在 10~150 mV,而A/D芯片MCP3221的信号输入范围为0~3 V,故设定AD620的放大倍数约为30倍。其放大滤波电路原理如图3所示。
2.3 A/D转换电路
本仪器中的A/D电路采用Microchip Technology公司的12位低功率模数转换器MCP3221。MCP3221是连续的近似值12位逐次逼近式A/D转换器。采用2线串行和I2C兼容的接口。MCP3221采用单电源工作,故可简化电路设计。该器件可在较大的电压范围内工作(2.7~5.5 V),同时片内还具有采样保持电路和自定时转换功能,其采集时间和转换可利用内部时钟定时。每次转换后,可将结果存在12位的寄存器里,并按照I2C总线时序读取A/D转换的值。当MCP3221采用快速转换模式并且时钟速率为400 kHz时,其最大的采样速率可达22.3 ksps。在硬件电路上,MCP3221的电源电压必须具有较小的纹波且保持稳定,这样,A/D的误差才会小。MCP3221的SCL和SDA引脚需上拉 10 kΩ电阻后再与单片机I/O相接。MCP3221与8051单片机的接口电路如图4所示。
2.4 温度采集电路
本文介绍的海拔高度测量仪器的温度采集电路采用Dallas半导体公司的一线式数字温度传感器DS18B20。数字式温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器,它可采用一根信号线来实现信号的双向传输,并具有接口简单,节省I/O口线,便于扩展和维护等优点。DS18B20 的测量温度范围为-55~+125℃,在-10~+85℃范围内,其精度为±0.5℃。现场温度直接以“一线总线”的数字方式传输,从而大大提高了系统的抗干扰性,适合于恶劣环境下的现场温度测量。DS18B20与单片机8051的接口电路如图5所示。
2.5 显示电路
本仪器采用的1601字符型液晶显示模块具有体积小、功耗低、显示内容丰富等特点。该模块的工作电压为5 V,并带有字符对比度调节和背光等功能。1601模块与单片机的接口电路如图6所示。
3 软件设计
该仪器工作流程首先是初始化单片机、字符液晶和DS18B20;第二是启动温度转化,发送DS18B20匹配命令,逐个将各个 DS18B20采集的温度值读出;第三是启动A/D转换,采集8个大气压强的电压值,并求出平均值;第四,用转换算法将电压值转化成实际的海拔高度,第五是用液晶显示温度和海拔高度。其系统软件流程图如图7所示。
在整个系统软件设计中,会涉及到一线总线和I2C总线编程技术。一线总线的读写时序操作、搜索算法和匹配算法的实现是系统软件最为重要的部分。在一线总线程序中,关键是一线总线的总线初始化、读数据和写数据时序的实现。本仪器的软件系统涉及到DS18B20的命令字有搜索命令(OxF0)、温度转化命令 (0x44)、读取温度命令(0xBE)和匹配命令(0x55)。
4 产品测试结果分析
因为玻尔兹曼公式是在假定大气温度为常数的情况下推导出来的。而实际情况是大气的温度与海拔高度有关。故在实际测量的基础上(两个仪器测试),可利用MATLAB软件进行实验数据分析。其分析结果如图8所示,这样就可以找到传感器输出值与海拔高度的实际对应关系。目前,本产品已在四川省成都市龙泉山上进行了4个不同海拔高度的测量,其测量高度与实际高度的对比如表1所列。
5 结束语
该数字海拔仪能够精确地测出大气压强,并能够正确地用数字方式显示海拔高度和温度值。经过大量的实地测量,验证了文中的海拔高度和大气压强转换算法的正确性和仪器精度。该仪器可广泛使用于野外考察,旅游等民用领域,具有广阔的市场前景。 |
|