下载

2下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 搞得一个温湿度传感器电路SHT11

搞得一个温湿度传感器电路SHT11.doc

搞得一个温湿度传感器电路SHT11

雍正
2018-09-08 0人阅读 举报 0 0 暂无简介

简介:本文档为《搞得一个温湿度传感器电路SHT11doc》,可适用于IT/计算机领域

电子信息:IC总线数字式温湿度传感器SHT及其在单片机系统的应用   摘要:SHT是瑞士Sensirion公司生产的具有IC总线接口的单片全校准数字式相对湿度和温度传感器。该传感器采用独特的CMOSensTM技术具有数字式输出、免调试、免标定、免外围电路及全互换的特点。文中对传感器的性能特点、接口时序与命令进行了详细的阐述给出了SHT与单片机的接口电路及相应程序。   关键词:数字式温湿度传感器IC总线单片机1 概述温湿度的测量在仓储管理、生产制造、气象观测、科学研究以及日常生活中被广泛应用传统的模拟式湿度传感器一般都要设计信号调理电路并需要经过复杂的校准和标定过程因此测量精度难以保证且在线性度、重复性、互换性、一致性等方面往往不尽人意。SHT11是瑞士Sensirion公司推出的基于CMOSensTM技术的新型温湿度传感器。该传感器将CMOS芯片技术与传感器技术结合起来从而发挥出它们强大的优势互补作用。2 性能特点SHT11温湿度传感器的主要特性如下:●将温湿度传感器、信号放大调理、A/D转换、I2C总线接口全部集成于一芯片(CMOSensTM技术)●可给出全校准相对湿度及温度值输出●带有工业标准的I2C总线数字输出接口●具有露点值计算输出功能●具有卓越的长期稳定性●湿度值输出分辨率为14位温度值输出分辨率为12位并可编程为12位和8位●小体积(7.65×5.08×23.5mm)可表面贴装●具有可靠的CRC数据传输校验功能●片内装载的校准系数可保证100%互换性●电源电压范围为2.4~5.5V●电流消耗,测量时为550μA平均为28μA休眠时为3μA。   SHT11温湿度传感器采用SMD(LCC)表面贴片封装形式管脚排列如图1所示其引脚说明如下:(1)GND:接地端(2)DATA:双向串行数据线(3)SCK:串行时钟输入(4)VDD电源端:0.4~5.5V电源端(5~8)NC:空管脚。3 工作原理SHT11的湿度检测运用电容式结构并采用具有不同保护的“微型结构”检测电极系统与聚合物覆盖层来组成传感器芯片的电容除保持电容式湿敏器件的原有特性外还可抵御来自外界的影响。由于它将温度传感器与湿度传感器结合在一起而构成了一个单一的个体因而测量精度较高且可精确得出露点同时不会产生由于温度与湿度传感器之间随温度梯度变化引起的误差。CMOSensTM技术不仅将温湿度传感器结合在一起而且还将信号放大器、模/数转换器、校准数据存储器、标准I2C总线等电路全部集成在一个芯片内。SHT11传感器的内部结构框图如图2所示。SHT11的每一个传感器都是在极为精确的湿度室中校准的。SHT11传感器的校准系数预先存在OTP内存中。经校准的相对湿度和温度传感器与一个14位的A/D转换器相连可将转换后的数字温湿度值送给二线I2C总线器件从而将数字信号转换为符合I2C总线协议的串行数字信号。   由于将传感器与电路部分结合在一起因此该传感器具有比其它类型的湿度传感器优越得多的性能。首先是传感器信号强度的增加增强了传感器的抗干扰性能保证了传感器的长期稳定性而A/D转换的同时完成则降低了传感器对干扰噪声的敏感程度。其次在传感器芯片内装载的校准数据保证了每一只湿度传感器都具有相同的功能即具有100%的互换性。最后传感器可直接通过I2C总线与任何类型的微处理器、微控制器系统连接从而减少了接口电路的硬件成本简化了接口方式。3.1输出特性(1)湿度值输出SHT11可通过I2C总线直接输出数字量湿度值其相对湿度数字输出特性曲线如图3所示。由图3可看出SHT11的输出特性呈一定的非线性为了补偿湿度传感器的非线性可按如下公式修正湿度值:RHlinear=c1+c2SORH+c3SORH2式中SORH为传感器相对湿度测量值系数取值如下:12位:SORH:c1=-4c2=0.0405c3=-2.8×10-68位:SORH:c1=-4c2=0.648c3=-7.2×10-4(2)温度值输出由于SHT11温度传感器的线性非常好故可用下列公式将温度数字输出转换成实际温度值:T=d1+d2SOT当电源电压为5V且温度传感器的分辨率为14位时d1=-40d2=0.01当温度传感器的分辨率为12位时d1=-40d2=0.04。(3)露点计算空气的露点值可根据相对湿度和温度值来得出具体的计算公式如下:LogEW=(0.66077+7.5T/(237.3+T)+log10(RH)-2Dp=(0.66077-logEW)×237.3/(logEW-8.16077)3.2命令与接口时序SHT11传感器共有5条用户命令具体命令格式见表1所列。下面介绍一下具体的命令顺序及命令时序。表SHT传感器命令列表命 令编 码说  明测量温度温度测量测量湿度湿度测量读寄存器状态“读”状态寄存器写寄存器状态“写”状态寄存器软启动重启芯片清除状态记录器的错误记录毫秒后进入下一个命令(1)传输开始初始化传输时应首先发出“传输开始”命令该命令可在SCK为高时使DATA由高电平变为低电平并在下一个SCK为高时将DATA升高。接下来的命令顺序包含三个地址位(目前只支持“000”)和5个命令位当DATA脚的ack位处于低电位时表示SHT11正确收到命令。(2)连接复位顺序如果与SHT11传感器的通讯中断下列信号顺序会使串口复位:即当DATA线处于高电平时触发SCK9次以上(含9次)此后应接着发一个“传输开始”命令。表SHT状态寄存器类型及说明位类型说 明缺 省  保留 读工检限(低电压检查)X  保留  保留  只用于试验不可以使用 读写加热关读写不从OTP重下载重下载读写''=位相对湿度位温度分辨率。''=位相对湿度位湿度分辨率位相对湿度位湿度(3)温湿度测量时序当发出了温(湿)度测量命令后控制器就要等到测量完成。使用8/12/14位的分辨率测量分别需要大约11/55/210ms的时间。为表明测量完成SHT11会使数据线为低此时控制器必须重新启动SCK然后传送两字节的测量数据与1字节CRC校验和。控制器必须通过使DATA为低来确认每一个字节所有的量均从右算MSB列于第一位。通讯在确认CRC数据位后停止。如果没有用CRC-8校验和则控制器就会在测量数据LSB后保持ack为高来停止通讯SHT11在测量和通讯完成后会自动返回睡眠模式。需要注意的是:为使SHT11的温升低于0.1℃此时的工作频率不能大于标定值的15%(如:12位精确度时每秒最多进行3次测量)。测量温度和湿度命令所对应的时序如图4所示。图   3.3寄存器配置SHT11传感器中的一些高级功能是通过状态寄存器来实现的寄存器各位的类型及说明见表2所列。下面对寄存器相关位的功能说明:(1)加热使芯片中的加热开关接通后传感器温度大约增加5℃从而使功耗增加至8mA@5V。加热用途如下:●通过对启动加热器前后的温、湿度进行比较可以正确地区别传感器的功能●在相对湿度较高的环境下传感器可通过加热来避免冷凝。(2)低电压检测SHT11工作时可以自行检测VDD电压是否低于2.45V准确度为±0.1V。(3)下载校准系数为了节省能量并提高速度OTP在每次测量前都要重新下载校准系数从而使每一次测量节省8.2ms的时间。(4)测量分辨率设定将测量分辨率从14位(温度)和12位(湿度)分别减到12位和8位可应用于高速或低功耗场合。4 应用说明4.1运行条件测量量程以外的温度会使湿度信号暂时地偏移+3%。然后传感器会慢慢返回到校准条件。若将芯片在湿度小于5%环境下加热24小时到90℃芯片就会迅速恢复高相对湿度、高温度环境的影响但是延长强度条件会加速芯片的老化。4.2安装注意事项由于大气的相对湿度与温度的关系比较密切因此测量大气温度时的要点是将传感器与大气保持同一温度如果传感器线路板上有发热元件SHT11应与热源保持良好的通风为减少SHT11和PCB之间的热传导应使铜导线最细并在其中加上窄缝同时应避免使传感器在强光或UV下曝晒。传感器在布线时SCK和DATA信号平行且相互接近或信号线长于10cm时均会产生干扰信息此时应在两组信号之间放置VDD或GND。5 具体应用图5是AT89C2051单片机与SHT11的接口电路。由于AT89C2051不具备I2C总线接口故使用单片机通用I/O口线来虚拟I2C总线并利用P1.0来虚拟数据线DATA利用P1.1口线来虚拟时钟线并在DATA端接入一只4.7kΩ的上拉电阻同时在VDD及GND端接入一只0.1μF的去耦电容。下面给出与上述硬件电路配套的C51应用程序。#defineDATAP1_1#defineSCKP1_0#defineACK1#definenoACK0#defineMEASURETEMP0x03//测量温度命令#defineMEASUREHUMI0x05//测量湿度命令//读温湿度数据chars-measure(unsignedchar*pvalue,unsignedchar*pchecksum,unsignedcharmode){unsignedcharerror=0unsignedintistransstart()//传输开始switch(mode){caseTEMP:error+=swritebyte(measuretemp)breakcaseHUMI:error+=swritebyte(measurehumi)breakdefault:break}for(i=0i<65535i++)if(DATA==0)breakif(DATA)reeor+=1*(pvalue)=sreadbyte(ACK)*(pvalue+1)=sreadbyte(ACK)*pchecksum=sreadbyte(noACK)returnerror}//温湿度值标度变换及温度补偿voidcalcsth15(float*phumidity,float*ptemperature){constfloatc1=-4.0constfloatc2=0.0405constfloatc3=-0.0000028constfloatt1=-0.01constfloatt2=0.00008floatrh=×phumidityfloatt=×ptemperaturefloatrhlinfloatthturefloattctc=t×0.01-40rhlin=c3×rh×rh+c2×rh+c1trhture=(tc-25)×(t1+t2×rh)+rhlin×ptemperature=t-c×phumidity=rhture}//从相对温度和湿度计算露点charcalcdewpoint(floath,floatt){floatlogex,dewpointlogex=0.66077+7.5×t/(237.3+t)+log10(h)-2dewpoint=(logex-0.66077)×237.3/(0.66077+7.5-logex)returndewpoint}限于篇幅上述程序中未给出传输开始、写字节数据、读字节数据函数。6 结束语SHT11数字式温湿度传感器由于将温度传感器、湿度传感器、信号调理、模/数转换器、标定参数及I2C总线接口全部集成到传感器内部因此既提高了传感器的性能又降低了成本、减少了体积同时也非常便于和微控制器接口由此可见该传感器是嵌入式系统温湿度测试的理想选择。

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/9

搞得一个温湿度传感器电路SHT11

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利