ImageVerifierCode 换一换
格式:DOCX , 页数:49 ,大小:620.53KB ,
资源ID:9398998      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9398998.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于NRF905的无线温度采集系统的设计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于NRF905的无线温度采集系统的设计.docx

1、基于NRF905的无线温度采集系统的设计摘要该设计是基于NRF905无线收发模块的温度采集系统。环境温度通过数字温度传感器DS18B20测得,从机将采集的温度信息处理后通过无线模块传送给主机,之后主机通过串口再将温度信息发送给PC机,并通过上位机显示,从而使系统起到远距离实时监测环境温度的作用。本文较为详细地介绍了温度的采集,NRF905无线模块的使用方法以及单片机与PC机之间通过RS232串行标准进行通信的基本原理。关键词:温度;NRF905;单片机;上位机;AbstractThis design is based on NRF905 wireless transceiver module

2、of temperature acquisition system. The temperature of the environment that measured through the digital temperature sensor DS18B20, and processed through the wireless module transfering to the host, which sent the temperature information to the PC machine through the serial port after again, will be

3、 displayed on computer. Thus the systems have the ability to collection remote real-time monitoring environmental temperature. In this paper it describes the temperature collection in detail, NRF905 wireless module using method and single chip microcomputer and PC machine through RS232 serial standa

4、rds between the basic principles of communication.Key words: Temperature; NRF905; SCM; Epistemic machine; 引言温度是一个重要的物理量,在工、农业生产和日常生活中,各个环节都与温度紧密相联,温度的测量及控制占据着极其重要的地位。在一些大型仓库中,如大型粮库、油库,都需要进行实时多温度点的检测及预警,以消除安全隐患1。温室里实行温度检测可以确保花卉或农作物的成活率,从而提高经济效益,由此可知温度检测系统应用十分广阔。 无线通信技术不断进步, 低功耗、体积小的无线数据采集系统成为无线通信技术的一

5、个重要发展方向。在传统的测控系统中, 通常使用导线传输信号, 这种传输方式常常会带来电磁干扰和信号衰减。而无线传输方式就可以克服上述不足, 同时也避免了复杂的线路连接, 有效地节约了人力物力。并具有分布灵活, 使用简单, 几乎不受空间条件限制等特点。基于以上考虑,设计出了一种基于NRF905无线收发模块的温度采集系统,单片机采用AT89S52,下位机将温度信息传送给PC机,通过上位机实现对环境温度的实时监测。1 系统设计1.1 设计指标1.1.1 设计任务系统设计要求:设计并制作一个无线温度采集系统,从机要能够进行温度采集和显示,主机能够和从机进行无线通信,从机能够将温度数据有效的传输给主机。

6、主机能够将收到的温度数据显示出来,并通过串口传送给PC机,再通过上位机实时显示当前环境温度。1.1.2 设计思路从机温度采集系统的建立:由从机通过数字温度传感器采集温度信息,将其对应的温度值通过数码管显示出来。按键做各个功能模块的选择及一些参数的设置。主从机通信系统的建立:通过NRF905无线模块,进行主从机之间的通信。单片机通过SPI接口对NRF905无线模块进行工作状态的配置及数据的读写。按照系统设计功能的要求,确定系统由7个模块组成:电源、单片机最小系统、显示电路、按键、测温电路、NRF905无线模块、RS232串口通信及上位机。系统设计总体结构框图如图1所示。图1-1 系统设计总体结构

7、框图1.2 方案设计与论证1.2.1 温度传感器方案论证方案一:采用数字温度传感器DS18B20。DS18B20是一线式数字温度传感器,具有3引脚TO92小体积封装形式;温度测量范围为55125,可编程为9位12位A/D转换精度2,测温分辨率可达0.0625.DS18B20可以直接读出被测的温度值,而且采用3线制与单片机相连,减少了外部的硬件电路,每个DS18B20具有唯一的64位长序列号,存放于DS18B20内部ROM只读存储器中。这样一条总线上可以挂多个DS18B20,大大节省了资源,因而使系统结构更趋简单。方案二:采用热敏电阻NTC。热敏电阻NTC电阻值随环境温度的变化幅度较大,从而不需

