基于nRF24L01无线通信温度监测系统.docx

上传人:b****6 文档编号:3740817 上传时间:2022-11-25 格式:DOCX 页数:24 大小:446.22KB
下载 相关 举报
基于nRF24L01无线通信温度监测系统.docx_第1页
第1页 / 共24页
基于nRF24L01无线通信温度监测系统.docx_第2页
第2页 / 共24页
基于nRF24L01无线通信温度监测系统.docx_第3页
第3页 / 共24页
基于nRF24L01无线通信温度监测系统.docx_第4页
第4页 / 共24页
基于nRF24L01无线通信温度监测系统.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

基于nRF24L01无线通信温度监测系统.docx

《基于nRF24L01无线通信温度监测系统.docx》由会员分享,可在线阅读,更多相关《基于nRF24L01无线通信温度监测系统.docx(24页珍藏版)》请在冰豆网上搜索。

基于nRF24L01无线通信温度监测系统.docx

基于nRF24L01无线通信温度监测系统

目录

1引言-1-

1.1课题来源及意义-1-

1.2无线数据传输的发展状况-1-

1.3本课题研究的对象和内容-2-

1.3.1对环境信号的采集及分析-2-

1.3.2对无线模块发送接收数据分析-2-

2系统方案设计-3-

2.1MCU芯片选择-3-

2.2无线通信模块的方案-3-

2.3温度传感方案-3-

2.4显示模块方案-4-

3系统的硬件设计-5-

3.1硬件的系统组成-5-

3.2ATmega16主控芯片介绍-5-

3.3DS18B20温度传感器工作原理-6-

3.4nRF24L01无线模块的工作原理-8-

3.4.1nRF24L01芯片概述-8-

3.4.2引脚功能描述-8-

3.4.3工作模式-9-

3.4.4工作原理-10-

3.4.5配置字-11-

3.4.6nRF24L01模块的原理图-12-

3.5发送端显示模块设计-13-

3.6接收端与PC机通信模块设计-13-

4系统的软件设计-15-

4.1发送端软件设计-15-

4.2接收端软件设计-15-

5系统的调试-17-

结束语-18-

参考文献-20-

致谢-21-

1引言

1.1课题来源及意义

在信息化蓬勃发展的今天,工农业的一些现场环境参数仍然是值得研究和监测的。

其中一个非常重要的参数就是温度。

在工业、农业,军事和生活等许多方面,都需要对温度进行监测。

目前能够实现无线温度采集设计有很多,但最大的缺点是价格过高维护复杂。

在实际温度控制过程中既要求系统具有稳定性、实时性又需要降低功耗。

因此设计一种低功耗的无线温度检测系统很有意义。

1.2无线数据传输的发展状况

在2.4GHz非授权频段上,目前已经有了蓝牙,Wi-Fi,Zigbee等多个标准无线协议。

蓝牙,一种可应用于设备短距离通信(一般10m内)的无线电通信技术。

其能够简化移动通信终端设备之间的信息传输,也能简化设备与因特网Internet之间的信息通信,所以数据传输更加迅速高效,为无线通信拓宽道路,但是其传输距离短。

Wi-Fi,是一个高频无线电信号。

一个无线的网路通信技术品牌,由Wi-Fi联盟所拥有。

很容易与IEEE802.11混为一谈。

甚至把就认为Wi-Fi是无线网际网路。

Zigbee,一种基于IEEE802.15.4标准的低功耗个域网协议。

其拥有短距离、低功耗的无线通信技术特点。

自动控制和远程控制领域非常适合其应用。

nRF24L01,一款单芯片无线收发芯片,工作在2.4GHz~2.5GHz频率范围内。

芯片包括一个完全集成的功率放大器,频率合成器,调制器和晶体振荡器。

通过3线SPI端口完成发射功率和工作频率等工作。

电流消耗极低,在输出功率为-5dBm仅为10.5mA,在接收模式仅为18mA。

