随着科技的不断发展,汽车、空调、除湿器、烘干机等种类繁多的电器都已进入人们的日常生活,而这些电器设备很多都离不开对温度、湿度等环境因素的要求。因此,温度、湿度传感器用途越来越广泛。新一代的数字传感器不再需要外置的A/D转换模块,并具有标准接口,使用方便,得到了越来越多的应用。DHT11作为一种新型的单总线温湿度数字传感器,具有更多的优点,它使系统设计更加简单,控制方便,易于实现。
1 单总线通信简介
目前常用的微机与外设之间进行数据传输的串行总线主要有I2C总线、SPI总线和SCI总线。其中I2C总线以同步串行两线方式进行通信(1条时钟线,1条数据线),SPI总线则以同步串行三线方式进行通信(1条时钟线,1条数据输入线,1条数据输出线),而SCI总线是以异步方式进行通信的(1条数据输入线,1条数据输出线)。这些总线至少需要两条或两条以上的信号线。近年来,美国的达拉斯半导体公司(Dallas Semiconductor)推出了一项特有的单总线(1-wire Bus)技术。该技术与上述总线不同。它采用单根信号线,既可传输时钟,又能传输数据,而且数据传输是双向的,因而这种单总线技术具有线路简单、硬件开销少、成本低、便于总线扩展和维护等优点。
单总线适用于单主机系统,能够控制一个或多个从机设备。主机可以是微控制器,从机是单总线器件,它们之间的数据交换只通过1条信号线。当只有1个从机设备时,系统可按单节点系统操作;当有多个从机设备时,系统则按多节点系统操作。
2 DHT11的主要特点及引脚说明
广州奥松电子有限公司新近推出的DHT11数字温湿度传感器,是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,具有很高的可靠性与稳定性。DHT11传感器包括1个电阻式感湿元件和1个NTC测温元件,并与1个高性能8位单片机相连接。单线制串行接口,使系统连接可以更简洁。功耗极低,信号传输距离可达20 m以上。作为一种新型的单总线数字温湿度传感器,DHT11具有体积小、功耗低、响应速度快、抗干扰能力强、控制简单、性价比高等优点,能够广泛应用于各个领域。其基本指标如下:
◆温湿度复合传感器;
◆全量程标定校准,单线数字输出;
◆湿度测量范围为20%~90%RH;
◆温度测量范围为0~+50℃;
◆湿度测量精度为±5.0%RH;
◆温度测量精度为±1.0℃;
◆响应时间<5 s;
◆低功耗;
◆超长的信号传输距离;
◆出色的长期稳定性;
◆超小体积。
DHT11采用4针单排引脚封装,电路连接方便,引脚说明如表1所列。
DATA是用于微处理器与DHT11之间的通信和同步的串行双向接口,采用单总线数据格式。每次通信都是以高位先出的顺序传输40位数据,用时约为4 ms。数据格式为:
8位湿度整数数据+8位湿度小数数据+8位温度整数数据+8位温度小数数据+8位校验和数据
数据分小数部分和整数部分,当前小数部分用于以后扩展,现读出为零。
数据传送正确时,校验和数据等于“8位湿度整数数据+8位湿度小数数据+8位温度整数数据+8位温度小数数据”所得结果的末8位。
3 典型应用电路
DHT11与微处理器的电路连接非常简单,典型应用电路如图1所示。
数据线长度短于20 m时可以使用5 kΩ上拉电阻,大于20 m时可根据实际情况使用合适的上拉电阻。
MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40位的测量数据,并触发一次信号采集,用户可选择读取部分数据。DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集。采集数据后转换到低速模式。
4 时序说明
通信过程非常简单,如图2所示(图2~图5中实线为主机信号,虚线为DHT信号)。首先主机(微处理器)在数据线上发出开始信号,DHT11在检测到此信号后回复响应信号,并拉高数据线电平,开始向主机发送测量得到的数据。数据发送完毕后,释放总线。
详细时序如图3所示。总线空闲状态为高电平。需要读取DHT11的测量数据时,主机先把总线拉低18 ms以上的低电平,这就是主机发出的开始信号。当DHT11检测到总线上的开始信号时,在主机开始信号结束后发送80μs低电平的响应信号。主机发送完开始信号,延时等待20~40μs后,从总线读取DHT11的响应信号。如果读取响应信号为高电平,说明DHT11没有响应,请检查线路是否连接正常。如果总线为低电平,说明DHT11正常发送了响应信号。
DHT11发送完响应信号后,将总线拉高80μs,准备发送数据。每一位数据都以50μs低电平时隙开始,以高电平的时长来区分数据位是0或1,26~28μs的高电平表示0,70μs的高电平表示1(具体格式见图4和图5)。当最后一位数据传送完毕后,DHT11拉低总线50μs,随后总线由上拉电阻拉高进入空闲状态。
数字0信号表示方法如图4所示,数字1信号表示方法如图5所示。
温湿度读取子程序如下:
5 基于DHT11的仓库温湿度测控系统应用实例
DHT11已被成功地应用到了仓库管理控制系统中。如图6所示,采用STC89C52RC处理器实现对DHT11的控制,按照DHT11的时序在数据线上发送起始信号,再从数据线读取DHT11的测量数据。将这些数据进行分析处理,一路送至数码管显示,另一路通过RS232口送至计算机。也可以将测量数据存入单片机内的Flash中,以备查阅。如果测量数据显示当前库内的温湿度超出了仓库设定温湿度范围,则单片机SFC89C52RC将产生报警信号。将该报警信号一路接人报警装置中触发报警,另一路控制继电器打开抽湿机和空调的电源来调节库内温度和湿度。这样便有效地实现了DHT11对仓库温湿度的控制,完善了对仓库的管理。
结 语
淘宝网上DHT11单片价格仅7.8元。作者对DHT11与DS18820及一些水银温湿度测量器的测量数据进行了比较,验证了DHT11测量数据的准确性和稳定性。低廉的价格、小巧的体积、准确稳定的测量数据、简单的单总线控制方式、简洁的电路连接,这些将使DHT11拥有良好的应用前景。