I2C总线数字式温湿度传感器SHT11及其在单片机系统的应用_第1页
I2C总线数字式温湿度传感器SHT11及其在单片机系统的应用_第2页
I2C总线数字式温湿度传感器SHT11及其在单片机系统的应用_第3页
I2C总线数字式温湿度传感器SHT11及其在单片机系统的应用_第4页
I2C总线数字式温湿度传感器SHT11及其在单片机系统的应用_第5页
已阅读5页,还剩10页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

I2C总线数字式温湿度传感器SHT11

及其在单片机系统的应用

摘要:SHTH是瑞士Sensirion公司生

产的具有I2C总线接口的单片全校准数字式

相对湿度和温度传感器。该传感器采用独特

的CMOSensTM技术,具有数字式输出、免

调试、免标定、免外围电路及全互换的特点。

文中对传感器的性能特点、接口时序与命令

进行了详细的阐述,给出了SHT11与单片机

的接口电路及相应程序。

关键词:数字式;温湿度传感器;12c总线;

单片机

1概述

温湿度的测量在仓储管理、生产制造、气象

观测、科学研究以及日常生活中被广泛应用,

传统的模拟式湿度传感器一般都要设计信

号调理电路并需要经过复杂的校准和标定

过程,因此测量精度难以保证,且在线性度、

重复性、互换性、一致性等方面往往不尽人

意。SHT11是瑞士Sensirion

公司推出的基于CM0SensTM技术

的新型温湿度传感器。该传感器将CMOS

芯片技术与传感器技术结合起来,从而发挥

出它们强大的优势互补作用。

2性能特点

SHT11温湿度传感器的主要特性

・将温湿度传感器、信号放大调理、A/D

转换、12c总线接口全部集成于一芯片;

・可给出全校准相对湿度及温度值输出;

・带有T业标准的I2C总线数字输出接

口;

・具有露点值计算输出功能;

・具有卓越的长期稳定性;

・湿度值输出分辨率为14位,温度值输出

分辨率为12位,并可编程为12位和8位;

・小体积,可表面贴装;

・具有可靠的CRC数据传输校验功能;

•片内装载的校准系数可保证100%互

换性;

・电源电压范围为2.4〜5.5V;

・电流消耗,测量时为550uA,平均为

28UA,休眠时为3口A。

sHT11温湿度传感器采用SMD(L

CC)表面贴片封装形式,管脚排列如图1

所示,其引脚说明

(l)GND:接地端;

(2)DATA:双向串行数据线;

(3)SCK:串行时钟输入;

(4)VDD电源端:0.4〜5.5V电源

端;

NC:空管脚,

3工作原理

SHT11的湿度检测运用电容式结构,并

采用具有不同保护的“微型结构”检测电

极系统与聚合物覆盖层来组成传感器芯片

的电容,除保持电容式湿敏器件的原有特性

外,还可抵御来自外界的影响。由于它将温

度传感器与湿度传感器结合在一起而构成

了一个单一的个体,因而测量精度较高且可

精确得出露点,同时不会产生由于温度与湿

度传感器之间随温度梯度变化引起的误差。

CMOSensTM技术不仅将温湿度传

感器结合在一起,而且还将信号放大器、模

/数转换器、校准数据存储器、标准I2C

总线等电路全部集成在一个芯片内。SHT

11传感器的内部结构框图如图2所示。

SHT11的每一个传感器都是在极为精

确的湿度室中校准的。SHT11传感器的

校准系数预先存在0TP内存中。经校准的

相对湿度和温度传感器与一个14位的A

/D转换器相连,可将转换后的数字温湿度

值送给二线I2C总线器件,从而将数字信

号转换为符合I2c总线协议的串行数字

信号。

由于将传感器与电路部分结合在一起,因

此,该传感器具有比其它类型的湿度传感器

优越得多的性能。首先是传感器信号强度的

增加增强了传感器的抗干扰性能,保证了传

感器的长期稳定性,而A/D转换的同时完

成,则降低了传感器对干扰噪声的敏感程度。

其次在传感器芯片内装载的校准数据保证

了每一只湿度传感器都具有相同的功能,即

具有100%的互换性。最后,传感器可直

接通过I2c总线与任何类型的微处理器、

微控制器系统连接,从而减少了接口电路的

硬件成本,简化了接口方式。

3.1输出特性

湿度值输出

SHT11可通过I2C总线直接输出数

字量湿度值,其相对湿度数字输出特性曲线

如图3所示。由图3可看出,SHT11的

输出特性呈一定的非线性,为了补偿湿度传

感器的非线性,可按如下公式修正湿度值

RH1inear=cl+c2S0RH

+c3SORH2

式中,S0RH为传感器相对湿度测量值,

系数取值

12位:S0RH:c1=~4,c2=

0.0405,c3=一2.8X10-6

8位:S0RH:c1=-4,c2=0.6

48,c3=-7.2X10-4

温度值输出

由于SHT11温度传感器的线性非常好,

故可用下列公式将温度数字输出转换成实

际温度值

T=dl+d2SOT

当电源电压为5V,且温度传感器的分辨率

为14位时,d1=~40d2=0.0

1,当温度传感器的分辨率为12位时,d

1=-40d2=0.04。

露点计算

空气的露点值可根据相对湿度和温度值来

得出,具体的计算公式

LogEW=+[log10—2]

Dp=[X2

37.3]/

3.2命令与接口时序

SHT11传感器共有5条用户命令,具体

命令格式见表1所列。下面介绍一下具体的

命令顺序及命令时序。

表1SHT11传感器命令列表命令编码说

明测量温度00011温度测量测量湿度00101