可以通过SPI接口进行设置输出功率频道选择和协议的设置。

几乎可以用于到各种微控制器芯片,完成数据的无线传送。

1.3本课题研究的对象和内容

1.3.1对环境信号的采集及分析

首先,自然界一切环境因素信号一般是模拟信号,要么我们采用A/D转换器将采集的信号转换成数字信号;要么直接使用数字式传感器,直接得到数字信号好;而我们的系统便是直接采用数字式传感器直接得到数字信号。

其次,采集的信号还需要经过转换才可以使用,那么本次课题是采用软件来转换采集到的数据的。

1.3.2对无线模块发送接收数据分析

无线数据传输一般是将采集到的数据打包,加上起始位,停止位,还有一些校验信息一起发送给接收端,接收端经过数据信息的起始位,停止位,校验信息加以判断数据是否有效,如果有效返回一个电平信号给发送端,这样确保发送端明确这组数据已经接收成功,可以进入下一组数据的发送,如此循环下去。

 

2系统方案设计

2.1MCU芯片选择

方案一:

主控芯片采用AVR单片机系列芯片。

其以快速,稳定,低功耗,多功能等优点迅速占领市场,应用于越来越多的场合。

方案二:

主控芯片采用MSP430F149系列单片机。

功能强大,高性能,低功耗,是一款16位单片机,内置高速12位ADC。

但比较昂贵价格束缚了它更快的发展,而且封装不利于焊接,需要PCB制板,成本和开发周期不好控制。

方案三:

主控芯片采用STC12C5A60S2增强型51单片机。

内置SPI总线接口和ADC,内部时钟不分频,可达到1MPS。

综合各方面因素,选择方案一,即用AVR系列中的ATmega16作为本系统的主控芯片。

2.2无线通信模块的方案

方案一:

通信模块采用GSM模块,GSM模块需要依赖移动卫星或者手机卡,传输距离大大提高,但其成本也随之增加、还需要办理SIM卡,通信过程中也会产生相应的收费,后期成本较高。

方案二:

通信模块采用CC2430无线通信模块,它需要Zigbee总线模式,传输速率250kbps,且内部集成性能高级8051内核。

但同样昂贵的价格是普通用户很难接受,且Zigbee协议本身相对较为复杂。

方案三:

通信模块采用nRF24L01无线射频模块,高速率、低功耗、传输距离远、而且价格较便宜,采用SPI总线通信模式电路简单,操作方便。

基于系统的复杂性和程序的复杂度考虑,我们选用方案三。

2.3温度传感方案

方案一:

AD590用于测量热力学温度、两点温度差、摄氏温度、多点最低温度、多点平均温度的具体电路,AD590拥有高精度、低价格、不依赖辅助电源、线性好等优点,但其依赖差分放大器放大和A/D转换,依赖硬件多,成本提高。

方案二:

采用DS18B20数字温度传感器芯片,耐磨耐碰,体积小,使用便捷,封装形式多样,各种狭小空间或危险环境是其发挥作用的好场所。

经济,方便。

使用DS18B20电路简单,编程也较为简单,但是比AD590精度低。

考虑到电路的设计,成本,精度要求,我们选择方案二。

2.4显示模块方案

方案一:

显示信息选择LCD12864。

一款通用的液晶显示屏,显示常用的汉字及ASCII码是其一大优点。

方案二:

显示信息采用字符液晶LCD1602,一款比较通用的字符液晶模块,能够显示字符数字信息,而且价格低廉,控制容易。

方案三:

显示采用LED7段数码管,其成本低,容易显示控制,但不能显示字符。

综合以上方案,我们选择了LCD1602显示采集的温度数据。

 

3系统的硬件设计

3.1硬件的系统组成

图3-1硬件系统组成图

Figure3-1 Hardwaresystemdiagram

