davidce 发表于 2014-9-27 16:42:33

基于夏普DN7C3CA002及arduino UNO的PM2.5监测装置

本帖最后由 davidce 于 2014-9-27 21:02 编辑

DN7C3CA001是夏普新发布的PM2.5传感器,次传感器能够切割滤除粒径大于2.5微米的粒子通过光传感器元件,从而真正实现对粒径小于等于2.5微米的颗粒物的监测,具体介绍请参考(http://www.seeedstudio.com/wish/pm2-5-air-quality-sensor-p2461)。


图1. 粒径切割原理图

拿到手的型号是DN7C3CA002改进版。根据传感器手册中的接线方法可以发现,除了物理排线线序相反以及需要接风扇的供电电路外,其它引脚接线方法与GP2Y1010AU0F(https://www.sparkfun.com/datasheets/Sensors/gp2y1010au_e.pdf)相同。


图2. 接线原理图

DN7C3CA002与GP2Y1010AU0F的脉冲采样参数和采样时长都是一样的,猜测两者采用的是类似的光学器件。


图3. 采样脉冲


图4. 采样时间

传感器采用电压输出方式,手册中给出了输出电压与PM2.5质量浓度之间的关系:


图5. 输出电压与质量浓度关系

其中Vo是输出电压(电压单位都是mV),Vs是基准电压,Vs基准电压的获取有两种方式,一种方式是从传感器的序列号中读出,由于我拿到的这颗传感器无序列号,所以只有采用第二种方式,通过不接风扇电源将传感器垂直放置几分钟后读出的输出电压。

同时传感器需要对Vs基准电压进行温度补偿,修正参考值同样除了可以从传感器序列号中读出外也可以通过测量得到。


图6. 温度修正曲线

在-10~40℃约6mV/℃,40~60℃约1.5mV/℃。测量拿到的这颗传感器的Vs基准电压非常低,远远达不到图6中两条曲线的电压值,不知道是电路问题还是传感器自身的问题。

为了能够根据实时温度修正Vs基准电压,使用sht10获取温度和湿度数据。同时使用lcd1602作为显示输出,基于Arduino UNO组成主控电路。


图7. 装置运行


图8. 内部结构

程序代码在arduino IDE 0023上通过:,需要sht1x库的支持。

仪器未经标定,应用还需谨慎!

dingshidong 发表于 2015-4-18 12:30:33

还可以选用更好的激光PM2.5传感器(激光散射法),传统的是灰尘传感器(Dust Sensor),粒径太小根本检测不到,激光PM2.5传感器,推荐PlanTower(攀藤科技)G1或者G3 激光PM2.5传感器,160元左右,串口输出,数据直接使用无需校准,关键还是PM2.5测的准。淘宝 搜索“激光PM2.5传感器 G1”或者“激光PM2.5传感器 G3”.

zoologist 发表于 2015-11-26 09:43:12

dingshidong 发表于 2015-4-18 12:30 static/image/common/back.gif
还可以选用更好的激光PM2.5传感器(激光散射法),传统的是灰尘传感器(Dust Sensor),粒径太小根本检测不 ...

攀藤的东西做个玩玩还可以,但是长期使用就保不准了

用一段螺丝都会生锈,不知道他们怎么想的,选这么差的料
页: [1]
查看完整版本: 基于夏普DN7C3CA002及arduino UNO的PM2.5监测装置