数字温湿度传感器DHT技术文档.docx
- 文档编号:25526846
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:28
- 大小:230.22KB
数字温湿度传感器DHT技术文档.docx
《数字温湿度传感器DHT技术文档.docx》由会员分享,可在线阅读,更多相关《数字温湿度传感器DHT技术文档.docx(28页珍藏版)》请在冰豆网上搜索。
数字温湿度传感器DHT技术文档
数字温湿度传感器
DHT11
►相对湿度和温度测量
►全部校准,数字输出
►卓越的长期稳定性
►无需额外部件
►超长的信号传输距离
►超低能耗
►4引脚安装
►完全互换
DHT11产品概述
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。
它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。
传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。
因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。
每个DHT11传感器都在极为精确的湿度校验室中进行校准。
校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。
单线制串行接口,使系统集成变得简易快捷。
超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。
产品为4针单排引脚封装。
连接方便,特殊封装形式可根据用户需求而提供。
应用领域
►暖通空调►测试及检测设备
►汽车►数据记录器
►消费品►自动控制
►气象站►家电
►湿度调节器►医疗
►除湿器
订货信息
型号
测量范围
测湿精度
测温精度
分辨力
封装
DHT11
20-90%RH0-50℃
±5%RH
±2℃
1
4针单排直插
1、传感器性能说明
参数
条件
Min
Typ
Max
单位
湿度
分辨率
1
1
1
%RH
8
Bit
重复性
±1
%RH
精度
25℃
±4
%RH
0-50℃
±5
%RH
互换性
可完全互换
量程范围
0℃
30
90
%RH
25℃
20
90
%RH
50℃
20
80
%RH
响应时间
1/e(63%)25℃,1m/s空气
6
10
15
S
迟滞
±1
%RH
长期稳定性
典型值
±1
%RH/yr
温度
分辨率
1
1
1
℃
8
8
8
Bit
重复性
±1
℃
精度
±1
±2
℃
量程范围
0
50
℃
响应时间
1/e(63%)
6
30
S
2、接口说明
建议连接线长度短于20米时用5K上拉电阻,大于20米时根据实际情况使用合适的上拉电阻
3、电源引脚
DHT11的供电电压为3-5.5V。
传感器上电后,要等待1s以越过不稳定状态在此期间无需发送任何指令。
电源引脚(VDD,GND)之间可增加一个100nF的电容,用以去耦滤波。
4、串行接口(单线双向)
DATA用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零.操作流程如下:
一次完整的数据传输为40bit,高位先出。
数据格式:
8bit湿度整数数据+8bit湿度小数数据
+8bi温度整数数据+8bit温度小数数据
+8bit校验和
数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。
用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。
1.通讯过程如图1所示
图1
总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低必须大于18毫秒,保证DHT11能检测到起始信号。
DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号.主机发送开始信号结束后,延时等待20-40us后,读取DHT11的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可,总线由上拉电阻拉高。
图2
总线为低电平,说明DHT11发送响应信号,DHT11发送响应信号后,再把总线拉高80us,准备发送数据,每一bit数据都以50us低电平时隙开始,高电平的长短定了数据位是0还是1.格式见下面图示.如果读取响应信号为高电平,则DHT11没有响应,请检查线路是否连接正常.当最后一bit数据传送完毕后,DHT11拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。
数字0信号表示方法如图4所示
图4
数字1信号表示方法.如图5所示
图5
5、测量分辨率
测量分辨率分别为8bit(温度)、8bit(湿度)。
6、电气特性
VDD=5V,T=25℃,除非特殊标注
参数
条件
min
typ
max
单位
供电
DC
3
5
5.5
V
供电电流
测量
0.5
2.5
mA
平均
0.2
1
mA
待机
100
150
uA
采样周期
秒
1
次
注:
采样周期间隔不得低于1秒钟。
7、应用信息
7.1工作与贮存条件
超出建议的工作范围可能导致高达3%RH的临时性漂移信号。
返回正常工作条后,传感器会缓慢地向校准状态恢复。
要加速恢复进程/可参阅7.3小节的“恢复处理”。
在非正常工作条件下长时间使用会加速产品的老化过程。
7.2暴露在化学物质中
电阻式湿度传感器的感应层会受到化学蒸汽的干扰,化学物质在感应层中的扩散可能导致测量值漂移和灵敏度下降。
在一个纯净的环境中,污染物质会缓慢地释放出去。
下文所述的恢复处理将加速实现这一过程。
高浓度的化学污染会导致传感器感应层的彻底损坏。
7.3恢复处理
置于极限工作条件下或化学蒸汽中的传感器,通过如下处理程序,可使其恢复到校准时的状态。
在50-60℃和<10%RH的湿度条件下保持2小时(烘干);随后在20-30℃和>70%RH的湿度条件下保持5小时以上。
7.4温度影响
气体的相对湿度,在很大程度上依赖于温度。
因此在测量湿度时,应尽可能保证湿度传感器在同一温度下工作。
如果与释放热量的电子元件共用一个印刷线路板,在安装时应尽可能将DHT11远离电子元件,并安装在热源下方,同时保持外壳的良好通风。
为降低热传导,DHT11与印刷电路板其它部分的铜镀层应尽可能最小,并在两者之间留出一道缝隙。
7.5光线
长时间暴露在太阳光下或强烈的紫外线辐射中,会使性能降低。
7.6配线注意事项
DATA信号线材质量会影响通讯距离和通讯质量,推荐使用高质量屏蔽线。
8、封装信息
9、DHT11引脚说明
Pin
名称
注释
1
VDD
供电3-5.5VDC
2
DATA
串行数据,单总线
3
NC
空脚,请悬空
4
GND
接地,电源负极
10、焊接信息
手动焊接,在最高260℃的温度条件下接触时间须少于10秒。
11、注意事项
(1)避免结露情况下使用。
(2)长期保存条件:
温度10-40℃,湿度60%以下。
12、例程
12.1汇编例程
;*********************************************;
;DHT11使用范例
;单片机:
AT89S52或STC89C52RC
;功能;串口发送温湿度数据波特率9600
;硬件连接:
P2.0口为通讯口连接DHT11,DHT11的电源和地连接单片机的电源和地,单片机串口加MAX232连接电脑
;公司;**********
;*********************************************;
;--------------------
;----变量定义区------
;--------------------
FLAGEQU30H
U8comdataEQU31H
U8T_data_HEQU32H
U8T_data_LEQU33H
U8RH_data_HEQU34H
U8RH_data_LEQU35H
U8checkdataEQU36H
U8tempEQU37H
tempEQU38H
;--------------------
;--------------------
;--------------------
org0000h
AJMPSTART
org0023h
AJMPSET_INT
START:
MOVP0,#0FFH
MOVTMOD,#20H;T1工作方式2
MOVTH1,#0FDH;串口波特率为9600
MOVSCON,#50H;串口工作于方式1并允许接受
SETBTR1;启动T1
SETBES;允许串口中断
SETBEA;允许全部外设中断
MAIN:
;---------------------------
;-----调用湿度读取子程序----
;---------------------------
LCALLRH
;---------------------------
;------串口发送程序--------
;---------------------------
TT:
MOVA,U8RH_data_H
LCALLTX_DATA
MOVA,U8RH_data_L
LCALLTX_DATA
MOVA,U8T_data_H
LCALLTX_DATA
MOVA,U8T_data_L
LCALLTX_DATA
MOVA,U8checkdata
LCALLTX_DATA
//延时两秒
LCALLDelay_2S
LJMPMAIN
;--------------------------------
;-----湿度读取子程序------------
;--------------------------------
;----以下变量均为全局变量--------
;----温度高8位==U8T_data_H------
;----温度低8位==U8T_data_L------
;----湿度高8位==U8RH_data_H-----
;----湿度低8位==U8RH_data_L-----
;----校验8位==U8checkdata-----
;----调用相关子程序如下----------
;----Read,Delay_10us,Delay
;--------------------------------
RH:
;主机拉低总线,延时500us
CLRP2.0
MOVA,#36
LCALLDelay
SETBP2.0
;延时40us
LCALLDelay_10us
LCALLDelay_10us
LCALLDelay_10us
LCALLDelay_10us
;检测从机是否响应,无响应则跳出
JBP2.0,RH_END
MOVFLAG,#0
LOOP1:
INCFLAG
MOVA,FLAG
JBP2.0,LOOP1_END;为高电平则跳出
CJNEA,#0,LOOP1
LJMPRH_END
LOOP1_END:
MOVFLAG,#0
LOOP2:
INCFLAG
MOVA,FLAG
JNBP2.0,LOOP2_END;为低电平则跳出
CJNEA,#0,LOOP2
LJMPRH_END
LOOP2_END:
;进入数据接收阶段
LCALLRead
MOVU8RH_data_H,U8comdata;
LCALLRead
MOVU8RH_data_L,U8comdata;
LCALLRead
MOVU8T_data_H,U8comdata;
LCALLRead
MOVU8T_data_L,U8comdata;
LCALLRead
MOVU8checkdata,U8comdata;
SETBP2.0
;----------------------------------------------------------------------------
;----注意:
本程序没有加校验程序如果用户需要校验请安以下说明编写校验程序-----
;----------------------------------------------------------------------------
;数据传送正确时校验和U8checkdata的值等于
;"8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据"所得结果的末8位
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
RH_END:
RET
;--------------------------------
;---------读数子程序-------------
;--------------------------------
Read:
MOVtemp,#8
MOVU8comdata,#0
LOOP_COM:
;判断低电平是否结束
MOVFLAG,#0
LOOP3:
INCFLAG
MOVA,FLAG
JBP2.0,LOOP3_END;为高电平则跳出
CJNEA,#0,LOOP3
LJMPCOM_END
LOOP3_END:
;----------------------
;CLRP2.1
;SETBP2.1
;----------------------
LCALLDelay_10us
LCALLDelay_10us
LCALLDelay_10us
;----------------------
;CLRP2.1
;SETBP2.1
;----------------------
MOVU8temp,#0
JNBP2.0,HIGH_END
MOVU8temp,#1
HIGH_END:
MOVFLAG,#0
LOOP4:
INCFLAG
MOVA,FLAG
JNBP2.0,LOOP4_END;为低电平则跳出
CJNEA,#0,LOOP4
LJMPCOM_END
LOOP4_END:
MOVA,FLAG
CJNEA,#0,NO_FLAG
LJMPCOM_END
NO_FLAG:
MOVA,U8comdata
RLA
ORLA,U8temp
MOVU8comdata,A
;判断高电平是否结束
DJNZtemp,LOOP_COM
COM_END:
RET
;--------------------------------
;------延时函数-----------------
;--------------------------------
Delay:
MOVR4,A;2.5ms
D1:
MOVR5,#0FFH
DJNZR5,$
DJNZR4,D1
RET
;--------------------------------
;------延时10us函数-----------------
;--------------------------------
Delay_10us:
;10us
NOP
NOP
NOP
NOP
NOP
NOP
RET
;--------------------------------
;------延时2S函数-----------------
;--------------------------------
Delay_2S:
MOVA,#250
LCALLDelay
MOVA,#250
LCALLDelay
MOVA,#250
LCALLDelay
MOVA,#250
LCALLDelay
MOVA,#250
LCALLDelay
MOVA,#250
LCALLDelay
MOVA,#250
LCALLDelay
MOVA,#250
LCALLDelay
RET
;--------------------------------
;------串口数据发送函数---------
;--------------------------------
TX_DATA:
CLRES;禁止串口中断
MOVSBUF,A
JNBTI,$
CLRTI;将同一数据发送到串口
SETBES;允许串口中断
RET
;--------------------------------
;------串口中断函数-------------
;--------------------------------
SET_INT:
CLRES;禁止串口中断
JNBRI,$
CLRRI
MOVA,SBUF;接受串口数据
MOVP0,A;将串口数据送往P0
MOVSBUF,A
JNBTI,$
CLRTI;将同一数据发送到串口
SETBES;允许串口中断
RETI
END
;--------------------------------
;----------结束------------------
;--------------------------------
12.2C例程:
//****************************************************************//
//DHT11使用范例
//单片机:
AT89S52或STC89C52RC
//功能:
串口发送温湿度数据波特率9600
//硬件连接:
P2.0口为通讯口连接DHT11,DHT11的电源和地连接单片机的电源和地,单片机串口加MAX232连接电脑
//公司:
**********
//****************************************************************//
#include
#include
//
typedefunsignedcharU8;/*definedforunsigned8-bitsintegervariable无符号8位整型变量*/
typedefsignedcharS8;/*definedforsigned8-bitsintegervariable有符号8位整型变量*/
typedefunsignedintU16;/*definedforunsigned16-bitsintegervariable无符号16位整型变量*/
typedefsignedintS16;/*definedforsigned16-bitsintegervariable有符号16位整型变量*/
typedefunsignedlongU32;/*definedforunsigned32-bitsintegervariable无符号32位整型变量*/
typedefsignedlongS32;/*definedforsigned32-bitsintegervariable有符号32位整型变量*/
typedeffloatF32;/*singleprecisionfloatingpointvariable(32bits)单精度浮点数(32位长度)*/
typedefdoubleF64;/*doubleprecisionfloatingpointvariable(64bits)双精度浮点数(64位长度)*/
//
#defineucharunsignedchar
#defineuintunsignedint
#defineData_0_time4
//----------------------------------------------//
//----------------IO口定义区--------------------//
//----------------------------------------------//
sbitP2_0=P2^0;
sbitP2_1=P2^1;
sbitP2_2=P2^2;
sbitP2_3=P2^3;
//----------------------------------------------//
//----------------定义区--------------------//
//----------------------------------------------//
U8U8FLAG,k;
U8U8count,U8temp;
U8U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;
U8U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;
U8U8comdata;
U8outdata[5];//定义发送的字节数
U8indata[5];
U8count,count_r=0;
U8str[5]={"RS232"};
U16U16temp1,U
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 温湿度 传感器 DHT 技术 文档