本系统的功能是监测温度数据,如图3-1,首先是由温度传感器检测环境温度,然后由温度传感器将其转化为数字信号,再将该数字信号传给发送端MCU,由其进行数据处理;送到显示模块进行显示,以及将数据传送给无线发送模块,由其将数据发送到接收端;当接收端MCU接收到数据时,进行数据处理,然后通过串口通信传给PC机,从而实现PC机对温度数据实时监测;构成总电路图见附录1。

3.2ATmega16主控芯片介绍

ATmega16以AVRRISC结构为基本结构,属于8位CMOS低功耗微控制器。

ATmega16的数据吞吐率可高达1MIPS/MHz,先进的指令集以及单时钟周期指令执行时间的应用,从而系统在功耗和处理速度之间的冲突得到缓解。

ATmega16有一下特征:

16K字节可编程Flash(同时可读写,即RWW),1K字节SRAM,512字节EEPROM,32个通用寄存器,32个通用I/O口线,用于边界扫描的JTAG接口,可在片内进行调试与编程,三个定时器/计数器(T/C),片内/外部中断,可编程的串行USART,有初始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP封装)的ADC,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,以及六个可以通过软件进行选择的省电模式。

工作于空闲模式时CPU停止工作,而USART、两线接口、A/D转换器、SRAM、T/C、SPI端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作。

3.3DS18B20温度传感器工作原理

DS18B20利用集成技术,将温度检测和数字数据输出集成到一个芯片内部,从而增强抗干扰力。

其一个工作周期可分为即温度检测和数据处理两个部分。

DS18B20共有三种形态的存储器资源,它们分别是:

用于存放DS18B20ID编码的ROM只读存储器,由前面8位是单线系列编码(DS18B20的编码是19H),中间48位是芯片唯一的序列号,后面8位是以上56的位的CRC码(冗余校验)组成64位数据。

数据不由用户更改,在出厂时已经由厂商设置好了。

RAM数据暂存器用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。

第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。

在初始化时值将被刷新。

用户第3个EEPROM的镜像在第5个字节中。

计数寄存器在第6、7、8个字节中,目的是让用户设置温度分辨率的,同时也是内部温度转换、换算的暂时存储单元。

第9个字节为前8个字节的CRC码。

引脚定义:

(1)DQ为单数据总线,是数字信号输入/输出端;

(2)GND为电源地;

