您的当前位置:首页正文

单总线传感器DHT11在温湿度测控中的应用

来源:小奈知识网
󰀁󰀁󰀁󰀁󰀁应用天地󰀁APPLICATIONNOTES

单总线传感器DHT11在温湿度测控中的应用

倪天龙

(中国人民解放军75701部队装备处,广州510880)

󰀂

摘要:新型单总线数字温湿度传感器DHT11具有体积小巧、接口简单、响应速度快、性价比高等特点。文章简要介绍了单总线概念,阐述了DHT11的基本原理和控制使用方法,以及其在仓库温湿度测控系统中的应用。DHT11的诸多优点,使其在自动控制和家电消费品领域中拥有较高的应用价值。关键词:单总线;温湿度传感器;DHT11中图分类号:TP368󰀁󰀁󰀁󰀁文献标识码:A

ApplicationofSingleBusSensorDHT11inTemperatureHumidity

MeasureandControlSystem󰀂

NiTianlong

(75701UnitsofPLA,Guangzhou510880,China)

Abstract:NewdigitaltemperaturehumiditysensorDHT11hasmanyadvantagessuchascompactness,simpleinterface,fastresponse,andcheapness.Thispaperbrieflyintroducestheconceptof1󰀁wirebus,andexpoundsthebasicprinciplesandtheapplicationmethodsofDHT11,aswellasitsapplicationinthetemperatureandhumiditycontrolsystem.TheexcellentadvantagesmakesDHT11valuedinthefieldsofautomationandconsumerelectronicsproducts。Keywords:1󰀁wirebus;temperaturehumiditysensor;DHT11

年来,美国的达拉斯半导体公司(DallasSemiconductor)推

引󰀁言

随着科技的不断发展,汽车、空调、除湿器、烘干机等种类繁多的电器都已进入人们的日常生活,而这些电器设备很多都离不开对温度、湿度等环境因素的要求。因此,温度、湿度传感器用途越来越广泛。新一代的数字传感器不再需要外置的A/D转换模块,并具有标准接口,使用方便,得到了越来越多的应用。DHT11作为一种新型的单总线温湿度数字传感器,具有更多的优点,它使系统设计更加简单,控制方便,易于实现。

出了一项特有的单总线(1󰀁wireBus)技术。该技术与上述总线不同。它采用单根信号线,既可传输时钟,又能传输数据,而且数据传输是双向的,因而这种单总线技术具有线路简单、硬件开销少、成本低、便于总线扩展和维护等优点。

单总线适用于单主机系统,能够控制一个或多个从机设备。主机可以是微控制器,从机是单总线器件,它们之间的数据交换只通过1条信号线。当只有1个从机设备时,系统可按单节点系统操作;当有多个从机设备时,系统则按多节点系统操作。

1󰀁单总线通信简介

目前常用的微机与外设之间进行数据传输的串行总线主要有IC总线、SPI总线和SCI总线。其中IC总线以同步串行两线方式进行通信(1条时钟线,1条数据线),SPI总线则以同步串行三线方式进行通信(1条时钟线,1条数据输入线,1条数据输出线),而SCI总线是以异步方式进行通信的(1条数据输入线,1条数据输出线)。这些总线至少需要两条或两条以上的信号线。近

2

2

2󰀁DHT11的主要特点及引脚说明

广州奥松电子有限公司新近推出的DHT11数字温湿度传感器,是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,具有很高的可靠性与稳定性。DHT11传感器包括1个电阻式感湿元件和1个NTC测温元件,并与1个高性能8位单片机相连接。单线制串行接口,使系统连接可以更简洁。功耗极低,信号传输距离可达20m以上。

󰀁602010年第6期adv@mesnet.com.cn(广告专用)󰀁

APPLICATIONNOTES󰀁应用天地󰀁

作为一种新型的单总线数字温湿度传感器,DHT11具有体积小、功耗低、响应速度快、抗干扰能力强、控制简单、性价比高等优点,能够广泛应用于各个领域。其基本指标如下:

号,送出40位的测量数据,并触发一次信号采集,用户可选择读取部分数据。DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集。采集数据后转换到低速模式。

温湿度复合传感器;

全量程标定校准,单线数字输出;湿度测量范围为20%~90%RH;温度测量范围为0~+50!;湿度测量精度为∀5.0%RH;温度测量精度为∀1.0!;响应时间<5s;低功耗;

超长的信号传输距离;出色的长期稳定性;超小体积。

4时序说明

通信过程非常简单,如图2所示(图2~图5中实线为

主机信号,虚线为DHT信号)。首先主机(微处理器)在数据线上发出开始信号,DHT11在检测到此信号后回复响应信号,并拉高数据线电平,开始向主机发送测量得到的数据。数据发送完毕后,释放总线。

DHT11采用4针单排引脚封装,电路连接方便,引脚说明如表1所列。

DATA是用于微处理器与DHT11之间的通信和同步的串行双向接口,采用单总线数据格式。每次通信都是以高位先出的顺序传输40位数据,用时约为4ms。数据格式为:

8位湿度整数数据+8位湿度小数数据+8位温度整数数据+8位温度小数数据+8位校验和数据

数据分小数部分和整数部分,当前小数部分用于以后扩展,现读出为零。

