温度和湿度采集模块.docx
- 文档编号:8284233
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:25
- 大小:391.12KB
温度和湿度采集模块.docx
《温度和湿度采集模块.docx》由会员分享,可在线阅读,更多相关《温度和湿度采集模块.docx(25页珍藏版)》请在冰豆网上搜索。
温度和湿度采集模块
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
如果该时刻的实际温度值低于用户给定的下限温度值时,系统立即启动报警装置,且系统处于升温状态,直到实际温度达到用户输入的上下限温度的中间值一定区间内时停止升温。
反之,如果实际温度值高于用户设定的上限值时,系统也会立即启动报警装置,且系统处于降温状态,直到实际温度达到用户输入的上下限温度的中间值一定区间内时停止降温。
选择中间值作为控制参数,防止升温——降温——升温的死循环,因为温度低于下限时会一直升温,可能导致温度高于上限系统又开始降温,这样系统便一直重复升温——降温——升温过程,导致设备在某一个温湿度点附近频繁的启停,使设备寿命下降,而且没有实际意义。
选择中间值的一定区间,是防止达到中间值时,采取了停止升温或者降温措施,温度还是会持续上升或下降一会儿,这时候温度可能不是正好在中间值处,系统便还是采取升温或者降温的措施,而此时的温度值可能已经是很适合植被生长的需要的温度值。
所以本方案选在中间值的正负一度区间内,认为此区间内都是适合的,不产生任何控制动作变化,这样就能解决设备频繁启停问题。
AT89S52
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。
传感器包括一个电阻式感湿元件和一个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电气特性表
参数
条件
min
typ
max
单位
供电
DC
3
5
5.5
V
供电电流
测量
0.5
2.5
mA
平均
0.2
1
mA
待机
100
150
uA
采样周期
秒
1
次
89C51
温湿度检测电路的设计
本系统选择的温湿度传感器是由瑞士Sensirion公司推出了SHT10单片数字温湿度集成传感器,采用CMOS过程微加工专利技术(CMOSenstechnology),确保产品具有极高的可靠性和出色的长期稳定性。
该传感器包括一个电容性聚合体湿度敏感元件、一个用能隙材料制成的温度敏感元件,并在同一芯片上,与l4位的A/D转换器以及串行接口电路实现无缝连接。
每个传感器芯片都在极为精确的湿度腔室中进行标定,以镜面冷凝式湿度计为参照。
校准系数以程序形式存储在OTP内存中,在校正的过程中使用。
两线制的串行接口,使外围系统集成变得快速而简单。
微小的体积、极低的功耗,使其成为各类应用的首选。
如图2-3所示,传感器SHT10的原理图
图2-3传感器SHT10的原理图
如图2-4所示,传感器SHT10的电路连接图
图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的命令
命令
代码
保留
0000X
测量温度
00011
测量湿度
00101
读状态寄存器
00111
写状态寄存器
00110
保留
0101X~1110X
软件复位,复位接口、清楚状态寄存器为默认值,下一个命令前等待至少11ms
11110
a.命令时序
发送一组“传输启动”序列进行数据传输初始化,如图2-5所示。
其时序为:
当SCK为高电平时DT翻转保持低电平,紧接着SCK产生1个发脉冲,随后在SCK为高电平时DATA翻转保持高电平。
图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至低电平而使其进入空闲模式。
重新启动SCK时钟读出数据之前,控制器必须等待这个“数据准备好”信号。
接下来传输2个字节的测量数据和1个字节的CRC校验。
MCU必须通过拉低DATA来确认每个字节。
所有的数据都从MSB开始,至LSB有效。
例如对于12位数据,第5个SCK时钟时的数值作为MSB位;而对于8位数据,第1个字节(高8位)数据无意义。
确认CRC数据位之后,通信结束。
如果不使用CRC-8校验,控制器可以在测量数据LSB位之后,通过保持ACK位为高电平来结束本次通信。
测量和通信结束后,SHT10自动进入休眠状态模式。
c.复位时序
如果与SHT10的通信发生中断,可以通过随后的信号序列来复位串口,如图2-6所示。
保持DATA为高电平,触发SCK时钟9次或更多,接着在执行下次命令之前必须发送一组“传输启动”序列。
这些序列仅仅复位串口,状态寄存器的内容仍然保留。
图2-6复位时序
(4)传感器SHT10与AT89C51的接口电路
如图2-7所示,传感器SHT10将采集的温湿度值与键盘设定温湿度值进行比较,并将信息送给89C51进行处理,89C51将信息送给显示模块进行显示,用户需要对系统进行相应的温湿度调节。
图2-7传感器接口电路图
2.2.3复位电路的设计
本系统采用RC复位电路,RC复位电路实质是一阶充放电电路。
如图2-9所示。
该电路提供有效的复位信号RST(高电平)直至系统电源稳定后撤销复位信号(低电平)。
从理论上说51系列单片机复位引脚只要外加两个机器周期的有效信号即可复位,设t为保持高电平的时间,只要保证t=RC>2M(M为机器周期)即可。
但在实际设计过程中,通常C1取10uF以上,R1通常取10K左右。
时间发现,如果R1取值太小,如R1取1K.则会导致RST信号驱动能力变差而无法使系统可靠复位。
另外实验证明,图中的虚线所接的续流二极管D1对于改善复位性能起到了至关重要的作用,它的作用是在电源电压瞬间下降时,电容迅速放电,因此一定宽度的电源毛刺也可使系统可靠复位。
RST
Vcc●
C122uF
R1D1
10K4148
●
图2-9RC复位电路
2.2.4温湿度调节系统的设计
温湿度调节系统包括加湿模块除湿模块、加温模块和制冷模块。
它是由单片机的I/O口控制的,有效控制电平为+5V,执行机构的各种设备都是在市电下正常工作的,必须采用I/O口控制继电器的导通和切断来控制市电的通断,也即控制执行设备的工作状态。
由于单片机的I/O不能提供足够的电流,不能直接驱动继电器导通,因此,我们采用达林顿管,将进行两级放大,提供了足够大的驱动电流,让继电器中的电感线圈产生足够大的磁力,将开关吸合。
用户预先输入温湿度报警值到程序中,该值作为系统阈值。
温湿度传感器监测值传输给单片机,当单片机比较监测到的数值超出所设定阈值时,驱动蜂鸣器报警,并为温湿度调节系统提供控制信号,实现自动控制。
单片机STC89C52
测量温湿度所用的传感器为数字温湿度传感器DHT11.DHT11是一款含有已校准数字信号输出的温湿度复合传感器。
它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。
传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。
因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。
每个DHT11传感器都在极为精确的湿度校验室中进行校准。
校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。
单线制串行接口,使系统集成变得简易快捷。
超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。
产品为4针单排引脚封装。
连接方便,特殊封装形式可根据用户需求而提供。
2.3.1DHT11的简介
·相对湿度和温度测量
·全部校准,数字输出
·卓越的长期稳定性
·无需外加器件
·超长的信号传输距离
·超低能耗
·4引脚安装
·完全互换图4DHT11
2.3.2引脚说明
建议接线长度短于20米时,用5K上拉电阻,大于20米时根据实际情况使用合适的上拉电阻。
引脚1:
VDD供电3-5.5V
引脚2:
DATA串行数据,单总线
引脚3:
NC空脚,悬空
引脚4:
GND接地,电源负极
图5典型应用电路
2.3.3电源引脚
DHT11的供电电压为3-5.5V。
传感器上电后,要等待1s以越过不稳定状态在此期间无需发送任何指令。
电源引脚(VDD,GND)之间可增加一个100nF的电容,用以去耦滤波。
2.3.4串行接口(单线双向)
1.单总线传送数据位定义
DATA用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零.操作流程如下:
一次完整的数据传输为40bit,高位先出。
数据格式:
8bit湿度整数数据+8bit湿度小数数据
+8bi温度整数数据+8bit温度小数数据
+8bit校验和
数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。
2.数据时序图
用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。
图6数据时序图
(5)外设读取
(1)DHT11上电后,测试环境温湿度数据,并记录数据,同时DHT11的DATA数据线由上拉电阻拉高一直保持高电平;此时DHT11的DATA引脚处于输入状态,时刻检测外部信号。
(2)微处理器的I/O设置为输出同时输出低电平,且低电平保持时间不能小于18ms,然后微处理器的I/O设置位输入状态,由于上拉电阻,微处理器的I/O即DHT11的DATA数据线也随之变高,等待DHT11作出回答信号,
图7主机发送起始信号
(3)DHT11的DATA引脚检测到外部信号有低电平时,等待外部信号低电平结束,延迟后DHT11的DATA引脚处于输出状态,输出80us的低电平作为应答信号,紧接着输出80us的高电平通知外设准备接受数据,微处理器的I/O此时处于输入状态,检测到I/O有低电平(DHT11回应信号)后,等待80us的高电平后的数据接收。
图8发送信号
(4)由DHT11的DATA引脚输出40位数据,微处理器根据I/O电平的变化接收40位数据,位数据“0”的格式为:
50us的低电平和26-28us的高电平;位数据
“1”的格式为:
50us的低电平加70us的高电平。
图9位数据“0”的格式
图10位数据“1”的格式
2.4无线模块的设计
进入21世纪以来,无线通讯技术有了突飞猛进的发展,包括各种无线模块的设计制作,目前应用于无线数据传输的技术非常多,如红外技术,蓝牙技术,RF技术,GPRS,CDMA等。
本系统采用微功率短距离无线通讯技术,采用APC220-43。
APC220-43模块是高度集成微功率半双工无线数据传输模块,其嵌入了高速单片机及高性能射频芯片,最大可以纠24bits连续突发错误。
APC220模块可以提供多个频道的选择,可在线修改串口速度,射频速率,发射功率等各种工作参数。
2.4.1APC220的性能
·1000米传感距离(2400bps)
·工作频率418-455MHZ(1KHZ步进)
·灵活的软件编程选项设置
·内置看门狗,保证长期可靠运行
2.4.2无线传输模块APC220的接口说明
APC220-43模块内设256B的缓冲区,在缓冲区为空的情况下,用户可以不用考虑空中波特率与串口波特率的大小关系1次传输256B的数据,当空中波特率大于设置的串口波特率时,可1次传输无限长度的数据。
APC220模块有UART和USB两种接口类型可供选择,支持7种串口波特率设置。
最重要的是它采用透明的数据传输模式,写发送模块什么,接收模块就可以读到什么。
收发模块采用默认的工作参数就可以正常的进行数据的收发。
APC220-43模块共有9个接脚,具体定义如下表:
APC220引脚定义
引脚
定义
说明
1
GND
地0V
2
VCC
3.3V-5.5V
3
EN
电源是能端,>=1.6v或者悬空使能,<=0.5v休眠
4
RXD
URAT输入口,TTL电平
5
TXD
UART输出口,TTL电平
6
AUX
UART口的收发指示输出,低接收,高输出
7
SET
参数设置,低有效
8
NC
空脚
9
NC
空脚
表12APC220无线模块引脚定义
图6APC220与单片机的连接
2.4.3APC220无线模块的工作参数的设置
通过SET脚进行在线修改。
在线软件设置是通过模块的UART/TTL口完成的(4,5PIN)和SET脚完成的,时序图见图7.当EN脚置高50ms后,模块即可正常工作(T1)。
设置时首先将SET脚置低,此时无论UART口是何状态,模块自动将UART口转变为9600bps,无校验模式,约1ms后模块进入设置状态(T2).用户可以通过向RXD口发送设置命令,模块校验后,在200ms内TXD脚将开始返回参数信息(T3),用户在确定设置信息无误后置高SET脚,模块在10ms内切换至用户设置的参数模式运行(T4)。
需注意的是当模块进入设置状态(SET脚为低),用户只能发送一次设置命令,如发送设置命令出错,或已经完成设置,若需再次设置必须将SET脚置高,后重新进入设置状态。
图7APC220在线设置工作参数时序图
APC220-43设置时采用的编码为ASCII码,采用的波特率为9600bps,无校验模式,设置命令有读写各一个,用大写字母表示,参数之间用空格间隔开,回车表示换行结束,格式如下:
1)读命令设置:
RDPARA-频率-空中速率-发射功率-串口速率-串口校验
2)写命令设置:
WRPARA-频率-空中速率-发射功率-串口速率-串口校验
表13APC220设置参数表示方法
参数表示方法
参数
字节数
说明
频率
6
单位KHZ,如434MHZ表示为4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温度 湿度 采集 模块