基于NRF24L01的空气粉尘浓度检测器设计

2016-08-31 07:09朱思清钱国明南京邮电大学电子科学与工程学院
科学中国人 2016年15期
关键词:无线传输

朱思清,钱国明南京邮电大学电子科学与工程学院

基于NRF24L01的空气粉尘浓度检测器设计

朱思清,钱国明
南京邮电大学电子科学与工程学院

摘要:随着环境污染的加重,空气粉尘颗粒的浓度不断增加,人们的健康也随之受到危害,因此文中介绍了一种基于nRF24L01的空气粉尘浓度检测器的设计,该系统利用光电传感器中光通过空气粉尘折射产生的电压信号,经过放大整形后,通过AD转换后由单片机进行相应的处理,并在LCD上进行显示,同时由单片机通过nRF24L01进行无线传输。接收端由nRF24L01接收信号至单片机,然后通过串口线将数据传入PC上位机进行显示。

关键词:nRF24L01;无线传输;粉尘浓度检测

项目来源:南京邮电大学STITP重点项目。

1 引言

随着工业和经济的快速发展以及城市化的迅速推进,空气质量不断恶化,雾霾天气逐渐增多。空气中的粉尘多为细小的固体颗粒物,其中PM0.1、PM2.5、PM10及其吸附的重金属(如Cd、Cr、Cu、Ni、Pb和Zn等)粒子为雾霾的重要组成部分[1]。目前无线数据通信在工业、家居智能化、农业自动化等领域的应用越来越广泛。因此本系统的目的是设计一个基于nRF24L01无线传输模块的以ATmega328p作为主控的空气粉尘浓度检测器,以适用家居生活中的环境监测,提醒大家关注空气质量问题。

2 系统整体设计

图1.系统结构图

空气粉尘浓度检测系统结构如图1所示。本系统主要由单片机ATmega328p主控模块、空气粉尘传感器GP2Y1010AU0F、1.3寸OLED显示屏、独立按键预警模块以及nRF24L01无线数据传输和接收模块组成。GP2Y1010AU0F光学传感器根据空气中粉尘浓度值输出模拟电压信号,通过ATmega328p内部AD转换为模拟值,再进行数据处理后转换为粉尘浓度值,在OLED液晶屏上进行显示。当检测计算得出的浓度值超过独立按键自行设定的阈值时蜂鸣器进行预警。同时将浓度值通过NRF24L01无线数据传输模块发送。接收端通过nRF24L01进行数据接收后通过串口传输至PC上位机并显示粉尘浓度值。

3 系统硬件设计

3.1信号采集模块

本设计采用的传感器为GP2Y1010AU0F光学浓度检测传感器。此传感器利用内部红外发光管与接收管检测粉尘,并依靠输出脉冲的电压值来计算浓度值。由于GP2Y1010AU0F对驱动其LED的脉冲要求较高,输入信号采样周期为10ms±1ms;输入高脉冲的宽度为0.32ms±0.02ms。所以对于采样信号,需要等待输入信号出现高脉冲以后再计时0.28ms进行采样。其中一个信号周期为10ms。

图2.输出电压与粉尘浓度关系曲线

上图为GP2Y1010AU0F的输出电压与空气粉尘颗粒浓度值的关系曲线。由于传感器的电源供压为3.3V,所以可以基本认为在输出电压范围内输出电压与粉尘浓度关系近似为一条直线。经计算得出输出电压与空气粉尘颗粒浓度的关系式为:Dust density= 0.17*Output voltage–0.1。

3.2单片机处理模块

单片机核心选用的是ATmega328p微处理器。这是一款高性能、低功耗的RISC结构的8位AVR微处理器,支持IIC以及SPI通信。同时其内部的10位六通道ADC用于本系统对传感器所得浓度值进行转换。

3.3无线传输模块

