基于nRF24L01的无线温湿度检测系统设汁

发布者:collectors最新更新时间:2014-03-03 来源: elecfans关键字:nRF24L01  无线温湿度检测  STC12C5A08S2 手机看文章 扫描二维码
随时随地手机看文章

  0 引言

  在当今的工农业生产中,需要进行温湿度采集的场合越来越多,准确方便地测量温度变得至关重要。传统的有线测温方式存在着布线复杂,线路容易老化,线路故障难以排查,设备重新布局要重新布线等问题。特别是在有线网络不通畅或由于现场环境因素的限制而不便架设线路的情况下,给温湿度的数据采集带来了很大的麻烦。要想监测到实时的温湿度数据,就必须采用无线传输的方式对数据进行采集、发送、接收并对无线采集来的数据通过上位机进行处理,以控制并监测设备的运行情况,减少不必要的线路设备开支。

  1 系统组成框图

  本文设计的多路无线温湿度检测系统将单片机检测控制系统和射频通信系统相结合,系统由主机和从机两部分构成,从机负责检测温湿度,并将采集到的数据通过射频系统发送给主机,主机接收从机发送过来的信号,并通过串口和PC机进行通信,记录数据。同时可通过PC机设定报警数据上下限。其系统组成框图如图1所示。

图1 系统组成框图

图1 系统组成框图

  2 系统硬件电路

  系统的温湿度数据采用数字式温湿度传感器DHT11进行数据采集,以51系列增强型单片机STC12C5A08S2为核心和无线射频nRF2401构成收发电路,从机使用液晶LCD1602显示,主机显示则使用LCD12864,整个显示系统可与PC上位机相连接。

  2.1 温湿度采集电路设计

  DHT11是一款含有已校准数字信号输出的温湿度复合传感器。该传感器应用专用的数字模块采集技术和温湿度传感技术,具有极高的可靠性与卓越的长期稳定性。图2所示为其温度采集电路。DHT11传感器包括一个电阻式感湿元件和一个NTC测温元件,可与高性能8位单片机相连接。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的过程中可调用这些校准系数。单线制串行接口可使系统集成变得简易而快捷,而且信号传输距离可达20m以上。当连接线长度短于20m时,应使用5kΩ上拉电阻,大于20m时,应根据情况使用合适的上拉电阻。

图2 温度采集电路

图2 温度采集电路

  2.2 无线发射、接收电路设计

  nRF24L01是NORDIC公司生产的一款无线通信芯片,采用FSK调制方式,内部集成有NORDIC自己的Enhanced Short Burst协议。可以实现点对点或是1对6的无线通信。无线通信速度可以达到2 Mb/s.NORDIC无线发射、接收芯片nRF24L01的电路原理图如图3所示。

图3 无线发射、接收原理图

图3 无线发射、接收原理图

  nRF24L01是单片射频收发芯片,工作于2.4~2.5 GHz的ISM频段,芯片内置频率合成器、功率放大器、晶体振荡器和调制器等功能模块,输出功率和通信频道可通过程序进行配置。nRF24L01芯片的能耗非常低,以-5 dBm的功率发射时,工作电流只有10.5 mA,接收时的工作电流只有18 mA,它具有多种低功率工作模式,节能环保,设计方便。[page]

  nRF24L01无线收发模块的各管脚功能如表1所列,图4所示是nRF24L01与单片机连接时的电路图。

图4 无线模块与CPU连接电路图

图4 无线模块与CPU连接电路图

  本无线发射接收模块需要的电源为1.9~3.6 V,本系统中采用3.3 V直流电源来直接对无线发射接收模块供电,5 V电源经。ASM1117-3.3芯片转换后可得到稳定的直流电源,其电源转换电路如图5所示。

图5 无线模块电源转换电路

图5 无线模块电源转换电路

  2.3 串行通信模块

  主机单片机接收到nRF24L01的数据后,经MAX232电平转换可实现单片机程序下载与升级,同时可实现单片机与PC机(上位机)的通信,以便将显示数据信息通过此电路传送到PC机,并存PC机上显示,其串行通信电路如图6所示。

图6 MAX232CPE与PC的串口通信电路