湿度测量读寄存器状态00111“读”状态寄

存器写寄存器状态00110“写”状态寄存器

软启动H110重启芯片,清除状态记录器的

错误记录11毫秒后进入下一个命令

传输开始

初始化传输时,应首先发出“传输开始”命

令,该命令可在sCK为高时使DATA由

高电平变为低电平,并在下一个SCK为高

时将DATA升高。

接下来的命令顺序包含三个地址位和5个

命令位,当DATA脚的ack位处于低电

位时,表示SHT11正确收到命令。

连接复位顺序

如果与SHT11传感器的通讯中断,下列

信号顺序会使串口复位:即当DATA线处

于高电平时,触发SCK9次以上,此后

应接着发一个“传输开始”命令。

表2SHT11状态寄存器类型及说明位类型说

明缺省7保留06读工检限X5保

留04保留03只用于试验,不可以

使用02读/写加热0关1读/写不从OTP

重下载0重下载0读/写'1'=8位相对湿度,

12位温度分辨率。'0'=12位相对湿度,

14位湿度分辨率012位相对湿度,14位湿

温湿度测量时序

当发出了温度测量命令后,控制器就要等到

测量完成。使用8/12/14位的分辨率

测量分别需要大约11/55/210m

s的时间。为表明测量完成,SHT11会

使数据线为低,此时控制器必须重新启动S

CK,然后传送两字节的测量数据与1字节

CRC校验和,控制器必须通过使DATA

为低来确认每一个字节,所有的量均从右算,

MSB列于第一位。通讯在确认CRC数据

位后停止。如果没有用CRC—8校验和,

则控制器就会在测量数据LSB后保持a

ck为高来停止通讯,SHT11在测量和

通讯完成后会自动返回睡眠模式。需要注意

的是:为使SHT11的温升低于

0.1℃此时的工作频率不能大于标定值

的15%。测量温度和湿度命令所对应的时

序如图4所示。

3.3寄存器配置

SHT11传感器中的一些高级功能是通

过状态寄存器来实现的,寄存器各位的类型

及说明见表2所列。下面对寄存器相关位的

功能说明

加热

使芯片中的加热开关接通后,传感器温度大

约增加5℃,从而使功耗增加至8mA@5

Vo加热用途

・通过对启动加热器前后的温、湿度进行比

较,可以正确地区别传感器的功能;

•在相对湿度较高的环境下,传感器可通过

加热来避免冷凝。

低电压检测

SHT11工作时可以自行检测VDD电

压是否低于2.45V,准确度为士0.1

V。

下载校准系数

为了节省能量并提高速度,OTP在每次测

量前都要重新下载校准系数,从而使每一次

测量节省8.2ms的时间。

测量分辨率设定

将测量分辨率从14位和12位分别减到

12位和8位可应用于高速或低功耗场合。

4应用说明

4.1运行条件

测量量程以外的温度会使湿度信号暂时地

偏移+3%。然后传感器会慢慢返回到校准

条件。若将芯片在湿度小于5%环境下加热

24小时到90℃,芯片就会迅速恢复高相

对湿度、高温度环境的影响,但是,延长强

度条件会加速芯片的老化。

4.2安装注意事项

由于大气的相对湿度与温度的关系比较密

切,因此,测量大气温度时的要点是将传感

器与大气保持同一温度,如果传感器线路板

上有发热元件,SHT11应与热源保持良

好的通风,为减少SHT11和PCB之间

的热传导,应使铜导线最细并在其中加上窄

缝,同时应避免使传感器在强光或UV下曝

晒。

传感器在布线时,$。1€和口八丁人信号平

行且相互接近,或信号线长于10cm时,

均会产生干扰信息,此时应在两组信号之间

放置VDD或GND。

5具体应用

图5是AT89C2051单片机与SH

T11的接口电路。由于AT89C205

1不具备I2c总线接口,故使用单片机通

用I/0口线来虚拟I2C总线,并利用P

1.0来虚拟数据线DATA,利用P1.1

口线来虚拟时钟线,并在DATA端接入一

只4.7kQ的上拉电阻,同时,在VDD

及GND端接入一只0.1UF的去耦电容。

下面给出与上述硬件电路配套的C51应

用程序。

#defineDATAP1_1

#defineSCKPl_0

#defineACK1

#definenoACK0

#defineMEASURETEM

P0x03//测量温度命令

#defineMEASURE_HUM

I0x05//测量湿度命令

//读温湿度数据

chars—measure(unsi

gn

edchar*p-value,

un-signedchar*p_ch

ecksum,unsignedcha

rmode)

unsignedcharerror

=o;

unsignedinti;

stransstart0;//传输开

switch(mode){

case

TEMP:error+=s_write

byte(measuretemp);

break;

case

HUMI:error+=swrite

byte(measure_humi);b

reak;

defau1t:break;

for(i=0;i<65535;i++)

if(DATA==0)break;

if(DATA)reeor+=l;

*(p_value)=s_read_byt

e(ACK);

*(pvalue+l)=s_readb

yte(ACK);

*p_checksum=sread_b

yte(noACK);

returnerror;

//温湿度值标度变换及温度补偿

voidca1c_sthl5(f1oa

t*p_humidity,float

*ptempera-ture)

constfloatc1=—4.0;

constfloatc2=0.040

5;

constfloatc3——0.00

00028

constfloatt1=-0.01;

constfloatt2=0.000

08;

floatrh=Xp_humidit

y;

floatt=Xptemperat

ure;

floatrh_1in;

floatth_ture;

floatt_c;

t_c=tX0.01—40;

rh_1in=c3XrhXrh+c2

温馨提示

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

评论

0/150

提交评论