基于nRF24L01的多点无线测温系统

时间:2022-04-30 08:31:06

基于nRF24L01的多点无线测温系统

【摘要】在传统的测温系统中通常采用有线方式进行数据传输,这种方式不仅成本高,而且布线繁琐,不利于维护。基于nRF24L01的多点无线测温系统,用无线的方式代替了传统的有线方式完成对多个测试点温度数据的采集和传输,不仅简化了线路,而且降低了成本。整个系统由一个主机系统和多个从机系统构成,可以实现对多测试点温度的测量和显示,同时还具有超温报警功能。

【关键词】多点;无线;nRF24L01

1.引言

在现代社会中温度在航空航天、工业自动化、家用电器、环境保护和安全生产等方面都是最基本的监测参数之一,随着科学技术的不断发展,各种监测温度的技术也层出不穷。传统的数据传输方式通常采用有线通信方式,这种方式需要使用RS-232、CAN总线等,成本较高,布线繁琐,给温度数据采集带来了很大的麻烦。将单片机和无线通信相结合可以对多点的温度进行检测并显示,提高了被测温度的精度和工作效率,降低了成本[1-2]。

2.硬件电路设计

整个系统分为主机系统和从机系统两大部分,从机系统的主要功能是采集温度,并将采集到的数据发送给主机,主机系统的主要功能是接收各从机发送的数据,对数据进行处理并实时显示测量温度。系统总体框图如图1所示。

图1中从机系统的个数可依据具体情况而定。由于无线模块nRF24L01有6个数据通道,而每一个数据通道可通过设置寄存器使用不同的地址,所以只要将各从机系统中的nRF24L01设置成不同的地址,在单个主机的情况下主机可以同步接收6个从机发送的数据,实现了点对多通信。若所需的从机数目超过6个时,则可以采用多点分时发送或者增加主机的方法来实现数据的传送。

主机系统主要包括AT89S52单片机、nRF24L01、显示模块、温度设置、从机选择电路和报警电路五部分。主机系统框图如图2所示。主机可以同时接收6路以内从机发送的数据,也可以通过按键选择只接收某一从机监测点发送的数据。若主机检测到接收的温度值超过了设置温度则会给出报警信号。

从机是一个数据采集系统,主要包括单片机、温度传感器DS18B20、和nRF24L01三部分,系统框图如图3所示。一线式数字温度传感器DS18B20的测温范围为-55℃~+125℃,测温分辨率可达0.0625℃[3]。在多点测温系统中各从机系统的结构相同,均放置在通信距离内的检测地点,从机彼此之间相互独立,不进行通信。

3.软件设计

3.1 主程序设计

主机系统主要完成数据的接收、处理、判断、显示及报警。系统首先进行初始化,发送采集信号之后等待接收数据,将接收到的数据进行处理,显示温度值及从机标号,并进行超温报警。再次发送采集信号,等待接收下一组数据。主机系统流程图如图4所示。

温度的上、下限设置和从机的选择是通过中断实现的。有键按下则进入中断,在中断服务程序中查找被按下按键,执行相应的功能。中断服务程序流程图如图5所示。

由于每个从机系统中的nRF24L01都可以通过寄存器设置自己的地址,所以主机能通过地址向选中的从机系统发送开始采集信号,从机系统在接收到采集信号后完成温度信号的采集和发送,从机系统流程图如图6所示。

3.2 无线收发设计

nRF24L01是一款无线收发芯片,可以在接收和发送模式下任意转换。主机、从机系统中的nRF24L01均需要在这两种模式间进行转换[4]。

两个无线传输电路之间的通信是依靠地址来进行识别的,每个数据通道拥有自己的地址并且可以通过寄存器来进行分配设置,要求发送端和接收端的地址应相同。nRF24L01在增强型ShockBurstTM模式下(采用自动应答模式)的发送程序流程图如图7所示。

先对nRF24L01的相关寄存器进行配置,将其设置为增强型ShockBurstTM发送模式并启动,开始发送数据。在数据发送之后,通过对状态寄存器相关位的判断,确定是否接收到应答信号、自动重发次数是否达到最大值。如果在有效的应答时间内接收到应答信号,则认为数据成功发送到了接收端。如果在设定的时间范围内没有接收到应答信号,则重新发送数据,并且自动重发计数器自动加1。若自动重发次数达到最大值,则表明数据没有发送成功,需要清除MAX_RT位让数据继续重发。

接收端通过接收到的数据包中的地址判断是否为要接收的数据,若接收到的地址和自身的通道地址相同则接收该数据,若不同则放弃,继续检测空中的信息。nRF24L01在增强型ShockBurstTM模式下的接收程序流程图如图8所示。

将nRF24L01配置为增强型ShockBurstTM接收模式并启动,nRF24L01即进入到数据接收检测状态。因为使用了自动应答功能,所以当nRF24L01接收到正确的地址和校验码后便会自动发送应答信号,同时将接收到的数据放入接收缓冲区,并将状态寄存器中的接收完成位置位。

4.测试结果

使用该系统和水银温度计对同一时间、同一地点的温度分别进行测量,测得的数据见表1。

由表1中的测试数据看出,使用本系统测量的温度误差在0.5℃左右,可以将其应用在对测量精度要求不太高的温度检测场合。

5.结语

多点无线测温显示系统以无线的传输方式代替了有线的方式,能够对约100米范围内的温度进行数据采集、无线传输、数据处理、显示和报警,不仅可以对多场地的温度进行采集和传输,而且可以将测量的温度数据显示,实现了远程检测监控,提高了工作效率。

参考文献

[1]颜世凡.基于单片机的温度远程显示系统设计[J].科技创新导报,2010,17:30-31.

[2]吴冬霞,陈天胜,王佳.基于MCS-51的多路温度检测系统的硬件设计[J].黑龙江科技信息,2009(35).

[3]吕胜杰,霍淑艳.基于DS18B20的单总线多点测温技术[J].现代电子技术,2011.34(2):185-187.

[4]陈锋,余强.基于nRF24L01的无线温度监测系统[J].工业控制计算机,2010,23(12):71-72.

上一篇:新型煤矿水仓自动清挖处理系统的研发与应用 下一篇:MUDS多功器的原理与使用