基于NRF24L01模块的多点温度监测系统设计.docx

上传人:b****0 文档编号:12457140 上传时间:2023-04-19 格式:DOCX 页数:29 大小:3.24MB
下载 相关 举报
基于NRF24L01模块的多点温度监测系统设计.docx_第1页
第1页 / 共29页
基于NRF24L01模块的多点温度监测系统设计.docx_第2页
第2页 / 共29页
基于NRF24L01模块的多点温度监测系统设计.docx_第3页
第3页 / 共29页
基于NRF24L01模块的多点温度监测系统设计.docx_第4页
第4页 / 共29页
基于NRF24L01模块的多点温度监测系统设计.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

基于NRF24L01模块的多点温度监测系统设计.docx

《基于NRF24L01模块的多点温度监测系统设计.docx》由会员分享,可在线阅读,更多相关《基于NRF24L01模块的多点温度监测系统设计.docx(29页珍藏版)》请在冰豆网上搜索。

基于NRF24L01模块的多点温度监测系统设计.docx

基于NRF24L01模块的多点温度监测系统设计

基于NRF24L01模块的多点温度监测系统设计

作者姓名:

专业班级:

指导老师:

摘要

温度在人们的日常生活中起着非常重要的作用,人们不但关注日常环境温度的变化,在许多领域的产业化,如工业、医疗、军事和生活等许多地方,都需要用到测设备来检测温度。

传统直接布线测量电路很复杂,容易受干扰,准确性也不高,不满足某些环境非常恶劣的工业环境和某些户外环境。

因此,选择一个性能不错的数字温度传感器和无线传输模块,简单的使用显得尤为重要。

在现代的工业控制,考虑到功耗问题也是一个重要的参数,该系统采用低耗高性微型控制器STC89C52RC和DS18B20温度传感,采用nRF24L01无线模块对温度进行短距离监控。

本次设计采用的STC89C52RC简单实用,与MCS-51操作相同。

无线数据通信收发芯片NRF24L01是一款工作在2.4〜2.5GHz功率消耗非常低的低成本无线收发器。

另外温度传感器DS18B20具有体积小,成本低,精度高等优点。

该系统功耗低,成本低,硬件电路简单,是一种可行的无线测温的设计方案。

关键词:

NRF24L01;温度传感器DS18B20;STC89C52RC

 

Abstract

Temperatureplaysaveryimportantroleinpeople'sdailylife,peoplepaymuchattentiontothedailychangeofenvironmentaltemperature.Inmanyareasofindustry,suchassomelocalfactories,hospitals,militaryanddailylife,needtousetestequipmenttodetecttemperature.Thetraditionalwayofthemeasurementcircuitisverycomplex,vulnerabletobedistracted,andaccuracyisnothigh,doesnotmeetcertainharshindustrialenvironmentandsomeoutdoorenvironment.Therefore,choosingagooddigitaltemperature,awirelesstransmissionmoduleandsimpletouseisparticularlyimportant.Inthemodernindustrialcontrol,consideringthepowerconsumptionisalsoanimportantparameter,thesystemadoptslowenergyconsumptionandhighperformancemicrocontrollerSTC89C52RCandDS18B20temperaturesensor,andusesnRF24L01wirelessmoduletotransmitthetemperature.Itisconvenienttorealizetheremotetransmission.

WehaveadoptedSTC89C52RCtodesignthissystem.It’spinsandkernelaresametotheMCS-51series.NRF24L01wirelessdatacommunicationtransceiverchipisaverylowpowerconsumptionandlow-costwirelesstransceiver,whichworksin2.4~2.5GHz.AdditionaltemperaturesensorDS18B20isverysmall,andhasalowcost,highaccuracy.Uniquelineinterfaceeffectivelyimprovestheanti-interferenceofthesystem.

Thesystemissimple,reliableandhaslowpowerconsumption,lowcost.Itisaneffectiveandtrustworthysolutiontoawirelesstemperaturemeasurement.

Keywords:

NRF24L01;temperaturesensorDS18B20;STC89C52RC

 

目录

第一章前言1

1.1课题的背景与意义1

1.2国内外研究状况及相关领域中已有的研究成果1

1.3对设计任务的分析1

1.4预期结果2

第二章总体方案设计的论证2

2.1系统方案设计2

2.2模块方案设计3

2.2.1主控芯片方案3

2.2.2无线通信模块方案4