8、要放大电路,且热敏电阻NTC成本低、功耗小、体积小。但由于AT89S52单片机不带内部AD,需要另外使用外部AD对温度采样,使得系统变的复杂及成本升高。基于以上分析拟订采用方案一。1.2.2 显示模块方案论证方案一:使用液晶显示。液晶显示屏(LCD1602)具有轻薄短小、耗能低、无辐射危险,平面直角显示以及影像稳定不闪烁,可视面大,画面效果好,分辨率高,抗干扰能力强,显示字符多,内部自带128个字符,也可以自己创建字符库,不需要动态显示,这样不会限制控制器的送显时间,但价格较贵,成本太高,相对低成本的硬件设计来说不够经济实用。方案二:使用传统的数码管显示。数码管具有:低能耗、低压、高频特性好,

9、单色性好,亮度高,显示稳定,使用寿命长,成本低,便于广泛使用。由于该系统只须显示数字即可,就经济实用性来看,该系统选择方案二。1.2.3 通信标准及收发器方案论证方案一:采用RS-232-C标准。RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制。如采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,所以抗噪声干扰性能弱,因此一般用于20m以内的通信,而且RS-232接口适合点对点通信,常用于PC机的连接。 方案二:采用RS-48

10、5标准。RS-485接口的最大传输距离标准值为1200米(9600bps时),实际上可达3000米,RS-485接口在总线上是允许连接多达128个收发器.,RS-485总线, 在要求通信距离为几十米到上千米时,广泛采用RS-485串行总线标准。RS-485采用平衡发送和差分接收,抗噪声干扰性好,具有抑制共模干扰的能力3。加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。RS-485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。RS-485用于多点互连时非常方便,可以省掉许多信号线。由于本系统主机与PC机距离比较近,

11、采用RS232标准即可满足要求。故选择方案。2 单元电路设计2.1 电源模块2.1.1 电源模块原理图电源模块原理图如图2所示 2.1.2 工作原理电路原理如图2所示。由于系统工作的功耗较小,且对纹波的要求不高,所以用三端稳压集成芯片LM7805和LM1117-3.3输出的电压即可。其中LM7805给单片机最小系统、显示电路等提供+5V电源;LM1117-3.3为无线模块提供+3.3V电源。该电路简单实用、性能可靠稳定。 2.2 温度采集模块2.2.1 温度采集原理图温度采集原理图如图3所示。2.2.2 温度采集工作原理系统采用数字温度传感器DS18B20进行环境温度采集。DS18B20内部结

12、构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。其采用单总线的接口方式与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。DS18B20的一线工作协议流程是:初始化ROM操作指令存储器操作指令数据传输。DS18B20中的温度传感器完成对温度的测量,用16位二进制形式提供,其中S为符号位(如图四所示)。例如125的数字输出为07D0H(正温度直接把16进制数转成10进制即得到温度值)-55的数字输出为FC90H。(负温度把得到的16进制数 取反后 加1 再转成10进制数) 图2-3 DS18B20数据格式2.3 无线通信模块2

13、.3.1 无线通信模块原理图无线通信模块原理图如图五所示2.3.2 无线通信模块工作原理NRF905模块特点:1、工作电压范围为1.9-3.6V。2、工作于433/868/915MHz 3个ISM频道(可以免费使用)。3、使用SPI接口与微控制器通信,配置与数据读取比较方便。4、功耗非常低,以-10dBm的输出功率发射时电流只有11mA,在接收模式时电流为12.5mA。表2-1 NRF905工作模式nRF905有2种工作模式和2种节能模式。2种工作模式分别是ShockBurstTM发送模式和ShockBurst RM接收模式, 2种节能模式分别是掉电和SPI编程模式、STANDBY和SPI 编

14、程模式4 ;nRF905的工作模式由TRX_CE、TX_EN、PWR_UP3个引脚的设置来决定, 见表2-1。 PWR_UPTRX_CETX_EN工作模式0XX关机模式10X空闲模式110射频接收模式111射频发送模式表2.4 单片机与机通信模块2.1单片机与机通信模块原理图单片机与PC机通信原理图如图六所示2.2单片机与机通信模块原理由于PC 系列微机串行口为RS232C 标准接口,与输入、输出均采用TTL 电平的89S52 单片机在接口规范上不一致,因此TTL 电平到RS232 接口电平的转换采用MAXIM公司的MAX232 标准RS232 接口芯片,该芯片可以用单电压(+5V )实现RS