图6 MAX232CPE与PC的串口通信电路

  3 软件设计

  3.1 下位机软件

  本系统使用C语言编程,应根据设计任务的要求确定系统程序的完整结构,尽可能采用模块化程序设计方法,将任务划分为相对独立的功能模块,明确各模块的功能、时间顺序和相互关系,系统的软件设计可以分为几个部分,首先是各个模块的底层驱动程序编写,而后是系统联机调试,最后再编写上位机的系统程序。

  主程序是控制和管理的核心,系统上电后,首先进行初始化,系统开始正常运转后,再进行温、湿度的监测与处理等操作。

  3.2 上位机软件设计

  系统上位机能完成的功能有显示串口号,提示串口是否已被成功打开;同时,上位机能够与下位机同步显示温度,而且能够实时曲线显示温度;上位机能够设置下限温湿度和上限温湿度,当高于上限温湿度或低于下限温湿度时,还能够报警。将主机单片机的控制电路串行接口与电脑串口经过电平转换连接后,选择正确的通信协议,设置好波特率,即可进行通信。图7所示是上位机操作界面图。

图7 上位机操作界面

图7 上位机操作界面

  上位机软件可在PC机上通过VC6.0编写,主要是对MSComm控件及CserialPort类进行操作。

  首先是串口设置。本系统利用的是CSERIALPORT类中的初始化函数InitPort (this,nport,nbtl,‘N’,8,1,m_dwCommEvents,512)。其巾nport为串口号,nbtl为波特率,可利用串口设置对话框中的串口号和波特率两个组合框分别得到初始化函数中的nport和nbtl.

  其次是对温湿度上下限的设置。可利用CSERIALPORT类中的启动串口监测进程函数Start Monitoring、发送字符串函数WriteToPort以及关闭串口进程StopMonitoring来进行温度上下限的设置,其信息通过这些函数发送到串口,单片机从RS232上收到数据后,与自身的温度相比较,再进行相应的处理。

  第三是曲线显示。动态曲线显示可利用CHistogram类中的SetRange(200,400),SetPos(temp)函数,SetRange设置上下极限值,SetPos是在图上显示相应的数据点,temp是从单片机传来的温湿度数据的处理结果,具体的移动曲线可由CHistogram类中函数实现。

  4 结论

  经测试,在发射接收模块没加天线的情况下,无线发射接收模块在大多数情况下的数据传输距离在200 m左右,发射头发射功率、接收头接收灵敏度等因素可能会影响传输距离,若外加天线,则会大大增加传输距离。另外,在调试过程中,振荡电阻必须匹配,否则接收距离会变短甚至无法接收。

  本系统的数字信号由单片机采样,基于DHT11的数字温湿度传感器构成的实时监控系统具有精度高、抗干扰能力强、电路简单等诸多优点。然后利用单片机与PC机的通信可将数据送到PC机进行数据的存储、后期处理与显示。本系统数据处理功能强大、显示直观、界面友好、性价比高,可广泛应用于工业控制、仪器、仪表、农业养殖及智能家居等诸多领域。

关键字:nRF24L01  无线温湿度检测  STC12C5A08S2 引用地址:基于nRF24L01的无线温湿度检测系统设汁

上一篇:单片机与模糊控制的温控仪设计与实现
下一篇:LED路灯智能控制系统设计方案

推荐阅读最新更新时间:2024-03-16 13:36

