基于555 定时器的数字化测湿方法的研究

   2023-11-15 互联网1700
核心提示:  摘 要:本文介绍了采用电容式相对湿度传感器HS1101 作为555 定时器的充放电电容进行湿度测量的方案,并详细介绍了其硬件电路和

  摘 要:本文介绍了采用电容式相对湿度传感器HS1101 作为555 定时器的充放电电容进行湿度测量的方案,并详细介绍了其硬件电路和软件设计的过程,且给出了由555 定时器的输出频率计算环境湿度的方法。该方案简单可行,具有一定的参考价值。

  1 引言

  在办公自动化、机舱空气控制、家庭应用及工业自动控制等诸多方面经常需要对湿度进行控制,因此,湿度测量和湿度控制已经成为一个必须解决的问题。对于传统的具有模拟电压输出的湿度传感器,通常其相对湿度与输出电压之间的比例系数较大,即相对湿度变化一个很大的量,其输出电压才发生很微小的变化,因此电压输出线路上的电压变化成了湿度测量中的主要误差。经过反复调研,系统选用了电容式相对湿度传感器HS1101来对环境湿度进行测量。HS1101具有可靠性高、长期稳定性好、反应速度快等优点,可用于555定时器频率输出回路中,实现对环境湿度的测量。

  2 系统硬件电路的设计

  为了减小系统体积, 简化设计, 采用了 A T M E L 公司的AT89C2051 作为该系统的单片机。AT89C2051 的指令与INTEL公司的MCS-51系列单片机指令完全兼容,内部集成了2K字节的FLASH,具有 15 根可编程的 I/O 线,且其 I/O 输出能直接驱动LED 数码管。由于该系统程序量不大,不需要扩展A/D 转换器,且555定时器电路与AT89C2051的接口电路非常简单[1],因此采用AT89C2051作为该系统的单片机完全满足设计要求。图1为系统硬件组成原理图,如下图所示。

  

  数码管是用来对测量湿度进行显示的,由于HS1101测湿的范围是10%~90%RH,且最大测量误差为±2%RH,因此采用两个数码管对测量湿度进行显示已经满足要求。

  键盘包括两个按键“,测湿”和“清除”按键。当单片机检测到“测湿”按键按下时,就将检测的湿度值在数码管上显示出来;当单片机检测到“清除”按键按下时,就将数码管上显示的湿度值清除,全部显示为0。电源模块的输入为9V、1A 的直流电源,经过LM317 稳压之后输出5V电压给整个系统提供电源。在系统的硬件设计中,测湿电路的设计是一个至关重要的环节,它直接影响着测量湿度的准确性。下面对测湿电路进行较为详细的分析。

  

  图2即为测湿电路图[2],从图中可以看出测湿电路主要是由555定时芯片和一些阻容元件组成。555定时器有着非常广泛的应用,根据用户需要,555定时器可以用作单稳态触发器、多稳态触发器或者施密特触发器。F555定时器具有如下功能:当6和2端同时输入为“1”时,3端输出为“0”;当6和2端同时输入为“0”时,3端输出为“1”。在此电路中,555定时器正是根据这一功能用作多稳态触发器输出频率信号的。

  当电源接通时,由于6和2端的输入为“0”,则定时器3脚输出为“1”;又由于C7 两端电压为0,故VCC 通过R17和 R18 对C7充电,当 C7 两端电压达到2VCC/3 时,定时电路翻转,输出变为“0”。此时555定时器内部的放电BJT的基极电压为“1”,放电BJT导通,从而使电容C7通过R18和内部放电BJT进行放电,当C7两端电压降低到VCC/3时,定时器又翻转,使输出变为“1”,内部放电 BJT 截止,VCC 又开始通过R17 和 R18 对 C7 充电,如此周而复始,形成振荡。其工作循环中的充电时间为Th=0.7(R17+R18)C 7 ; 放电时间为 T l = 0 . 7 R 1 8 C 7 ;输出脉冲占空比为 q =(R17+R18)/(R17+2R18),为了使输出脉冲占空比接近50%,R17应远远小于R18。当外界湿度变化时,HS1101两端电容值发生改变,从而改变定时电路的输出频率。因此只要测出555的输出频率,并根据湿度与输出频率的关系,即可求得环境的湿度。

  图2中的电阻R16与555的频率输出引脚相连,起输出短路保护作用,防止输出电流过大。电阻R19是用作555定时器内部温度补偿的,其应该具有1%的精度。由于不同型号、不同厂家生产的555芯片内部温度补偿有一定的差别,因此对于不同型号的555芯片,电阻R19的取值也有所不同。同时为了保证555定时器在55%的相对湿度时输出频率为6660Hz,R18也需要作一些微调。 这里采用的是Texas In-struments生产的NE555,R19和R18取值分别为909K和576K。

  

3 湿度的计算

  将 555 定时器的输出引脚与单片机AT89C2051 的定时输入引脚相连,计数出1秒钟内输入的脉冲个数,此脉冲个数即为555定时器的振荡频率。对于CMOS工艺的555 定时器,其测得的相对湿度与输出的脉冲频率具有如下关系式:

  

  在25°C下,如果以F55(Hz)=6660 Hz为参考点,555定时器频率输出电路具有如下对应关系表:

  图2 测湿电路为了使计算简单,可以将频率与湿度之间的非线性关系按照上表分为10段进行处理,每一小段内按线性关系处理,从而大大简化了计算过程.

  4 系统软件设计

  系统程序分为两大部分:系统主程序和 T0 中断服务程序。T0的中断服务程序主要是实现555定时器输出频率的计算,而由频率计算湿度则是在主程序中实现的。

  对于555定时器输出频率的计算,采用单片机AT89C2051的定时器中断的方式实现:单片机AT89C2051内部集成了两个16位的定时器T0和T1,设置单片机定时器T0定时20ms,并允许T0中断;定时器T1则用来对555的输出脉冲进行计数。每当T0发生20ms定时中断时,就读取T1中的计数脉冲个数,T1×50即为此时555定时器的输出频率,并设置T0的中断标志变量flagT0为1。系统主程序流程图如图3所示。

  

  初始化主要包括定时器T0和T1的初始化、中断逻辑初始化等。然后判断“FlagT0=1?”,当FlagT0=1时,表示又发生了一次新的T0定时中断,并且在T0的中断服务程序中已经求出了此时555定时器的输出频率;然后主程序执行求湿度子程序,根据频率求出此时湿度。如果FlagT0=0,则表示没有新的T0定时中断发生,主程序直接往下执行,扫描“测湿”键和“清除”键,当“测湿”键按下时,就将测得的湿度在数码管上显示出来;当“清除”键按下时,就执行清除显示子程序,将数码管的显示全部变为0。然后再判断“FlagT0=1?”,如此往复循环。

  5 结束语

  采用HS1101作为555定时器的充放电电容构成多谐振荡器进行湿度测量的方案,与传统的采用A/D转换芯片的测量系统相比,其主要优点是使整个信号处理电路数字化,电路引入的噪声显著降低,提高了系统的抗干扰能力,且容易实现传感器与计算机测控系统的接口。此方案简单易行、可靠性高、稳定性好,具有一定的借鉴价值。

        参考文献:

  [1] 康华光.电子技术基础数字部分[M].北京:高等教育出版社, 2000.

  [2] HUMIREL.Relative Humidity Sensor HS1100/HS1101[Z].HUMIREL,2002.

  作者简介:张萍(1975 -),女,湖北随州人,硕士研究生,讲师, 主要从事微型计算机控制及其应用方向的研究。


 
举报收藏 0打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  隐私政策  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  RSS订阅