完整版基于nRF24L01的远程温度检测系统毕业论文.docx

上传人:b****5 文档编号:8397633 上传时间:2023-01-31 格式:DOCX 页数:30 大小:46.11KB
下载 相关 举报
完整版基于nRF24L01的远程温度检测系统毕业论文.docx_第1页
第1页 / 共30页
完整版基于nRF24L01的远程温度检测系统毕业论文.docx_第2页
第2页 / 共30页
完整版基于nRF24L01的远程温度检测系统毕业论文.docx_第3页
第3页 / 共30页
完整版基于nRF24L01的远程温度检测系统毕业论文.docx_第4页
第4页 / 共30页
完整版基于nRF24L01的远程温度检测系统毕业论文.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

完整版基于nRF24L01的远程温度检测系统毕业论文.docx

《完整版基于nRF24L01的远程温度检测系统毕业论文.docx》由会员分享,可在线阅读,更多相关《完整版基于nRF24L01的远程温度检测系统毕业论文.docx(30页珍藏版)》请在冰豆网上搜索。

完整版基于nRF24L01的远程温度检测系统毕业论文.docx

完整版基于nRF24L01的远程温度检测系统毕业论文

 

基于nRF24L01的远程温度检测系统设计

      

 

摘要

温度检测在日常生活、工作和工程实践中具有重要的应用。

随着生活水平的提高和科学技术的进步,无论是工业还是农业或者是日常生活中对温度检测的要求越来越高。

不仅要做到低耗,还要求进行一定距离的传输。

基于这点我们运用两片主控芯片,一个温度传感器,及数码管显示部分,解决了这个日常生活工作中的问题。

出于低功耗本设计我们选择了以低功耗见长的430单片机中的F149系列作为主控芯片,工作场所的温度采集用到了温度采集芯片DS18B20来达到一定的准确度和精确度,最后采用nRF24L01模块对采集到的温度数据进行无线传输,从而打破传统温度操作受到距离限制的缺陷。

在经过软硬件测试后,我们基本实现了用温度传感器采集温度,用nRF24L01进行一定距离传输后在接受端的数码管上显示出来的模型。

传输距离>30m,温度范围达到0至125摄氏度,精度1摄氏度。

关键词:

msp430f149;nRF24L01;温度;无线传输

 

ABSTRACT

Temperaturemeasurementdailylife,workandengineeringpractice.Withtheimprovementoflivingstandardsandtechnologicalprogress,whetherindustry,agricultureordailylifebecomeincreasinglydemandingoftemperaturedetection.Notonlytoachievelowpowerconsumption,butalsorequiresacertaindistancetransmission.Forthisreasonwesolvedtheproblemofdailylifeandworkusingtwocontrolchips,atemperaturesensor,andtheleddisplaypart.Forlow-powerdesignwethelow-powermicrocontrollerknownfortheF149seriesof430asthemasterchip,temperatureacquisitionDS18B20accuracyandprecision,FinallynRF24L01moduletemperaturedatacollectedbywirelesstransmission,thusbreakingthedistancelimitationsoftraditionaltemperatureoperation.Aftersoftwareanddistance>30m,temperaturerange0to125degrees,1degreeaccuracy.

Keywords:

msp430f149;nRF24L01;Temperature;Wireless

目录

第1章绪论1

1.1课题的背景与意义1

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

1.3对设计任务的分析2

1.4预期结果3

1.5论文的结构安排3

第2章 主控芯片及编程环境的介绍5

2.1MSP430简介5

2.2IAR开发软件7

2.3本章小结8

第3章硬件系统的设计与实现9

3.1温度采集模块9

3.1.1DS18B20的管脚配置和内部结构10

3.1.2单总线介绍11

3.1.3DS18B20的工作原理12

3.2无线收发模块14

3.2.1nRF24L01概述15

3.2.2引脚功能及描述16

3.2.3工作模式17

3.2.4工作原理17

3.2.5配置字19

3.3LED显示模块19

3.3.1数码管选择19

3.3.2驱动电路选择20

3.4主控制模块(Msp430f149最小系统)21

3.4.1下载电路21

3.4.2电源电路设计23

3.4.3复位电路25

3.4.4晶振电路25

