本文以单片机为核心,配合hih3610大信号线性电压输出湿度传感器和ds18b20 数字温度传感器研制出一种多通道智能温湿度测试仪,该仪器具有测量精度高、硬件电路简单、显示界面友好、可测试多点温湿度等特点。
关键词: 温湿度;单片机;测试仪
引言
温湿度的测量在工农业生产、日常生活及科学研究中有着广泛的应用,但由于常用湿度传感器的非线性输出及一致性较差,使湿度的测量方法和手段相对较复杂,且给电路的调试带来很大的困难。为此,采用honeywell公司的线性电压输出湿度传感器hih3610研制出一种测试精度高,能测试多点温湿度,且可与上位机通信的温湿度智能测试仪。该测试仪可实现温湿度的多点自动测量,为温湿度测量自动化奠定了良好的基础。
仪器硬件电路
多通道温湿度测试仪的硬件电路如图1所示。由于hih3610为大信号输出且线性度良好,因此,可省去复杂的信号放大及调理电路,仅需一片a/d转换器将与湿度值成正比的电压值转换成数字量并与单片机接口即可,由于hih3610输出信号电压范围为0.8~3.9v,而一般a/d转换器的输入电压范围为0~5v,直接使用此类a/d转换器会造成转换分辨率的降低,故这里选用了具有转换最大值、最小值设定功能的a/d转换器tlc2543。
前向通道
前向通道电路原理图如图2所示,tlc2543 是美国ti公司的串行控制11路模拟量输入的模数转换器。该转换器具有零值设定端ref-和满度值设定端ref+,可满足本系统需要对输入模拟量上下限进行设定的要求,同时该器件具有最多11路的模拟量输入功能,因而可使本系统实现最多11路的湿度测量功能。
而hih3610的输出可直接与tlc2543的模拟输入端相连,这里关键是要设定tlc2543的ref+和ref-的基准电压输入端参考电压值,我们采用了电阻分压方式,其中r1和rp1用于设定满度电压值,调整rp1可使满度电压值在1/2vref~vref之间变化。r2和rp2用于设定零值电压,调整rp2可使基准值电压在0~1/2vref之间变化,零值电压和满度电压值可根据hih3610出厂时给出的标定值,计算出该传感器的最大和最小输出电压值来设定。这里rp1和rp2应采用精密多圈电位器。
温度传感器ds18b20采用外加电源供电方式,可根据测温点数的需要将多个ds18b20挂在一根总线上,并与单片机at89c52的p1.0口线相连。
中文界面及实现
本系统由于要显示多路温湿度值,如采用led显示器分时循环显示的方法,每通道显示时间为2s,则显示完成全部通道的温湿度值所需要的时间为44s,这对于要求快速显示测量值的应用场合显然是不合适的。另一方面对智能化的测量仪器而言,如能拥有一个友好中文人机界面则将大大增强仪器的可操作性,并可提高测量仪器的档次,基于以上的考虑,这里采用了内藏中文字库的液晶图形显示模块lcm1286zk,该模块的显示点阵数为128×64,可分为4行显示,每行最多为8个汉字或16个ascⅱ字符,从而很好地解决了led循环显示周期过长及人机显示界面不友好的弊端。lcm12864zk与单片机的接口方式有8 位/4位并行和2/3线串行模式。这里利用其二线串行模式与单片机接口,简化了与单片机的接口电路设计,并减少了硬件资源的占用。
数据保存
为了将实时采集的各点温湿度值保存下来,以便于对历史数据查阅和绘制出实时或历史温湿度值变化曲线,同时也为便于将历史测量的温湿度值传送给上位机,由上位机来完成各点温湿度值的变化规律统计分析。这里扩展了一片基于i2c总线的高性能铁电存储器fm24c256,该存储器兼具rom和ram的优点。存储容量为32kbyte,由于本系统的数据采集周期可在1~30分钟的范围内设置。为了便于按采集的日期及时间保存温湿度值,我们扩展了i2c总线实时日历时钟sd2002,该器件可与fm24c256挂在同一条i2c总线上。数据保存格式为:小时(1字节)、分钟(1字节)、湿度值(2字节)、温度值(1字节),这样保存全部的11个通道温湿度值所需的存储空间为35个字节,当数据采集周期设定为10分钟时,可保存15个小时的温湿度数据。
系统硬件特点
大信号传感器