欢迎来到天天文库
浏览记录
ID:5240966
大小:27.50 KB
页数:6页
时间:2017-12-06
《基于nrf24l01+多点无线测温系统设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于NRF24L01+多点无线测温系统设计 【摘要】利用NRF24L01+和AT89S51单片机构成无线测温模块,多点发送,一点接收,接收到的温度数据送到单片机,经过单片机处理后,再通过RS232串行通信发送至上位PC机接收程序加以显示。【关键词】NRF2401+;无线测温;RS232串行通信NRF24L01+是一款功能完备的无线收发芯片,工作在2.4~2.5GHz世界通用ISM频段的单片无线收发器芯片。无线收发器包括:频率发生器、增强型SchockBurstTM模式控制器、功率放大器、晶体振荡器、调制器、解调器。输出功
2、率、频道选择和协议的设置可以通过SPI接口进行设置。nRF24L01+功耗低,在以-6dBm的功率发射时,工作电流也只有9mA;接收时,工作电流只有12.3mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。利用NRF24L01+、AT89S51单片机、DS18B20数字温度传感受器可以构成性能稳定、使用方便的无线测温模块,再编写相应的模块控制程序和上位机接收程序,就可以构成多用途的无线测温系统。本设计的实物已经在某公司电子节能灯测试线投入实际使用,效果较好,能方便直观地监测各点温度。也可以对硬件和软件加以适当
3、改动,应用于其他如仓库管理、气象监测等场合。61.硬件构成1.1NRF24L01+简介NRF24L01是一款工作在2.4-2.5GHz世界通用ISM频段的单片无线收发器芯片。无线收发器包括:频率发生器、增强型SchockBurstTM模式控制器、功率放大器、晶体振荡器、调制器、解调器。输出功率、频道选择和协议的设置可以通过SPI接口进行设置。NRF24L01功耗低,在以-6dBm的功率发射时,工作电流也只有9mA;接收时,工作电流只有12.3mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。NRF24L01+
4、芯片共计20个引脚,各引脚排列及功能标注如图1所示。各引脚功能详细描述如表1所列。1.2系统框图本文所设计的无线测温系统主要包括:6块发送板、1块接收板、上位PC机。其中发送板与接收板的电路结构基本相同,所不同的是NRF24L01+的工作模式不同,另外发收板与上位PC机的RS232串行通讯口有线加以连接。多路无线测温系统结构如图2所示。1.3电路设计电路设计部分主要包括:NRF24L01+的电源电路、上位机通讯用电平转换电路、收发板整体电路,下面逐一加以说明。6NRF24L01+模块采用市面上常用的组合模块,这样可以避免单
5、体芯片焊接的麻烦,也能保证通讯的质量。但该模块对电源要求较高,电压数值、滤波的处理均需要达到要求。NRF24L01+需要3.3V的直流电压,且电源路径中要加以多级LC滤波,才能使其工作状态稳定,经过参考各种资料,最终设计出的NRF24L01+电源电路如图3所示。由于需要通过RS232串行通讯进行数据的传送,所以要在单片机和上位PC机之间进行电平变换,否则通讯不能正常进行。主要是因为TTL电平逻辑与RS232电平逻辑采用不同的标准,TTL电平采用正逻辑,RS232采用负逻辑。最终设计出的通讯电路如图4所示。综合以上电路及其他
6、外围电路需求,设计出收发板整体电路,并经飞线试验证实是稳定可靠的,电路如图5所示。2.软件设计在完成硬件设计及试验后,就进入到软件设计的阶段,软件设计主要包括:发送板单片机程序设计、接收板单片机程序设计、上位PC机接收程序设计(采用VB)。2.1发送板单片机程序设计6发送板主要任务是进行DS18B20数字温度传感器的设置与数据读取和转换、NRF24L01+模块的设置与数据写入。DS18B20的单片机控制方法在网上随处可见,在此就不过多说明,主要说明DS18B20的温度数据处理方法,DS18B20的温度数据是BCD码二进制数
7、,需要对其进行整合及去小数位处理,再进行查表将各位转换成相应的ASCII码,存储到缓冲单元,等待单片机依次送入NRF24L01+模块进行无线发送。NRF24L01+的设置主要包括:设置本地地址、频道设定、发射速率设定、中数应答模式设定等。完成了相关设置后,就可由单片机进行查询模式的数据发送控制,程序流程图如图6所示。2.2接收板单片机程序设计对于接收板而言,同样首先要进行nRF24L01初始化配置,设定为接收工作模式,由于一共要接收6路信息,所以还要设定好通道0到通道5的地址。然后要为进行串通信做准备,设定串行口的工作模式
8、。然后就依次把6块发送板发送的温度信息接收进来并打包。待6组数据接收完毕,启动串行发送函数将数据传输给上位机。最后返回准备第二次重复工作。程序流程如图7所示。其中最为关键的6路通道地址设置程序段如下://NRF24L01初始化voidinit_NRF24L01(void){inerDelay_us(10
此文档下载收益归作者所有