基于DHT11温湿度传感器和nrf24l01模块的多点数据采集.docx
- 文档编号:23138972
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:86
- 大小:2.35MB
基于DHT11温湿度传感器和nrf24l01模块的多点数据采集.docx
《基于DHT11温湿度传感器和nrf24l01模块的多点数据采集.docx》由会员分享,可在线阅读,更多相关《基于DHT11温湿度传感器和nrf24l01模块的多点数据采集.docx(86页珍藏版)》请在冰豆网上搜索。
基于DHT11温湿度传感器和nrf24l01模块的多点数据采集
基于DHT11传感器和Nrf24L01模块的多点温湿度采集系
一、设计背景
农业大棚种植具有大范围,温湿度要求高的特点。
温度,湿度严重影响农作物的生长与产量,所以,对其的测量出其重要。
基于这样的考虑,设计了该套多点温湿度采集无线传输系统。
二、系统构成
该系统由89C52R(单片机、DHT11温湿度传感器、Nrf24L01无线传输模块构
成。
具有多点温湿度米集、汇总的特点(本实验米用两个点米集汇总一点完成)
2、接受点
三、硬件设计
1、DHT11传感器简介
DHT11产品概述
DHT1数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感
器。
它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可
靠性与卓越的长期稳定性。
传感器包括一个电阻式感湿元件和一个NT(测温元件,并与一个高性能8位单片机相连接。
因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。
每个DHT1传感器都在极为精确的湿度校验室中进行校准。
校准系数以程序的形式储存在0T内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。
单线制串行接口,使系统集成变得简易快捷。
超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。
产品为4针单排引脚圭寸装。
连接方便,特殊封装形式可根据用户需求而提供。
(1)传感器性能说明
参数
条件
Min
Typ
Max
单位
湿度
分辨率
1
1
1
%RH
8
Bit
重复性
±1
%RH
精度
25r
±4
%RH
0-50r
±5
%RH
互换性
可完全互换
里程范围
0r
30
90
%RH
25r
20
90
%RH
50r
20
80
%RH
响应时间
1/e(63%)25r,1m/s空气
6
10
15
S
迟滞
±1
%RH
长期稳定性
典型值
±1
%RH/yr
温度
分辨率
1
1
1
r
I
8
8
Bit
重复性
±1
r
精度
:
±1
±2:
r
里程范围
0
50
r
响应时间
1/e(63%)
6
30
S
2)接口说明
建议连接线长度短于20米时用5K上拉电阻,大于20米时根据实际情况使用合适的上拉电阻
VDDVDD
|TT<—
|5KWin
MCU-一"竺DHT11
4Pin
GND
典型应用电路
(3)电源引脚
DHT1的供电电压为3-5.5V。
传感器上电后,要等待1s以越过不稳定状态在此期间无需发送任何指令。
电源引脚(VDDGND之间可增加一个100nF的电容,用以去耦滤波。
(4)串行接口(单线双向)
DATA用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4口強右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零•操作流程如下:
一次完整的数据传输为40bit,高位先出。
数据格式:
8bit湿度整数数据+8bit湿度小数数据
+8bi温度整数数据+8bit温度小数数据
+8bit校验和
数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。
用户MC发送一次开始信号后QHT11从低功耗模式转换到高速模式,等待主机开始信号结束后QHT11发送响应信号,送出40bit的数据,并触发一次信号采集用户可选择读取部分数据•从模式下QHT11接收到开始信号触发一次温湿度采集如果没有接收到主机发送开始信号QHT11不会主动进行温湿度采集.采集数据后转换到低速模式。
1.通讯过程如图1所示
图1
总线空闲状态为高电平,主机把总线拉低等待DHT1响应,主机把总线拉低必须大于18毫秒,保证DHT1能检测到起始信号。
DHT1接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号.主机发送开始信号结束
后,延时等待20-40us后,读取DHT1的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可,总线由上拉电阻拉高。
总线为低电平,说明DHT1发送响应信号QHT11发送响应信号后,再把总线拉高80us,准备发送数据,每一bit数据都以50us低电平时隙开始,高电平的长短定了数据位是0还是1.格式见下面图示•如果读取响应信号为高电平,则DHT1役有响应,请检查线路是否连接正常•当最后一bit数据传送完毕后,DHT1拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。
数字0信号表示方法如图4所示
图4
数字1信号表示方法.如图5所示
(5)测量分辨率
测量分辨率分别为8bit(温度)、8bit(湿度)
(6)电气特性
VDD=5VT=25C,除非特殊标注
参数
条件
min
typ
max
单位
供电
DC
3
5
5.5
V
供电电流
测量
0.5
2.5
mA
平均
0.2
1
mA
待机
100
150
uA
采样周期
秒
1
次
注:
采样周期间隔不得低于1秒钟
(7)应用信息
(7.1)工作与贮存条件
超出建议的工作范围可能导致高达3%R的临时性漂移信号。
返回正常工作条后,传感器会缓慢地向校准状态恢复。
要加速恢复进程/可参阅7.3小节的“恢复处理”。
在非正常工作条件下长时间使用会加速产品的老化过程。
(7.2)暴露在化学物质中
电阻式湿度传感器的感应层会受到化学蒸汽的干扰,化学物质在感应层中的扩散可能导致测量值漂移和灵敏度下降。
在一个纯净的环境中,污染物质会缓慢地释放出去。
下文所述的恢复处理将加速实现这一过程。
高浓度的化学污染会导致传感器感应层的彻底损坏。
(7.3)恢复处理
置于极限工作条件下或化学蒸汽中的传感器,通过如下处理程序,可使其恢复到校准时的状态。
在50-60C和<10%RH勺湿度条件下保持2小时(烘干);随后在20-30C和>70%R的湿度条件下保持5小时以上。
(7.4)温度影响
气体的相对湿度,在很大程度上依赖于温度。
因此在测量湿度时,应尽可能保证湿度传感器在同一温度下工作。
如果与释放热量的电子元件共用一个印刷线路板,在安装时应尽可能将DHT1远离电子元件,并安装在热源下方,同时保持外壳的良好通风。
为降低热传导,DHT1与印刷电路板其它部分的铜镀层应尽可
能最小,并在两者之间留出一道缝隙。
(7.5)光线
长时间暴露在太阳光下或强烈的紫外线辐射中,会使性能降低。
(7.6)配线注意事项
DAT信号线材质量会影响通讯距离和通讯质量,推荐使用高质量屏蔽线
(9)DHT1引脚说明
Pin
名称
注释
1
VDD
供电3—5.5VDC
2
DATA
串行数据,单总线
3
NC
空脚,请悬空—
4
GND
接地,电源负极
0)焊接信息
手动焊接,在最高260C的温度条件下接触时间须少于10秒
(11)注意事项
(1)避免结露情况下使用。
⑵长期保存条件:
温度10-40C,湿度60%以下。
2、nRF24L01模块简介
(1)nRF24L01芯片简介
功能描述:
真正的GFSK单片式收发芯片内置硬件链路层
增强型ShockBurstTM功能
自动应答及自动重发功能地址及CRC检验功能无线速率:
1或2MbpsSPI接口速率:
0~8Mbps125个可选工作频道很短的频道切换时间,可用于跳频与nRF24XX系列完全兼容I/O可接受5V电平的输入20脚QFN4X4mm封装极低成本晶振土60ppm使用低成本电感和双面PCB板低工作电压:
1.9~3.6V
概述:
nRF24L01是一款工作在2.4~2.5GHz世界通用ISM频段的单片无线收发器芯片。
无线收发器包括:
频
率发生器、增强型SchockBurstTM模式控制器、功率放大器、晶体振荡器、调制器、解调器。
输出功率、
频道选择和协议的设置可以通过SPI接口进行设置。
极低的电流消耗:
当工作在发射模式下发射功率为-6dBm时电流消耗为9mA接收模式时为12.3mA
掉电模式和待机模式下电流消耗更低。
结构框图:
引脚及其功能:
引脚
名称
引脚功能
描述
1
CE
数字输入
RX或匸X模式选择
2
CSN
数宁输入
SPI片选信号
3
SCK
数字输入
SPI时钟
4
MOSI
数字输入
从SPI数据输入脚
5
MISO
数字输出
从SPI数据输出脚
6
IRQ
数字输出
可屏蔽中断脚
7
VDD
电源
电源(+3V)
8
VSS
电源
接地(0¥)
9
XC2
模拟输岀
晶体震荡器2脚
10
XC1
模拟输入
晶体震荡器1脚/外部时钟输入脚
11
VDD_PA
屯源输出
给RF的功率放大器提供的十1.8V电源
12
ANTI
犬线
犬线接口1
13
ANT2
犬线
犬线接口2
14
VSS
电源
接地(0V)
15
VDD
电源
屯源(+2V〉
16
IREF
模拟输入
参考电流
17
VSS
电源
接地
18
VDD
屯源
电源(+3V)
19
DVDD
电源输出
去耦电路电源疋极端
20
VSS
电源
接地(0V)
VSSDVD!
)vmVSSIREI
20i9]nri帀]而
7「8「9)o\I>DVSSX(2x(I图2,引脚封装
电气特性:
条件:
VDD=+3V,VSS=0V,Ta=-40C至U+85C
符号
•数(毎件)
量小值
翼型值
量大值
单程
操作鬟件
VDD
电源
1.9
3.0
16
V
温度
工柞温度
-40
+27
+85
V
数字输入胛
Vqb
高电乎输出电压
VDDO3
VDD
V
Vol
高电电H(IoL=0-5mA)
VSS
03
V
常用射频餐件
io*
工作频电
2400
2S25
MHz
斑AL
晶振嚴率
16
MHz
△flM
频fli^lOOOkbps
±160
kHz
△如
^^@2000kbp&
±320
kHz
PShockBrast式下教据传输率
>0
2000
Kbps
Fchannel
痢道间距G1000kbps
1
MH2
钝道河血金2DOOkbpg
2
MHz
发射操作
Pit
量大输出功睾
0
T
dBm
Piuc
骑頻功率控制范围
16
1#
20
dR
Pkfcr
射频壮源
±4
dB
P四
載波调制的2O3B带宽
1300
2000
kHz
Fwi
第一邻近班逍发射功率2MHz
-20
dBm
Pkt:
第二哪近通道发射功率4MHz
』0
dBm
hr©
输出助率jadBmF电漩
113
mA
Rud
输m卞匪流
7.0
mA
Ktsd
上dBm谕出功率ShockBrust绘」£h-;t
0.05
mA
IvDD
特机状态下靱
32
uA
【VDD
擁融伙盖下电濂
900
ok
接收操作
【VDD
」00体險数据伶输车下’单逋通T作电流
123
mA
IvDD
lOOOkbjH敘据宿犠率下,单通适」宰电涌
1L£
mA
RXjens
在0.1%BRE(@2000kbp5)卜的灵敏度
血
dBm
RXsens
生(H%BRE縊1000边固F的灵做度
-85
dBm
力4.nRFMTmI
极限范围:
VDD.+3.6V
VSS0V
输入电压
VI-0.3V~5.25V
输出电压
VO.VSS~VDD
总功耗
PD(TA=85C)60mW
温度
工作温度-40C~+85C
存储器温度-40C~+125C
注意:
强行超过一项或多项极限值使用将导致器件永久性损坏。
术语表:
术锻
描述
ACK
确认倍号7应答信号)
ART
自动重贤
CE
芯片便能
CLK
时钟信号
CRC
猶环冗余校翌
CSN
片逸非
ESB
SbockBrusi™
GFSK
髙斯犧控频毬
IRQ
中斷请求
ISM
工业一弭学一医学
LNA
低嗓声放犬y
LSB
量低有效位
LSByt亡
員低有效字节
Mbps
兆血杪
MCU
微控制幕<、
xnso
主机輪人从机输出
M0S1
主机體出从机羽入
MSB
盖髙有效位
MSByte
員裔有效字节
PCB
印剧电脱艮*/、
PER
数据包谋巧專
PID
教据包识别位
PLD
PKX
接收源
FTX
FWRDWN
掉电
PWRUP
上电
PRX
RXDK
接枚数据淮备就绪
SPI
申打可缩尿接口
TX
发送1
TXDS
:
已发送晰
衣5.术语表
功能描述:
工作模式
nRF24L01可以设置为以下几种主要模式
模式
PWRUP
PRIMRX
CE
FIFO寄存器我态
接收篠式
1
1
I
■
发送模式
1
0
I
「数据在TXFIFO寄存器中
膛送模式
1
0
0
停留在发谴模式,宜至数据发送完
待机模式n
1
0
I
TXFIFO为宇
持机模式T
1
■
0
无数据传输
掉电榄式
0
■
■
-
表石、I1RF24L01主雯工作彳
莫式■
nRF24L01在不同模式下的引脚功能
引脚名称
方向
发送模式
接收模式
待机模式
掉电模式
CE
输入
高电平>1Qus
髙电平
低电平
-
CSN
输入
5円片选使能.低电平电能
SCK
输入
SPI时钟
MOSI
输入
SPI中行输入
MISO
三态输出
SPI串行输出
IRQ
输出
中断*低电平使能
.iiRP'24L01引脚功能
待机模式:
待机模式I在保证快速启动的同时减少系统平均消耗电流。
在待机模式I下,
晶振正常工作。
在待机
模式II下部分时钟缓冲器处在工作模式。
当发送端TXFIFO寄存器为空并且CE为高电平时进入待机模式
II0在待机模式期间,寄存器配置字内容保持不变。
掉电模式:
在掉电模式下,nRF24L01各功能关闭,保持电流消耗最小。
进入掉电模式后,nRF24L01停止工作,但寄存器内容保持不变。
启动时间见表格13。
掉电模式由寄存器中PWR_U位来控制
数据包处理方式:
nRF24L01有如下几种数据包处理方式:
ShockBurstTM(与nRF2401,nRF24E1nRF2402nRF24E2数据传输率为1Mbps时相同)
增强型ShockBurstTM模式ShockBurstTM模式:
ShockBurst模式下nRF24L01可以与成本较低的低速MCU相连。
高速信号处理是由芯片内部的射频协议处理的,nRF24L01提供SPI接口,数据率取决于单片机本身接口速度。
ShockBurst模式通过允许与单片机低速通信而无线部分高速通信,减小了通信的平均消耗电流。
在ShockBurstTM接收模式下,当接收到有效的地址和数据时IRQ通知MCU
随后MCU可将接收到的数据从RXFIFO寄存器中读出。
在ShockBurstTM发送模式下,nRF24L01自动生成前导码及CRC校验,参见表格12。
数据发送完毕后IRQ通知MCU减少了MCU的查询时间,也就意味着减少了MCU的工作量同时减少了软件的开发
时间。
nRF24L01内部有三个不同的RXFIFO寄存器(6个通道共享此寄存器)和三个不同的TXFIFO寄存器。
在掉电模式下、待机模式下和数据传输的过程中MCU可以随时访问FIFO寄存器。
这就允许SPI接口可以以低速进行数据传送,并且可以应用于MCU硬件上没有SPI接口的情况下。
增强型的ShockBurstTM模式:
增强型ShockBurstTM模式可以使得双向链接协议执行起来更为容易、有效。
典型的双向链接为:
发送方要求终端设备在接收到数据后有应答信号,以便于发送方检测有无数据丢失。
一旦数据丢失,则通过重新发送功能将丢失的数据恢复。
增强型的ShockBurstTM模式可以同时控制应答及重发功能而无需增加MCU工作量。
nRF24L01在接收模式下可以接收6路不同通道的数据,见图4。
每一个数据通道使用不同的地址,但是共用相同的频道。
也就是说6个不同的nRF24L01设置为发送模式后可以与同一个设置为接收模式的nRF24L01进行通讯,而设置为接收模式的nRF24L01可以对这6个
发射端进行识别。
数据通道0是唯一的一个可以配置为40位自身地址的数据通道。
1~5数据通道都为8位自身地址和32位公用地址。
所有的数据通道都可以设置为增强型
ShockBurst模式。
nRF24L01在确认收到数据后记录地址,并以此地址为目标地址发送应答信号。
在发送端,数据通道0被用做接收应答信号,因此,数据通道0的接收地址要与发送端地址相等以确保接收到正确的应答信号。
见图5选择地址举例。
图5*应答地址确定举例
nRF24L01配置为增强型的ShockBurstTM发送模式下时,只要MCU有数据要发送,nRF24L01就会启动ShockBurstTM模式来发送数据。
在发送完数据后nRF24L01转到接收模式并等待终端的应答信号。
如果没有收到应答信号,nRF24L01将重发相同的数据包,直到收到应答信号或重发次数超过SETUP_RETR_ARC存器中设置的值为止,如果重发次数超过了设定值,则产生MAX_rT中断。
只要收到确认信号,nRF24L01就认为最后一包数据已经发送成功(接收方已经收到数据),把TXFIFO中的数据清除掉并产生TX_DS中断(IRQ弓I脚置高)。
在增强型ShockBurstTM模式下,nRF24L01有如下的特征:
当工作在应答模式时,快速的空中传输及启动时间,极大的降低了电流消耗。
低成本。
nRF24L01集成了所有高速链路层操作,比如:
重发丢失数据包和产生应答信号。
无需单片机硬件上一定有SPI口与其相连。
SPI接口可以利用
单片机通用I/O口进行模拟
由于空中传输时间很短,极大的降低了无线传输中的碰撞现象
由于链路层完全集成在芯片上,非常便于软硬件的开发。
增强型ShockBurstTM发送模式:
1、配置寄存器位PRIM_RX为低
2、当MCU有数据要发送时,接收节点地址(TX_ADDR和有效数据(TX_PLD)通过SPI接口写入nRF24L01发送数据的长度以字节计数从MCU写入TXFIFO。
当CSN为低时数据被不断的写入。
发送端发送完数据后,将通道0设置为接收模式来接收应答信号,其接收地址(RX_ADDR_P与接收端地址(TX_ADDR相同。
例:
在图5中数据通道5的发送端(TX5)及接收端(RX)地址设置如下:
TX5:
TX_ADDR=0xB3B4B5B605
TX5:
RX_ADDR_P0=0xB3B4B5B605
RX:
RX_ADDR_P5=0xB3B4B5B605
3、设置CE为高,启动发射。
CE高电平持续时间最小为10us。
4、nRF24L01ShockBurstTM模式:
无线系统上电
启动内部16MHz时钟
无线发送数据打包(见数据包描述)
高速发送数据(由MCU设定为1Mbps或2MbpS
5、如果启动了自动应答模式(自动重发计数器不等于0,ENAA_P0=1,无线芯片立即进入接收模式。
如果在有效应答时间范围内收到应答信号,则认为数据成功发送到了接收端,此时状态寄存器的TX_DS位置高并把数据从TXFIFO中清除掉。
如果在设定时间范围内没有接收到应答信号,则重新发送数据。
如果自动重发计数器(ARC_CNT溢出(超过了编程设定的值),则状态寄存器的MAX_RT位置高。
不清除TXFIFO中的数据。
当MAX_RT或TX_DS为高电平时IRQ引脚产生中断。
IRQ中断通过写状态寄存器来复位(见中断章节)。
如果重发次数在达
到设定的最大重发次数时还没有收到应答信号的话,在MAX_R)中断清除之前不
会重发数据包。
数据包丢失计数器(PLOS_CNT在每次产生MAX_RT中断后加一。
也就是说:
重发计数器ARC_CNT+算重发数据包次数,PLOS_CN计算在达到最大允许重发次数时仍没有发送成功的数据包个数。
6、如果CE置低,则系统进入待机模式I。
如果不设置CE为低,则系统会发送TXFIFO寄存器中下一包数据。
如果TXFIFO寄存器为空并且CE为高则系统进入待机模式II.
发送端发送完数据后,将通道0设置为接收模式来接收应答信号,其接收地址(RX_ADDR_P与接收端地址(TX_ADDR相同。
例:
在图5中数据通道5的发送端(TX5)及接收端(RX)地址设置如下:
TX5:
TX_ADDR=0xB3B4B5B605
TX5:
RX_ADDR_P0=0xB3B4B5B605
RX:
RX_ADDR_P5=0xB3B4B5B605
增强型ShockBurstTM接受模式:
1、ShockBurstTM接受模式是通过设置寄存器中PRIM_RX位为高来选择的。
准备接收数据的通道必须被使能(EN_RXADD寄存器),所有工作在增强型ShockBurstTM模式下的数据通道的自动应答功能是由(EN_AA寄存器)来使能的,有效数据宽度是由RX_PW_P寄存器来设置的。
地址的建立过程见增强型ShockBurstTM发送章节。
2、接收模式由设置CE为高来启动。
3、130us后nRF24L01开始检测空中信息。
4、接收到有效的数据包后(地址匹配、CRC检验正确),数据存储在RX_FIFO中,同时RX_DR位置高,并产生中断。
状态寄存器中RX_P_NO位显示数据是由哪个通道接收到的。
5、如果使能自动确认信号,则发送确认信号。
6、MCU设置CE脚为低,进入待机模式I(低功耗模式)。
7、MCU将数据以合适的速率通过
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 DHT11 温湿度 传感器 nrf24l01 模块 多点 数据 采集