数据传送正确时,校验和数据等于#8位湿度整数数据+8位湿度小数数据+8位温度整数数据+8位温度小数数据∃所得结果的末8位。

表1

1234

图󰀁2

DHT11引脚说明

注󰀁释

VDD供电3~5.5VDCDATA串行数据,单总线NC空脚,悬空GND

接地,电源负极

详细时序如图3所示。总线空闲状态为高电平。需

要读取DHT11的测量数据时,主机先把总线拉低18ms以上的低电平,这就是主机发出的开始信号。当DHT11检测到总线上的开始信号时,在主机开始信号结束后发送80󰀂s低电平的响应信号。主机发送完开始信号,延时等待20~40󰀂s后,从总线读取DHT11的响应信号。如果读取响应信号为高电平,说明DHT11没有响应,请检查线路是否连接正常。如果总线为低电平,说明DHT11正常发送了响应信号。

DHT11发送完响应信号后,将总线拉高80󰀂s,准备

引脚号名称

图󰀁3

3典型应用电路

DHT11与微处理器的电路连接非常简单,典型

发送数据。每一位数据都以50󰀂s低电平时隙开始,以高电平的时长来区分数据位是0或1,26~28󰀂s的高电平表示0,70󰀂s的高电平表示1(具体格式见图4和图5)。当最后一位数据传送完毕后,DHT11拉低总线50󰀂s,随后总线由上拉电阻拉高进入空闲状态。

数字0信号表示方法如图4所示,数字1信号表示方法如图5所示。

温湿度读取子程序如下:

voidRH(void){

//主机将DHT11数据线拉低18msDHT11data=0;

图󰀁1

Delay_1ms(18);

应用电路如图1所示。

数据线长度短于20m时可以使用5k󰀁上拉电阻,大于20m时可根据实际情况使用合适的上拉电阻。

MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信

󰀁paper@mesnet.com.cn(投稿专用)󰀁

2010年第6期Microcontrollers&EmbeddedSystems󰀁

󰀁61

󰀁󰀁󰀁󰀁󰀁应用天地󰀁APPLICATIONNOTES

5

基于DHT11的仓库温湿度测控系统应用实例

󰀁󰀁DHT11已被成功地应用到了仓库管理控制系统中。

图󰀁4

如图6所示,采用STC89C52RC处理器实现对DHT11的控制,按照DHT11的时序在数据线上发送起始信号,再从数据线读取DHT11的测量数据。将这些数据进行分析处理,一路送至数码管显示,另一路通过RS232口送至计算机。也可以将测量数据存入单片机内的Flash中,以备查阅。如果测量数据显示当前库内的温湿度超出了仓库设定温湿度范围,则单片机STC89C52RC将产生报警信号。将该报警信号一路接入报警装置中触发报警,另一路控制继电器打开抽湿机和空调的电源来调节库内温度和湿度。这样便有效地实现了DHT11对仓库温湿度的控制,完善了对仓库的管理。

图󰀁5

DHT11data=1;

//数据线由上拉电阻拉高,主机延时30󰀂sDelay_1us(30);

//主机设为输入,判断从机响应信号DHT11data=1;

//判断从机是否有低电平响应信号,如不响应则跳出,响应//则继续运行if(!DHT11data){

FLAG=2;

//判断从机是否发出80󰀂s的低电平,响应信号是否结束while((!DHT11data)&&FLAG++);FLAG=2;

//判断从机是否发出80󰀂s的高电平,如发出则进入数//据接收状态

while((DHT11data)&&FLAG++);

//数据接收。每次接收8位数据,分别是湿度整数数据、//湿度小数数据、温度整数数据、温度小数数据、校验和ReadDHT11();

RH_data_H_temp=U8comdata;ReadDHT11();

RH_data_L_temp=U8comdata;ReadDHT11();

T_data_H_temp=U8comdata;ReadDHT11();

T_data_L_temp=U8comdata;ReadDHT11();

checkdata_temp=U8comdata;DHT11data=1;

//数据校验。如果校验和正确,则进行显示或其他操作U8temp=(T_data_H_temp+T_data_L_temp+RH_

data_H_temp+RH_data_L_temp);

if(U8temp==checkdata_temp)

display();

}}

图󰀁6

结语

淘宝网上DHT11单片价格仅7.8元。作者对DHT11与DS18B20及一些水银温湿度测量器的测量数据进行了比较,验证了DHT11测量数据的准确性和稳定性。低廉的价格、小巧的体积、准确稳定的测量数据、简单的单总线控制方式、简洁的电路连接,这些将使DHT11拥有良好的应用前景。

编者注:DHT11在温湿度测控系统中应用的代码见本刊网站www.mesnet.com.cn。

参考文献

[1]陈志英,李光辉.单总线(1WireBus)技术及其应用[J].国外

电子元器件,2003(8):47.

[2]徐敏,诸葛振荣,宋加仁.基于1Wire技术的数字温度仪[J].

机电工程,2007,24(4):26󰀁29.

倪天龙(工程师),主要研究领域为嵌入式系统设计与应用。

(收修改稿日期:2010󰀁01󰀁31)

󰀁622010年第6期adv@mesnet.com.cn(广告专用)󰀁

因篇幅问题不能全部显示,请点此查看更多更全内容