2.2.3温度传感方案4

2.2.4显示模块方案5

第三章系统模块设计5

3.1STC89C52RC主控模块设计5

3.2nRF24L01无线模块设计7

3.2.1nRF24L01概述7

3.2.2引脚功能及描述8

3.2.3工作模式9

3.2.4配置字10

3.2.5模块电路图与应用原理框图10

3.3显示电路模块设计12

3.3.1液晶1602显示屏的基本结构12

3.3.2液晶1602显示屏的工作原理12

3.4温度传感器模块设计13

3.4.1DS18B20的管脚配置和内部结构13

3.4.2DS18B20的工作原理14

3.4.3DS18B20的硬件设计15

第四章软件系统的设计15

4.1各模块软件设计15

4.1.1显示模块软件设计15

4.1.2温度检测16

4.1.3无线发射模块软件设计17

4.1.4无线接收模块软件设计18

4.2总体的软件设计19

4.2.1发送部分19

4.2.2接收部分20

4.3本章小结21

第五章系统的调试及实验结果21

5.1调试步骤21

5.2实验结果21

5.3本章小结23

结论23

致谢25

参考文献25

 

第一章前言

1.1课题的背景与意义

在当今现代的生活中,通过无线通信来采集温度已经越来越普遍了。

并且随着工农业的生产对温湿度的要求越来越高,精准的测量温度变得十分重要。

温度它不能像质量和长度那样简单地获取量值,只有通过其他相关性质间接地测量。

现在温度测量是可以通过温度传感器来测量的,温度测量的过程简单来说就是通过传感器把温度值转换为电信号或者其他信号,经过相关处理,从而转换成温度显示出来。

温度测量设备一般有温度传感器和信号处理电路组成。

某些情况下,需要监测的范围很大,布线不方便且不利于后期维护,这时我们就采用无线模块对温度进行采集。

多路无线温度测量系统被大量的应用于温度测量各个领域的工程中,例如:

城市医院的温度检测系统、居民小区供热系统的检测、蔬菜大棚的温度控制、工业生产的温度保护等。

考虑到许多工农业环境中有对多点温度进行监控的需求,一般需要测量可能有几十个点以上。

所以本文设计多路无线温度监控的系统。

1.2国内外研究状况及相关领域中已有的研究成果

在2.4GHz的频段上已经有多种标准的无线协议,它们传输距离远,抗干扰性强。

因此我们要确保在2.4GH频段上有足够的抗干扰性和保持数据的连续性。

nRF24L01由于ANT协议的缘故可以方便搭建无线网络。

ANT的无线个人局域网通讯技术使数据保持了完整性,并具有低耗低成本的优点。

nRF24L01是一款采用FSK调制的无线通信芯片,它可以点对点以及1对n的高速通信。

MCU只需要给nRF24L01无线模块提供5个普通引脚和一个中断引脚就可以实现通信功能。

所以MCU系统搭建无线通信功能利用nRF24L01就显得十分简单。

随着电子技术的发展,温度传感器的精度越来越高,抗干扰性越来越好,体积越来越小。

1.3对设计任务的分析

本次系统的设计采用nRF24L01无线通信模块,并以STC89C52RC为核心来控制实现短距离无线温度传输。

该系统设计具有成本地,传输快,软件设计简单,功耗低,可靠性高等优点。

整个设计的主机和从机通NRF24L01无线模块连接通信。

从机以单片机STC89C52为核心,通过无线模块NRF24L01把温度传感器采集的温度传送给主机,主机通过无线模块NRF24L01接收温度数据,然后再在液晶LCD1602上面显示,从而达到监控的目的。

本此设计选用的是STC89C52RC单片机。

单片机具有以下特性:

·系统结构简单,可靠性高。

·处理功能强,速度快。

·低电压低耗,体积小。

·系统结构简单,可靠性高。

·处理功能强,速度快。

·低电压低耗,体积小。

·大部分功能由软件编程实现,重复利用率和性价比高。

1.4预期结果

2个从机把温度传感器上接受的温度数据通过无线模块在5m的范围内上能发送给主机,主机通过无线模块接收后在LCD1602液晶显示屏上显示,从而达到监测各点温度的目的.软件模块包括无线发射模块、无线接收模块、显示模块和温度检测模块。

第二章总体方案设计的论证

2.1系统方案设计

从机:

发射端由STC89C52RC单片机,nRF24L01无线模块,DS18B20温度模块组成。

图2-1

主机:

发送端由STC89C52RC单片机,LCD1602显示模块,nRF24L01无线模块组成。

图2-2

2.2模块方案设计

2.2.1主控芯片方案

方案一:

采用STC89C52RC实现。

单片机软件编程可简单地实现多数功能,自由度大,结构清晰,便于调试和维护,可读性和移植性强。

并且具有体积小,硬件搭建简单等优点。

本系统由一台主机,2台从机组成2级分布式温度测量进行多路温度数据采集。

另外STC89C52RC的应用已经十分广泛,相关技术的使用都很熟练,开发难度很小。

方案二:

采用MSP430F149单片机。

此单片机功耗低,内部集成高速12位ADC,性能强大。

但本设计简单,不需要MSP430F149如此功能强大的单片机,并且MSP430F149成本高,是TPFQ贴片封装,必须采用PCB制板,增加了开发周期。

综合考虑我们选择STC89C52RC作为本系统的MCU。

2.2.2无线通信模块方案

方案一:

采用GSM通信模块,GSM借助卫星通信或者手机卡可以较长距离的传输数据,但由通信过程需要收费,前后期成本都比较高。

方案二:

采用TICC2430通信模块,虽然改模块通信速度快,但成本高,操作复杂。

方案三:

使用NRF24L01通信模块,该模块具有有高速低耗体积小的优点。

他可以传输数千公里(PA),但价格更便宜,SPI总线通信方式,电路是简单、操作方便。

所以综合考虑我们采用方案三作为本系统的通信模块。

2.2.3温度传感方案

方案一:

使用一个热敏电阻,热敏电阻具有工作温度范围广,体积小,实用方便,易大规模生产的特点,但其灵敏性一般,可靠性差,只能检测出6-10℃的温度变化。

并且采用如AD590等温度传感器必须经过AD转换才能送入MCU,这使得温度测量装置的结构更加复杂。

并且该方法算法复杂,在某种程度上增加了软件实施的难度。

导致在设计成本增加,延长了设计周期

方案二:

使用温度传感器DS18B20。

由于DS18B20是数字信号输出,易于MCU处理和控制,消除了传统测量方法的许多外围电路。

传感器的物理和化学特性是非常稳定,它可用作工业温度传感器,这些传感器线性更好。

在0~100摄氏度,最大线性误差是小于1摄氏度。

DS18B20的单总线数据传输提高了信号的稳定性和精度。

使用DS18B20数字温度传感器来测量温度具有电路搭建简单,体积小,编程容易等优点。

所以使用数字集成芯片将成为电路的发展趋势。

综上考虑,我们采用DS18B20。

2.2.4显示模块方案

方案一:

使用LED数码管显示。

LED数码管具有硬件电路简单,方便调试,软件实现相对容易的优势,但占用的IO口多且不可以显示字符。

方案二:

采用LCD1602液晶显示。

LCD1602显示丰富,响应快,并且成本也不高,编程技术熟练。

综合以上方案,我们选择LCD1602。

第三章系统模块设计

3.1STC89C52RC主控模块设计

STC89C52RC是一个低压高性能8位单片机,片内含8kFlash闪存,512bytes的RAM,兼容标准MCS-51指令系统,片内置8位通用CPU和2K字节EEPROM存储空间。

主要功能特性:

1)8k可反复擦写FlashROM;

2)32个双向I/O口;

3)512x8bit内部RAM;

4)可直接使用串口下载;

5)内带2K字节EEPROM存储空间

引脚图见图3-1

图3-1单片机管脚图

单片机控制模块由STC89C52RC最小系统组成,其中包括单片机,晶振电路和复位电路。

晶振电路由由18,19引脚接入2个22pf的电容和一个12MHz的晶振组成。

最小系统如图3-2所示

图3-2单片机最小系统

3.2nRF24L01无线模块设计

3.2.1nRF24L01概述

NRF24L01是一种新型单片射频收发机设备,在2.4GHz~2.5GHz频率ISM波段操作。

内部集成了频率发生器、增强型“SchockBurst”模式控制器、功率放大器、晶体振荡器、调制器和解调器,输出功率可以被软件简单配置。

NRF24L01具有多种低功耗模式(断电模式和空闲模式),以便节能设计更方便。

以下是nRF24L01的主要特点:

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

2.GFSK调制,硬件集成OSI链路层;

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

4.125个频道与其他nRF24系列射频器件相兼容;

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

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

7.供电电压为1.9V~3.6V;

3.2.2引脚功能及描述

nRF24L01的电路图引脚如图3-3所示。

图3-3

由于高频电路的设计在元件的摆放位置,电路的走线方法都有很高的要求,因此我们直接使用现在的成品模块,这样我们就不用去考虑高频电路的设计问题,图3-4是nRF24L01的pcb图和实物图

图3-4

下面图3-5是模块各个引脚的功能:

图3-5

3.2.3工作模式

通过配置寄存器可将nRF24L01配置为发射、接收、空闲及掉电四种工作模式,如图3-6所示。

图3-6nRF24L01工作模式

3.2.4配置字

SPI端口同步串行通信接口,传输时先传递为字节,再穿高位字节,并拥有很高的传输速率。

nRF24L01的配置寄存器共有25个,常用的配置寄存器如图3-7所示。

图3-7常用配置寄存器

3.2.5模块电路图与应用原理框图

nRF24L01无线模块电路图如图3-8所示:

图3-8模块电路图

 

图3-9是nRF24L01无线模块需要与MCU连接的部分:

图3-9

 

3.3显示电路模块设计

3.3.1液晶1602显示屏的基本结构

1602采用标准的16脚接口,如下图3-10所示,其中:

第1脚:

GND为电源地

第2脚:

VCC接5V电源正极

第3脚:

V0为液晶显示器对比度调整端,并且对比度与电压成反比。

第4脚:

RS为寄存器选择,高电平时选择数据寄存器、低电时选择指令寄存器。

第5脚:

RW为读写信号线,高电平时进行读操作,低电平时进行写操作。

第6脚:

EN端为使能端,高电平时读取信息,负跳变时执行指令。

第7~14脚:

与单片机双向通信的8位数据端。

第15~16脚:

空脚或背灯电源。

15脚背光正极,16脚背光负极。

图3-10

3.3.2液晶1602显示屏的工作原理

LCD1602的内存已经存储了160个不同的字符点阵图形,每个字符对应一个固定代码,比如字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。

在单片机编程中也可以使用字符常量或变量赋值,如'A’。

因为CGROM存储代与我们电脑字符的代码基本上是相同的,所以我们在C51字符代码写入DDRAM甚至可以直接与P1='A'。

3.4温度传感器模块设计

DS18B20芯片具有体积小,成本低,抗干扰性强,精度高,独特的单线接口等优点。

独特的单线接口,并且每一个DS18B20包含一个独特的序号,使得一条总线上可以存在多个DS18B20.外围硬件简单,采用数据总线供电,电压范围为3.0V至5.5V,测量温度范围为-55°C至+125℃。

DS18B20芯片封装如图3-11所示。

图3-11

3.4.1DS18B20的管脚配置和内部结构

引脚定义:

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

(2)GND为电源地;

(3)VDD为外接供电电源输入端。

内部结构如下图所示:

图3-12DS18B20内部结构图

3.4.2DS18B20的工作原理

DS18B20的温度检测与数字数据输出全部集成在一个芯片上,使用单总线通信方式,抗干扰能力很强。

使用DS18B20进行温度测量的步骤为:

初始化DS18B20→跳过ROM操作命令→启动温度转换命令→等待转换完成→初始化→跳过ROM操作命令→读取温度寄存器命令,这样就可以读出被测温度的数据了[4]。

流程图3-13所示。

图3-13

3.4.3DS18B20的硬件设计

图3-14DS18B20硬件连接图

第四章软件系统的设计

4.1各模块软件设计

4.1.1显示模块软件设计

流程图如图4-1所示

4-1显示部分软件流程图

4.1.2温度检测

温度检测软件设计遵循单总线协议,MCU通过时序来写入和读出DS18B20中的数据。

DS18B20通过如下步骤完成操作:

复位,接收应答,读取ROM序列号,启动温度转换,等待转换完成,保持数据[7]。

流程图如4-2所示。

图4-2温度检测软件流程图

4.1.3无线发射模块软件设计

首先进行初始化,然后通过SPI总线配置使nRF24L01进入发射模式。

然后把发射端准备发射的数据的目标地址和数据写入无线通信模块的缓冲区,进行一定延时后发射数据[7]。

其流程图如图4-3所示。

图4-3无线发射软件流程图

4.1.4无线接收模块软件设计

接收数据时,首先将无线通信模块配置为接收模式。

然后等待数据,当接收方检测到有效地址和CRC时,就将数据包储存在接收堆栈中,同时状态寄存器中的中断标志位RX—DR置高,产生中断使IRQ引脚变为低电平,以便通知单片机去取数据[7]。

其流程图如图4-4所示。

图4-4无线接收软件流程图

4.2总体的软件设计

4.2.1发送部分

发送部分的总体思路:

初始化温度传感器,DS18B20测得温度,接着把温度值写入待发射数据,然后初始化nRF24L01无线模块,将温度发送给主机,其流程图如图4-5所示。

图4-5发射部分总体流程图

4.2.2接收部分

接收部分首先是初始化nRF24L01无线模块,接着判断是否出现接收中断。

如果有读入数据并经过处理在LCD1602上显示,其流程图如图4-6所示。

图4-6接收部分总体流程图

4.3本章小结

本章主要是对系统程序和程序的设计思想作了说明,并介绍了每个模块的程序流程和最终流程,系统软件采用模块化编程思想,因此,在软件调试时,总是可以调用子模块程序,有利于子模块调试。

第五章系统的调试及实验结果

5.1调试步骤

步骤一完成硬件电路的焊接。

步骤二首先烧写入简单测试程序,检验LCD1602显示没有问题。

步骤三将接受部分的单片机连接上一块数码管上,写入测量温度的程序。

测试DS18B20相关硬件及软件。

步骤四搭建简单的无线通信硬件,写入简单的测试测序,检测收发硬件模块。

步骤五将所用测序写在一起,搭建完成一个主机2个从机的完整硬件,检测系统是否能把2个从机测得的温度值通过无线模块通信从而在LCD1602上显示出来。

5.2实验结果

经过简单的实验得到一些实验数据,具体结果如表5-1所示:

表5-1数据测试表

测试数据

发送端电流

2.7mA

接收端电流

10mA

收发端电压

3.0V

发送端功率

8.10mW

接收端功率

30.0mW

收发距离

>5m

从表中可以看出整个系统得到功耗都很低,并且收发距离也达到了设计的原始要求。

如图5-1就是无线测温系统的主机,接通电源立即对LCD1602初始化,并等待发射端传来数据进行接收并在LCD1602上实时显示出来。

图5-1发射部分成品

如图5-2就是无线测温系统的从机。

在接通电源的时会立即完成初始化,把从DS18B20中测得的温度通过无线模块地发送给主机。

图5-2接收部分成品

5.3本章小结

本章主要介绍了系统硬件搭建和软件调试以及实验结果。

软件和硬件调试使用子模块测试的方法,确保每个模块都能正常工作了才进行整合,减少了调试的工作量。

最后我们对测温系统进行了简单的实验,基本满足本次设计的要求。

结论

本次设计采用了STC89C52RC来采集和处理数据,通过传感器收集非电信号。

系统中采用直接数字输入型温度传感器DS18B20实现了数字温度计无线监测系统。

本系统设计采用DS18B20具有精度高,抗干扰能力,电路简单,可在单总线上挂载多个传感器的优点。

相反,传统的温检测系统采用热门电路来测量环境温度,虽然成本很低,但精度差,可靠性不好,且不是全数字输出,需要AD转换电路,增加了电路的复杂性。

本设计采用NRF24L01无线通信模块来实现温度的监控,省去传统的布线麻烦,保持了电路的简洁,方便整个系统的安装和维护。

但在此次设计中同样遇到一些技术难题,例如,对无线模块NRF24L01的程序的编写和调试。

不过,通过这次设计增加了我的学习能力和理解能力,对无线传输也有了一定的了解。

不断地在网上和图上馆翻阅相关资料,经过2个月的努力,本次设计已经达到了预期的目的。

相关工作总结如下:

一.本设计内容重点:

(1)NRF24L01无线传输模块的调试。

(2)DS18B20的各种操作命令。

(3)单片机液晶显示。

二.研究展望

随着科技的发展,温度监控系统正朝着高精度,体积小,多点式,可靠性高,易于安装和维护的方向迅速发展。

1.提高温度控制器测温精度和分辨力

传统的测温系统采用的热敏电阻精度低,采用8为A/D转换器,电路复杂,可靠性不高,分辨率不

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

当前位置:首页 > PPT模板 > 中国风

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

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