基于nRF9E5和DS18B20的多点温度测试装置

时间:2022-10-01 07:37:21

基于nRF9E5和DS18B20的多点温度测试装置

【摘要】本文介绍了基于无线射频芯片nRF9E5和温度传感器DS18B20的温度测试装置,阐述了系统的硬件电路结构和软件设计。经验证系统可靠性高,数据传输速度快,功能易扩展,适于多种应用领域。

【关键词】温度测试;无线通信;nRF9E5;DS18B20

Abstract:This paper introduce a temperature testing device based on RF transceiver chip nRF9E5 and temperature sensor DS18B20, and expound the hardware circuit structure and the software designing of the system.The system’s performance is good, and the data transmission speed is fast, and its functions can be expanded easily, so it’s suitable for wireless measuring of temperature in many application regions.

Keywords:Temperature measurement;Wireless communication;nRF9E5;DS18B20

引言

温度作为一基本物理量,在许多科学领域里都具有重要意义,是工农业生产、科学实验中需要经常测量和控制的主要参数。作为测试技术的一个重要组成部分,温度测量技术已经发展成了一门科学[1]。传统的多点温度监测装置都需要大量数据线缆,众多的线缆不仅带来布线复杂的不便,而且存在着短路、断线隐患,成本高、易老化,错综复杂的线路还给系统的调试和维护增加了难度。而使用无线通信技术进行数据采集、传输则避免了这些困扰,使得整个测试系统更加实用、高效、快捷[2]。

1.多点无线测温系统的总体设计方案

整个系统由数据采集端和数据接收端两个部分组成,两者之间通过无线信道通信。数据采集端负责数据的采集和发送,由传感器、微处理器和无线模块组成,传感器将转换后的数字信号送往无线模块打包发出。数据接收端负责数据的接收和处理,由无线模块、微处理器及计算机组成,接收到采集端发送的数据后,将数据按照通信协议拆包,取出里面的有效数据并通过串口发送给计算机,由计算机对采集到的数据进行分析和处理。系统整体结构框图如图1所示。

图1 系统整体结构框图

2.系统硬件设计

系统硬件实现简单,数据采集和接收端均采用无线收发一体芯片nRF9E5。nRF9E5是真正的系统级无线射频收发芯片,内置nRF905收发器,包括所有nRF905芯片无线特性,并嵌有高性能8051MCU,4通道12位ADC[3]。因此,微处理器可以采用射频芯片内部集成的51单片机。一片nRF9E5无线射频芯片与多片温度传感器DS18B20组成温度采集部分,完成多点温度数据的采集和无线发送;另一片nRF9E5无线射频芯片通过RS232接口模块,完成温度数据的接收和上传[4,5]。

图2 温度采集端硬件原理图

2.1 温度采集端电路设计

数据采集端布置在数据采集点,由温度传感器DS18B20、无线射频芯片nRF9E5和E2PROM程序存储器25AA320组成。图2为温度采集端的硬件原理图。

2.2 数据接收端电路设计

系统接收部分包括微控制器、射频收发器。即包括nRF9E5及RS232通信模块。接收端在接收到数据后,可以通过RS232接口与PC机进行通信。TTL电平到RS232接口电平的转换采用AXIM公司的MAX232标准RS232接口芯片。数据接收端硬件原理图如图3所示。

图3 数据接收端硬件原理图

图4 温度采集部分流程图

3.系统软件设计

本系统的软件设计采用模块化、结构化设计方法,整个程序由温度测量模块、无线收发模块、与PC机的串行通信模块组成。上电后系统处于等待状态,当接到PC机的启动命令后,进行数据采集,并把数据发送给PC机;在测量任务完成后,PC机向数据采集系统发送结束指令;当系统接收到PC机的结束指令后,系统进入休眠状态停止采集数据。

3.1 温度采集流程

DS18B20的温度采集受nRF9E5的内部微控制器控制。DS18B2O以单总线协议工作, nRF9E5首先发送复位脉冲,使信号线上的DS18B20被复位,接着发送ROM操作命令,使DS18B20被激活进入接收内存访问命令状态。内存访问命令完成温度转换、读取等工作。工作流程如图4所示。

3.2无线收发流程

在发送模块中,主程序首先运行初始化程序,对无线收发电路、8051寄存器、发送接收的模式进行初始化设置,系统进入等待接收状态;当监测到开始信号后进入发射程序,发射模块要首先采集温度数据,然后将数据包送到发射缓冲区。发射模块置TXEN=1让芯片进入准备发射阶段,同时通过SPI接口向无线收发器写入准备通过无线发射出去的有效数据包,然后控制RX_CE=1数据自动通过无线发射出去,等待100us,数据发射完毕,置TRX_CE=0,结束发射。并通过监测芯片上的数据就绪信号DR,确定发射成功。

void TxPacket(void)

{TXEN=1;CSN=0;

CSN=1; //写发送地址,后面跟4字节地址

_nop_();_nop_();

CSN=0; //写发送数据命令,后面跟三字节数据

CSN=1;

_nop_();_nop_();

TRX_CE=1; //设置为发送模式

Delay(50); //等待发射完成

TRX_CE=O;

while(!DR);}

在接收模块中,主函数开始执行接收时,调用RxPacket(void)使无线收发器进入接收状态;并且在该函数中进行地址和数据长度进行设定。RxPacket()函数完成数据接收,将数据通过串口发送出去。然后,调用函数SpiRead(),进行无线数据监听和接收,如果没有收到发送模块的无线数据,程序退出,继续进行下一轮监视。

void RxPacket(void)

{uchar i;

i=0;

while(DR)

{TxRxBuffer[i]=SpiRead();

i++;}

}

4.结论

该温度测量系统电路简单,性能稳定,抗干扰能力强,可靠性高,搭建方便,易于扩展,实际发射距离约300米(通过改进天线的设计可适度增加),经过软件进行非线性及温度补偿后,测温精度可进一步提高,因此本系统适用于在短距离对多种环境温度的监测,有广阔的应用前景。

参考文献

[1]郝晓剑,靳鸿.动态测试技术及应用[M].北京:电子工业出版社,2008:188-212.

[2]郑启忠,朱宏辉,耿四军.数字温度传感器DS18B20及无线测温系统设计[J].微型机与应用,2004(11):16-19.

[3]Nordic VLSI ASA Inc.433/868/915MHz RF transceiver with embedded 8051 compatible microcontroller and 4 input, 10 bit ADC[Z].2004

[4]郑启忠,耿四军,朱宏辉.射频SCO nRF9E5及无线数据传输系统的实现[J].单片机及嵌入式系统应用,2004,8:51-54.

[5]刘威.基于DS18B20和nRF9E5的多点无线测温系统[D].吉林:吉林大学,2008.

上一篇:试论装表接电工作中存在的隐患及措施 下一篇:基于超高分辨率CCD成像系统的优化设计研究