基于nRF24L01的无线温度监测系统设计 下载本文

内容发布更新时间 : 2024/5/2 11:09:32星期一 下面是文章的全部内容请认真阅读。

龙源期刊网 http://www.qikan.com.cn

基于nRF24L01的无线温度监测系统设计

作者:姜心蕊 王泽路 王嘉炜 李志伟 程晓涵 来源:《科技视界》2014年第23期

【摘 要】本文介绍了一种基于nRF24L01芯片的无线温度监测系统,系统由分站PT100温度传感器采集温度,经数据处理后通过无线芯片传送主站实现温度监测。该系统可实现多节点、宽范围测温,可靠性高、安全性好、安装灵活,对温度的测量具有一定意义。 【关键词】测温系统;nRF24L01;STC89C52

Design of Wireless Temperature Monitoring System Based on nRF24L01 JIANG Xin-rui WANG Ze-lu WANG Jia-wei LI Zhi-wei CHENG Xiao-han

(School of Mechanical Electronic and Information Engineering of CUMTB, Beijing100083, China)

【Abstract】A wireless temperature monitoring system based on nRF24L01 is designed. The system uses PT100 of the substations to collect the temperature. After data processing, the

temperature data is transmitted to the master station through the wireless chip to realize temperature monitoring. This system has the advantages of multi-node, wide range temperature measurement, high reliability, good safety and easy installation, which has certain significance to temperature measurement.

【Key words】Temperature monitoring; NRF24L01; STC89C52 0 引言

温度,作为日常生活和工业控制中的一种重要参数,其测量尤为重要。在一些特殊测温场合中,存在测点距离远、布线困难、电磁干扰等问题。本文设计了一种以短距离无线通信系统为核心的温度监测系统,具有温度监测范围大、可靠性高、安全性好、安装灵活等特点,可用于煤矿井下。 1 系统整体结构

测温系统的整体结构如图1所示。

温度监测系统由四个分站和一个主站组成。分站进行采集温度、实时显示并上传主站;主站进行实时显示分站上传的温度数据、设置报警上下限并进行超限报警。系统工作原理是:温度传感器将被测液体温度变化转化为电阻的变化,经过桥式电路转换为电压变化,输入放大器

龙源期刊网 http://www.qikan.com.cn

放大,通过模数转换后输入单片机。液晶屏对温度进行实时动态显示。分站和主站通信采用无线芯片nRF24L01,主站显示报警上下限和四路分站上传的温度数据,通过按键修改上下限,当任一路或几路温度超限,相应的蜂鸣器响并且LED灯亮进行报警。 2 硬件电路设计 2.1 无线通信模块

nRF24L01是一款工作在2.4~2.5GHz世界通用ISM频段的单片无线收发器芯片[1]。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块[2],并融合了增强型Shock Burst技术——接收方接收到数据后自动发射应答信号,发送方若收不到应答信号则通过重新发送将丢失的数据恢复,使得系统整体性能和效率提高[3]。并且芯片的SPI接口可用单片机I/O口进行模拟,内部FIFO适合各种速度CPU接口,便于使用低成本51单片机,输出功率和通信频道可通过SPI接口进行配置。 图1 系统结构

该模块硬件电路设计如图2所示,以主站为例,分别将芯片8个引脚与电源、地和单片机的P1.2~P1.7引脚相连即可实现通信的控制。由于芯片供电电压范围为1.9~3.6V,而单片机供电电压为5V,为了让芯片正常工作需进行电平转换[4]。选用电压转换芯片LM1117-3.3将5V转换为3.3V。CE选择RX、TX模式;IRQ低电平使能可屏蔽中断;CSN低电平使能SPI片选信号;MOSI和MISO分别为SPI数据输入和输出脚;SCK为SPI时钟。编程时,通过对这6个引脚配置和赋值,进行发射和接收数据。 2.2 分站设计

温度采集模块硬件电路设计如图3,温度传感器采用铂热电阻PT100,被测对象温度变化在0至100摄氏度,在此温度区间内最大线性偏差不超过0.5摄氏度,电阻随温度变化关系近似看作线性,且采用三线制接法消除导线引起的电阻误差。系统采用桥式电路将变化的电阻信号转换为电压信号,为了避免电压波动导致运放输出信号变化,给电桥正电源接TL431稳压芯片,使测温结果更准确,减小波动。在桥式电路中,R1=R2=2KΩ,设定可变电阻器VR2=100Ω为零点(PT100在0摄氏度时阻值为100Ω),实验时可通过改变VR2阻值校准零点。放大电路选用LM358芯片,内部包含两个独立、高增益、内部频率补偿双运算放大器,选择差分输入方式,R3=R4=1KΩ,R5=R6=50KΩ,放大倍数为50倍。AD转换芯片选用TLC1543,具有高速、高分辨率(10位)、性价比高等特点。AD控制脚及数据端口与单片机I/O口连接如图。分站只需一个输入端口,所以使用port口A8与LM358的输出口连接,通过内部的10位比较器进行AD转换。如有多通道输入,可对ADDRESS进行编程来选择。 REF﹢与REF﹣为基准电压,为了方便,接入了与单片机供电电压相同的5V单电源。这就使得输出电压范围较小,所以增加电阻R7进行限流,防止超出量程。

龙源期刊网 http://www.qikan.com.cn

图3 温度采集模块电路 2.3 主站设计 2.3.1 液晶模块

选用LCD12864带字库型液晶屏,分辨率为128×64,内置8192个16×16点汉字和128个16×8点ASCII字符集,低电压、低功耗、显示程序简洁、外围电路简单,引脚3接10K电位计用于调节液晶背光亮度;系统采用并行显示,将PSB始终置高;液晶无需复位所以将RST悬空;8个数据端口接在单片机的P2口上;RS接P3.7口,高电平选择数据,低电平选择命令;R/W接P3.6口,读、写选择端;EN接P3.5口,高电平使能,液晶工作。 2.3.2 键盘模块

由于系统需要按键数量少,所以选用电路简单、编程简洁的独立键盘形式。将5个按键分别接在P0.0~P0.4口,需注意P0口需接1K上拉电阻。 2.3.3 声光报警模块

主站安装4路声光报警模块,分别接P1.0、P1.1、P3.3、P3.4口。三极管型号为S8050NPN型,所以当给相应I/O口置1时,三极管导通,蜂鸣器报警同时发光二极管点亮,实现声光报警。 3 软件设计 3.1 主函数设计

分站将PT100温度传感器采集到的温度数值经过公式转换成单片机可识别数据输入单片机并显示,同时将此数据放入发送缓冲区并发送。通过检测应答信号函数CheckACK()返回值来判断是否发送完毕:若为0则发送完毕,进入下一次发送;若为1,则等待直到数据发完。主站进行初始化后,若无键按下,则设置nRF24L01为接收模式并在主界面显示各分站实时温度以及预设的报警上、下限,并且任一路温度大于上限温度或小于下限温度时,对相应的蜂鸣器响、LED灯亮;若确定键按下,则进入修改报警上下限界面,通过+、-、确定、退出和复位5个按键对温度界限进行修改。系统通过不断查询按键是否按下进行4路温度数据的接收、显示以及对上、下限的更改。 3.2 无线模块软件设计

无线模块工作在增强型Shock Burst模式,没有复杂的通信协议[5],4个分站设置不同的发送地址,发送数据时,通过SPI接口向nRF24L01芯片写入主站接收节点地址和有效数据,将通道0地址设置与主站接收节点地址相同以便接收应答信号,拉高CE启动发射。若通道0