一、实物图

 

二、原理图

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

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

三、简介

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

工作原理:

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

四、内部框图

五、粉尘浓度特性数据

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

V0.951.452.002.653.253.60
Mg/m300.10.20.30.40.5

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

mg/m3 = 0.17 * V - 0.1

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

PM2.5
浓度均值(μg/m3)
空气质量
AQI
空气质量级别空气质量指数类别
0-350-50一级
35-7551-100二级
75-115101-150三级轻度污染
115-150151-200四级中度污染
150-250201-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浓度值。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