
数字温湿度传感器DHT11详解及例程利用串口显示.doc
19页数字温湿度传感器DHT11 1、概述 DHTxx 系列数字温湿度传感器是一款具有已校准数字信号输出的温湿度复合传感器它应用专用的数字模块采集技术和温湿度传感技术,保证产品具有极高的可靠性与卓越的长期稳定性传感器涉及一种电阻式测湿元件和一种NTC测温元件,并与一种高性能8位单片机相连接因此,该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等长处每个DHTxx传感器都在极为精确的湿度校验室中进行校准校准系数以程序的形式储存在 OTP内存中,传感器内部在检测信号的解决过程中要调用这些校准系数单线制串行输出接口,使系统集成变得简易快捷超小的体积、极低的功耗,使其成为各类应用甚至最为苛刻的应用场合的最佳选则本产品为 4 针单排引脚封装,特殊封装形式可根据顾客需求而提供 2、产品特性 湿温度传感器的一体化构造能相对的同步对相对湿度和温度进行测量 数字信号输出,从而减少顾客信号的预解决承当 单总线构造输出有效的节省顾客控制器的I/O口资源并且,不需要额外电器元件 独特的单总数据传播线合同使得读取传感器的数据更加便捷。
所有校准编码方式为8位二进制数 40bit 二进制数据输出其中湿度整数部分占1Byte,小数部分1Byte;温度整数部分1Byte,小数部分1Byte其中,湿度为高16位最后1Byte为校验和 卓越的长期稳定性,超低功耗 4引脚安装,超小尺寸 各型号管脚完全可以互换 测量湿度范畴从20%RH到90%RH;测量温度范畴从0℃到50℃ 合用范畴涉及恒湿控制,消费家电类产品,温湿度计等领域 3、外型与引脚排列引脚阐明: Vcc 正电源 Dout 输出 NC 空脚 GND 地 - 1 - 图3.0 DHT外型及管脚 4、具体引脚阐明: 传感器管脚方向辨认:正面(有通气孔的一面)看过去,从左到右依次为1、2、3、4脚 表4.0:引脚阐明 引脚号 引脚名称 类型 引脚阐明 1 VCC 电源 正电源输入,3V-5.5V DC 2 Dout 输出 单总线数据输入/输出引脚 3 NC 空 空脚扩展未用 4 GND 地 电源地 电源引脚,DHTxx的供电电压为 3.5~5.5V。
传感器上电后,要等待 1s 以越过不稳定状态在此期间不要发送任何指令电源引脚(VDD,GND)之间可增长一种100nF 的电容,用以去耦滤波 5、订货信息 型号 测量范畴 测湿精度测温精度辨别力 封装 DHT11 20-90%RH 0-50℃±5%RH ±2℃ 1 4针单排直插 6、传感器性能阐明 参数 条件 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 7、连接接口阐明 DHTxx数字湿温度传感器连接电路简朴,只需要占用控制器一种I/O口即可完毕上下位的连接典型应用电路如下图所示此外,建议连接线长度短于20时用5K上拉电阻,不小于20米时根据实际状况使用合适的上拉电阻,如图5.0所示。
图5.0 典型电路连接 8、数据格式及解决 8.1、格式 数字湿温度传感器采用单总线数据格式即,单个数据引脚端口完毕输入输出双向传播其数据包由5Byte(40Bit)构成一次通讯时间最大3ms,数据分小数部分和整数部分,具体格式在下面阐明 DATA 用于微解决器与 DHTxx之间的通讯和同步,采用单总线数据格式, 目前小数部分用于后来扩展,现读出为0操作流程如下: 一次完整的数据传播为40bit,高位先出 数据格式:8bit湿度整数数据+8bit湿度小数数据 +8bit温度整数数据+8bit温度小数数据 +8bit校验和 校验和数据为前四个字节相加 具体见表6.1: 湿度 温度 校验 整数 小数 整数 小数 8Bit 8Bit 8Bit 8Bit 8Bit 8.2、数据编码及解决 传感器数据输出的是未编码的二进制数据数据(湿度、温度、整数、小数)之间应当分开解决如果,某次从传感器中读取如下5Byte数据: byte4 byte3 byte2 byte1 byte0 00101101 00000000 00011100 00000000 01001001 整数 小数 整数 小数 校验和 湿度 温度 校验和 由以上数据就可得到湿度和温度的值,计算措施: humi (湿度)= byte4 . byte3=45.0 (%RH) temp (温度)= byte2 . byte1=28.0 ( ℃) jiaoyan(校验)= byte4+ byte3+ byte2+ byte1=73 9、时序 DHTxx传感器是通过奥松电子有限公司开发的单总线合同和上位机(控制器)进行数据通信。
DHTxx传感器需要严格的读写合同来保证数据的完整性整个读写分为,上位机发送起始信号,上位机接受下位机发来的握手响应信号,读‘0’,和读‘1’四个环节所有的信号除主机启动复位信号外,所有都由DHTxx产生 通过单总线访问DHTxx顺序归纳如下: 主机发开始信号 主机等待接受DHTxx响应信号 主机持续接受40Bit的数据和校验和 数据解决 9.1、主机复位信号和DHT响应信号 图7.1 DHT复位时序 顾客主机发送一次开始信号(低电平)DHT从低速模式转换到高速模式,等待主机开始信号结束(拉高)后,DHT发送响应信号,送出40bit的数据,并触发一次信号采集,顾客可选择读取部分数据注意:总线线空闲状态为高电平,主机把总线线拉低等待DHT响应,主机把总线线拉低必须不小于18毫秒,保证DHT能检测到起始信号 DHT接受到主机的开始信号后,等待主机开始信号结束,然后发送低电平响应信号主机发送开始信号结束后,延时等待20-40us后, 读取DHT的回应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可,总线线由上拉电阻拉高。
9.2、DHT开始发送数据流程 图7.2 读DHT数据流程 主机发送开始信号后,延时等待20us-40us后读取DHT的回应信号,读取总线为低电平,阐明DHT发送响应信号,DHT发送响应信号后,再把总线拉高,准备发送数据,每一bit数据都以低电平开始,格式见下面图示如果读取响应信号为高电平,则DHT没有响应,请检查线路与否连接正常 9.3、数字‘0’信号表达措施 图7.3 信号‘0’时序图 数字‘0’表达措施为,一方面DHT把总线拉低12-14us然后拉高,高电平保持时间在26-28us这个范畴内则此比特为‘0’电平 9.4、数字‘1’信号表达措施 图7.4 信号‘1’时序图 数字‘1’表达措施为,一方面DHT把总线拉低12-14us然后拉高,高电平保持时间在116-118us这个范畴内则此比特为‘1’电平 10、 测量辨别率 测量辨别率分别为 8bit(温度)、8bit(湿度) 11、电气特性 VDD=5V,T = 25℃,除非特殊标注 参数 条件 min typmax单位 供电 DC 3 5 5.5V 供电电流 测量 0.5 2.5mA 平均 0.2 0.5mA 待机 100 150uA 采样周期 秒 1 次 注:采样周期间隔不得低于1秒钟。
12、应用信息 12.1工作与贮存条件 超过建议的工作范畴也许导致高达3%RH的临时性漂移信号返回正常工作条后,传感器会缓慢地向校准状态恢复要加速恢复进程/可参阅7.3小节的“恢复解决”在非正常工作条件下长时间使用会加速产品的老化过程 12.2暴露在化学物质中 电阻式湿度传感器的感应层会受到化学蒸汽的干扰,化学物质在感应层中的扩散也许导致测量值漂移和敏捷度下降在一种纯净的环境中,污染物质会缓慢地释放出去下文所述的恢复解决将加速实现这一过程高浓度的化学污染会导致传感器感应层的彻底损坏 12.3恢复解决 置于极限工作条件下或化学蒸汽中的传感器,通过如下解决程序,可使其恢复到校准时的状态在50-60℃和< 10%RH的湿度条件下保持2 小时(烘干);随后在20-30℃和>70%RH的湿度条件下保持 5小时以上 12.4温度影响 气体的相对湿度,在很大限度上依赖于温度因此在测量湿度时,应尽量保证湿度传感器在同一温度下工作如果与释放热量的电子元件共用一种印刷线路板,在安装时应尽量将DHT11远离电子元件,并安装在热源下方,同步保持外壳的良好通风为减少热传导,DHT11与印刷电路板其他部分的铜镀层应尽量最小,并在两者之间留出一道缝隙。
12.5光线 长时间暴露在太阳光下或强烈的紫外线辐射中,会使性能减少 12.6配线注意事项 DATA信号线材质量会影响通讯距离和通讯质量,推荐使用高质量屏蔽线 13、封装信息 14、 焊接信息 手动焊接,在最高260℃的温度条件下接触时间须少于10秒 15、注意事项 (1)避免结露状况下使用 (2)长期保存条件:温度10-40℃,湿度60%如下 例程://****************************************************************////ﻩ DHT21使用范例 //单片机 : AT89S52 或 STC89C52RC // 功能 :串口发送温湿度数据 波特率 9600 //硬件连接: P2.0口为通讯口连接DHT11,DHT11的电源和地连接单片机的电源和地,单片机串口加MAX232连接电脑 //****************************************************************//#include
