温湿度传感器SHT11
带I 2C总线的数字式智能温湿度传感器SHT11设计参考
应 用 接 口 电路 。
关键 词 :温 湿度检 测 ;智 能传 感器 ;便携 式检 测仪 ;全校 准 ;温度补 偿
郭涛 石家 庄经济学院物理实 验室
S T 是瑞士 Snio 公司推出 H1 1 esin r
● 湿度值输 出分辨率为 1 , 能指 标如 表 1所列 。 4位
S HT1 的湿度检 测采用 的是电 1
表 1 S T 智能温湿度传感器的性能参数 H1 1
供 电 电压 测 量
24 .
线性非 常好 ,故可用 下式 将温度数
S5 .
V
字输 出直 接转换 成 实际 的温度值 :
uA 2
供 电 电流
平 均 睡 眠
A
l
A
Td ( f =11 y +2 r s 对 于上式 ,在 电源 电压为 5 v、 温度传感器 的分辨率为 1 4位时 ,d . 可取 4 ,d 可取 0 l 0 , . ,而当温度传感 0 器的分辨率为 1 位时,d 应取 一 O 2 . 4,
的基于 C S nT 技术的新型智能温 温度值输 出分辨率为 1 位 , MO es M 2 也可编程
湿度 传感器 。该传感 器 采用独 特 的 降至 1 位和 8 ; 2 位
C S n 技术将 C S MO e s MO 芯片技术与 强大的优势互补作用 。S T 智能温 H1 1 传感器技术结合起来 ,从而可发挥 出 2 . r 3 m) 5 n 表贴封装 ;
维普资讯
带 -C 总 线 的 数 字 式 智 雕 温 湿 度 传感 器 2
S T 设计蚕 考 H 1 1
基于51单片机SHT11温湿度传感器检测程序
基于51单片机SHT11温湿度传感器检测程序(含电路图)下面是原理图:下面是SHT11与MCU连接的典型电路:下面是源代码:#include <reg52.h>#include <intrins.h>/******************************************************** 宏定义********************************************************/ #define uint unsigned int#define uchar unsigned char#define noACK 0#define ACK 1#define STATUS_REG_W 0x06#define STATUS_REG_R 0x07#define MEASURE_TEMP 0x03#define MEASURE_HUMI 0x05#define RESET 0x1eenum {TEMP,HUMI};typedef union //定义共用同类型{unsigned int i;float f;} value;/******************************************************** 位定义********************************************************/ sbit lcdrs=P2^0;sbit lcdrw=P2^1;sbit lcden=P2^2;sbit SCK = P1^0;sbit DATA = P1^1;/******************************************************** 变量定义********************************************************/ uchar table2[]="SHT11 温湿度检测";uchar table3[]="温度为:℃";uchar table4[]="湿度为:";uchar table5[]=".";uchar wendu[6];uchar shidu[6];/******************************************************** 1ms延时函数********************************************************/ void delay(int z){int x,y;for(x=z;x>0;x--)for(y=125;y>0;y--);}/******************************************************** 50us延时函数********************************************************/ void delay_50us(uint t){uint j;for(;t>0;t--)for(j=19;j>0;j--);}/******************************************************** 50ms延时函数********************************************************/ void delay_50ms(uint t){uint j;for(;t>0;t--)for(j=6245;j>0;j--);}/******************************************************** 12864液晶写指令********************************************************/ void write_12864com(uchar ){lcdrs=0;delay_50us(1);P0=;lcden=1;delay_50us(10);lcden=0;delay_50us(2);}/******************************************************** 12864液晶写数据********************************************************/ void write_dat(uchar dat){lcdrs=1;lcdrw=0;delay_50us(1);P0=dat;lcden=1;delay_50us(10);lcden=0;delay_50us(2);}/******************************************************** 12864液晶初始化********************************************************/ void init12864lcd(void){delay_50ms(2);write_12864com(0x30);delay_50us(4);write_12864com(0x30);delay_50us(4);write_12864com(0x0f);delay_50us(4);write_12864com(0x01);delay_50us(240);write_12864com(0x06);delay_50us(10);write_12864com(0x0c);delay_50us(10);}/********************************************************12864液晶显示函数********************************************************/ void display1(void){uchar i;write_12864com(0x80);for(i=0;i<18;i++){write_dat(table2[i]);delay_50us(1);}}/******************************************************** 12864液晶显示函数********************************************************/ void display2(void){uchar i;write_12864com(0x90);for(i=0;i<18;i++){write_dat(table3[i]);delay_50us(1);}}/******************************************************** 12864液晶显示函数********************************************************/ void display3(void){uchar i;write_12864com(0x88);for(i=0;i<8;i++){write_dat(table4[i]);delay_50us(1);}}/******************************************************** 12864液晶显示函数********************************************************/void displaywendu(void) {uchar i;write_12864com(0x94); for(i=0;i<3;i++){write_dat(wendu[i]); delay_50us(1);}for(i=0;i<1;i++){write_dat(table5[i]); delay_50us(1);}for(i=4;i<5;i++){write_dat(wendu[i]); delay_50us(1);}}/******************************************************** 12864液晶显示函数********************************************************/ void displayshidu(void){uchar i;write_12864com(0x8C);for(i=0;i<3;i++){write_dat(shidu[i]);delay_50us(1);}for(i=0;i<1;i++){write_dat(table5[i]);delay_50us(1);}for(i=4;i<5;i++){write_dat(shidu[i]);delay_50us(1);}}/******************************************************** SHT11写字节程序********************************************************/ char s_write_byte(unsigned char value){unsigned char i,error=0;for (i=0x80;i>0;i>>=1) //高位为1,循环右移{if (i&value) DATA=1; //和要发送的数相与,结果为发送的位else DATA=0;SCK=1;_nop_();_nop_();_nop_(); //延时3usSCK=0;}DATA=1; //释放数据线SCK=1;error=DATA; //检查应答信号,确认通讯正常_nop_();_nop_();_nop_();SCK=0;DATA=1;return error; //error=1 通讯错误}/******************************************************** SHT11读字节程序********************************************************/ char s_read_byte(unsigned char ack){unsigned char i,val=0;DATA=1; //释放数据线for(i=0x80;i>0;i>>=1) //高位为1,循环右移{SCK=1;if(DATA) val=(val|i); //读一位数据线的值SCK=0;}DATA=!ack; //如果是校验,读取完后结束通讯 ;SCK=1;_nop_();_nop_();_nop_(); //延时3usSCK=0;_nop_();_nop_();_nop_();DATA=1; //释放数据线return val;}/******************************************************** SHT11启动传输********************************************************/ void s_transstart(void){DATA=1; SCK=0; //准备_nop_();SCK=1;_nop_();DATA=0;_nop_();SCK=0;_nop_();_nop_();_nop_();SCK=1;_nop_();DATA=1;_nop_();SCK=0;}/********************************************************SHT11连接复位********************************************************/void s_connectionreset(void){unsigned char i;DATA=1; SCK=0; //准备for(i=0;i<9;i++) //DATA保持高,SCK时钟触发9次,发送启动传输,通迅即复位{SCK=1;SCK=0;}s_transstart(); //启动传输}/********************************************************SHT11温湿度检测********************************************************/char s_measure(unsigned char *p_value, unsigned char *p_checksum,unsigned charmode){unsigned error=0;unsigned int i;s_transstart(); //启动传输switch(mode) //选择发送命令{case TEMP : error+=s_write_byte(MEASURE_TEMP); break; //测量温度case HUMI : error+=s_write_byte(MEASURE_HUMI); break; //测量湿度default : break;}for (i=0;i<65535;i++) if(DATA==0) break; //等待测量结束if(DATA) error+=1; // 如果长时间数据线没有拉低,说明测量错误*(p_value) =s_read_byte(ACK); //读第一个字节,高字节(MSB)*(p_value+1)=s_read_byte(ACK); //读第二个字节,低字节(LSB)*p_checksum =s_read_byte(noACK); //read CRC校验码return error; // error=1 通讯错误}/********************************************************SHT11温湿度值标度变换及温度补偿********************************************************/void calc_sth10(float *p_humidity ,float *p_temperature){const float C1=-4.0; // 12位湿度精度修正公式const float C2=+0.0405; // 12位湿度精度修正公式const float C3=-0.0000028; // 12位湿度精度修正公式const float T1=+0.01; // 14位温度精度5V条件修正公式const float T2=+0.00008; // 14位温度精度5V条件修正公式float rh=*p_humidity; // rh: 12位湿度float t=*p_temperature; // t: 14位温度float rh_lin; // rh_lin: 湿度linear值float rh_true; // rh_true: 湿度ture值float t_C; // t_C : 温度℃t_C=t*0.01 - 40; //补偿温度rh_lin=C3*rh*rh + C2*rh + C1; //相对湿度非线性补偿rh_true=(t_C-25)*(T1+T2*rh)+rh_lin; //相对湿度对于温度依赖性补偿if(rh_true>100)rh_true=100; //湿度最大修正if(rh_true<0.1)rh_true=0.1; //湿度最小修正*p_temperature=t_C; //返回温度结果*p_humidity=rh_true; //返回湿度结果}/********************************************************主函数********************************************************/void main(void){unsigned int temp,humi;value humi_val,temp_val; //定义两个共同体,一个用于湿度,一个用于温度unsigned char error; //用于检验是否出现错误unsigned char checksum; //CRCinit12864lcd();display1();display2();display3();s_connectionreset(); //启动连接复位while(1){error=0; //初始化error=0,即没有错误error+=s_measure((unsigned char*)&temp_val.i,&checksum,TEMP); //温度测量error+=s_measure((unsigned char*)&humi_val.i,&checksum,HUMI); //湿度测量if(error!=0) s_connectionreset(); ////如果发生错误,系统复位else{humi_val.f=(float)humi_val.i; //转换为浮点数temp_val.f=(float)temp_val.i; //转换为浮点数calc_sth10(&humi_val.f,&temp_val.f); //修正相对湿度及温度temp=temp_val.f*10;humi=humi_val.f*10;wendu[0]=temp/1000+'0'; //温度百位wendu[1]=temp%1000/100+'0'; //温度十位wendu[2]=temp%100/10+'0'; //温度个位wendu[3]=0x2E; //小数点wendu[4]=temp%10+'0'; //温度小数点后第一位displaywendu();shidu[0]=humi/1000+'0'; //湿度百位shidu[1]=humi%1000/100+'0'; //湿度十位shidu[2]=humi%100/10+'0'; //湿度个位shidu[3]=0x2E; //小数点shidu[4]=humi%10+'0'; //湿度小数点后第一位displayshidu();}delay(800); //等待足够长的时间,以现行下一次转换}}相关手册资料及源码下载地址:基于51单片机SHT11温湿度传感器检测程序相关资料。
SHT-11传感器特性及设定
SHT-11引脚图其引脚说明如下:(1)GND:接地端;(2)DATA:双向串行数据线;(3)SCK:串行时钟输入;(4)VDD电源端:0.4~5.5V电源端;(5~8)NC:空管脚。
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。
SHT-11输出特性(1)湿度值输出SHT11可通过I2C总线直接输出数字量湿度值,其相对湿度数字输出特性曲线如图3所示。
由图3可看出,SHT11的输出特性呈一定的非线性,为了补偿湿度传感器的非线性,可按如下公式修正湿度值:RHlinear=c1+c2SORH+c3SORH2式中,SORH为传感器相对湿度测量值,系数取值如下:12位:SORH:c1=-4,c2=0.0405,c3=-2.8×10-68位:SORH:c1=-4,c2=0.648,c3=-7.2×10-4(2)温度值输出由于SHT11温度传感器的线性非常好,故可用下列公式将温度数字输出转换成实际温度值:T=d1+d2SOT0.01,当温度传感器的分辨率为12位时,04。
(3)露点计算空气的露点值可根据相对湿度和温度值来得出,具体的计算公式如下:LogEW=(0.66077+7.5T/(237.3+T)+[log10(RH)-2]Dp=[(0.66077-logEW)×237.3]/(logEW-8.16077)3.2命令与接口时序SHT11传感器共有5条用户命令,具体命令格式见表1所列。
SHT11_原理和使用(中文版)
SHT1x / SHT7x 系列温湿度 温度传感器
图 6 测量时序概览 (TS = 启动传输)
2.3 状态寄存器 SHTxx 的某些高级功能可以通过状态寄存器实现。下 面的章节概括介绍了这些功能。 详情可参阅应用说明“状态寄存器”。
图 7 状态寄存器写
图8
状态寄存器读
Bit 类型 说明
0.3 1 µA 0 20% Vdd
75% 100% Vdd
0 20% Vdd
80% 100% Vdd
1 µA 4 mA
三态门 10 µA
表4
SHTxx DC 特性
参数
条件
Min Typ Max 单位
校验存储器
运
算
14-bit
放
D
大
器
A
两线 数字接口
和
CRC 校验
时 钟线 数据线
SHT1x / SHT7x 系列温湿度 温度传感器
1 传感器性能说明
参数
条件
Min. Typ. Max. 单位
湿度 分辨率 (2)
0.5 0.03 0.03 %RH
数字温湿度传感器
SHT 1x / SHT 7x
(请以英文为准,译文仅供参考)
SHT7x
SHT1x
_ 相对湿度和温度测量 _ 露点测量 _ 全标定输出,无需标定即可互换使用 _ 卓越的长期稳定性 _ 两线制数字接口,无需额外电路 _ 基于请求式测量,低能耗 _ 表面贴片或 4 针引脚安装 _ 超小尺寸 _ 自动休眠 _ 超快响应时间
TV DATA 有效时间
250 ns
TSU DATA 设定时间
100 ns
SHT11数据手册
SHT1x/SHT7x温湿度传感器-相对湿度和温度的传感器-兼有露点-完全校准,数字输出-极好的长期稳定性-无需外部组件-超低能耗-表面贴片或者4引脚完全可互换-尺寸小-自动休眠SHT1x/SHT7x 产品概述SHTxx 系列产品是包含有已校准数字输出的单芯片温湿度复合传感器。
它应用专利的微加工工业CMOS进程(CMOSens®),以确保产品极高的可靠性和极好的长期稳定性。
传感器包含一个电容式聚合体测湿元件和一个能隙测温元件。
并且与一个14位的A/D转换器以及串行接口电路在同一个芯片上无隙耦合。
依次该芯片信号优良、响应迅速、抗扰能力强、性价比高。
每一个SHTxx 传感器都在极为精确的湿度校验室中进行校准。
校准系数都以程序形式存储在OTP内存中。
在传感器测量的时候这些系数在传感器内部调用来修正信号。
两线制串行接口和内部基准电压使系统集成变的简易快捷。
它超小的体积、极低的能耗使其成为甚至是最为苛刻的应用场合的最佳选择。
产品提供表面贴片LCC(无铅芯片)或者4针单排可插入式引脚封装。
特使封装形式可根据客户的需求提供。
应用-空调系统HV AC -测试或检验-汽车-数据记录-消费品-自动化-气象站-大型家用电器-加湿器-医疗-除湿器订购信息型号湿度精度[%RH] 温度精度[%RH]封装SHT 11 ± 3.0 ±0.4 SMD(LCC) SHT 15 ± 2.0±0.3 SMD(LCC) SHT 71 ± 3.0 ±0.4 4针单排直插SHT 75 ± 1.8 ±0.3 4针单排直插1 传感器性能说明参数条件最小典型值最大单位湿度分辨率0.5 0.03 0.03 %RH8 12 12 bit重复性± 0.1%RH线性化见图一精度不确定性互换性完全可互换非线性度原始数据± 3%RH线性化<<1 %RH范围0 100 %RH响应时间1/e(63%)4 S缓慢流动的空气迟滞± 1%RH长期稳定性典型值<0.5 %RH/yr温度分辨率0.04 0.01 0.01 ℃0.07 0.02 0.02 °F12 14 14 bit重复性± 0.1℃± 0.2°F精确度见图一范围-40 123.8 ℃-40 254.9 °F响应时间1/e(63%) 5 30 S表1 传感器性能说明2 接口说明2.1 电源引脚SHTxx的供电电压在2.4 - 5.5V.上电后,传感器需要11ms月过期“休眠”状态。
dht11使用手册
dht11使用手册DHT11是一款常用的温湿度传感器,它能够测量并监测环境中的温度和湿度。
以下是关于DHT11的使用手册,希望能够帮助您更好地使用这款传感器。
一、简介DHT11是一款由AM2301温湿度传感器和数字模块构成的测温湿度模块。
它采用单总线通信方式,能够同时测量环境中的温度和湿度,具有测量精度高、稳定性好等优点。
DHT11的使用非常方便,只需将其连接到单片机的某个I/O口即可。
二、使用步骤1.硬件连接将DHT11的VCC引脚连接到单片机或开发板的+5V电源,GND引脚连接到地线,OUT引脚连接到单片机的I/O口(推荐使用GPIO)。
2.初始化在开始数据读取之前,需要先对DHT11进行初始化。
将I/O 口初始化为输出模式,然后输出低电平(0)至少18ms,再输出高电平(1)并保持60-400us。
此时DHT11会响应并开始工作。
3.数据读取初始化完成后,DHT11会自动开始测量环境中的温度和湿度。
等待40ms后,DHT11会自动将测量到的数据通过I/O口发送给单片机或开发板。
单片机或开发板可以通过读取I/O口的状态来获取数据。
4.数据解析从DHT11读取的数据是一个8位的湿度数据和一个8位的温度数据,需要对其进行解析才能得到实际的湿度和温度值。
根据DHT11的通信协议,我们可以使用以下公式来计算湿度和温度值:湿度值= (湿度数据×10) % 100 温度值= (温度数据/10) + 25三、注意事项在使用DHT11时,需要注意以下几点:1.DHT11的VCC引脚电压应保持在4.5-5.5V之间。
2.在读取数据时,需要等待一定的时间以保证数据传输的稳定。
通常情况下,建议等待大约80-200ms。
3.如果连续读取几次数据都失败,可能需要重新初始化DHT11。
4.在连接DHT11时,需要保证OUT引脚处于低电平状态。
如果OUT引脚处于高电平状态,可能会导致DHT11无法正常工作。
5.DHT11的工作环境温度应保持在0-50℃之间,如果环境温度过高或过低,可能会导致测量值不准确。
sht10温湿度传感器说明.
Datasheet SHT1x (SHT10, SHT11, SHT15数字温湿度传感器• 完全标定• 数字信号输出• 低功耗• 卓越的长期稳定性• SMD 封装–适于回流焊接外形尺寸图 1 SHT1x 传感器尺寸(1mm=0.039inch,“ 11”表示该传感器型号为 SHT11。
外部接口:1:GND, 2: DATA, 3: SCK, 4: VDD传感器芯片此说明书适用于 SHT1x-V4。
SHT1x-V4 是第四代硅传感芯片,除了湿度、温度敏感元件以外,还包括一个放大器, A/D 转换器, OTP 内存和数字接口。
第四代传感器在其顶部印有产品批次号,以字母及数字表示,如“ A5Z ”,见图 1。
材质传感器的核心为 CMOS 芯片,外围材料顶层采用环氧 LCP ,底层为 FR4。
传感器符合 ROHS 和WEEE 标准,因此不含 Pb, Cd, Hg, Cr(6+, PBB, PBDE 。
实验包如要进行直接的传感器测量,传感器性能检验或者温湿度实验,客户可选用 EK-H2,其中包括传感器和与电脑配套的软、硬件。
如需进行更复杂的,要求更高的测量,可选用 EK-H3。
它可以同时进行 20个点的温湿度测量。
产品概述SHT1x (包括 SHT10, SHT11 和 SHT15 属于 Sensirion 温湿度传感器家族中的贴片封装系列。
传感器将传感元件和信号处理电路集成在一块微型电路板上,输出完全标定的数字信号。
传感器采用专利的 CMOSens® 技术,确保产品具有极高的可靠性与卓越的长期稳定性。
传感器包括一个电容性聚合体测湿敏感元件、一个用能隙材料制成的测温元件,并在同一芯片上,与 14 位的 A/D 转换器以及串行接口电路实现无缝连接。
因此,该产品具有品质卓越、响应迅速、抗干扰能力强、性价比高等优点。
每个传感器芯片都在极为精确的湿度腔室中进行标定,校准系数以程序形式储存在 OTP 内存中,用于内部的信号校准。
SHT10,SHT11,SHT20,SHT21替代品温湿度传感器HTU21D
2.传感器的特点
·完整的互换性,在标准环境下无需校准 ·长期处于湿度饱和状态,可以迅速恢复 ·自动组装工艺生产,无铅材料制成,适合回流焊 ·每个传感器具有单独标记,可追溯生产源头
应用举例
·家庭应用 ·医疗领域 ·打印机 ·加湿器
3.性能规格
参数
储藏温度
供电电压(峰值)
湿度测量范围
温度测量范围
VDD to GND 数字 I/O 口引脚(DATA/SCK)to VDD 每个引脚输入电流
电池电量不足警报在电源电压下降到2.25V 以下时激活。内部加热器用于传感器功能性诊断 —温度升高时相对湿度降低。加热器功耗大约为5.5mW ,可使温度升高0.5 – 1.5°C。OTP 重 加载为一个安全功能,可以在每次测量前将整个OTP 设置加载到寄存器,加热器位除外。 HTU21 中此功能默认为禁止状态,且不推荐用户使用。请采用软复位代替-它包含OTP 重加 载。
· 采用 DFN 封装 · 温度和湿度值数字输出,I2C 接口 · 全量程标定 · 无铅材料,适合回流焊 · 低功耗产品 · 快的响应时间和非常低的温度系数
· 温湿度传感器HTU21D郑:18070430980
1.传感器简述 法国Humirel公司新一代HTU21D温度和湿度传感器在尺寸与智能方面建立了新的标准:它嵌
读和写用户寄存器的 I2C 通讯如图 所示:
图中读和写寄存器时序 –灰色部分由HTU21控制。 在此示例中, 分辨率设置为8bit /
12bit。 21、CRC-8 校验和计算
当HTU21传感器通过I2C协议通讯时,8位的CRC校验可被用于检测传输错误,CRC校验 覆盖所有由传感器传送的读取数据。I2C协议的CRC校验属性见下表:
12 位 8位
SHT11温湿度传感器MSP430源代码
}
//等待响应
//SHT_DAT_OUT;
SHT_DAT_1;
SHT_DAT_IN;
nop();
SHT_SCK_1;
nop();
error=Read_SHT_Dat;
SHT_SCK_0;
nop();
//error=1时无响应
return error;
}
for(temp=0;temp<4294967295;temp++)
{
read_temp=Read_SHT_Dat;
uchar SHT_Rea_Byte(uchar ack)
{
uchar temp,val=0,read_temp;
//释放数据线
SHT_SCK_OUT;
SHT_DAT_OUT;
SHT_DAT_1;
nop();
SHT_DAT_IN;
for(temp=0x80;temp>0;temp/=2)
// reads the status register with checksum (8-bit)
uchar SHT_Rea_Sta(uchar *p_value,uchar *p_checksum)
{
uchar error=0;
SHT_Tra_Sta(); //transmission start
default:break;
}
/*准备接收*/
//数据线为输出
SHT_DAT_OUT;
SHT_DAT_1;
//数据线为输入
SHT_DAT_IN;
/*wait until sensor has finished the measurement or timeout (~2 sec.) is reached*/
sht11中文资料_数据手册_参数
万联芯城专注电子元器件配单服务,只售原装 现货库存,万联芯城电子元器件全国供应,专为终端生产,研发 企业提供现货物料,价格优势明显,万联芯城电子元器件BOM配套 业务,客户提交物料清单,商城进行报价,整单采购可享优惠价 ,订单最快可当天发出,为客户节省采购时间,提高生产效率, 点击进入万度传感器-露点完全校准,数字输出-优秀的长期稳定不需要外部组件-超低功耗表面挂载或4-pin完全互换小尺寸自动功率downSHT1x / SHT7x产品SummaryThe SHTxx是单个芯片相对湿度副多传感器模块组成一个calibrateddigital输出。工业 CMOS工艺与专利微加工(CMOSens®技术)的应用,SHT11确保最高的可靠性和优良的长期稳定性。SHT11该装置包括用于相对湿度的电 容式聚合物传感元件和带隙温度传感器。两者都无缝地连接到一个14位模拟到数字转换器和一个串行接口电路在同一芯片上。这导致 了优越的信号质量,快速的响应时间和对外部干扰(EMC)不敏感,在一个非常有竞争力的价格。每个SHTxx都在一个精密的湿度室中单 独校准,并以一个冷镜湿度计作为参考。校准系数被编程到OTPmemory中。这些系数在测量过程中用于内部校准传感器发出的信号。2 线串行接口和内部电压调节,方便快捷的系统集成。它的小尺寸和低功耗使其成为最苛刻的应用程序的最终选择。该设备以表面可安 装的LCC(无铅芯片载体)或可插入的4针单线式封装方式提供。可根据客户要求提供特定的包装选项。1应用程序hvac_automotive_消费 品_气象站_加湿器_除湿器2.2.1串行时钟输入(SCK) SCK用于同步ena单片机与SHTxx之间的通信。SHT11由于接口是完全静态逻辑的, 所以不存在最小的SCKfrequency.2.2.2串行数据(data)数据三态引脚用于在设备内外传输数据。数据在下降沿后发生变化,在串行时钟 SCK上升沿上是有效的。在传输过程中,当SCK高时,数据线必须保持稳定。为了避免信号争用,微控制器应该只驱动低数据。外部上 拉电阻(例如10 kΩ)需要把信号高。(见图2)微控制器的I/O电路中经常包含有上拉电阻。见表5详细IO特征。(1)每个SHTxx测试完全在RH 精度规格25°C (77°F)和48°C (118.4°F)(2)默认的测量分辨率的14位(温度)和12位(湿度)可以减少到12和8位状态寄存器。2.2.3发送命 令启动传输时,必须发出“传输开始”顺序。它包括在SCK高时降低数据行,然后在SCK上降低脉冲,在SCK高时再次提高数据。接下 来的命令由三个地址位(目前只支持“000”)和五个命令位组成。SHTxx通过在第8个SCK时钟下降沿后将数据引脚拉低(ACK位)来指示 正确接收命令。数据线在第9个SCK时钟的下降边缘后被释放(并上升)。SHT11表2SHTxx命令列表2.2.4测量顺序(RH和T)在发出测量命令 (RH为“00000101”,温度为“00000011”)后,控制器必须等待测量完成。对于8/12/14位的测量,这大约需要11/55/210毫秒。与内部振 荡器的速度相比,精确的时间间隔可达±15%。为了表示测量完成,SHTxx向下拉数据线并进入空闲模式。在重新启动SCK读取数据之 前,控制器必须等待这个“数据就绪”信号。测量数据被存储到读出,因此控制器可以继续执行其他任务并方便地读出。然后传输两 个字节的测量数据和一个字节的CRCchecksum。uC必须通过将数据线拉低来识别每个字节。所有值都是MSB优先,右对齐。(例如,第 5个SCK是msb,对于一个12位的值,对于一个8位的结果,SHT11不使用第一个字节)。通信在rc数据的确认位之后终止。如果不使用 CRC-8校验和,控制器可以在测量数据sb之后通过保持ack高电平终止通信。测量和通信结束后,设备自动返回睡眠模式。警告:为了使 自热温度保持在0.1℃以下,shtxxi的激活时间不应超过10%(例如:max。如果与设备失去通信,以下信号序列将重置其串行接口:在保持数 据高的同时,切换sck9或更多次。这之后必须在下一个命令之前执行“传输开始”顺序。此序列仅重置接口。状态寄存器保存其内容。 图4连接复位顺序2.2.6 CRC-8校验和计算整个数字传输由8位校验和保护。它确保任何错误的数据可以被检测和消除。有关如何计算结 直肠癌的资料,请参阅申请须知“CRC-8校验和计算”。
数字温湿度传感器SHT11及其应用_张艳丽
第3期2007年6月工矿自动化Industry and M ine A uto matio nNo.3Ju n.2007 文章编号:1671-251X(2007)03-0113-02数字温湿度传感器SHT11及其应用张艳丽1, 杨仁弟2(1.山东工商学院信息与电子工程学院,山东烟台 264005;2.烟台大学机电汽车工程学院,山东烟台 264005)摘要:介绍了数字温湿度传感器SH T11的工作原理、内部结构、测量时序及输出特性,并以SH T11为测量元件,设计了一种基于单片机的温湿度测控系统,给出了系统的硬件电路和软件设计。
关键词:数字温湿度传感器;温度测量;单片机中图分类号:TD679 文献标识码:B收稿日期:2007-01-15作者简介:张艳丽(1980-),女,硕士,助教,主要研究方向为信号检测与处理等。
0 引言温湿度的测量和控制在煤矿自动化生产和安全监控中起着十分重要的作用。
本文介绍一种数字温湿度传感器SH T11及其应用。
该传感器具有安装简便、维护方便、可靠性高等特点,特别适合在煤矿井下环境恶劣的条件下进行温湿度的监测。
1 SHT11的工作原理SH T11为具有二线串行接口的单片全校准数字式新型相对湿度和温度传感器,可用来测量相对湿度、温度和露点等参数,具有数字式输出、免调试、免标定、免外围电路及全互换等特点。
该传感器的外形及管脚示意图如图1所示。
DAT A 串行数据引脚;SCK 串行时钟输入图1 SH T11外形及管脚排列示意图与传统的温湿度传感器不同,SH T11是基于CM OSens技术的新型智能温湿度传感器,它将温湿度传感器、信号放大调理、A/D转换、二线串行接口全部集成于一个芯片内,融合了CM OS芯片技术与传感器技术,使传感器具有品质卓越、超快响应、抗干扰能力强、极高的性价比等优点,其内部结构框图如图2所示。
图2 SHT11内部结构框图SH T11传感器默认的测量温度和相对湿度的分辨率分别为14位、12位,通过状态寄存器可降至12位、8位。
SHT11,SHT10温湿度传感器规格书
图 3: 每种型号传感器的温度最大误差
电气特性
参数 供电电压 休眠状态 功耗 5 通讯 存储条件 测量状态 平均 条件 min 2.4 typ 3.3 2 3 150 max 5.5 5 单位 V µW mW µW
包装
传感器型号 SHT10 SHT11 包装 数量 2000 100 400 2000 100 400 订货号 1-100218-04 1-100051-04 1-100098-04 1-100524-04 1-100085-04 1-100093-04
7.47 0.47 0.80
可以使用标准的回流焊炉对SHT1x 进行焊接。传感 器完全符合IPC/JEDEC J-STD-020D 焊接标准,在最高 260℃温度下,接触时间应小于40 秒。
TP tP
Temperature
TL TS (max)
tL
图 6: 传感器电极的后面, 俯视图. No copper in this field
NC NC
7.47 ±0.05
11
3.3 ±0.1 4.93 ±0.05
NC NC
5.2 ±0.2
2.2 MAX
A5Z
NC
材质
传感器的核心为CMOS芯片,外围材料顶层采用环氧 LCP ,底层为FR4。传感器符合ROHS 和 WEEE 标准,因此不含Pb, Cd, Hg, Cr(6+), PBB, PBDE。
Version 5– 2011年 12 月 3/12
7.50
Datasheet SHT1x
有限时间内0-125℃);湿度为20-60%RH(没有 ESD 封装的传感器)。若传感器没有原包装,则需 8 要存放在内含金属的PE-HD 的ESD袋中。 在生产和运输过程中,要保证传感器远离高浓度的 化学溶剂。要避免使用挥发性胶水、粘性胶带、不 干胶贴纸,或具有挥发性的包装材料,如发泡塑料 袋、泡沫塑料等。生产场合需要保持通风。 详细信息请参考“操作说明”或联系我们。
温湿度测量设计实训报告
一、实训目的本次实训旨在通过设计、搭建和调试一个温湿度测量系统,使学生掌握温湿度传感器的工作原理,了解温湿度测量系统的设计方法,提高学生的实际操作能力和工程实践能力。
二、实训内容1. 传感器选型:选择合适的温湿度传感器,如SHT11或DHT11。
2. 电路设计:设计温湿度传感器的电路,包括传感器与单片机的接口电路、电源电路等。
3. 程序编写:编写单片机程序,实现温湿度数据的采集、处理和显示。
4. 系统调试:对系统进行调试,确保其正常运行。
三、实训过程1. 传感器选型:根据实训要求,选择SHT11温湿度传感器。
SHT11传感器具有精度高、响应速度快、功耗低等优点,适用于各种温湿度测量场合。
2. 电路设计:(1)传感器与单片机的接口电路:将SHT11传感器的输出信号与单片机的I/O 口相连,实现数据的采集。
(2)电源电路:为SHT11传感器和单片机提供稳定的电源。
3. 程序编写:(1)初始化单片机,配置I/O口、定时器等。
(2)读取SHT11传感器的数据,包括温度和湿度。
(3)对数据进行处理,转换为实际值。
(4)将温度和湿度值显示在LCD屏幕上。
4. 系统调试:(1)检查电路连接是否正确,确保传感器与单片机之间的信号传输正常。
(2)运行程序,观察LCD屏幕上的显示,确保温湿度数据采集和显示正确。
(3)对系统进行校准,确保测量精度。
四、实训结果1. 系统功能:(1)实时采集温湿度数据。
(2)显示温度和湿度值。
(3)具有数据保存和查询功能。
2. 系统性能:(1)测量精度:温度精度±0.5℃,湿度精度±3%RH。
(2)响应时间:≤1秒。
(3)功耗:≤0.5W。
3. 系统优点:(1)结构简单,易于搭建。
(2)操作方便,易于使用。
(3)测量精度高,可靠性好。
五、实训总结通过本次实训,我们学习了温湿度传感器的工作原理,掌握了温湿度测量系统的设计方法。
在实训过程中,我们学会了电路设计、程序编写和系统调试等技能,提高了自己的实际操作能力和工程实践能力。
温湿度传感器SHT11数据手册(中文)版
3.2 温度
由能隙材料 PTAT (正比于绝对温度) 研发的温度 传感器具有极好的线性。可用如下公式将数字输
数据。检测数据可以先被存储,这样控制器可以继续执 行其它任务在需要时再读出数据。
接着传输 2 个字节的测量数据和 1 个字节的 CRC 奇偶 校验。uC 需要通过下拉 DATA 为低电平,以确认每个 字节。所有的数据从 MSB 开始,右值有效(例如:对 于 12bit 数据,从第 5 个 SCK 时钟起算作 MSB;而对 于 8bit 数据,首字节则无意义)。 用 CRC 数据的确认位,表明通讯结束。如果不使用 CRC-8 校验,控制器可以在测量值 LSB 后,通过保持 确认位 ack 高电平,来中止通讯。 在测量和通讯结束后,SHTxx 自动转入休眠模式。
2.3.2 电量不足 “电量不足”功能可监测到 Vdd 电压低于 2.47V 的 状态。精度为±0.05V。
2.3.3 加热元件 芯片上集成了一个可通断的加热元件。接通后,可将 SHTxx 的温度提高大约 5-15℃(9-27℉)。功耗增加 ~8mA @ 5V。 应用于:
1) 试样参数周期性抽检但非 100% 检测 (2) 由于传感器在 3.3V 校准,对于要求最高精度测量推荐采用 2.4-3.6V 供电 (3) 每秒进行一次 8bit 精度的测量,不加载 OTP (4) 每秒进行一次 12bit 精度的测量
µA
0.3 1.5 µA
0
250 mV
90%
100% Vdd
0
20% Vdd
80%
100% Vdd
1 µA
4 mA
10 20 µA
表 4 SHTxx DC 特性
参数
条件
Min Typ. Ma 单位
SHT10 SHT11中文资料
可以使用标准的回流焊炉对SHT1x 进行焊接。传感 器完全符合IPC/JEDEC J-STD-020D 焊接标准,在最高 260℃温度下,接触时间应小于40 秒。
TP tP
Temperature
TL TS (max)
tL
图 6: 传感器电极的后面, 俯视图. No copper in this field
max 单位 0.01 14 °C bit °C °C °C °C 123.8 254.9 30 °C °F s °C/yr
典型值 最大值 典型值 最大值 典型值 最大值
可完全互换 -40 -40 (63%) 5 < 0.04
± 10 ±8 RH (%RH)
T (°C)
± 2.0
SHT10 SHT11 SHT15
± 3.0 ± 2.5
max 0.05 12
单位 %RH bit %RH %RH %RH %RH
参数 分辨率 1 精度 2 SHT10 精度 2 SHT11 精度 2 SHT15 重复性 互换性 工作范围 响应时间6 漂移
条件
min 0.04 12
typ 0.01 14 0.5 参见图 3 0.4 参见图 3 0.3 参见图 3 0.1
1.8
用于密封/包装的材质
许多材质吸收湿气并将充当缓冲器的角色,这会加 大响应时间和迟滞。因此传感器周边的材质应谨慎 选用。推荐使用的材料有:金属材料, LCP, POM (Delrin),PTFE (Teflon), PE, PEEK,PP, PB, PPS, PSU, PVDF,PVF。 用于密封和粘合的材质(保守推荐):推荐使用充 满环氧树脂的方法进行电子元件的封装,或是硅树 脂。这些材料释放的气体也有可能污染SHT7x(见 1.3)。因此,应最后进行传感器的组装,并将其置 于通风良好处,或在50℃的环境中干燥24小时,以 使其在封装前将污染气体释放。
基于SHT11传感器的低功耗林场温湿度采集系统
a i r 5 2 1 0 @1 2 6 . c o n r 。 通讯作者: 英( , 女’ 南京人, 教授, 博士生导师, ‘ E 一 i 。
2 0 1 3年 1月
农 机 化 研 究
第 1期
组 成 。基 于 S H T 1 1传 感 器 的 低 功 耗 林 场 温 湿 度 采 集 系 统原 理 图如 图 2所示 。
由图 1可 见 , 在 森 林 资 源 经 营管 理 系 统 中 , 林 场 的生 态环 境 温 湿 度 数 据 是 森 林 资 源 经 营管 理 的重 要 基 础 信息 之 一 , 对于 判 断 林 场 的 树 木 生长 状 况 有 着 至 关 重 要 的作 用 , 一个 通 过 传 感 器 实 时 采集 和传 递 所 处 位置 的温 湿 度 的 系 统 是 必 不 可 少 的 。传 统 的 温 湿 度
采集系统分别 由温度传感 器、 湿度传 感器单独测量 , 测得 的 数 据 信 号 又 由 信 号 调 理 电 路 加 以 处 理 ,
收 稿 日期 :2 0 1 2 — 0 1 —1 5
生产 的数字式智能传感器 S H T 1 1 结合微 M S P 4 3 0 F 1 3 5 单片机技术设计 了一种稳定 性高 、 成本 低 、 功 耗低的 新 型温 湿 度采 集 系统 。
2 0 1 3年 1月
农 机 化 研 究
第 1期
基于 S H T 1 1传 感 器 的 低 功 耗 林 场 温 湿 度 采 集 系 统
李 玉 荣 ,刘 英 ,倪 超 ,谢 超
2 1 0 0 3 7 )
( 南 京林 业 大 学 机械 电子 工程 学 院 ,南 京
摘
要 :根 据 国内林 业 温湿 度 数 据 采集 的 需求 , 在 充 分 考 虑现 代 林 场 对 系统 低 成 本 以及 系 统 稳 定 性 要 求 的基 础
SHT11温湿度传感器
接着传输 2 个字节的测量数据和 1 个字节的 CRC 奇偶 校验。uC 需要通过下拉 DATA 为低电平,以确认每个 字节。所有的数据从 MSB 开始,右值有效(例如:对 于 12bit 数据,从第 5 个 SCK 时钟起算作 MSB;而对 于 8bit 数据,首字节则无意义)。 用 CRC 数据的确认位,表明通讯结束。如果不使用 CRC-8 校验,控制器可以在测量值 LSB 后,通过保持 确认位 ack 高电平,来中止通讯。 在测量和通讯结束后,SHTxx 自动转入休眠模式。 警告:为保证自身温升低于 0.1℃,SHTxx 的激活时 间不要超过 15%(例如,对应 12bit 精度测量,每秒 最多进行 3 次测量)。
0.3 1 µA 0 20% Vdd
75% 100% Vdd
0 20% Vdd
80% 100% Vdd
1 µA 4 mA
三态门 10 µA
表4
SHTxx DC 特性
参数
条件
Min Typ Max 单位
图 1 相对湿度、温度和露点的精度曲线
2.2.1 串行时钟输入 (SCK) SCK 用于微处理器与 SHTxx 之间的通讯同步。由于接 口包含了完全静态逻辑,因而不存在最小 SCK 频率。
2.2.2 串行数据 (DATA) DATA 三态门用于数据的读取。DATA 在 SCK 时钟下降 沿之后改变状态,并仅在 SCK 时钟上升沿有效。数据 传输期间,在 SCK 时钟高电平时,DATA 必须保持稳 定。为避免信号冲突,微处理器应驱动 DATA 在低电 平。需要一个外部的上拉电阻(例如:10k Ω)将信 号提拉至高电平(参见图 2)。上拉电阻通常已包含 在微处理器的 I/O 电路中。详细的 IO 特性,参见表 5。
sht10温湿度传感器说明
4 在挥发性有机混合物中数值可能会高一些。见说明书1.3。 5 此数值为 VDD=5.5V 在温度为 25°C 时, 12bit 测量,1 次/秒条件下
的平均值
6 响应时间取决于传感器底层的热容和热阻。
Relative Humidity (%)
2.6 MAX 0.8 ±0.1
2.2 MAX
图1 SHT1x 传感器尺寸(1mm=0.039inch),“11”表示该传感 器型号为SHT11。 外部接口:1:GND, 2: DATA, 3: SCK, 4: VDD
每个传感器芯片都在极为精确的湿度腔室中进行标 定,校准系数以程序形式储存在OTP 内存中,用 于内部的信号校准。两线制的串行接口与内部的电 压调整,使外围系统集成变得快速而简单。微小的 体积、极低的功耗,使SHT1x 成为各类应用的首 选。
1.9 布线规则和信号完整性 如果SCK和DATA信号线相互平行并且非常接近, 有可能导致信号串扰和通讯失败。解决方法是在两 个信号线之间放置VDD和/或GND,将信号线隔 开,和使用屏蔽电缆。此外,降低SCK频率也可能 提高信号传输的完整性。如使用导线,应在电源引 脚(VDD,GND)之间加一个100nF的去藕电容, 用于滤波。此电容应尽量靠近传感器。详情可参阅
1.8 用于密封/包装的材质 许多材质吸收湿气并将充当缓冲器的角色,这会加 大响应时间和迟滞。因此传感器周边的材质应谨慎 选用。推荐使用的材料有:金属材料, LCP, POM (Delrin),PTFE (Teflon), PE, PEEK,PP, PB, PPS, PSU, PVDF,PVF。
用于密封和粘合的材质(保守推荐):推荐使用充 满环氧树脂的方法进行电子元件的封装,或是硅树 脂。这些材料释放的气体也有可能污染SHT7x(见 1.3)。因此,应最后进行传感器的组装,并将其置 于通风良好处,或在50℃的环境中干燥24小时,以 使其在封装前将污染气体释放。
SHT11温湿度传感器
温湿度传感器SHT11SHT11 是个芯片,它由标准数字输出的湿度和温度传感器模块组成。
先定做后加工的 CMOS 应用程序确保高度的可靠性和稳定性。
该芯片包括两个已校准的微型温度和湿度传感器,14 位的 A/D 转换器,放大器,线性校准电路和数字串行接口。
一体化的结构使它具有质量好,反应快,抗干扰,价格低等特点。
每一个传感器在精确的湿度室内校准,其校准系数被写到 OTP 存储器中。
两线制的串行接口和内部电压校准使系统一体化,既容易又快捷。
它的外形小巧,能耗低,适用于许多行业。
如:汽车,仪表,医疗器械,供暖系统,通风设备和空调系统。
SHT11 温湿度传感器的主要特性如下:(1)将温湿度传感器、信号放大调理、A/D转换、I2C 总线接口全部集成于一芯片;(2)可给出全校准相对湿度及温度值输出;(3)带有工业标准的I2C总线数字输出接口;(4)具有露点值计算输出功能;(5)湿度值输出分辨率为14位,温度值输出分辨率为12位,并可编程为12位和 8位;(6)小体积7.65×5.08×23.5mm,可表面贴装;(7)具有可靠的CRC数据传输校验功能;(8)片内装载的校准系数可保证100 %互换性;(9)电源电压范围为2.4~5.5V;4.1.1 SHT11引脚及功能SHT11采用表面贴片封装形式,其内部结构框图如图6所示。
图6 SHT11内部结构框图由图可知,温湿度传感器所采集到的信息通过内部放大器放大,然后经过模数转换和I2C总线接口处理,输出I2C总线串行数字信号。
标定存储为标准数据存储器。
SHT11引脚说明如表2所示。
表2 SHT1x引脚说明4.1.2 SHT11工作原理SHT11的湿度检测运用电容式结构,采用具有不同保护的“微型结构”检测电极系统与聚合物覆盖层来组成传感器芯片的电容,除保持电容式湿敏器件的原有特性外,还可抵御来自外界的影响。
由于它将温度传感器与湿度传感器结合在一起而构成了一个单一的个体,因而测量精度较高且可精确得出露点,同时不会产生由于温度与湿度传感器之间随温度梯度变化引起的误差。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
温湿度传感器SHT11
1 SHT11简介SHT11是瑞士Scnsirion公司推出的一款数字温湿度传感器芯片。
该芯片广泛应用于暖通空调、汽车、消费电子、自动控制等领域。
共主要特点如下:
◆高度集成,将温度感测、湿度感测、信号变换、A/D转换和加热器等功能集成到一个芯片上;
◆提供二线数字串行接口SCK和DATA,接口简单,支持CRC传输校验,传输可靠性高;
◆测量精度可编程调节,内置A/D转换器(分辨率为8~12位,可以通过对芯片内部寄存器编程米选择);
◆测量精确度高,由于同时集成温湿度传感器,可以提供温度补偿的湿度测量值和高质量的露点计算功能;
◆封装尺寸超小(7.62 mm×5.08mm×2.5 mm),测量和通信结束后,自动转入低功耗模式;
◆高可靠性,采用CMOSens工艺,测量时可将感测头完全浸于水中。
2 SHT11的引脚功能
SHT11温湿度传感器采用SMD(LCC)表面贴片封装形式,接口非常简单,引脚名称及排列顺序如图1所示。
各引脚的功能如下:
◇脚1和4--信号地和电源,其工作电压范围是2.4~5.5 V;
◇脚2和脚3--二线串行数字接口,其中DA-TA为数据线,SCK为时钟线;
◇脚5~8--未连接。
3 SHT11的内部结构和工作原理
微处理器是通过二线串行数字接口与SHT11进行通信的。
通信协议与通用的I2C总线协议是不兼容的,因此需要用通用微处理器I/O口模拟该通信时序。
微处理器对SHT11的控制是通过5个5位命令代码来
实现的,命令代码的含义如表1所列。
4 SHT11应用设计
微处理器采用二线串行数字接口和温湿度传感器芯片SHT11进行通信,所以硬件接门设计非常简单;然而,通信协议是芯片厂家自己定义的,所以在软件设计中,需要用微处理器通用I/O口模拟通信协议。
4.1 硬件设计
SHT11通过二线数字串行接口来访问,所以硬件接口电路非常简单。
需要注意的地方是:DATA数据线需要外接上拉电阻,时钟线SCK用于微处理器和SHT11之间通信同步,由于接口包含了完全静态逻辑,所以对SCK最低频率没有要求;当工作电压高于4.5V时,SCK频率最高为10 MHz,而当工作电压低于4.5 V时,SCK最高频率则为1 MHz。
硬件连接如图3所示。
4.2 软件设计
微处理器和温湿度传感器通信采用串行二线接口SCK和DATA,其中SCK为时钟线,DATA为数据线。
该二线串行通信协议和I2C协议是不兼容的。
在程序开始,微处理器需要用一组"启动传输"时序表示数据传输的启动,如图4所示。
当SCK时钟为高电平时,DATA翻转为低电平;紧接着SCK变为低电平,随后又变为高电平;在SCK时钟为高电平时,DATA再次翻转为高电平。
SHT11湿度测试时序如图5所示。
其中,阴影部分为SHT11控制总线。
主机发出启动命令,随后发出一个后续8位命令码,该命令码包含3个地址位(芯片设定地址为000)和5个命令位;发送完该命令码,将DATA总线设为输入状态等待SHT11的响应;SHT11接收到上述地址和命令码后,在第8个时钟下降沿,将DATA下拉为低电平作为从机的ACK;在第9个时钟下降沿之后,从机释放DATA(恢复高电平)总线;释放总线后,从机开始测量当前湿度,测量结束后,再次将DATA总线拉为低电平;主机检测到DATA 总线被拉低后,得知湿度测量已经结束,给出SCK时钟信号;从机在第8个时钟下降沿,先输出高字节数据;在第9个时钟下降沿,主机将DATA总线拉低作为ACK信号。
然后释放总线DATA;在随后8个SCK 周期下降沿,从机发出低字节数据;接下来的SCK下降沿,主机再次将DATA总线拉低作为接收数据的ACK信号;最后8个SCK下降沿从机发出CRC校验数据,主机不予应答(NACK)则表示测量结束。
基于以上宏定义和延时函数,可以方便地使SCK和DATA总线输出持续一定时间的高电平或低电平,从而可以模拟图5所示的温湿度传感器SHT11的读写协议。
4.3 温度和湿度值的计算 4.3.1 湿度线性补偿和温度补偿SHT11可通过DATA数据总线直接输出数字量湿度值。
该湿度值称为"相对湿度",需要进行线性补偿和温度补偿后才能得到较为准确的湿度值。
由于相对湿度数字输出特性呈一定的非线性,因此为了补偿湿度传感器的非线性,可按下式修正湿度值:
式中:RHlinear为经过线性补偿后的湿度值,SORH为相对湿度测量值,C1、C2、C3为线性补偿系数,
取值如表2所列。
由于温度对湿度的影响十分明显,而实际温度和测试参考温度25℃有所不同,所以对线性补偿后的湿度值
进行温度补偿很有必要。
补偿公式如下:
式中:RHtrue为经过线性补偿和温度补偿后的湿度值,T为测试湿度值时的温度(℃),t1和t2为温度
补偿系数,取值如表3所列。
4.3.2 温度值输出
由于SHT11是采用PTAT能隙材料制成的温度敏感元件,因而具有很好的线性输出。
实际温度值可由下式算得:Temperature=d1+d2×SOT式中:d1和d2为特定系数,d1的取值与SHT11工作电压有关,d2的取值则与SHT11内部A/D转换器采用的分辨率有关,其对应关系分别如表4和表5所列。
4.3.3 露点计算
露点是一个特殊的温度值,是空气保持某一定湿度必须达到的最低温度。
当空气的温度低于露点时,空气容纳不了过多的水分,这些水分会变成雾、露水或霜。
露点可以根据当前相对湿度值和温度值计算得出,具体的计算公式如下:LogEW=0.66077+7.5×T/(237.3+T)+log10(SORH)-2
Dp=((0.66077-logEW)×237.3)/(logEW-8.16077)
式中:T为当前温度值,SORH为相对湿度值,Dp为露点。
5 结论
温湿度传感器SHT11集温度传感器和湿度传感器于一体,因此采用SHT11进行温湿度实时监测的系统具有精度高、成本低、体积小、接口简单等优点;另外SHT11芯片内部集成了14位A/D转换器,且采用数字信号输出,因此抗干扰能力也比同类芯片高。
该芯片在温湿度监测、自动控制等领域均已得到广泛应
用。