电容式湿度传感器HS1101介绍及应用电路_第1页
电容式湿度传感器HS1101介绍及应用电路_第2页
电容式湿度传感器HS1101介绍及应用电路_第3页
电容式湿度传感器HS1101介绍及应用电路_第4页
电容式湿度传感器HS1101介绍及应用电路_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上电容式湿度传感器HS1101介绍及应用电路   Post By:2009-3-12 10:31:26 此主题相关图片如下hs1101.jpg:      HS1101湿度传感器采用专利设计的固态聚合物结构,具有响应时间快、高可靠性和长期稳定性特点,不需要校准的完全互换性。HS1101湿度传感器在电路中等效于一个电容器Cx,其电容随所测空气的湿度增大而增大,在相对湿度为0%-100%RH的范围内,电容的容量由160pF变化到200pF,其误差不大于±2%RH,响应时间小于5s,温度系数为0.

2、04pF/。  此主题相关图片如下hs1101-61mcu.jpg:如图2所示,将该湿敏电容Cx置于555振荡电路之中,将电容的变化转换为与之成反比的电压频率信号,该频率信号可以直接被微控器采集。振荡电路的两个暂稳态输出频率变化的方波信号(图3中U4的3脚输出)的高电平时间为 此主题相关图片如下11.gif:  输出低电平时间为此主题相关图片如下12.gif:因此输出方波信号的周期为此主题相关图片如下13.gif: 即此主题相关图片如下14.gif:HS1101湿度测量电路及程序   Post By:2009-3-12 10

3、:35:23     温度检测采用HS1101型温度传感器,HS1101是HUMIREL公司生产的变容式相对湿度传感器,采用独特的工艺设计。HS1101测量湿度采用将HS1101置于555振荡电路中,将电容值的变化砖换成电压频率信号,可以直接被微处理器采集。 设计的电路如图1所示。 此主题相关图片如下hs1101-.jpg:图1 湿度测量电路     555芯片外接电阻R57,R58与HS1101,构成对HS1101的充电回路。7端通过芯片内部的晶体管对地短路实现对HS1101的放电回路,并将引脚2,6端

4、相连引入到片内比较器,构成一个多谐波振荡器,其中,R57相对于R58必须非常的小,但决不能低于一个最小值。R51是防止短路的保护电阻。     HS1101作为一个变化的电容器,连接2和6引脚。引脚作为R57的短路引脚。HS1101的等效电容通过R57和R58充电达到上限电压(近似于0.67 VCC,时间记为T1),这时555的引脚3由高电平变为低电平,然后通过R58开始放电,由于R57被7引脚内部短路接地,所以只放电到触发界线(近似于0.33 VCC,时间记为T2),这时555芯片的引脚3变为高电平。通过不同的两个电阻R19,R20

5、进行传感器的不停充放电,产生方波输出。 充电、放电时间分别为此主题相关图片如下hs1101-.jpg:输出波形的频率和占空比的计算公式如下:此主题相关图片如下hs1101-.jpg:    由此可以看出,空气相对湿度与555芯片输出频率存在一定线性关系。表2给出了典型频率湿度关系(参考点:25,相对湿度:55%,输出频率:6.208kHz)。可以通过微处理器采集555芯片的频率,然后查表即可得出相对湿度值。为了更好提高测量精度,将采用下位机负责采集频率,将频率值送入上位机进行分段处理。  此主题相关图片如下hs1101-.jpg:&#

6、160;将555OUT接到51单片机的T1脚上,部分程序如下: #include "reg51.h" #define uchar unsigned char#define uint  unsigned int uchar  tem0 , tem1;                       

7、60;      uchar  temp0 , temp1;                          uint   f=0;             

8、                                     /初值 /* 名称: timer0() * 功能: 定时器1,每50000us中断一次。* 入口参数:*/void timer0() interrupt 1  

9、60;      EA =0;       TR0=0;    TR1=0;        TL0=0xFF;                   /重装值   定时50000us 

10、; OX4BFFH       TH0=0x4B;                  tem0 = TL1;   /读数       tem1 = TH1;       TL1=0x00;     &

11、#160;      /定时器1清零      TH1=0x00;       f=1;               /作标注位        TR0=1;       TR1=1

12、;       EA=1; /* 名称: timer1() * 功能: 计数器,用于计数将555输出的频率,以计数相对湿度。* 入口参数:*/void timer1() interrupt 3    /T1中断,表示计数的频率溢出,超出了可测量的频率范围,显然在这里不可能。所以重新启动。       EA =0;       TR0=0;    TR1=0;

13、        TL0=0x00;                   /重装值   定时50000us       TH0=0x4C;    TL1=0x00;      

14、60;            /定时器1清零      TH1=0x00;       TR0=1;    TR1=1;       EA=1; void Init_timer()        TMOD=0x51;&#

15、160;              /0101 0001 定时器0在模式1下工作16位定时器,定时方式  定时器1在模式1下工作16位计数器,T1负跳变加1       TL0=0x00;                 

16、0; /定时器0初值 定时50000us       TH0=0x4C;                         TL1=0x00;              &

17、#160;    /定时器1清零       TH1=0x00;       ET0=1;                        /使能定时器0中断     &#

18、160; ET1=1;                        /使能定时器1中断       EA=1;                

19、60;         /使能总中断       TR0=1;                        /开始计时       TR1=1; void t

20、ran()       f = tem1;        f = ( f<<8 ) | tem0;    f = f * 20;                    /这里f的值是最终读到的频率,不同频率对于不同相对湿度。   

21、; if( 5623 <= f) && ( f<= 6852) )         /相对湿度在有效范围内(0100%)                  if( 6734 < f) && ( f <= 6852) )       &

22、#160;         temp0 = 0;  temp1 =(6852 - f)*10/118;               if( (6618 < f) && ( f <= 6734) )             

23、        temp0 = 1; temp1 =(6734 - f)*10/116;                if( (6503 < f) && ( f <= 6618 ) )              

24、0;      temp0 = 2; temp1 =(6618 - f)*10/115;                 if( (6388 < f) && ( f <= 6503 ) )               &#

25、160;     temp0 = 3; temp1 =(6503 - f)*10/115;                if( (6271 < f) && ( f <= 6388 ) )                 

26、    temp0 = 4; temp1 =(6388 - f)*10/117;                  if( (6152 < f) && ( f <= 6271 ) )                 

27、60;   temp0 = 5; temp1 =(6271 - f)*10/119;             if( (6029 < f) && ( f <= 6152 ) )                     temp0 = 6; temp1

28、=(6152 - f)*10/123;             if( (5901 < f) && ( f <= 6029 ) )                     temp0 = 7;temp1 =(6029 - f)*10/128;   &#

29、160;          if( (5766 < f) && ( f <= 5901 )                     temp0 = 8; temp1 =(5901 - f)*10/135;        

30、    if( (5623 < f) && (f <= 5766)                     temp0 = 9; temp1 =(5766 - f)*10/143;               

31、else                     temp0 = 0; temp1 = 0;                     void main()       uchar      i,k;       uchar      count;       Init_timer();

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论