温度和湿度采集模块

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

硬件设计第15页(共48页)STC89C52RC单片机3.3温度和湿度采集模块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温湿度传感器模块温湿度传感器选用瑞士Sensirion公司生产的SHT10。SHT1X系列共有三个型号:SHT10、SHT11、SHT15,他们都是SMD贴片封装的,他们依次性能越来越好,其中SHT10属于经济型的温湿度传感器。三者的温湿度性能如下图所示。图3.4SHT1X系列各型号传感器的湿度、温度最大误差从曲线中可以看出,无论是湿度还是温度,SHT10的误差都是最大的,SHT15误差最小,但是它们的价格也相差很大,SHT10多为二三十元一个,而SHT15价格上百。因此,从满足大棚温湿度监测的要求来看,SHT10已经足够,故选用SHT10。SHT10与单片机的接口电路如下所示:图3.5SHT10与单片机的接口电路SHT10采用类似于I2C的两线制串行总线,一根是时钟线,一根是数据线。数据线要通过一个上拉电阻接到VCC,目的是避免信号冲突,使单片机的引脚只提供低电平,要得到高电平则使该引脚悬空,由上拉电阻提供高电平。89C51单片机2.2.1.温湿度采样系统为了更精确的反映温室的温度和湿度,取温湿度各4路信号采样简单平均处理作为温室的温度和湿度。在分辨率达到的前提下,温湿度的精度为1%。2.2.2.温湿度控制系统首先,系统启动后,提示用户输入温度的上限与下限的温度值。用户输入之后,系统自动求出中间值,根据实际温度的情况采取相应的方案。如下图2-2-1所示。下限温度中间温度上限温度28----32----36图2-2-1如果该时刻的实际温度值低于用户给定的下限温度值时,系统立即启动报警装置,且系统处于升温状态,直到实际温度达到用户输入的上下限温度的中间值一定区间内时停止升温。反之,如果实际温度值高于用户设定的上限值时,系统也会立即启动报警装置,且系统处于降温状态,直到实际温度达到用户输入的上下限温度的中间值一定区间内时停止降温。选择中间值作为控制参数,防止升温——降温——升温的死循环,因为温度低于下限时会一直升温,可能导致温度高于上限系统又开始降温,这样系统便一直重复升温——降温——升温过程,导致设备在某一个温湿度点附近频繁的启停,使设备寿命下降,而且没有实际意义。选择中间值的一定区间,是防止达到中间值时,采取了停止升温或者降温措施,温度还是会持续上升或下降一会儿,这时候温度可能不是正好在中间值处,系统便还是采取升温或者降温的措施,而此时的温度值可能已经是很适合植被生长的需要的温度值。所以本方案选在中间值的正负一度区间内,认为此区间内都是适合的,不产生任何控制动作变化,这样就能解决设备频繁启停问题。AT89S52DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接[15]。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式存在OTP内存中,传感器内部在检测型号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,使其成为给类应用甚至最为苛刻的应用场合的最佳选择。产品为4针单排引脚封装,连接方便。DHT11的简介·相对湿度和温度测量·全部校准,数字输出·卓越的长期稳定性·无需外加器件·超长的信号传输距离·超低能耗·4引脚安装·完全互换图3.5DHT11引脚说明建议接线长度短于20米时,用5K上拉电阻,大于20米时根据实际情况使用合适的上拉电阻。引脚1:VDD供电3-5.5V引脚2:DATA串行数据,单总线引脚3:NC空脚,悬空引脚4:GND接地,电源负极图3.6典型应用电源引脚DHT11的供电电压为3-5.5V。传感器上电后,要等待1s以越过不稳定状态在此期间无需发送任何指令。电源引脚(VDD,GND)之间可增加一个100nF的电容,用以去耦滤波。串行接口(单线双向)1.单总线说明DHT11器件采用简化的单总线通信。单总线即只有一根数据线,系统中的数据交换、控制均由单总线完成。设备(主机或从机)通过一个漏极开路或三态端口连至该数据线,以允许设备在不发送数据时能够释放总线,而让其它设备使用总线;单总线通常要求外接一个约5.1kΩ的上拉电阻,这样,当总线闲置时,其状态为高电平。由于它们是主从结构,只有主机呼叫从机时,从机才能应答,因此主机访问器件都必须严格遵循单总线序列,如果出现序列混乱,器件将不响应主机[16]。2.单总线传送数据位定义DATA用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次传送40位数据,高位先出。数据格式:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验位。3.校验位数据定义“8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据”8bit校验位等于所得结果的末8位。4.数据时序图用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。图3.7数据时序图5.外设读取(1)DHT11上电后,测试环境温湿度数据,并记录数据,同时DHT11的DATA数据线由上拉电阻拉高一直保持高电平;此时DHT11的DATA引脚处于输入状态,时刻检测外部信号。(2)微处理器的I/O设置为输出同时输出低电平,且低电平保持时间不能小于18ms,然后微处理器的I/O设置位输入状态,由于上拉电阻,微处理器的I/O即DHT11的DATA数据线也随之变高,等待DHT11作出回答信号。图3.8主机发送起始信号(3)DHT11的DATA引脚检测到外部信号有低电平时,等待外部信号低电平结束,延迟后DHT11的DATA引脚处于输出状态,输出80us的低电平作为应答信号,紧接着输出80us的高电平通知外设准备接受数据,微处理器的I/O此时处于输入状态,检测到I/O有低电平(DHT11回应信号)后,等待80us的高电平后的数据接收。图3.9发送信号(4)由DHT11的DATA引脚输出40位数据,微处理器根据I/O电平的变化接收40位数据,位数据“0”的格式为:50us的低电平和26-28us的高电平;位数据“1”的格式为:50us的低电平加70us的高电平。图3.10位数据“0”的格式图3.11位数据“1”的格式测量分辨率测量分辨率分别为8bit(温度)、8bit(湿度)。电气特性VDD=5V,T=25℃,除非特殊标注表3.1电气特性表参数条件mintypmax单位供电DC355.5V供电电流测量0.52.5mA平均0.21mA待机100150uA采样周期秒1次89C51温湿度检测电路的设计本系统选择的温湿度传感器是由瑞士Sensirion公司推出了SHT10单片数字温湿度集成传感器,采用CMOS过程微加工专利技术(CMOSenstechnology),确保产品具有极高的可靠性和出色的长期稳定性。该传感器包括一个电容性聚合体湿度敏感元件、一个用能隙材料制成的温度敏感元件,并在同一芯片上,与l4位的A/D转换器以及串行接口电路实现无缝连接。每个传感器芯片都在极为精确的湿度腔室中进行标定,以镜面冷凝式湿度计为参照。校准系数以程序形式存储在OTP内存中,在校正的过程中使用。两线制的串行接口,使外围系统集成变得快速而简单。微小的体积、极低的功耗,使其成为各类应用的首选。如图2-3所示,传感器SHT10的原理图图2-3传感器SHT10的原理图如图2-4所示,传感器SHT10的电路连接图DACalibrationMemeryDigitalinter-faceRHSensorTempSensorSCKDATAGNDVDD图2-4SHT10传感器电路图(1)数字集成温湿度传感器SHT10的主要特点a.相对湿度和温度的测量兼有露点输出;b.全部校准,数字输出;c.接口简单(2-wire),响应速度快;d.超低功耗,自动休眠;e.出色的长期稳定性;f.超小体积(表面贴装);g.测湿精度±45%RH,测温精度±0.5℃(25℃)。(2)引脚说明a.电源引脚(VDD、GND)SHT10的供电电压为2.4V~5.5V。传感器上电后,要等待11ms,从“休眠”状态恢复。在此期间不发送任何指令。电源引脚(VDD和GND)之间可增加1个100nF的电容器,用于去耦滤波。b.串行接口SHT10的两线串行接口(bidirectional2-wire)在传感器信号读取和电源功耗方面都做了优化处理,其总线类似I2C总线但并不兼容I2C总线。①串行时钟输入(SCK)。SCK引脚是MCU与SHTIO之问通信的同步时钟,由于接口包含了全静态逻辑,因此没有最小时钟频率。即微控制器可以以任意慢的速度与SHT10通信。②串行数据(DATA)。DATA三态引脚是内部的数据的输出和外部数据的输入引脚。DATA在SCK时钟的下降沿之后改变状态,并在SCK时钟的上升沿有效。即微控制器可以在SCK的高电平段读取有效数据。在微控制器向SHT10传输数据的过程中,必须保证数据线在时钟线的高电平段内稳定。为了避免信号冲突,微控制器仅将数据线拉低,在需要输出高电平的时候,微控制器将引脚置为高阻态,由外部的上拉电阻(例如:lOk~)将信号拉至高电平。为避免数据发生冲突,MCU应该驱动DATA使其处于低电平状态,而外部接1个上拉电阻将信号拉至高电平。(3)命令与时序SHT10命令如表2-1所列。表2-1SHT10的命令a.命令时序发送一组“传输启动”序列进行数据传输初始化,如图2-5所示。其时序为:当SCK为高电平时DT翻转保持低电平,紧接着SCK产生1个发脉冲,随后在SCK为高电平时DATA翻转保持高电平。命令代码保留0000X测量温度00011测量湿度00101读状态寄存器00111写状态寄存器00110保留0101X~1110X软件复位,复位接口、清楚状态寄存器为默认值,下一个命令前等待至少11ms11110图2-5命令时序紧接着的命令包括3个地址位(仅支持“000”)和5个命令位。SHT10指示正确接收命令的时序为:在第8个SCK时钟的下降沿之后将DATA拉为低电平(ACK位),在第9个SCK时钟的下降沿之后释放DATA(此时为高电平)。b.测量时序(RH和T)“00000101”为相对湿度(RH)量,“00000101”为温度(θ)测量。发送一组测量命令后控制器要等待测量结束,这个过程大约需要20/80/320ms对应其8/12/14位的测量。测量时间随内部晶振的速度而变化,最多能够缩短30%。SHT10下拉DATA至低电平而使其进入

1 / 25
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功