我国的疆域广阔,时区分布不同,海拔以及温度,湿度等气候差异都很大,实时的了解我们所处位置的气候情况对工作和生活是很重要的。尤其对一些野外工作的科研人员来说,需要测试海拔,温度,湿度等物理量作为参考因素。为了测量这些物理量需要我们携带多种测试设备,这对野外工作很不方便。为了实时方便的了解我们所处的海拔高度和天气情况,我们需要有更便捷,功能更齐全的综合测量仪器。同时可以将现场的数据送到PC,以方便今后的进一步分析和处理。
整个综合测试仪主要由五个部分组成。分别是核心控制单元,湿度测量,海拔高度测量,温度测量,以及测量数据显示部分。湿度测量是通过湿度传感器将环境湿度物理量变换为电信号,最终将处理后的模拟信号经过A/D后送到CPU。海拔测量主要是通过间接测量大气压强,经过计算来得出当地的海拔高度,其中也考虑到其他因素的影响而采取了软件修正的方法。温度测量采用数字温度测量芯片DS1820来实现,这是一个应用的比较广泛,也是得到了实践验证,确切可行的一种测量方法。所有采集的物理量经过A/D转换后,在CPU中经过处理,反映出各自代表的物理量后,送到显示电路,以提供使用者信息,也可送到PC,让PC机上的数据分析软件做进一步的处理和存储。
本设计采用LPC2104作为控制器的控制芯片[1][3]。LPC2104是PHILIPS公司专为嵌入式应用提供的高性价比微控制器解决方案。它采用ARM公司的16位/32位RISC结构,内核是ARM7TDMI-S,CPU操作频率可达60MHz,片上集成:具有ISP和IAP功能的128KB Flash程序存储器、16KB静态RAM、2个UART、1个I2C串行接口、1个SPI串行接口,多达6路输出的PWM、2个定时器,分别具有4路捕获/比较通道、实时时钟及看门狗定时器等,能够与常用的外围设备实现无缝连接,本系统以LPC2104为核心控制电路,对外围的各种前端测量电路,包括湿度测量,温度测量,海拔测量,以及数据显示电路进行无逢整合。其中系统整体框图如图1。
湿敏测量在工业、农业、气象、医疗以及日常生活等方面都得到了广泛的应用,特别是随着科学技发展,对于湿度的检测和控制越来越受到人们的重视并进行了大量的研制工作。
在本测量仪中湿度测量电路是由湿敏元件和转换电路,信号调理电路,以及A/D转换电路等组成,它将环境湿度变换为电信号,然后通过A/D转换成数字信号。
在实际应用中,需要同时考虑对湿度传感器进行线性处理和温度补偿,常常采用运算放大器构成湿度测量电路,在图2中Rt是热敏电阻器(20kΩ,B=4100K);RH为H204C湿度传感器,运算放大器型号为OP07。该电路的湿度电压特性及温度特性表明:在(30%~90%)RH、15℃~35℃范围内,输出电压表示的湿度误差不超过3%RH。下式是湿度测量的原理表达式:
R=R0exp(B/T-AH)
其中H为相对湿度;T为绝对温度;R0为在T=0℃ ,相对湿度H=0时RH的阻值;A为湿度常数;B为温度常数。
图2 湿度测量电路 |
海拔测量的方法主要有两种:一种是GPS,一种是气压检测法。GPS测量是一个比较好的,也比较先进的测量方法,测量结果也非常精确。但是存在着成本较高这个缺点,所以在本系统中采用气压检测的方法。气压测量的原理是依据海拔高度增加气压随之减小的原理,但是这个变化不是线性,而是一个函数,函数关系大致如下:
P=760(e^-(a/7924))
P:气压,毫米汞柱a:海拔, 千米。当然,气压还跟季节,空气湿度,气流有关系,要把这些数据也参入计算是很复杂的事。所以在设计中通过采样多个数据进行加权求和。同时在软件设计中考虑进行软件的修正。
在系统设计中,气压测量传感器采用TP051P测量现场气压值,而后通过AD620进行前端放大,放大以后的数据送到ICL7135进行A/D转换。转换后的数据以串行的方式送到CPU进行处理。图2是海拔测量的前端采样以及调理电路。
图3 海拔测量前端电路 |
DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。可以分别在93.75 ms和750 ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。如图4是DS1820与微处理器LPC2104的典型连接电路[5][6]:
图 4 温度测量电路 |
作为测量结果的最终显示,在本地系统中采用了LCD作为本地显示界面[2],在界面主要包括(1)系统当前状态显示。包括当前工作模式,测量的具体物理量。(2)实时数据轮循显示,更据设定连续测量确定的物理量。其中LCD采用了大连东显公司的1602模块,可以较好的完成系统设计的功能,LCD通过5V电源供电,LCD模块自带负压输出,对比度可调节。最终还可以通过串口将测量数据送到PC机上进行测量数据的进一步显示和分析。
图5 数据显示电路 |
系统的软件设计是整个仪器的核心。综测仪软件设计主要包括两个部分的设计:本地CPU LPC2104固件程序设计,PC机程序设计。其中本地CPU固件程序设计包括三个部分:整个综测仪的系统初始化,对对前端部分的控制,和PC机进行通讯。整个本地部分的程序设计采用事件驱动中断,和模块化设计的思想。开发环境采用ARM公司提供的ADS开发环境。
本地CPU和PC机之间的通讯方式采用固定长度的消息来进行,其中消息的格式表1:
表1 消息格式 |
消息头 |
消息类型 |
信息 |
消息尾 |
一个好的上位机软件能够提供记录仪最广泛的支持,通过上位机的支持,键盘等不必要的零件解放了,同时提供出更多的资源以利用[4]。在本综合测量仪系统中,PC机上程序设计主要包括软件界面设计,数据图形化处理,后期数据分析。软件支持是综合仪不可或缺的一部分,其主要功能为:设定测量的物理量,设定测量间隔(2s~24h任意可调),设定停止方式,设定启动时间,设定通讯格式,读取数据并显示测量数据、历史曲线等,并提供打印功能,把数据转化为EXCEL或WORD文档形式等等功能。
综合测量仪对野外科研研究,农业及气象分析具有很突出的意义,也可以应用到与气候条件有关的各种行业。经过实验室条件和现场运行的结果表明,所设计的综合测量仪器能够很好的应用予各种科研,将各种功能集于一体,很好的满足了野外工作的要求,经过实践的检验,表明本测量仪具有较强的实用性和推广价值。
[1].刘栋梁,便携式数据采集与处理系统的实现[J],计算机测量与控制,2002,10(2):127-129。
[2]. 马少华 曲向儒 嵌入式系统的LCD人机交互菜单设计[J],单片机与嵌入式系统应用,2006,12:69-70。
[3] 李振峰 李海峡等, 基于LPC2104的智能灯光控制器设计[EB/OL], http://cnc.mcu1.com/data/2007/0203/article_15880.htm,2007-02-03/2007-04-06。
[4] 张义青,李华贵 ,嵌入式时实程序设计中C/C++代码的优化。微计算机信息2003,19(1)
[5]胡振宇,刘鲁源,杜振辉?DS18B20接口的C语言程序设计[J]单片机与嵌入式系统应用,2002,(7)