nRF24L01是Nordic公司研发的一款工业级集成链路层的射频通信芯片。它采用全球普遍使用的2.4G~2.5GHzISM通信频段,最高工作速率2Mbps,具有125个频点,满足多点通信和跳频通信的需要,内置硬件CRC检错和点对多点通信地址控制,支持SPI通信协议。nRF24L01的SPI接口可以与单片机的硬件SPI口进行直接连接或者与单片机I/O口模拟的SPI口进行通信。

nRF24L01继承了所有与RF协议相关的高速信号处理部分,如自动重发丢失信号数据包和自动产生应答信号等,采用Shock⁃Burst和Enhanced ShockBurst两种协议引擎[2]。在Enhanced Shock⁃Burst模式下,数据包的装配以及时序处理将自动完成。nRF24L01功耗低,在-6dBm功率的工作模式下,发射端工作电流仅为9mA,接收端工作电流仅为12.3mA。

4 系统软件设计

4.1nRF24L01射频收发芯片

4.1.1无线射频发送模式

ATmega328p单片机和nRF24L01初始化后,设置接收标识符,设置一次收发的字节数并将发送数据拆分为单字节数组形式,设置发送通道并确认接收端通道与之一致,然后将接收机地址和即将发送数据按时序送入nRF24L01。将CE置高,等待10μs,数据包完成并完成CRC校验计算,并确认接收机的地址位,延迟130μs左右后发射数据。

4.1.2无线射频接收模式

接收端nRF24L01初始化后,定义两个变量用于存储旧结果和新结果防止相同结果一直输出,设置接收标识符,设置接收通道并保持与发送通道一致,等待接收数据并配置CONFIG寄存器使之进入接收模式,把CE置高。等待约130μs后,nRF24L01进入监视状态等待数据包。当接收到正确的地址位和CRC校验码后把字头、地址位和CRC校验码移去并把数据接收到数组中。nRF24L01把STATUS寄存器的DR1拉高并通知MCU,然后单片机将数据读出。当接收数据完毕时,nRF24L01将DR1置低。若CE在数据下载期间仍然保持为高,nRF24L01会重新进入数据的接收准备状态;若CE被置低,则nRF24L01进入空闲模式[3]。

4.2主程序设计

本系统由两片ATmega328p共同组成控制系统。发送端:各模块初始化,键盘输入浓度阈值,传感器采集当前浓度值,当浓度值大于阈值时蜂鸣器报警,然后在OLED上显示当前浓度值与阈值,无线模块传送数据;接收端:无线模块收到数据,然后通过串口传送至PC上位机。

5 总结

本文主要设计了一款空气粉尘浓度检测器,此系统以AT⁃mega328p为核心,采集的粉尘信号通过nRF24L01传输并由串口传送至PC上位机。由于本设计使用的无线通信系统在日常生活中有着广泛的应用,随着生活水平的提高,无线通信技术预计将在更多领域有着这更加广泛的应用。

参考文献:

[1]刘玲.淮南市空气悬浮颗粒特征及污染物的树木监测[D].南京:南京林业大学,2013

[2]陆欣云,陈巍,张娟.基于FPGA的LED点阵系统控制器的设计与分析[J].南京工程学院学报:自然科学版.2011,9(3):40-44

[3]李闪,黄小莉,胡兵,等.基于nRF24L01的无线智能温度监测系统[J].仪表技术与传感器,2011(12):52-54

导师简介:钱国明(1964-),男,浙江绍兴人,南京邮电大学教授,研究方向为无线通信技术与信号处理。

作者简介:朱思清(1995-),男,江苏南京人。

猜你喜欢
无线传输
摩擦焊机数据检测系统设计与研制
基于ZigBee的人体健康数据采集系统的设计
低功耗蓝牙传输远程脉搏血氧饱和度监测系统设计
基于无线传输的LED灯远程控制系统设计
无线传输LED十字屏集群控制系统
公路路面现场检测数据无线传输系统的设计
基于LABVIEW的温室管理系统的研究与设计
可移动自动红外热成像测温无线传输初探
数据信息于无线传输之下的采集和控制