15、232 接口逻辑”1”(-3V 15V )和逻辑”0”(+3V 15V )的电平转换5。按照RS232通信要求,分别设置上下位机的数据收发波特率,数据位数等信息。MAX232主要特点:1、符合所有的RS-232C技术标准2、只需要单一 +5V电源供电3、片载电荷泵具有升压、电压极性反转能力,能够产生+10V和-10V电压V+、V-4、功耗低,典型供电电流5mA5、内部集成2个RS-232C驱动器6、高集成度,片外最低只需4个电容即可工作。2.3 VB上位机Visual Basic是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。从任何标准来说,VB都是世界上使用人数最多的语言不仅是盛赞

16、VB的开发者还是抱怨VB的开发者的数量。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序6。MSCOMM控件介绍:MSComm控件提供下列两种处理通讯的方式:事件驱动方式和查询方式。属性设置:1、CommPort 设置并返回通讯端口号。2、Settings 以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位。3、PortOpen 设置并返回通讯端口的状态。4、Input 从接收缓冲区返回和删除字符。5、Outp

17、ut 向传输缓冲区写一个字符串6、RThreshold属性设置并返回接收的字符数出OnComm事件。7、SThreshold属性设置并返回发送的字符数出OnComm事件。本系统通过MSComm控件,开发出了一个比较简单的可以实时显示温度并绘制其曲线的上位机程序。其界面如图七所示。3 主模块程序流程图3.1 主程序流程图3.1.1主机主程序流程图 3.1.1从机主程序流程图3.2 无线收发模块流程图3.2.1无线模块发射流程图3.2.2无线模块接收流程图 3.3 温度采集流程图3.2.1 DS18B20读操作程序流程图3.2.1 DS18B20写操作程序流程图4 系统测试4.1 系统性能系统从机

18、能够对温度进行有效的采集,并通过数码管显示出来,之后通过NRF905无线模块将温度信息发射出去;主机能够通过NRF905无线模块正确接收从机发来的温度信息并在数码管上显示出来;主机通过串口将温度信息传送给PC机,并通过上位机显示出来。在室内无线模块的通信距离可达30米。4.2 测试结果在室内,将从机置于与主机30米左右位置处,上电后通过按键将从机调整到发射接收测试模块,同时将主机也调整到发射接收测试模块,可以观测到主从机能够准确的通过NRF905无线模块进行数据间的交换;再将主从机调整到测温模块,从机能够有效的对温度进行有效的采集,并通过数码管显示出来,之后通过NRF905无线模块将温度信息发

19、射出去;主机能够通过NRF905无线模块正确接收从机发来的温度信息并在数码管上显示出来;主机通过串口将温度信息传送给PC机,并通过上位机显示出来。系统整体上满足了设计要求,能够实时的进行对环境温度的监控。5 结论本系统的重要作用在于数据的无线传输和实时监控。经过对系统的现场测试,基本达到了预期设计指标。系统设计的难点在于软件部分,由于对温度的读取,无线收发模块的操作都需要较长的时间,一般都在几百毫秒以上,系统又采用数码管动态显示,对时间要求比较高,需采用定时器中断解决时间上的冲突。单片机与PC机之间的通信协议要保持一致才能正常通信,否则会发生通信错误,或者数据显示不正常的现象。6 改进意见本系

20、统虽然完成了设计指标,但明显的可以看到系统还有很大的改进空间。系统还可以将环境的其它的信息(比如湿度,光照强度等)同时进行监控;在上位机方面,可以做个数据库,将收集来的信息在PC机上进行保存,以便日后的信息查询和参考;可以通过上位机对从机进行控制,以改变其工作状态。7 参考文献1 陈敏.孟立凡.王华斌, 基于NRF905的无线多点温度测量系统A.电子测量.2011年4月2边春元.李文涛.江杰.杜平,C51单片机典型模块设计与应用.机械工业出版社,2008年4月.121-1303童诗白,华成英 ,第三版.模拟电子技术基础,高等教育出版社. 2005年12月.501-5504 崔政委,汪焰恩,魏生

21、民,董芊里, 基于单片机和nRF905SE的无线射频收发模块的系统设计A.机械与电子.2010年12月5朱建林,上位机与下位机通信的设计初步J.可编程控制器与工厂自动化,2005.016邱李华,计算机程序设计基础 Visual Basic版M.北京:机械工业出版社,2005:169186致谢感谢此次设计中,给予我帮助和指导的老师和同学。感谢郭海燕老师的指导!此次设计的顺利完成,也有他们的一份智慧与汗水。再次由衷的感谢!.附录附录1、系统原理图及PCB图(1)原理图主机原理图 从机原理图(2)主从机PCB主机部分从机部分附录2、程序清单(1) 主机部分/*- 名称:基于NRF905的无线温度采集

22、系统的设计主机 编写:lyd 日期:2012.0709 内容:数据的接收与处理 串口发送等 晶振:11.0592M-*/#includereg52.h#includeNRF905.h/#includecom_fuc.h/*- 函数声明-*/void TRtest_work(); /数据收发测试模块void Temperature_work(); / 温度检测模块/*- 主函数-*/void main() /uchar i; dot=0; Init_timer(); InitUART(); nRF905Init(); Config905(); while(1) while(!TF0); /10m

23、s? TF0=0; TH0=0xdc; /定时器初值重设 TL0=0x00; KeyScan(); switch(msta) case 0:TRtest_work(); /测试模块 if(esw3)msta=1;d3=d2=d1=d0=wsta=dot=0; break; case 1:Temperature_work();/测温模块 if(esw3)msta=2;d3=d2=d1=d0=wsta=dot=0; break; case 2:Voltage_work(); if(esw3)msta=0;d3=d2=d1=d0=wsta=dot=0; break; default:break; /

24、*- 数据收发测试模块-*/void TRtest_work() switch(wsta) case 0: if(f500flag) d3=d2=d1=d0=12; else d3=d2=d1=d0=13; if(esw0)wsta=1; d3=10; d2=TxRxBuf0/100; d1=TxRxBuf0%100/10; d0=TxRxBuf0%100%10; break; case 1:SetTxMode(); TxPacket(TxRxBuf); / 发送命令数据 if(secflag) secflag=0; dot3flag=dot3flag; TxRxBuf0+; d2=TxRxB

25、uf0/100; d1=TxRxBuf0%100/10; d0=TxRxBuf0%100%10; if(esw0)wsta=2; d3=11; d2=TxRxBuf0/100; d1=TxRxBuf0%100/10; d0=TxRxBuf0%100%10; break; case 2:RX(); wsta=3; break; case 3:if(secflag) secflag=0; wsta=2; d2=TxRxBuf0/100; d1=TxRxBuf0%100/10; d0=TxRxBuf0%100%10; if(esw0)wsta=0;dot=0; break; default:brea

26、k; /*- 温度检测模块-*/void Temperature_work() uchar i; switch(wsta) case 0:RX(); wsta=1; break; case 1:if(secflag) secflag=0; wsta=0; /*d3=(TxRxBuf0%100)/10; /十位温度 d2=(TxRxBuf0%100)%10;dot2flag=1; /个位温度,带小数点 d1=TxRxBuf1*6/10;*/ d3=TxRxBuf0; d2=TxRxBuf1; d1=TxRxBuf2;dot2flag=1; d0=14; /显示C符号 SendByte(d3+48); SendByte(d2+48); SendStr(.); SendByte(d1+48); SendByte(32); SendByte(32); SendByte(32); if(esw0)wsta=0;dot=0; break; case 2: break; default: break; (2) 从机部分/*- 名称:基于NRF905的无线数据采集系统的设计从机 编写:lyd 日期:2012.0709 内容:数据处理与发送等 晶振:11.0592M-*/#includereg52.h#includeNRF905.h#includeds18b20.h/*- 函数声明-

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

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