基于nRF24L01的无线温湿度检测系统设汁
摘要:提出了一种针对无线数据传输问题的解决方案,该方案基于nRF24L01来设计无线温度采集系统。该系统采用低功耗、高性能单片机STC12C5A08S2和温湿度传感器DHT11来构成多点、实时温湿度监测系统,最后在PC机上完成配置、显示和报警等功能。该系统使用方便,扩展十分容易,可广泛应用于各种工农业生产和养殖等场合。
关键词:无线传输;nRF24L01;温湿度检测;DHT11
0 引言
在当今的工农业生产中,需要进行温湿度采集的场合越来越多,准确方便地测量温度变得至关重要。传统的有线测温方式存在着布线复杂,线路容易老化,线路故障难以排查,设备重新布局要重新布线等问题。特别是在有线网络不通畅或由于现场环境因素的限制而不便架设线路的情况下,给温湿度的数据采集带来了很大的麻烦。要想监测到实时的温湿度数据,就必须采用无线传输的方式对数据进行采集、发送、接收并对无线采集来的数据通过上位机进行处理,以控制并监测设备的运行情况,减少不必要的线路设备开支。
1 系统组成框图
本文设计的多路无线温湿度检测系统将单片机检测控制系统和射频通信系统相结合,系统由主机和从机两部分构成,从机负责检测温湿度,并将采集到的数据通过射频系统发送给主机,主机接收从机发送过来的信号,并通过串口和PC机进行通信,记录数据.同时可通过PC机设定报警数据上下限。其系统组成框图如图1所示。
系统的温湿度数据采用数字式温湿度传感器DHT11进行数据采集,以51系列增强型单片机STC12C5A08S2为核心和无线射频nRF2401构成收
发电路,从机使用液晶LCD1602显示,主机显示则使用LCD12864,整个显示系统可与PC上位机相连接。
2.1 温湿度采集电路设计
DHT11是一款含有已校准数字信号输出的温湿度复合传感器。该传感器应用专用的数字模块采集技术和温湿度传感技术,具有极高的可靠性与卓越的长期稳定性。图2所示为其温度采集电路。DHT11传感器包括一个电阻式感湿元件和一个NTC测温元件,可与高性能8位单片机相连接。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的过程中可调用这些校准系数。单线制串行接口可使系统集成变得简易而快捷,而且信号传输距离可达20m以上。当连接线长度短于20m时,应使用5kΩ上拉电阻,大于20m时,应根据情况使用合适的上拉电阻。
2.2 无线发射、接收电路设计
nRF24L01是NORDIC公司生产的一款无线通信芯片,采用FSK调制方式,内部集成有NORDIC自己的Enhanced Short Burst协议。可以实现点对点或是1对6的无线通信。无线通信速度可以达到2 Mb/s。NORDIC无线发射、接收芯片nRF24L01的电路原理图如图3所示。
nRF24L01是单片射频收发芯片,工作于2.4~2.5 GHz的ISM频段,芯片内置频率合成器、功率放大器、晶体振荡器和调制器等功能模块,输出功率和通信频道可通过程序进行配置。nRF24L01芯片的能耗非常低,以-5 dBm的功率发射时,工作电流只有10.5 mA,接收时的工作电流只有18 mA,它具有多种低功率工作模式,节能环保,设计方便。
nRF24L01无线收发模块的各管脚功能如表1所列,图4所示是nRF24L01与单片机连接时的电路图。
本无线发射接收模块需要的电源为1.9~3.6 V,本系统中采用3.3 V直流电源来直接对无线发射接收模块供电,5 V电源经.ASM1117-3.3芯片转换后可得到稳定的直流电源,其电源转换电路如图5所示。
2.3 串行通信模块
主机单片机接收到nRF24L01的数据后,经MAX232电平转换可实现单片机程序下载与升级,同时可实现单片机与PC机(上位机)的通信,以便将显示数据信息通过此电路传送到PC机,并存PC机上显示,其串行通信电路如图6所示。
3.1 下位机软件
本系统使用C语言编程,应根据设计任务的要求确定系统程序的完整结构,尽可能采用模块化程序设计方法,将任务划分为相对独立的功能模块,明确各模块的功能、时间顺序和相互关系,系统的软件设计可以分为几个部分,首先是各个模块的底层驱动程序编写,而后是系统联机调试,最后再编写上位机的系统程序。
主程序是控制和管理的核心,系统上电后,首先进行初始化,系统开始正常运转后,再进行温、湿度的监测与处理等操作。
3.2 上位机软件设计
系统上位机能完成的功能有显示串口号,提示串口是否已被成功打开;同时,上位机能够与下位机同步显示温度,而且能够实时曲线显示温度;上位机能够设置下限温湿度和上限温湿度,当高于上限温湿度或低于下限温湿度时,还能够报警。将主机单片机的控制电路串行接口与电脑串口经过电平转换连接后,选择正确的通信协议,设置好波特率,即可进行通信。图7所示是上位机操作界面图。
- 测量电压驻波比量化传输线的阻抗失配(08-22)
- 入侵检测系统(IDS)和入侵防御系统(IPS)(09-04)
- 基于IPv6的动态网络入侵检测系统的研究与设计(02-16)
- 潜艇舱室环境远程检测系统的设计(09-21)
- 基于网络引擎入侵检测系统的研究与实现(08-01)
- 基于Matlab和VC++混合编程的障碍检测系统设计(04-11)