(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。

控制器对DS18B20操作流程:

(1)复位:

要使用DS18B20,首先是要复位,由控制器(单片机)给DS18B20单总线发送一个至少480μs的低电平信号,当DS18B20接到此复位信号后则会在15~60μs后回发一个芯片存在的脉冲,并表明初始化成功。

(2)控制器发送ROM指令:

确定DS18B20存在后就可以发送ROM指令了,ROM指令共有5条,ROM指令分别是读ROM数据、指定匹配芯片、跳跃ROM、芯片搜索、报警芯片搜索。

ROM指令为8位长度,功能是对片内的64位光刻ROM进行操作。

多个器件也可以同时挂载在一条单总线上,此时通过每个器件独有的ID来区分,如果挂载一个的话,就直接可以跳过ROM指令了。

(3)控制器对存储器进行操作:

在DS18B20接收到ROM指令之后,接着就可以对存储器进行操作了。

操作指令同样为8位,共6条,分别是写RAM数据、读RAM数据、把RAM数据复制到EEPROM、温度转换(500μs)、将EEPROM中的警告值拷贝到RAM、工作方式转换。

当主机收到DSl8B20的响应信号后,便可以发出ROM操作命令之一,这些命令如下:

指令代码代码

SkipROM(跳跃ROM指令)[CCH]

这条指令不读取ROM编码,在单总线挂接一个DS18B20时,选用此指令可节省时间,如果在多芯片挂接时

则不能跳过。

ReadScratchpad(从RAM中读数据)[BEH]

此指令将从RAM中读数据,读取范围地址0到地址9,可利用复位信号终止读取,不读后面不需要的地址区域,可以节省时间。

ConvertT(温度转换)[44H]

接到此指令,芯片将转换一次温度,将结果放入RAM的第1、2地址。

一般芯片在转化温度值时用时比较长,在寄生工作方式时,转化温度后,强上拉并至少保持500ms,来确保芯片完成转化。

与DS18B20的每次动作都是由单片机的复位脉冲和DS18B20的应答脉冲开始的。

过程就是,单片机先发一个复位脉冲,保持低电平480μs~960μs;单片机释放总线,等待DS18B20的应答脉冲;单片机从发送完复位脉冲到再次控制总线至少要等待480μs。

读时隙需15~60μs,写时隙需要15~75μs,且在2次独立的写时隙之间至少需要1μs的恢复时间。

写时隙起始于单片机拉低总线。

3.4nRF24L01无线模块的工作原理

3.4.1nRF24L01芯片概述

nRF24L01是一款新型单片射频收发器件,工作于2.4GHz~2.5GHzISM频段。

内部集成了频率合成器、功率放大器、晶体振荡器、调制器等功能模块,也内嵌了增强型ShockBurst技术,其中可通过程序进行配置输出功率和通信频道。

nRF24L01主要特性如下:

GFSK调制;

硬件集成OSI链路层;

具有自动应答和自动再发射功能;

片内自动生成报头和CRC校验码;

数据传输率为lMb/s或2Mb/s;

SPI速率为0Mb/s~10Mb/s;

125个频道;

可兼容其它nRF24L01系列器件;

QFN20引脚4mm×4mm封装;

电源电压为1.9V~3.6V。

3.4.2引脚功能描述

如图3-2所示,是nRF24L01的封装及引脚排列,以下是引脚功能:

图3-2nFR24L01封装图

Figure3-2nFR24L01packagingfigure

CE:

使能端;

CSN,SCK,MOSI,MISO:

SPI引脚端,可配置nRF24L01模式;

IRQ:

中断标志;

VDD:

电源输入端;

VSS:

电源地;

XC2,XC1:

晶振引脚;

VDD_PA:

输出为1.8V,为功率放大器供电;

ANT1,ANT2:

天线接口;

IREF:

参考电流输入。

3.4.3工作模式

nRF241L01有发射、接收、空闲及掉电四种工作模式,如表1所示。

待机模式1:

用于降低电流损耗,晶体振荡器处于工作状态;

待机模式2:

进入此模式只需FIFO寄存器为空且CE=1;

待机模式:

所有配置字保留。

在掉电模式下电流消耗最小,同时nRF24L01也不工作,但配置寄存器的值仍然有效。

 

表1nRF24L01四种工作模式

Table1nRF24L01fourworkmodes

模式

PWR_UP

PRIM_RX

CE

FIFO寄存器状态

接收模式

1

1

1

-

发射模式

1

0

1

数据在TX FIFO寄存器中

发射模式

1

0

1→0

停留在发送模式,直至数据发送完

待机模式2

1

0

1

TX FIFO为空

待机模式1

1

-

0

无数据传输

掉电

0

-

-

-

3.4.4工作原理

发射数据时,配置nRF24L01为发射模式:

按照时序由SPI口把接收节点地址TX_ADDR和有效数据TX_PLD写入nRF24L01缓存区,CSN为低时连续写入TX_PLD,TX_ADDR在发射初写入一次即可,然后CE置为高电平并保持至少10μs,延迟130μs后发射数据。

接收数据时,配置nRF24L01为接收模式,延迟130μs,等待数据的到来。

当地址和CRC有效时,就将数据包写入RX_FIFO中,同时中断标志位RX_DR置高,IRQ变低,产生中断,通知MCU去获取数据。

如图3-3,图3-4,给出SPI操作及时序图:

图3-3SPI读操作

Figure3-3SPIreadoperation

图3-4SPI写操作

Figure3-4SPIwriteoperation

3.4.5配置字

SPI口为同步串行通信接口,最大传输速率为10Mb/s,传输时低位字节优先,高位字节接在后面。

但单个字节先高后低。

与SPI有关的指令共有8个,由MOSI输入指令。

MCU从MISO获取相应的状态和数据信息。

nRF24L0l的配置寄存器可以定义所有的配置字,通过SPI口可以轻松访问配置寄存器。

nRF24L01共有25个配置寄存器,如表2所示,是最常用的配置寄存器。

表2常用配置寄存器

Table2Commonconfigurationregister

地址(H)

寄存器名称

功能

00

CONFIG

设置24L01工作模式

01

EN_AA

设置接收通道及自动应答

02

EN_RXADDR

使能接收通道地址

03

SETUP_AW

设置地址宽度

04

SETUP_RETR

设置自动重发数据时间和次数

07

STATUS

状态寄存器,用来判定工作状态

0A~0F

RX_ADDR_P0~P5

设置接收通道地址

10

TX_ADDR

设置接收接点地址

11~16

RX_PW_P0~P5

设置接收通道的有效数据宽度

3.4.6nRF24L01模块的原理图

如图3-5所示,nRF24L01单端匹配网络:

晶振,偏置电阻,去耦电容。

图3-5nRF24L01单端50Ω射频输出电路原理图

Figure3-5nRF24L0150Ωsingle-endedrfoutputcircuitprinciplediagram

3.5发送端显示模块设计

本设计在发送端采用LCD1602液晶显示模块来显示温度,上拉电阻提高PB驱动能力,PB作为数据输出并作为LCD的驱动,PD口的PD6~PD4分别作为液晶显示模块的使能信号EN,RW端则配置成写,数据/命令选择RS。

具体电路如图3-6所示。

图3-6LCD1602液晶显示模块电路图

Figure3-6LCD1602LCDdisplaymodulecircuitdiagram

3.6接收端与PC机通信模块设计

本系统采用MAX232来完成转换电平。

MAX232内部有电压倍增电路和转换电路,仅需+5V电源便可工作,使用十分方便,MAX232的T1IN引脚连接ATmega16的串行输入口线TXD,R1OUT引脚连接ATmega16的串行输入口线RXD,MAX232的T1OUT、R1IN分别于与RS232的2、3引脚相连。

MAX232泵电源引脚必须接0.1μf电容,如图3-7中的C7、C8、C9、C10。

图3-7单片机与PC机串口通信电路

Figure3-7MCUandPCserialcommunicationcircuit

4系统的软件设计

4.1发送端软件设计

本系统发送端采用DS18B20温度传感器采集温度,经ATmega16收集处理数据,温度数据由LCD1602显示,再由nRF24L01模块发送到接收端。

其中包括DS18B20和nRF24L01模块的初始化配置等。

软件流程图如图4-1。

图4-1发送端软件流程图

Figure4-1Thesendersoftwareflowchart

4.2接收端软件设计

本系统接收端主要完成接收发送端温度数据,在通过串口通信,将数据发送到PC端。

软件过程包括nRF24L01初始化,串口初始化等,过程如图4-2。

图4-2接收端软件流程图

Figure4-2Thereceiversoftwareflowchart

5系统的调试

在不通电提前下,用万用表检查线路的连通性,并核对元器件的型号、规格。

特别注意电源的短路问题,并重复检查地址总线、数据总线、控制总线是否存在相互间的短路或其他信号线的短路。

晶体振荡器和电容应尽可能靠近单片机以减少寄生电容,确保振荡器稳定和可靠地工作。

我们仔细检查了本系统的所有元件以及连线,所以此步骤不会发生故障。

在通电前提下,检查各器件引脚的电位是否正常。

其中遇到的问题很多,如焊接电路线不合格,中间有些许断路或虚焊,造成失败。

还有USB电源电压经过供电给负载,电压下降0.5V,致使单片机不工作的问题。

我们进行的是单点通信,传输温度数据。

发送端采集温度,在LCD1602上显示,并发送到接收端。

其结果如图5-1。

图5-1发送端温度显示

Figure5-1Thesendertemperaturedisplay

接收端接收到数据并通过串口通信发送到PC机客户端,PC端显示如图5-2。

图5-2接收端上传给PC机的温度数据显示

Figure5-2ThereceivertothetemperatureofthePCdatashow

结束语

单片机数据采集与处理是非常重要的应用领域,除电信号之外,单片机还可以运用传感器实现对非电信号的采集转化。

我们的设计就是一个非常有利的证明。

本设计采用一种数字式的温度传感芯片DS18B20实现了单片机温度监测系统。

本设计内容重点:

1.nRF24L01无线传输模块的操作。

2.DS18B20的各种操作命令。

3.单片机LCD1602显示。

4.单片机的串口通信。

研究展望:

智能无线温度监测系统正朝着高精度、多功能、总线标准化、高可靠性及安全性和网络温度监测器、研制单片测温测温监测系统等高科技的方向迅速发展。

1.提高温度监测系统的精度和分辨力

在21世纪初期就推出了智能无线温度监测系统,当时采用的是8位A/D转换器,其测温精度较低,分辨力只有2°C。

目前,世界其他国家已相继推出了多种高精度、高分辨力的智能温度传感器,所用的是9~12位A/D转换器,分辨力一般都可达0.5~0.0625°C。

为了提高多通道智能无线温度监测系统的转换速率,也有的芯片采用高速逐次逼近式A/D转换器。

2.增加温度监测系统的测试功能

新型智能无线温度监测系统的测试功能也在不断增强。

比如,采用DS1629型单总线温度传感器增加了实时日历时钟(RTC),使其功能更加完善。

DS1624还增加了存储功能,可将短信息存储于芯片内部256字节的E2PROM存储器。

另外,智能无线温度监测系统正从单通道向多通道的方向发展,这就为研制和开发多路无线温度监测系统创造了优良条件。

智能无线温度监测系统具有多种工作模式,主要有单次转换、连续转换、待机模式,有的还提供低温极限扩展模式,操作非常简单。

对某些智能无线温度监测系统而言,主机(外部微处理器或单片机)还可通过配置相应的寄存器来设置其A/D转换速率,分辨率及最大转换时间。

最后敬请各位专家、老师和同学对论文提出宝贵的指导意见和建议。

 

参考文献

[1]马潮.AVR单片机嵌入式系统原理与应用实践[M].北京:

北京航天航空大学出版社,2011.8.1.

[2]老杨.李鹏举.AVR单片机工程师是怎样炼成的:

基于C语言+Proteus仿真[M].北京:

电子工业出版社,2012.11.1

[3]彭伟.单片机C语言程序设计实训100例[M].北京:

北京航空航天大学出版社,2010.5

[4]何钦铭.C语言程序设计(第2版)[M].北京:

高等教育出版社,2012.3

[5]吕秀锋.C语言程序设计现代方法(第2版)[M].北京:

人民邮电出版社,2010.4

[6]徐科军.传感器与检测技术(第3版)[M].北京:

电子工业出版社,2011.9

[7]樊尚春.传感器技术及应用(第2版)[M].北京:

北京航天航空大学出版社,2010.10

[8]赵广林.常用电子器件识别/检测/选用一读通(第2版)[M].北京:

电子工业出版社,2011.3

[9]李朝青.单片机原理及接口技术(第3版)[M].北京:

北京航空航天出版社,2009.

[10]张毅刚.单片机应用设计[M].哈尔滨:

哈尔滨工业大学出版社社,2009.

[11]沈红卫.单片机应用系统设计实例与分析[M].北京:

航天航空大学出版社,2008.

[12]康华光.数字电子技术基础(第五版)[M].北京:

高等教育出版社,2010.431~456

[13]龙一鸣等编著.单片机总线扩展技术[M].北京:

北京航空航天大学出版社,1993

[14]康华光.模拟电子技术基础

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1