一、实物图

 

二、原理图

编号 名称 功能
1 L-VCC LED灯正极
2 L-GND LED灯负极
3 LED LED灯引脚
4 S-GND 模块负极
5 OUT 模拟量输出引脚
6 VCC 模块正极

L-VCC引脚接电阻是用来限流,接电容是用来稳压。

三、简介

GP2Y10是日本夏普公司开发的一款光学灰尘浓度检测传感器,设计用来感应空气中的尘埃粒子,其内部对角安放着红外线发光二极管和光电晶体管,使得其能够探测到空气中尘埃反射光,即使非常细小的如烟草烟雾颗粒也能够被检测到,通常在空气净化系统中应用。该传感器具有非常低的电流消耗(最大20mA,典型值11mA),可使用高达7VDC。该传感器输出为模拟电压,其值与粉尘浓度成正比。可测量0.8微米以上的微小粒子,灵敏度为0.5V/(0.1mg/m3),体积小,重量轻,便于安装,广泛应用于空气清新机,换气空调,换气扇等产品。

工作原理:

模块内部采集腔中对角安放着红外线发光二极管和光电晶体管,使得其能够探测到空气中尘埃反射光,尘埃浓度越高,反射光越多,从而输出模拟电压值越高,通过ADC将模拟值转化为数字电压值,利用比例关系式,最终得到尘埃浓度。

四、内部框图

五、粉尘浓度特性数据

根据曲线图可以列出部分电压与粉尘浓度的对应值,如下:

V 0.95 1.45 2.00 2.65 3.25 3.60
Mg/m3 0 0.1 0.2 0.3 0.4 0.5

根据以上对应值可以求出粉尘浓度mg/m3与电压V的计算公式,如下:

mg/m3 = 0.17 * V - 0.1

空气污染指数分级标准表:

PM2.5
浓度均值(μg/m3)
空气质量
AQI
空气质量级别 空气质量指数类别
0-35 0-50 一级
35-75 51-100 二级
75-115 101-150 三级 轻度污染
115-150 151-200 四级 中度污染
150-250 201-300 五级 重度污染
250以上 ≥300 六级 严重污染

六、时序解析

根据传感器数据手册介绍,传感器的采集周期为10ms,LED灯亮时间为0.32ms,传感器采集时间为0.28ms。

代码如下:

/****

*******获取PM2.5值函数

*******传入值:adc通道

*******返回值:PM2.5值

*******注意:本函数需要调用adc获取函数

*****/

uint Pm25_Get_Value(uchar ch)

{

   static uint adc_value = 0;       //adc值变量

   static uint PM_count = 0;        //计数次数值变量

   static uint PM25_value = 0;      //PM2.5值变量

   PM25_LED = 0;                   //PM2.5 LED灯拉低开启

   PM25_Delay(28);                 //延时280us

   adc_value += Adc0832_Get_Value(ch); //获取一次adc值,并累加

   PM25_Delay(4);                  //延时40us

   PM25_LED = 1;                   //PM2.5 LED灯拉高关闭

   if(++PM_count >= 5)              //获取5次adc值

   {

      PM_count = 0;                 //计数次数清零

      adc_value = adc_value / 5;    //取5次平均值

      PM25_value = ((adc_value/255.0)*5*0.17-0.1)*1000;     //计算PM2.5值

      adc_value = 0;                //adc值清零

   }

   return PM25_value;              //返回PM2.5值

}

七、流程设计

首先初始化引脚,然后将LED灯引脚拉低开启,延时280us后,获取一次ADC值并累加,再延时40us,LED灯引脚拉高关闭,此为接收一次数据完成,当接收5次数据后,计算ADC平均值,通过公式计算出PM2.5浓度值,最后返回PM2.5浓度值。

鹏翔单片机俱乐部
微信公众号
单片机类设计,包括51类或者32类设计