【《基于NRF24L01芯片的无线温度监测传输系统设计》7600字】_第1页
【《基于NRF24L01芯片的无线温度监测传输系统设计》7600字】_第2页
【《基于NRF24L01芯片的无线温度监测传输系统设计》7600字】_第3页
【《基于NRF24L01芯片的无线温度监测传输系统设计》7600字】_第4页
【《基于NRF24L01芯片的无线温度监测传输系统设计》7600字】_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

论文题目PAGE4PAGE1基于NRF24L01芯片的无线温度监测传输系统设计目录TOC\o"1-3"\h\u30486基于NRF24L01芯片的无线温度监测传输系统设计 1251271绪论 2202751.1温度采集模块 5133181.2显示模块 575781.3无线接收发射模块 612551.4PC机温度监控通信方案设计 6241522系统硬件电路设计 7291012.1温度采集模块 8121962.2显示模块电路 9187022.3无线发送模块 1144292.3.1串口通讯模块 1340414系统调试结果与分析 20摘要:农业科学技术进步是当前推动我国现代农业生产力高速发展过程中的重要组成因素和重要推动力量,一个国家的经济发展进步离不开科学工业和现代农业,而在现如今我国工农业的高速生产中,对温度采集的需求日益增多,进而如何准确方便且在保证安全的情况下对目标地点的温度进行测量值得探讨。就传统的有线线路测温而言,它的测温线路出现故障难以及时排查,线路易发生老化,设备引线布局操作繁琐且成本较高等问题。但要是选择采用无线数据收发自动测温的工作方式则在设备进行温度的数据采集、发送、接收并通过PC机组检测检测后由系统自动进行测温处理,即可轻松实现对目标地温度的实时自动监测,同时可以设置目标地温度上限和下限,在当设备检测温度达到最值时,还可以自动提醒温度检测人员进行及时处理,也可在需要监测设备温度的特殊情况下对检测设备的正常运行工作情况自动进行实时监控,减少不必要的检测线路以及设备维护开支节省人工成本。当在指定检测地点环境设施恶略不方便或者架设通信线路以及有线通信网络不发达的特殊状况下,有线的的数据采集就可能会带来很大的不便,从而在人力物力上花大成本。本次无线收发温度数据监测系统设计采取理论和实践相结合的方法,通过查阅大量文献资料,导师指导实践,通过大量测试的手段完成的。成品系统是以NRF24L01芯片为核心的无线接收模块,为了实现发射端(被检测端)到接收端(显示端)之间的数据传输。发射数据是以一台STC89C52单片机为主体的控制器,再与它结合一个温度数据采集传感器(DHT21),温度采集模块进行温度初始化数据的采集;然后让主控制器对温度传感器采集到的每个初始化温度数据先后进行实时处理,再通过它的NRF24L01无线收发芯片把温度数据实时发送给监测端。其次采用NRF24L01芯片里内置的一个CRC进行检测,以确保处理后数据的准确。再通过LCD1602液晶显示器来实现数据的实时显示;我们可以借助MAX232芯片实现与PC机温度检控的功能,这样当我们在目标地点安置若干监测端后就可以实现多点监测。关键词:nRF24L01;无线数据采集;STC89C52;MAX2321绪论随着社会的进步科学的创新,现代社会已然成为了数字化信息化时代,人们将生活中的大大小小的事情变得数字化网络化,但原有的有线传输不仅成本维护费用较大,它还存在诸多限制如:地理环境、有线网络通讯不发达等,这些限制在很大程度上对数据传输造成了阻碍,所以无线传输的普及性变得尤为重要。相比有线传输之下,无线传输的布局成本较低,安装简单便捷、便于拆装挪动、便于定期准确定位检查修理等优点。使其在众多领域都得到了广泛应用,尤其是在工农业方面,本次课题就是围绕无线数据传输关于湿温度的检测,当人们不便身处的环境或者条件下无疑是最优之选,避免造成人身安全威胁,为企业及单位减少不必要的开支节省人力物力资源,通过本系统便于实时监测目标场所湿温度,方便管理者做出及时的调整更好的管理与发展。1.1研究内容综合以上所述内容本次系统硬件设计主要是以由NRF24L01芯片作为无线数据传输模块,让单片机STC89C52作为主控制器,温度传感器是由DHT21组成的温度数据采集模块。此系统的目的是以方便现代工业及农业为背景及应用前景价值进行的全方位分析总结,确定对本系统的功能进行需求分析,构思和测试其基本的功能结构,做到实时的显示监控,当温度达到峰值自动报警,给用户带来便利,让本设计更加具有实用性。1.2系统设计方案经过对本次研究设计内容所需的包含技术要求的深入探讨,经初步研究分析本课题确立本次研究设计方案主要以下五个模块:无线数据发送模块、无线数据接收模块、温度采集模块、单片机控制模块、液晶显示模块以及PC机温度监控模块。系统主结构则分为2个部分:温度数据发送端系统结构和无线数据接收端系统结构。系统主要采用软件Keil5语言进行编码运行,系统的框图设计如下图所示:如上图所示先让操作人员给控制器1(STC89C52)模块进行上电,控制器1以串口方式读取温度采集(DHT21)模块的初始化数据,然后控制器1对其进行处理,控制器1处理后的温度数据被传送到本地显示模块(LCD1602),然后通过显示屏(LCD1602)进行相应的显示;之后无线发射模块再通过无线天线将控制器1接收到的温度数据发送出去。从而数据被无线接收模块接收,将接受到的温度数据传输给控制器2(STC29C52),然后控制器2对接收到的数据进行数据处理,并把处理后的温度数据传送给本地显示模块(LCD1602)以进行显示,之后再通过SPI串口通信,把温度数据传送给上位计算机的PC温度监控模块,等待计算机内部处理后显示在计算机屏幕上,以便监控人员可以对温度进行实时监控。(1)发送端系统结构本次系统的数据发送端处理结构由本地温度数据采集处理模块(温度传感器DHT21)和本地数据显示发送模块组成的,当温度数据采集完后DHT21将温度数据发送回主控制器STC89C52,然后以单片机STC89C52作为主控制处理器,令其对发送回的温度数据进行处理,判断实际温度的正负并自动计算出准确温度,处理工作完成后再由主控模块将处理后的数据发送至本地LCD1602液晶屏上进行实时显示,另外将无线接收模块NRF24L01芯片设置为发射模式,以便发射原始采集的温度数据,整个过程就是主控制器把温度传感器采集到的初始化数据传送到NRF24L01。其系统结构如下图所示:(2)接收端系统结构本次系统的温度接收端显示系统模块组成基本结构为无线数据接收模块和温度显示模块,主控器先将无线通信SPI相对串口进行初始化,并设置通信串口中的通信温度参数,再将无线数据接收模块的NRF24L01芯片设置成接收模式,接收从发射端发射到输出显示模块中的原始温度数据,NRF24L01芯片将接收到的初始温度数据依次进行CRC,结束后再将转换后的温度数据传送给主控制器。在无线数据接收模块中利用NRF24L01芯片读取接收的温度数据,并将读取后的温度数据通过LCD1602液晶显示模块进行实时的显示。同样接收端结构的主控制器也是采用以单片机STC89C52芯片为核心的主控制处理器,接收模块结构见图:温度采集模块本次系统硬件设计的主要重点之一便是温度采集模块,此温度采集模块在不同环境中的温度发生变化时对采集的温度数据进行分析以及数据采集时的准确度以及采集精度、反应速度等多个指标的采集结果,将有机会直接构成影响整个无线温度变化检测管理系统。①经过分析假设采用模拟传感器。对于环境温度变化它能及时的作出反应,反应速度较高,但另一方面它的精度会明显降低,此外它不能直接将数据进行转换,要借助A/D转换器,这样无疑是增加了控制的难度,让结构变得复杂同时还将提高实施的成本。②相比起模拟传感器,采用具有采集速度快且精度高连接简单诸多优点的(DHT21)温度传感器来说,它是直接与主控制单片机相连的,这使得在一些特定条件下可以放置其温度传感器,对比①来说节约成本简化线路布局,大大降低了控制难度。1.2显示模块本次系统设计显示模块能在本地显示及时的显示出当前的温度,方便操作人员了解检测地的实时温度。①经过分析如果采用一台LED八段液晶显示器。虽然其显示数据快速、操作原理简单等特点。但有些字符它不可显示,比如英文字符等,而且如若采用锁存方式进行显示的话,会大大提高电路设计的难度。但若放弃使用锁存方式则控制的难度也随之增加了。②跟一台LED八段液晶显示器相比如果采用一台LCD液晶显示屏,它不但能准确的显示英文字符和数字,而且它还具有低功耗、使用寿命长、高可靠性、清晰、体积小等五大特点。LCD1602是以若干个5X10点阵块组成的。1.3无线接收发射模块本次系统设计的另外一个技术重点及任务就是无线接收发射模块是由无线接收器和发射系统模块组成,其作用便是连接检测人员和检测目标端的重要渠道。在使用环境条件方面无线信号接收发射模块比较敏感,还有其与传输距离以及模块的使用功耗都是直接影响收发系统耐久度和精度的一个重要因素。所以如果选择一个功耗较小、传输数据距离长,并且用户能自己检测判断出传输过程中发生错误的无线模块无疑就更是大大优化了整个系统网络的完整性。①经过分析如果采用PTR2000无线收发芯片进行温度的发送和接收的话,它的模块体积超小型便于空间的充分利用,而且功耗较低,速率较高,抗干扰能力也强,当目标场地开阔时使用距离最远可以达到1千米,但其从接收数据到发射数据之间的转换时间过长,不能让检测端及时观察温度的变化,采取相应的措施。②但如果使用NRF24L01无线接收发射芯片的话检测端的操作人员便可以及时的观察待测端温度变化的实时情况。而且这个NRF14L01芯片不仅具有体积小、功耗低、发射检测电流小、抗干扰能力强、发射检测速率高等种种特点,而且它还自带一个CRC进行检测,虽然传输距离有300米,但相比较而言还是比PTR2000无线收发芯片实用。1.4PC机温度监控通信方案设计①本次系统设计温度监控通信模块如果采用USB模式通信,其编程起来任务量较大,过程复杂困难,技术难度过大,则放弃使用。②相对于常规的USB两种模式串口通信控制采用MAX232串口模式通信控制芯片其具有电路简单、编程容易和好上手等特点,容易购买成本较小。结合以上所述,本次系统硬件设计中的总体方案主要是:主控制器的芯片部分采用通用的STC89C52单片机芯片,温度信号采集控制模块部分使用温度传感器DHT21,本地显示部分采用一块点阵式的LCD1602液晶显示屏,无线接收发射模块采用NRF24L01芯片,采用SPI串口通讯方式与上位计算机PC温度监控模块进行通信。2系统硬件电路设计据本次系统硬件设计方案要求,其监控系统硬件控制电路设计主要由温度数据采集模块、无线信号发送模块、无线信号接收模块、显示模块、串口通讯模块、报警模块等部分组成。先给出nRF24L01的无线温度采集系统原理图。2.1温度采集模块数字温度传感器DHT21是一款用于通过连接含有已预先设计校准好的温度测量传感器的复合式多模式温度传感器。它分别结合应用专用的行业智能数字控制处理模块系统传感器的采集数据处理系统技术和行业专用智能温湿度测量控制模块传感器的采集处理技术,确保整个产品具有极高的产品质量性、可靠性与卓越的长期应用运行性能稳定性。传感器控制元件通常包括一个电容式感湿元件和一个NTC测温元件,并与一个具有高性能8位单片机元件相连接。因此该产品具有品质卓越、超快超高速度音频响应、抗干扰能力强、性价比极高等诸多优点.DHT21温湿度传感器与单片机连接原理图如下图所示:DHT21温度计算2.2显示模块电路结合上述论证我们显示模块电路采用LCD1602液晶屏,它是以若干个5X10点阵块组成,具有清晰、快速、可靠等特点。其电路图如下:根据本次系统硬件设计方案要求我们采用常规的STC89C52单片机芯片的P1口作为LCD1602显示模块的数据端口,LCD1602显示模块的EN使能端口使用STC89C52单片机芯片的P2.2端口,RW端口使用STC89C52单片机芯片的P2.1端口,RS端口使用STC89C52单片机芯片的P2.0端口,VO端口背光然后接地,电源我们将采用+5V。其显示流程如下图:LCD1602是由字符型液晶显示屏(LCD)、控制驱动主电路HD44780及其扩展驱动电路HD44100,以及少量电阻、电容元件和结构件等装配在PCB板上而组成。2.3无线发送模块无线发送接收模块使用NRF24L01芯片,它与控制器采用SPI协议进行通信,其内部原理如下图:NRF24L01无线数据接收信号发送控制模块接口无线连接模块采用的连接方式主要为一种标准双列直插式,其目的是为了方便与处理器系统操作中的硬件进行连接。为了能保证数据有效值的传送,在其内部,定义一个标准通信协议,数据通信包中还特别定义了CRC校验,通过SPI串行通信接口可以进行校验数据的正确写入或有效值的读出。通过可以设置内部频道寄存器RXADDR用来设置数据传送频道,通常它们可以被设置为频道0和频道1用来进行数据实时传送。本次系统设计主要采用的是数据通道1。NRF24L01所有的硬件配置都在寄存器中。所有数据寄存器的系统配置都必须是通过采用SPI串行通信协议进行接口进行系统设置后来定义的.其有效的数据传送速率可达10Mb。NRF24L01使用单片机的P0端口即可进行数据的有效无线接收或实时发送。NRF24L01单片无线信号收发系统模块主要工作在433/868/915MHZ的ISM收发频段,本收发系统主要采用433MHZ收发频段。由一个完全独立集成的基带频率信号调节器,一个带解调器的信号接收器,一个信号放大器,一个晶体振荡器和一个调节器组成。ShockBurst这种工作程序模式的主要特点之一是自动程序产生一个前导源代码和CRC。可以很容易通过SPI接口进行编程和配置。电流量的消耗很低,在其发射功率约为-10dBm时,发射电流大约为11mA,接收电流大约为12.5mA,进入POWERDOWN模式时就可以很容易实现电流节电。由于STC89C52没有SPI端口,所以我们用STC89C52模拟SPI,从而与NRF24L01通信。无线发送模块如下图:无线接收模块如下图:2.3.1串口通讯模块SPI接口由状态寄存器、射频配置寄存器、发送地址寄存器、发送数据寄存器和接收寄存器5个寄存器组成。1.状态寄存器:包含数据就绪DR和地址匹配AM状态。2.射频配置寄存器:包含收发器的频率,输出功率等配置信息。3.发送地址寄存器:包含目标器件地址字节长度由配置寄存器设置。4.发送数据寄存器:包含发送的有效数据包数据字节长度由配置寄存器设置。5.接收寄存器:包含接收到的有效数据包数据字节长度由配置寄存器设置在寄存器中的有效数据由数据准备就绪DR指示。2.3.2工作模式NRF24L01有4种工作模式,本系统采用其中的3种模式:SPI编程模式、发送模式、接收模式。如下表:Standby模式(SPI编程模式): Standby模式下NRF24L01可以与成本较低的低速MCU相连。高速信号处理是由芯片内部的射频协议处理的,nRF24L01提供SPI接口,数据率取决于单片机本身接口速度。ShockBurst模式通过允许与单片机低速通信而无线部分高速通信,减小了通信的平均消耗电流。 ShockBurstRx模式(接收模式):当一个接收器读到有效的磁盘地址和内存数据时可将IRQ通知MCU,随后MCU指令可将接一个接收器读到的地址数据从它的RXFIFO数据寄存器中读出。ShockBurstTx模式(发射模式):NRF24L01自动生成参数可对前导码进行编码及软件参数效验CRC进行编码参数校验。当有效数据发送完毕后IRQ会通知MCU。减少了MCU的整个查询时间,也就是说在这意味着不仅大大减少了MCU查询工作时间同时减少了软件开发的工作量。NRF24L01内部结构有三个不同的RXFIFO寄存器(6个通道共享此寄存器)和三个不同的TXFIFO寄存器。在掉电模式下、待机模式下和数据传输的过程中MCU可以随时访问FIFO寄存器。这就允许SPI接口可以以低速进行数据传送,并且可以应用于MCU硬件上没有SPI接口的情况下。2.3.3工作电源NRF24L01使用的是3.3v电源,所以必须给它单独配置一个电源,3.3v电源电路如图下:VCC输入为5V直流电压,稳压块采用的是德州仪器公司的AMS1117电源模块,具有精度高等特点。AMS1117输入5~12V,输出3.3V。无论NRF24L01工作在什么模式,它的电流都不大,所以,使用德州仪器公司的AMS1117电源模块给NRF24L01供电是比较合适的。2.4上位计算机通信模块上位计算机通信模块使用通用的MAX232串口通信方式,电路如图:MAX232的主要作用是进行电平转换,从而使单片机STC89C52能和计算机进行通信。我们只使用了11、12来连接单片机STC89C52的P3.0口和P3.1口。MAX232的13和14脚与串口相连,将数据传送到计算机。2.4.1串口通信的工作参数 波特率:9600;它的输入数据位的字元率通常是8位;它的数据输入停止位的每位数字率是1位;没有校验位。3软件设计3.1主程序功能主程序主要的功能是组织并协调各模块的工作,处理“温湿度采集”模块传来的温度和湿度。3.1.1发射端(被监测端)操作人员操作人员1.操作人员先给控制器1(STC89C52)上电;2.控制器1(STC89C52)将本地显示(LCD1602)设置为初始化;3.控制器1(STC89C52)将无线收发(NRF24L01)设置为初始化;4.控制器1(STC89C52)发送给温湿度采集(DHT21)一个温度采集的指令;5.温度数据采集(DHT21)将温度采集的到的原始温度值和原始数据实时传送反馈给温度控制器1(STC89C52);6.控制器1(STC89C52)将采集到的温度数据进行处理,把温度数据计算为实际温度并判断温度的正负,把负温度转换为正码,最后把温度数据传换成本地显示(LCD1602)可以显示的格式。7.控制器1(STC89C52)把处理后的温度数据格式传输给本地显示(LCD1602)以进行显示;8.控制器1(STC89C52)将无线收发(NRF24L01)芯片设置为发射模式,以便发射原始温度数据;9.控制器1(STC89C52)把未处理过的温度数据传输给无线收发(NRF24L01)芯片,从而把温度数据发射出去;10.回到第4步继续采集温度数据,一直这样循环;3.1.2监测端(接收端)1.操作人员先给控制器1(STC89C52)进行上电;2.控制器2(STC89C52)将本地显示(LCD1602)设置为初始化;3.控制器2(STC89C52)将无线收发(NRF24L01)设置为初始化;4.控制器2(STC89C52)初始化SPI串口通信,并设置串口通信的参数;5.控制器2(STC89C52)将无线收发(NRF24L01)芯片设置为接收模式,以便接收被监测端发射出来的原始温度数据;6.无线收发(NRF24L01)接收到原始温度数据,进行CRC校验,如果数据正确则把数据传输给控制器2(STC89C52);7.控制器2(STC89C52)对接收到的数据进行处理,处理方法同发射端一样;8.控制器2(STC89C52)把处理后的温度数据传输给本地显示(LCD1602)以进行显示;9.控制器2(STC89C52)向PC机温度监控系统传输温度数据,以便PC机对温度数据进行监控;10.回到第5步继续接收温度数据,一直这样循环。3.2模块代码设计温度采集模块:当用户要检测目标场地温度时,我们首先要让温度采集模块获取并传送待测温度数据,且需要通过显示屏和蜂鸣器来告诉用户,此时温度的数值是否到达危险数值,如果达到则指示灯显示红色闪烁并发出警报。此实现代码如下图所示:显示模块:实时显示被检测端的温度。代码图如下:4系统调

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论