3.5引脚分配26

3.5.1发射部分26

3.5.2接收部分27

3.6本章小结28

第4章软件系统的设计与实现30

4.1分部分软件设计30

4.1.1温度检测30

4.1.2无线发射模块软件设计31

4.1.3无线接收模块软件设计32

4.1.4显示模块软件设计33

4.2软件的总体设计33

4.2.1发送部分33

4.2.2接收部分34

4.3本章小结35

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

5.1调试步骤36

5.2实验结果36

5.3本章小结38

结论39

参考文献41

致谢42

附录43

第1章绪论

1.1课题的背景与意义

随着社会的进步和生产的需要,利用无线通信进行温度数据采集的方式应用已经渗透到生活各个方面。

在工业现场,由于生产环境恶劣,工作人员不能长时间停留在现场观察设备是否运行正常,就需要采集数据并传输数据到一个环境相对好的操控室内,这样就会产生数据传输问题。

由于厂房大、需要传输数据多,使用传统的有线数据传输方式就需要铺设很多很长的通讯线,浪费资源,占用空间,可操作性差,出现错误换线困难。

而且,当数据采集点处于运动状态、所处的环境不允许或无法铺设电缆时,数据甚至无法传输,此时便需要利用无线传输的方式进行数据采集。

在农业生产上,不论是温室大棚的温度监测,还是粮仓的管理,传统上都是采取分区取样的人工方法,工作量大,可靠性差。

而且大棚和粮仓占地面积大,检测目标分散,测点较多,传统的方法已经不能满足当前农业发展的需要。

当前的科技水平下,无线通信技术的发展使得温度采集测量精确,简便易行。

在日常生活中,随着人们生活水平的提高,居住条件也逐渐变得智能化。

如今很多家庭都会安装室内温度采集控制系统,其原理就是利用无线通信技术采集室内温度数据,并根据室内温度情况进行遥控通风等操作,自动调节室内温度湿度,可以更好地改善人们的居住环境。

以上只是简单列举几个现实的例子,在现实生活中,这种无线温度采集系统已经被成功应用于工农业、环境监测、军事国防、机器人控制等许多重要领域,而且类似于这种温度采集系统的无线通信网络已经被广泛的应用到民用和军事领域。

凡是布线繁杂或不允许布线的场合都希望能通过无线方案来解决。

为此,需要设计相应的接口系统,控制这些射频芯片工作,完成可靠稳定的无线数据通信,这样的研究也变得更加有意义了[1]。

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

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

,具有带宽高(2Mbps),双向传输,抗干扰性强,传输距离远(短距离无线技术范围),耗电少的优点,用于无线键鼠等室内场合。

Nordic公司等公司已成功推出nRF24L01芯片,2.4G全球开发ISM频段免许可证使用。

同时许多公司也相继推出基于nRF24L01的无线传输模块。

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

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

nRF24L01功耗低,在以-6dBm的功率发射时,工作电流也只有9mA;接收时,工作电流只有12.3mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。

至此这种基于此频段的通信方式已日渐趋向成熟[2]。

同样随着传感器及电子电路的发展,集成的温度检测器件的完善性及集成性也得到了大大的提高。

类似美国DALLAS公司推出的数字测温芯片DS18B20层出不穷,国内外的研究在这方面的研究也趋近完善[3]。

1.3对设计任务的分析

本系统的设计采用了工作于2.4GHz频段nRF24L01射频芯片,并有低功耗单片机MSP430F149控制实现短距离无线数据通信。

该接口设计具有成本低、功耗低、传输速率高、软件设计简单以及通信稳定可靠等特点。

整个系统有发送和接收二部分,通过nRF24L01无线数据通信收发模块来实现无线数据传输。

发送部分以单片机MSP430F149为核心,使用温度转换芯片DS18B20实时采集温度并通过数码管显示。

将采集的温度无线传送给接收部分,然后再在数码管上显示。

本系统的核心控制芯片选用的是MSP430F149。

单片机在各个技术领域中的迅猛发展,与单片机所构成的计算机应用系统的特点有关:

(1)单片机构成的应用系统有较大的可靠性;

(2)系统构建简洁、易行,能方便的实现系统功能;

