基于NRF905的无线温度采集系统的设计.docx
《基于NRF905的无线温度采集系统的设计.docx》由会员分享,可在线阅读,更多相关《基于NRF905的无线温度采集系统的设计.docx(44页珍藏版)》请在冰豆网上搜索。
基于NRF905的无线温度采集系统的设计
摘要
该设计是基于NRF905无线收发模块的温度采集系统。
环境温度通过数字温度传感器DS18B20测得,从机将采集的温度信息处理后通过无线模块传送给主机,之后主机通过串口再将温度信息发送给PC机,并通过上位机显示,从而使系统起到远距离实时监测环境温度的作用。
本文较为详细地介绍了温度的采集,NRF905无线模块的使用方法以及单片机与PC机之间通过RS232串行标准进行通信的基本原理。
关键词:
温度;NRF905;单片机;上位机;
Abstract
ThisdesignisbasedonNRF905wirelesstransceivermoduleoftemperatureacquisitionsystem.ThetemperatureoftheenvironmentthatmeasuredthroughthedigitaltemperaturesensorDS18B20,andprocessedthroughthewirelessmoduletransferingtothehost,whichsentthetemperatureinformationtothePCmachinethroughtheserialportafteragain,willbedisplayedoncomputer.Thusthesystemshavetheabilitytocollectionremotereal-timemonitoringenvironmentaltemperature.Inthispaperitdescribesthetemperaturecollectionindetail,NRF905wirelessmoduleusingmethodandsinglechipmicrocomputerandPCmachinethroughRS232serialstandardsbetweenthebasicprinciplesofcommunication.
Keywords:
Temperature;NRF905;SCM;Epistemicmachine;
引言
温度是一个重要的物理量,在工、农业生产和日常生活中,各个环节都与温度紧密相联,温度的测量及控制占据着极其重要的地位。
在一些大型仓库中,如大型粮库、油库,都需要进行实时多温度点的检测及预警,以消除安全隐患[1]。
温室里实行温度检测可以确保花卉或农作物的成活率,从而提高经济效益,由此可知温度检测系统应用十分广阔。
无线通信技术不断进步,低功耗、体积小的无线数据采集系统成为无线通信技术的一个重要发展方向。
在传统的测控系统中,通常使用导线传输信号,这种传输方式常常会带来电磁干扰和信号衰减。
而无线传输方式就可以克服上述不足,同时也避免了复杂的线路连接,有效地节约了人力物力。
并具有分布灵活,使用简单,几乎不受空间条件限制等特点。
基于以上考虑,设计出了一种基于NRF905无线收发模块的温度采集系统,单片机采用AT89S52,下位机将温度信息传送给PC机,通过上位机实现对环境温度的实时监测。
1系统设计
1.1设计指标
1.1.1设计任务
系统设计要求:
设计并制作一个无线温度采集系统,从机要能够进行温度采集和显示,主机能够和从机进行无线通信,从机能够将温度数据有效的传输给主机。
主机能够将收到的温度数据显示出来,并通过串口传送给PC机,再通过上位机实时显示当前环境温度。
1.1.2设计思路
从机温度采集系统的建立:
由从机通过数字温度传感器采集温度信息,将其对应的温度值通过数码管显示出来。
按键做各个功能模块的选择及一些参数的设置。
主从机通信系统的建立:
通过NRF905无线模块,进行主从机之间的通信。
单片机通过SPI接口对NRF905无线模块进行工作状态的配置及数据的读写。
按照系统设计功能的要求,确定系统由7个模块组成:
电源、单片机最小系统、显示电路、按键、测温电路、NRF905无线模块、RS232串口通信及上位机。
系统设计总体结构框图如图1所示。
1.2方案设计与论证
1.2.1温度传感器方案论证
方案一:
采用数字温度传感器DS18B20。
DS18B20是一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度[2],测温分辨率可达0.0625℃.DS18B20可以直接读出被测的温度值,而且采用3线制与单片机相连,减少了外部的硬件电路,每个DS18B20具有唯一的64位长序列号,存放于DS18B20内部ROM只读存储器中。
这样一条总线上可以挂多个DS18B20,大大节省了资源,因而使系统结构更趋简单。
方案二:
采用热敏电阻NTC。
热敏电阻NTC电阻值随环境温度的变化幅度较大,从而不需要放大电路,且热敏电阻NTC成本低、功耗小、体积小。
但由于AT89S52单片机不带内部AD,需要另外使用外部AD对温度采样,使得系统变的复杂及成本升高。
基于以上分析拟订采用方案一。
1.2.2显示模块方案论证
方案一:
使用液晶显示。
液晶显示屏(LCD1602)具有轻薄短小、耗能低、无辐射危险,平面直角显示以及影像稳定不闪烁,可视面大,画面效果好,分辨率高,抗干扰能力强,显示字符多,内部自带128个字符,也可以自己创建字符库,不需要动态显示,这样不会限制控制器的送显时间,但价格较贵,成本太高,相对低成本的硬件设计来说不够经济实用。
方案二:
使用传统的数码管显示。
数码管具有:
低能耗、低压、高频特性好,单色性好,亮度高,显示稳定,使用寿命长,成本低,便于广泛使用。
由于该系统只须显示数字即可,就经济实用性来看,该系统选择方案二。
1.2.3通信标准及收发器方案论证
方案一:
采用RS-232-C标准。
RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制。
如采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。
传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,所以抗噪声干扰性能弱,因此一般用于20m以内的通信,而且RS-232接口适合点对点通信,常用于PC机的连接。
方案二:
采用RS-485标准。
RS-485接口的最大传输距离标准值为1200米(9600bps时),实际上可达3000米,RS-485接口在总线上是允许连接多达128个收发器.,RS-485总线,在要求通信距离为几十米到上千米时,广泛采用RS-485串行总线标准。
RS-485采用平衡发送和差分接收,抗噪声干扰性好,具有抑制共模干扰的能力[3]。
加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。
RS-485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。
RS-485用于多点互连时非常方便,可以省掉许多信号线。
由于本系统主机与PC机距离比较近,采用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内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
其采用单总线的接口方式与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
DS18B20的一线工作协议流程是:
初始化→ROM操作指令→存储器操作指令→数据传输。
DS18B20中的温度传感器完成对温度的测量,用16位二进制形式提供,其中S为符号位(如图四所示)。
例如+125℃的数字输出为07D0H(正温度直接把16进制数转成10进制即得到温度值)-55℃的数字输出为FC90H。
(负温度把得到的16进制数取反后加1再转成10进制数)
2.3无线通信模块
2.3.1无线通信模块原理图
无线通信模块原理图如图五所示
2.3.2无线通信模块工作原理
NRF905模块特点:
1、工作电压范围为1.9-3.6V。
2、工作于433/868/915MHz3个ISM频道(可以免费使用)。
3、使用SPI接口与微控制器通信,配置与数据读取比较方便。
4、功耗非常低,以-10dBm的输出功率发射时电流只有11mA,在接收模式时电流为12.5mA。
表2-1NRF905工作模式
nRF905有2种工作模式和2种节能模式。
2种工作模式分别是ShockBurstTM发送模式和ShockBurstRM接收模式,2种节能模式分别是掉电和SPI编程模式、STANDBY和SPI编程模式[4];nRF905的工作模式由TRX_CE、TX_EN、PWR_UP3个引脚的设置来决定,见表2-1。
PWR_UP
TRX_CE
TX_EN
工作模式
0
X
X
关机模式
1
0
X
空闲模式
1
1
0
射频接收模式
1
1
1
射频发送模式
表
2.4单片机与PC机通信模块
2.4.1单片机与PC机通信模块原理图
单片机与PC机通信原理图如图六所示
2.4.2单片机与PC机通信模块原理
由于PC系列微机串行口为RS232C标准接口,与输入、输出均采用TTL电平的89S52单片机在接口规范上不一致,因此TTL电平到RS232接口电平的转换采用MAXIM公司的MAX232标准RS232接口芯片,该芯片可以用单电压(+5V)实现RS232接口逻辑”1”(-3V~15V)和逻辑”0”(+3V~15V)的电平转换[5]。
按照RS232通信要求,分别设置上下位机的数据收发波特率,数据位数等信息。
MAX232主要特点:
1、符合所有的RS-232C技术标准
2、只需要单一+5V电源供电
3、片载电荷泵具有升压、电压极性反转能力,能够产生+10V和-10V电压V+、V-
4、功耗低,典型供电电流5mA
5、内部集成2个RS-232C驱动器
6、高集成度,片外最低只需4个电容即可工作。
2.4.3VB上位机
VisualBasic是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。
从任何标准来说,VB都是世界上使用人数最多的语言——不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。
它源自于BASIC编程语言。
VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。
程序员可以轻松的使用VB提供的组件快速建立一个应用程序[6]。
MSCOMM控件介绍:
MSComm控件提供下列两种处理通讯的方式:
事件驱动方式和查询方式。
属性设置:
1、CommPort设置并返回通讯端口号。
2、Settings以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位。