当前位置:首页 > 作文大全 >

基于nRF905无线模块的温度采集系统设计

发布时间: 2022-03-19 09:49:57 浏览:

zoޛ)j馔B`vtENvIi}ӐviLv~?~]4~_m5Mm4i
方案

无线温度采集系统是一种基于射频技术的无线温度检测装置[4],分为主节点和从节点两大部分。系统设计两个温度采集从节点,将温度传感器采集到的数据经GFSK调制后以无线方式传送给主节点[5]。主节点通过循环方式接收各点的温度数据,并在液晶屏上实时显示温度数值。系统结构框图如图1所示。各节点均采用STC89C52单片机[6]作为控制器。利用数字温度计DS18B20实时采集各点温度。

2 系统硬件设计

系统的硬件电路主要包括:电源模块电路;温度采集电路;无线收发电路;温度显示电路。电源模块电路实现直流电压转换功能。系统采用9 V直流电池供电,利用芯片AMS1117⁃5.0 V和AMS1117⁃3.3 V将电源分别转换成单片机和nRF905所需的直流电源,即5 V和3.3 V。在温度显示电路中选择字符型LCD1602显示两个节点的温度数值。液晶模块采用直接访问方式连接电路,即只要利用单片机的I/O与液晶的对应接口相连即可实现硬件连接。

2.1 温度采集电路

DSl8B20是美国Dallas公司生产的三脚集成单总线数字温度计DS18B20,可直接输出二进制温度数值,指示环境的温度,无需模数转换。采用单总线方式与单片机通信,即仅需一根口线即可实现数据传输,该口线既传输时钟,又传输数据。外围电路简单,温度采集电路如图2所示。DS18B20的测量范围为-55~125 ℃,可编程设置精度为9~12位。

2.2 nRF905模块电路

系统采用的无线收发模块是在nRF905无线射频芯片基础上进行优化设计。nRF905采用Nordic公司的VLSI ShockBurst技术。ShockBurst技术使nRF905能够提供高速的数据传输,而不需要昂贵的高速MCU进行数据处理/时钟覆盖[7]。nRF905可自动完成处理字头和CRT(循环冗余码校验)的工作[8⁃9]。该模块工作于433 MHz免许可证使用频段的无线射频收发模块,通过SPI接口与单片机进行数据交换。根据配置内部寄存器设置收发器的频率、功率、地址和数据的字节等信息。

nRF905共有四种工作模式,包括两种活动RX/TX 模式和两种节电模式。nRF905工作模式由TRX_CE,TX_EN,PWR_UP的设置来设定。nRF905的工作模式如表1所示。

3 系统软件设计

3.1 系统程序设计思路

程序设计由接收端和发送端两部分组成。接收端程序即为主节点部分程序,首先配置nRF905并设置为接收模式,然后通过检波接收到对应的的数据后储存在nRF905内部寄存器,单片机通过SPI方式读取nRF905寄存器中的数据,最后通过LCD1602显示相应的温度数据。根据定义节点的地址不同以区分两个从节点,选择循环方式读取两个节点的温度信息。接收端程序流程如图3所示。

3.2 nRF905模块收发流程

nRF905收发模块可将与射频协议有关的高速信号处理全部放到nRF905芯片内部进行[10]。nRF905发送流程过程为:首先单片机通过SPI接口按时序把接收机的地址和要发送的数据传送给nRF905,SPI接口的速率在通信协议和器件配置时确定;其次单片机置高TRX_CE和TX_EN,激发nRF905的ShockBurstTM发送模式;然后nRF905不断重发,直到TRX_CE被置低;最后当TRX_CE被置低,nRF905发送过程完成,自动进入空闲模式。一旦发送数据的过程开始,无论TRX_EN和TX_EN引脚是高或低,发送过程都会被处理完。只有在前一个数据包被发送完毕,nRF905才能接收下一个发送数据包。发送程序如下:

void nRF905_SendData()

{

nRF905_TxOn();

//切换到SPI编程模式,PWR=1;TX_EN=1;TRX_CE=0;

nRF905_SetTxAddress();

//单片机通过SPI向nRF905写发送地址;

nRF905_SetData();

//单片机通过SPI向nRF905写发送数据;

nRF905_TxSend(); //启动发送模式,TRX_CE=1;

nRF905_WaitSended(); //等待发送结束,DR=1;

}

nRF905接收流程过程为:当TRX_CE为高、TX_EN为低时,nRF905进入ShockBurstTM接收模式,等待接收数据;当nRF905检测到同一频段的载波时,载波检测引脚被置高;当接收到一个相匹配的地址,AM引脚被置高;当一个正确的数据包接收完毕,nRF905自动移去字头、地址和CRC校验位,然后把DR引脚置高;单片机把TRX_CE置低,nRF905进入空闲模式;单片机通过SPI接口以一定的速率读取数据;当所有的数据接收完毕,nRF905把DR引脚和AM引脚置低。接收程序如下:

void nRF905_ReceiveData()

{

nRF905_RxOn(); //切换到接收模式,PWR=1;TX_EN=0;TRX_CE=1;

nRF_delay(45); //延时>650 μs,等待模式切换;

while(AM==0); //AM=1,地址匹配正确;

while(DR==0); //DR=1,数据接收正确而且CRC正确;

TRX_CE=0; //进入待机状态;

nRF905_ReadData(); //单片机通过SPI读出接收到的数据;

}

4 结 语

系统对nRF905的配置寄存器设置频段为433.1 MHz,发射功率为10 dB,发射电流可达30 mA。测量系统采用外接长约10 cm天线,经实测,在操场空旷地带有效测温距离约为200 m,在室内穿过数个教室墙壁仍能良好的通信。测量温度精度达0.5 ℃,测温周期为1 s,周期可由单片机内部定时器调整。本设计具有外围元件较少、成本低、使用方便等优点。系统扩展灵活,可在此基础上扩展新的功能,以便适应于不同的场合要求。

参考文献

[1] 潘小龙,张建滨,孟俊杰,等.基于nRF905的无线温度采集系统设计与实现[J].电子设计工程,2011,19(12):75⁃78.

[2] 朱士群,牛伟,耿淑琴,等.基于nRF905无线通信系统的设计[J].现代电子技术,2013,36(5):33⁃36.

[3] 邵帅.基于nRF905的温度数据采集及无线传输系统的设计[D].武汉:武汉科技大学,2010.

[4] 顾涵,徐健,劳裔豪.基于nRF905的无线温度采集系统设计[J].现代电子技术,2013,36(23):121⁃123.

[5] 王书杰,李兴宁.基于nRF905和DS18B20的多路无线温度采集系统设计[J].通信电源技术,2011,28(6):55⁃57.

[6] 张毅刚.单片机原理及接口技术(C51编程)[M].北京:人民邮电出版社,2011.

[7] 张孝云,江小华.基于nRF905的无线加速度测量系统设计[J].现代电子技术,2011,34(17):153⁃155.

[8] 袁江,曹金伟,邱自学,等.基于WSN的粮库温湿度无线监测系统[J].测控技术,2012,31(4):77⁃81.

[9] 夏德印,邵友,陈国定.基于无线传感网络的温度监控系统[J].工业仪表与自动化装置,2011(3):21⁃24.

[10] 马进,赵永,刘卫亮,等.基于RF的多点温度采集系统的设计与应用[J].通信电源技术,2013,30(4):48⁃50.

相关热词搜索: 模块 采集系统 温度 设计 nRF905

版权所有:无忧范文网 2010-2024 未经授权禁止复制或建立镜像[无忧范文网]所有资源完全免费共享

Powered by 无忧范文网 © All Rights Reserved.。冀ICP备19022856号