Dust Sensor灰尘传感器 使用教程

特性和原理

本模块是以夏普GP2Y1010AU0F为核心的灰尘传感器。传感器内部的红外二极管,可以输出一个跟灰尘浓度成线性关系的电压值。通过该电压值即可计算出空气中的灰尘和烟尘含量。

  • 测量对象: 直径大于0.8μm灰尘颗粒
  • 有效量程: 500μg/m3
  • 输出类型: 电压模拟量
  • 工作电压: 2.5V~5.5V
  • 产品尺寸: 63.2mm×41.3mm
  • 固定孔尺寸: 2.0mm
  • 通气孔尺寸: 9.0mm

传感器输出特性

传感器输出电压与灰尘浓度关系在0到0.5mg/m3范围内成线性关系,如下图所示:



图 1: 传感器输出特性曲线

传感器控制原理

通过设置模块ILED引脚为高电平,从而打开传感器内部红外二极管。
等待0.28ms,外部控制器采样模块AOUT引脚的电压值。这是因为传感器内部红外二极管在开启之后0.28ms,输出波形才达到稳定。如下图所示:



图 2: ILED与红外二极管输出波形关系

采样持续0.04ms之后,再设置ILED引脚为低电平,从而关闭内部红外二极管。
根据电压与浓度关系即可计算出当前空气中的灰尘浓度,具体实现细节请参考Demo程序。
注:输出的电压经过了分压处理(查看原理图),要将测得的电源放大11倍才是实际传感器输出的电压。

主要用途

检测空气中灰尘浓度,用于空气净化器、空气质量监测仪、PM2.5检测仪等。

操作和现象

传感器接口说明

传感器接口说明表
引脚号标识描述
1VCC电源正(2.5V-5.5V)
2GND电源地
3AOUT电压模拟量输出
4ILED传感器内部LED驱动

连接开发板使用

下面章节以四款不同类型的开发板为例,描述具体操作步骤及实验现象。

Open103R(主控芯片STM32F103R)

1、编译下载Demo程序。 2、通过串口模块,把开发板USART2接口连接至电脑,串口调试助手设置如下:

波特率115200
数据位8
停止位1
校验位None
流控制None

3、传感器模块连接如下:

传感器和Open103R引脚对应关系表
模块开发板
VCC3.3V或5V
GNDGND
AOUTGPIOA.6
ILEDGPIOA.7

4、开发板上电,可看到串口助手不断显示当前灰尘浓度值,当有大量灰尘颗粒进入通气孔时,数据发生明显变化,实验现象见附录。

Open407Z-C(主控芯片STM32F407Z)

1、编译下载Demo程序。 2、通过串口模块,把开发板USART2接口连接至电脑,串口调试助手设置如下:

波特率115200
数据位8
停止位1
校验位None
流控制None

3、传感器模块连接如下:

传感器和Open407Z-C引脚对应关系表
模块开发板
VCC3.3V或5V
GNDGND
AOUTGPIOA.6
ILEDGPIOA.7

4、开发板上电,可看到串口助手不断显示当前灰尘浓度值,当有大量灰尘颗粒进入通气孔时,数据发生明显变化,实验现象见附录。

NUCLEO-F103RB(主控芯片STM32F103R)

本开发板Demo程序分为Mbed及ST Library两个版本。操作步骤及实验现象相同。
1、编译下载Demo程序。 2、将开发板通过USB接口连接至电脑,串口调试助手设置如下:

波特率115200
数据位8
停止位1
校验位None
流控制None

3、传感器模块连接如下:

传感器和XNUCLEO-F103RB引脚对应关系表
模块开发板
VCC3.3V或5V
GNDGND
AOUTA0
ILEDD7

4、开发板上电,可看到串口助手不断显示当前灰尘浓度值,当有大量灰尘颗粒进入通气孔时,数据发生明显变化,实验现象见附录。

Arduino UNO

1、编译下载Demo程序。
2、将开发板通过USB接口连接至电脑,串口调试助手设置如下:

波特率9600
数据位8
停止位1
校验位None
流控制None

3、传感器模块连接如下:

传感器和UNO PLUS引脚对应关系表
模块开发板
VCC3.3V或5V
GNDGND
AOUTA0
ILEDD7

4、开发板上电,可看到串口助手不断显示当前灰尘浓度值,当有大量灰尘颗粒进入通气孔时,数据发生明显变化,实验现象见附录。

附录:

实验现象

串口打印灰尘浓度数据:


空气污染指数分级标准如下表所示:

空气污染指数分级标准表
PM2.5
浓度均值(μg/m3)
空气质量
AQI
空气质量级别空气质量指数类别
0-350-50一级
35-7551-100二级
75-115101-150三级轻度污染
115-150151-200四级中度污染
150-250201-300五级重度污染
250-500≥300六级严重污染