(3)由于构成的系统是一个计算机系统,相当多的功能由软件实现,故具有柔性特点和优异的性能价格比;

对msp430f149可以制作两个最小系统(一个控制发送端,一个控制接受部分)最小系统包括电源电路,下载电路采用JTAG接口及主控芯片和一些基本外围电路。

对于DS18B20的温度检测模块,硬件部分较简单,由于是单脚传输导致软件时序的时间精确度控制上要求比较高,要做到精确。

数码管显示部分虽然较简单但是在调试过程有重要作用,是显示软硬件好使的必要条件,不可忽视。

另外为了降低430的输出功率,采用锁存器对数码管进行驱动。

无线收发模块采用挪威(Nordic)公司生产的nRF24L01及其外围电路组成,软件部分要熟悉内部的标志及控制寄存器以及数据通道,发射频率功率及收发模式等以利于编程。

1.4预期结果

采用MSP430F149单片机作为主控CPU,DS18B20作为温度采集模块,nRF24L01作为无线收发模块,加上LED显示模块构成系统。

要求完成硬件模块的设计和电路板的制作。

软件模块包括温度检测模块、无线发射模块、无线接收模块和显示模块。

温度测量范围:

0°C至125°C,传输距离>30m。

1.5论文的结构安排

本文基于本次毕业设计的过程与要求,将论文分为五章。

具体内容如下:

第1章绪论本章简单介绍了课题的研究背景、目的和意义,无线温度检测的国内外发展现状和相关领域中已有的研究结果,该设计的预期结果和意义。

第2章主控芯片及编程环境的介绍本章介绍了本次毕业设计的主控芯片及相应的编程环境,让我们熟悉了整个系统的调试方法。

第3章硬件系统的设计与实现本章介绍本课题硬件系统各部分电路的设计、实现,讲述了各模块的功能。

第4章软件系统的设计与实现本章根据系统的总方案,设计出程序的总流程图,并利用C语言编写相应的程序。

第5章系统的调试及实验结果本章根据已有的软硬件,进行调试,得到的相应成果。

最后总结本论文,得出相关结论。

第2章 主控芯片及编程环境的介绍

2.1MSP430简介

MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低MSP430单片机功耗、具有精简指令集(RISC)的混合信号处理器(MixedSignalProcessor)。

称之为混合信号处理器,是由于其针对实际应用需求,将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,以提供“单片”解决方案。

该系列单片机多应用于需要电池供电的便携式仪器仪表中[4]。

MSP430单片机的特点:

(1)处理能力强  MSP430系列单片机是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7种源操作数寻址、4种目的操作数寻址);简洁的27条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令。

这些特点保证了可编制出高效率的源程序。

(2)运算速度快  MSP430系列单片机能在25MHz晶体的驱动下,实现40ns的指令周期。

16位的数据宽度、40ns的指令周期以及多功能的硬件乘法器(能实现乘加运算)相配合,能实现数字信号处理的某些算法(如FFT等)。

(3)超低功耗  MSP430单片机之所以有超低的功耗,是因为其在降低芯片的电源电压和灵活而可控的运行时钟方面都有其独到之处。

首先,MSP430系列单片机的电源电压采用的是1.8-3.6V电压。

因而可使其在1MHz的时钟条件下运行时,芯片的电流最低会在165μA左右,RAM保持模式下的最低功耗只有0.1μA。

其次,独特的时钟系统设计。

在MSP430系列中有两个不同的时钟系统:

基本时钟系统、锁频环(FLL和FLL+)时钟系统和DCO数字振荡器时钟系统。

可以只使用一个晶体振荡器(32768Hz),也可以使用两个晶体振荡器。

由系统时钟系统产生CPU和各功能所需的时钟。

并且这些时钟可以在指令的控制下,打开和关闭,从而实现对总体功耗的控制。

由于系统运行时开启的功能模块不同,即采用不同的工作模式,芯片的功耗有着显著的不同。

在系统中共有一种活动模式(AM)和五种低功耗模式(LPM0~LPM4)。

在实时时钟模式下,可达2.5μA,在RAM保持模式下,最低可达0.1μA。

(4)片内资源丰富 MSP430系列单片机的各系列都集成了较丰富的片内外设。

它们分别是看门狗(WDT)、模拟比较器A、定时器A0(Timer_A0)、定时器A1(Timer_A1)、定时器B0(Timer_B0)、UART、SPI、I2C、硬件乘法器、液晶驱动器、10位12位ADC、16位Σ-ΔADC、DMA、IO端口、基本定时器(BasicTimer)、实时时钟(RTC)和USB控制器等若干外围模块的不同组合。

其中,看门狗可以使程序失控时迅速复位;模拟比较器进行模拟电压的比较,配合定时器,可设计出AD转换器;16位定时器(Timer_A和Timer_B)具有捕获比较功能,大量的捕获比较寄存器,可用于事件计数、时序发生、PWM等;有的器件更具有可实现异步、同步及多址访问串行通信接口可方便的实现多机通信等应用;具有较多的IO端口,P0、P1、P2端口能够接收外部上升沿或下降沿的中断输入;1012位硬件AD转换器有较高的转换速率,最高可达200kbps,能够满足大多数数据采集应用;能直接驱动液晶多达160段;实现两路的12位DA转换;硬件I2C串行总线接口实现存储器串行扩展;以及为了增加数据传输速度,而采用的DMA模块。

MSP430系列单片机的这些片内外设为系统的单片解决方案提供了极大的方便。

另外,MSP430系列单片机的中断源较多,并且可以任意嵌套,使用时灵活方便。

当系统处于省电的低功耗状态时,中断唤醒只需5μs。

(5)方便高效的开发环境MSP430系列有OPT型、FLASH型和ROM型三种类型的器件,这些器件的开发手段不同。

对于OPT型和ROM型的器件是使用仿真器开发成功之后烧写或掩膜芯片;对于FLASH型则有十分方便的开发调试环境,因为器件片内有JTAG调试接口,还有可以电擦写的FLASH存储器,因此采用先下载程序到FLASH内,再在器件内通过软件控制程序的运行,由JTAG接口读取片内信息供设计者调试使用的方法进行开发。

这种方式只需要一台PC机和一个JTAG调试器,而不需要仿真器和编程器。

开发语言有汇编语言和C语言[5]。

2.2IAR开发软件

IAREmbeddedWorkbench是一套高度精密且使用方便的嵌入式应用编程开发工具。

在其集成开发环境(IDE)中包含了IAR的CC++编译器,汇编工具,链接器,文本编辑器,工程管理器和C-SPY调试器。

通过其内置的针对不同芯片的代码优化器,IAREmbeddedWorkbench可以为MSP430微控制器生成极为高效和可靠的代码。

除了有这些可靠的技术之外,IARSystems还为您提供专业化的全球技术支持[6]。

模块化和可扩展的集成开发环境

(1)用于构建和调试嵌入式应用程序的无缝集成开发环境;

(2)强大的工程管理器,允许同一工作区管理多个工程;

(3)工程的层次化表示方法;

(4)可停靠窗口和浮动窗口管理;

(5)智能型源文件浏览器;

(6)带有代码模板和支持多字节等丰富特色的编辑器;

(7)可以在全局层次、源文件组层次、或者单个的源文件层次上进行配置;

(8)灵活的工程编译,如批量编译,前后编译或在编译过程中访问外部工具的客户定制编译;

(9)集成了源代码控制系统的接口;

(10)为多种芯片提供配套的现成的头文件,芯片描述文件和链接器命令文件;

(11)为多种MSP-FET430工具提供现成代码和工程范例;

高度优化的CC++编译器

(1)支持C,EC++和扩展EC++,并且包含有模板,名字空间和标准模板库(STL)等;

(2)MISRAC检查器;

(3)支持所有MSP430和MSP430X架构的芯片;

(4)针对特定目标的嵌入式应用程序的语言扩展用于数据函数定义和存储器及类型属性声明的扩展关键字使用Pragma指令控制编译器行为,比如用来分配内存在C源码中可直接访问的本征函数,从而执行低级处理器操作,例如MSP430省电模式;

(5)通过专用实时库模块支持硬件乘法器外设模块;

(6)位置无关代码;

(7)32位和64位标准IEEE格式的浮点类型;

(8)对代码的大小和执行速度多级优化,允许不同的转换形式,例如函数内联和循环展开等等;

(9)高级的全局优化和特定优化相结合,可以生成最为紧凑和稳定的代码[7];

2.3本章小结

本章主要简要介绍了msp430单片机的软硬件系统和特点以及msp430的编程开发环境IAR的一些特点,为接下来的硬件设计及软件开发做了铺垫。

第3章硬件系统的设计与实现

温度检测在日常生活、工作和工程实践中经常用到,随着生活水平和科学技术的不断进步,对检测温度数据的精度要求也越来越苛刻,传统的温度测量装置很难满足现在的要求,本设计采用DS18B20作为温度采集元件,配合低功耗单片机的使用就可以很好地弥补传统上的不足。

而且本文采用nRF24L01模块对采集到的温度数据进行无线传输,打破了传统操作中距离受限的问题,使测温操作更易实现。

本设计采用MSP430F149作为主控CPU,外加DS18B20温度采集模块、nRF24L0l无线收发模块和数码显示模块组成整个系统,如图3.1所示。

图3.1系统总体架构图

3.1温度采集模块

该模块采用美国DALLAS公司推出的数字测温芯片DS18B20,该芯片具有体积小,多种封装形式,独特的单线接口等优点。

测量范围从-55摄氏度到+125摄氏度,拥有可以选择的9到12位温度数据分辨率,可以工作在寄生电源模式,另外还可自定义温度告警设置。

本系统中温度传感器输出脚IO直接与单片机的P4.0相连,外接4.7KΩ的上拉电阻到电源,采用MSP430的电源供电[8]。

DS18B20芯片封装如图3.2所示。

图3.2DS18B20芯片封装

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

引脚定义:

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

(2)GND为电源地;

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

内部结构如图3.3所示。

图3.3DS18B20内部结构图

(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。

64位光刻ROM的排列是:

开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。

光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。

(2) DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:

用16位符号扩展的二进制补码读数形式提供,以0.0625℃LSB形式表达,其中S为符号位。

12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。

3.1.2单总线介绍

1-WIREBUS单总线是Maxim全资子公司Dallas的一项专有技术。

与目前多数标准串行数据通信方式,如SPIIICMICROWIRE不同,它采用单根信号线,既传输时钟,又传输数据,而且数据传输是双向的。

它具有节省IO口线资源、结构简单、成本低廉、便于总线扩展和维护等诸多优点。

3.1.3DS18B20的工作原理

DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。

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

在讲解其工作流程之前我们有必要了解18B20的内部存储器资源。

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

(1)ROM只读存储器,用于存放DS18B20的ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。

数据在出产时设置不由用户更改。

DS18B20共64位ROM。

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

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

在上电复位时其值将被刷新。

第5个字节则是用户第3个EEPROM的镜像。

第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。

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

EEPROM非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。

控制器对18B20操作流程:

(1)复位:

首先我们必须对DS18B20芯片进行复位,复位就是由控制器(单片机)给DS18B20单总线至少480μS的低电平信号。

当18B20接到此复位信号后则会在15~60μS后回发一个芯片的存在脉冲。

(2)存在脉冲:

在复位电平结束之后,控制器应该将数据单总线拉高,以便于在15~60μS后接收存在脉冲,存在脉冲为一个60~240uS的低电平信号。

至此,通信双方已经达成了基本的协议,接下来将会是控制器与18B20间的数据通信。

如果复位低电平的时间不足或是单总线的电路断路都不会接到存在脉冲,在设计时要注意意外情况的处理。

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

双方打完了招呼之后最要将进行交流了,ROM指令共有5条,每一个工作周期只能发一条,ROM指令分别是读ROM数据、指定匹配芯片、跳跃ROM、芯片搜索、报警芯片搜索。

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

其主要目的是为了分辨一条总线上挂接的多个器件并作处理。

诚然,单总线上可以同时挂接多个器件,并通过每个器件上所独有的ID号来区别,一般只挂接单个18B20芯片时可以跳过ROM指令(注意:

此处指的跳过ROM指令并非不发送ROM指令,而是用特有的一条“跳过指令”)。

(4)控制器发送存储器操作指令:

在ROM

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

当前位置:首页 > 初中教育

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

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