BK2421/NRF24L01发射功率频率测试步骤
发射功率测试需要BK24x1输出单载波信号,寄存器设置详见参考文档 的Carrier_Test()函数或直接用参考文档 的Demo软件直接发单载波; 如下为具体步骤: (1) 设置芯片处于发射状态:写Bank0_REG0_Bit0=0;拉高CE=1,使CE 产生上升沿; (2) 设置测试的信道及频率:写Bank0_REG5 =0x28=40,对应频率Frf=(2400+40)MHz; (3) 设置芯片处于单载波发射:写Bank1_REG4=0XD99E8621;如使用Demo软件切换到 ACK/NoACK Mode Test 界面,点Carrier Test-Start按钮即可输出单载波; (4
[单片机]
基于ATmega16单片机 NRF24L01无线收发驱动程序源代码
//NRF2401发送驱动程序 #include avr/io.h #define uint unsigned int #define uchar unsigned char //------------------------------------------------------------------------------ //--------------------------------NRF24L01接口定义-------------------------------- //--------------------------------------------------------------------
[单片机]
单片机AT89C5l用电故障控制系统
1 引言   对于电网短路和线路故障检测保护已有不少研究。市面上的电器短路、过载、超压的保护器功能单一。容易损坏,没用提示功能,不够人性化。但随人们生活水平的不断提高。用电设备也不断增加,产生了肓目用电现象。这给人们造成极大的安全隐患。其中危害性最大的用电故障有三种:输入电压过高、室内线路严重过载、用电器短路。本文设计的单片机AT89C5l用电故障控制系统的目的就是为了防止这三种故障带来的危害。   2 硬件的组成   单片机用电故障控制系统的硬件分别是:由降压变压器、2个相瓦串联的感应线圈、升压变JK器、电磁开关、5V稳压电源、超压过流信号获取比较电路、可编程接门扩展芯片8255、HD44780字符液晶显示模块、ISD26
[单片机]
单片机AT89C5l用电故障控制系统
基于nRF24L01无线温度采集系统设计
1 引言 温度采集系统所采集的温度通常通过RS485、CAN总线通信方式传输至上位机,但这种方式维护较困难,不利于工业现场生产;而无线通信GPRS技术传输距离长,通信可靠稳定,但设计复杂、成本昂贵。这里采用工业级内置硬件链路层协议的低成本单芯片nRF24L01型无线收发器件实现系统间的无线通信,完成无线信号的接收、显示及报警功能。 2 nRF24L01简介 nRF24L01是一款工业级内置硬件链路层协议的低成本无线收发器。该器件工作于2.4 GHz全球开放ISM频段,内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合增强型ShockBurst技术,其输出功率和通信频道可通过程序配置。拥有ShockBurst和
[单片机]
基于<font color='red'>nRF24L01</font>的<font color='red'>无线</font>温度采集系统设计
基于BOA和nRF24L01的智能家居系统
  1 引言   人们生活水平的提高以及科技的进步,特别是计算机技术、网络技术和通信技术的发展,智能家居将慢慢成为未来家居生活的发展方向。1984年在美国诞生了世界上第一座智能家居建筑,从此以后,世界上的各大公司和科研单位不断加速在智能家居方面的研究,他们分别提出了自己的智能家居解决方案,其中以新加坡提出的技术方案最具代表性,他的智能家居系统包括三表抄送、安防报警、家电控制、家庭智能控制面板、监控中心等功能,目标在于将家庭中与信息相关的通信设备、家用电器和家庭安防装置通过总线技术连接到家庭智能化系统上,从而进行集中或远程控制和管理。在未来,智能家居不仅要为用户提供健康、舒适安全和安全的生活环境,而且用户还能够远程控制家庭电器设备和
[单片机]
基于BOA和<font color='red'>nRF24L01</font>的智能家居系统
基于战舰V3的NRF24L01模块的原理剖析及应用
为什么无线发射功率的数值均为负数? 其实归根到底为什么接收的无线信号是负值,这样子是不是容易理解多了。因为无线信号多为mW级别,所以对它进行了极化,转化为dBm而已,不表示信号是负的。1mW就是0dBm,小于1mW就是负数的dBm数。 弄清信号强度的定义就行了: RSSI(接收信号强度:Received Signal Strength Indicator)= 10logP, 只需将接收到的信号功率P代入就是接收信号强度(灵敏度)。例如: 1. 如果发射功率P为1mw,折算为dBm后为0dBm; 2. 对于40W的功率,按dBm单位进行折算后的值应为: 10lg(40W/1MW)=10lg(40000)=10lg4+
[单片机]
基于战舰V3的<font color='red'>NRF24L01</font>模块的原理剖析及应用
基于NRF24L01的DS18B20温度无线传输单片机源码
单片机型号为stc12c5a60s2 温度传感器为DS18B20 无线传输为NRF24L01 温度显示LCD1602 单片机源程序如下: #include STC12C5A60S2.H #include stdio.h #include DELAY.h #include NRF24L01.h #include LCD1602.h #include DS18B20.h void main(void) { int temp,intt,dect; unsigned char temp_buf ={0}; EA=1; LCD_Init(); //LCD160
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多每日新闻
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved