观点 DIY

自制Arduino检测器,随时关注空气质量

怎么检测空气质量,自制PM2.5监测器

Yeelink姜工 发表于  2013-01-24 22:44

本文编译自 Air Quality Monitoring,原作者为Chris Nafis。DIYer Yeelink姜工对原文进行了翻译,并基于原文中的原理,制作出了自己的空气质量检测器。

 

 

 

译文

 

/gkimage/uq/xq/uq/uqxquq.png/gkimage/id/fx/ak/idfxak.png 

因为过敏和哮喘,我特别关心室内和室外的空气质量。我使用Quadrafire木炭火炉——一个应该是比较干净的柴炉做饭,打算看看它对我家中的室内空气质量(灰尘)和室外空气质量(烟)的影响。纽约州在多个地方监控空气质量;认证的过敏和哮喘顾问在纽约州的Albany发布空气污染指数,美国肺协会写过一篇非常棒的论文叫做《美国的空气》(State of the AIR)谈论颗粒污染。我有几个气象站在收集数据(放在weather underground上面)。

 
/gkimage/hx/v0/co/hxv0co.png/gkimage/gs/a8/v0/gsa8v0.png
 
 

1.1   材料

  • 6针的 mini TE接口 $2
  • 夏普光学粉尘传感器 GP2Y1010AUoF $12
  • Arduino Uno Ethernet $65
  • 9VDC电压 $7
  • Davis 屏蔽罩(红外屏蔽罩) $67.5
  • 40毫米风扇 $13
 

1.2   检测

290刀的 Dolys “DC1100 Pro Air Quality”是一个真正的激光颗粒检测器,带两种不同的测量范围。小的通道(0.5>微米)应该可以看到细菌和霉菌。

高一点的通道(2.5>微米)可以看到灰尘和花粉。LCD显示器持续的显示小通道和大通道的长条图和读数,本设备能保存长达30天的空气质量数据。

我购买了一个带有PC接口的产品,并把它连接到了Arduino ethernet板上,这样我就能自动的发送数据到Pachube了。如果空气质量有问题,我的手机就能收到通过Twitter发布的报警信息。

/gkimage/2a/fu/la/2afula.png

这个产品非常的灵敏。它可以非常容易的检测到走过地毯时掀起的灰尘,或者是炒菜时候的烟。下面的图中你能看到非常有趣的事情。

 
/gkimage/98/2b/hv/982bhv.png/gkimage/e7/pq/dx/e7pqdx.png

首先在晚上的时候大家都休息了,读数会非常的低。你也能看到在中午的时候我女儿炒菜,数据会特别高,并且要花很长的时间才会逐渐降低。

 

1.3   实现流程

Arduino Ethernet板连接夏普传感器的图纸可以参阅 夏普GP2Y1010AU0F的datasheet

 

1.4   采样流程

  1. 点亮连接到pin2 的LED,过0.28毫秒,对连接到A0的模块Vo进行采样
  2. 过0.04毫秒,关闭LED,并且等待9.680毫秒。

这个10毫秒的采样周期会不停的进行重复,代码可以参考 arduino Source Code

/gkimage/qt/ry/33/qtry33.png/gkimage/6j/01/u5/6j01u5.png
Sharp pin 1 (V-LED) => 5V (通过一个150欧的电阻连接)
Sharp pin 2 (LED-GND) => Arduino GND pin
Sharp pin 3 (LED) => Arduino pin 2
Sharp pin 4 (S-GND) => Arduino GND pin
Sharp pin 5 (Vo) => Arduino A0 pin
Sharp pin 6 (Vcc) => 5V
/gkimage/xn/m8/qx/xnm8qx.png

我使用了一个小型的40毫米风扇保证空气能够被送到夏普传感器中,可能并没有必要,因为我将一个传感器安装到了防护罩内,所以希望确认能看到有粉尘飞入。

 

1.5   测试和校准

/gkimage/lp/fk/y9/lpfky9.png

使用烤盘进行测试。

 
/gkimage/vm/pq/4u/vmpq4u.png

如果您阅读 夏普GP2Y1010AU0F的datasheet ,就会发现图中提供的颗粒浓度(毫克/平方米)与电压相对值的比较图。但是这个图片仅仅从0.5V才有对应数据,而我的大部分试验中,电压值都是相对比较低的。所以我手工输入该图中没有涵盖的数据,并得出了一个线性方程组来近似模拟出大致的(毫克/平米) 对电压输出的关系图。

 
/gkimage/ws/ai/7s/wsai7s.png

我非常想了解这个便宜的夏普传感器的灵敏度,并建立起输出电压与颗粒数量的对应关系,下面我搞了一个实验(底下的图片中就是我让锅的烟吹过传感器的效果)。烟雾迅速使得传感器饱和,就做了一个稍长时间的实验。在我女儿做完午餐后,我决定做一个”pan cake“ (松饼) 实验。你有没有注意到当在一个老式的铸铁锅用黄油做松饼的时候,满屋子都是烟?我同时将夏普传感器与专业的Dylos DC1100的读数同步上传到Pachube上,这样我就可以进行对两个传感器的对比和校准了。

从上面看出两个图有惊人的相似之处。使用一个简单的补偿和倍增因数将两组数据叠加到一起看看效果:

/gkimage/3k/ts/5q/3kts5q.png

(V-0.0356)*120000

 

有趣的是,Dylos公司有个列表来评估您的空气质量与住宅环境的关系。

由于我们做的“烤松饼”实验事实上超过了常见标准达50倍。所以夏普传感器对非常小的颗粒读数的准确性和灵敏度可能还需要一些验证。

空气质量图:小颗粒读数(大于0.5微米)
3000 +     = 很差很差
1050-3000  = 差
300-1050   = 还行
150-300    = 好
75-150     = 非常好
0-75       = 棒极了
 
 

1.6   结论

用户也可以通过互联网社区来分享其他的数据。比如,Weather Underground就是一个很好的分享我的气象站信息的地方。而StrikeStar是一个很好的处理光照传感器数据并生成实时地图的好地方。

Pachube”发音 Patch-bay“ 将人与机器相连,与应用相连,与物联网相连。作为一个基于web的服务,整合全球的实时数据, Pachube赋予人们分享数据,合作,并利用周边世界数据的能力。

我的Dylos 空气质量和夏普空气质量数据一直在上传到Pachube上。它提供了一个简单的HTTP接口,能让你将数据发送到服务器,并生成数据图表,引用到你自己的网站上。

参考文献
文章

Sharp Sensor

Dylos

Grove Dust Sensor

声明:

本项目仅仅是用于实验目的。用户需要自行承担组装,安装,使用的义务。提供的电路设计没有任何的保证,作者也不保证设备将在任何特定场合下正常工作。不要用于可能设备故障可能造成安全事故的场合。该设计文档仅仅提供给非商业的应用场景。

 

制作

基于以上原理,我们制作了这个盒子。该盒子的制作人是来自北京联合大学的张老师,张老师决定公开所有的设计和代码,来方便更多的人能够进行改进,做出更好的东西来。

我们觉得,这个盒子能够让广大的创客朋友们能很快的使用起Yeelink来,而且不需要花费太多的钞票,而且,自己不去做Hack,也能放在家里当一个非常准的电子表使用哦。

功能如下:

  1.  插上网线即可使用,自动获取IP并连入Yeelink平台
  2.  可以显示当前的精确时间(从UTC时间服务器获取),无须对表
  3.  可以读取当前的温湿度信息并显示
  4.  可以读取当前环境的可吸入颗粒指数。
  5.  可以Hack,随意的烧写板子,兼容Arduino程序
  6.  可以自己扩展新功能

未来计划增加的功能(需要您懂如何下载Arduino程序)

  1.  读取weibo消息数量
  2.  与微信,人人等交互。
  3.  自己扩展想要的传感器

它给您的好处,我觉得有以下几条:

  1.  低成本,可联网,带壳子,带LCD的arduino,适合交付小型的项目。
  2.  可以当Android nano + ENC网卡 + LCD用、满足一定的交互性。
  3.  非常丰富的使用和范例文档(正在做…)。
  4.  能够使用Yeelink平台上面的所有资源。

Yeelink平台提供了类似于Pachube的免费服务,将您的设备直接连到Yeelink上,并分享给朋友吧(范例程序参考

这个项目正在测量我们办公室的一些数据(貌似我们屋里面粉尘还不少?)

 

下面贴一下该盒子的全部资料(点击下载),欢迎大家吐槽,各类不爽可以新浪微博@Yeelink姜工。

如何使用:

1. 将ethercard,dht,Time等库解压并拷贝到Libaries目录下面,解压到同名目录下。
2. 将YeelinkClient目录拷贝下去,改掉 deviceId, SensorID, ApiKey这三个参数,修改成你的东西...
3. 点对号编译,下载程序就搞定了。

灰尘传感器DSM501.pdf

Time.rar

ethercard.rar

dht.rar

YeelinkClient.ino

显示所有评论

全部评论(77)
  • 1楼
    2013-01-25 00:16 bluesky365

    围观一下。。

    [0] 评论
  • 2楼
    2013-01-25 00:27 沼澤森林

    好高端。。。。

    [0] 评论
  • 3楼
    2013-01-25 00:40 砍新

    表示佩服

    [0] 评论
  • 4楼
    2013-01-25 00:56 深夜坐家 资深美食达人

    看到图表那里就晕了,这个太专业,我还是做做幼儿手工吧

    [1] 评论
  • 5楼
    2013-01-25 01:16 Walter_CHU

    Arduino 啊 夏普的传感器啊,都是高富帅专用么~我等屌丝一般都用51加MQ-2加八段数码管

    [2] 评论
  • 6楼
    2013-01-25 01:22 Walter_CHU
    引用@Walter_CHU 的话:Arduino 啊 夏普的传感器啊,都是高富帅专用么~我等屌丝一般都用51加MQ-2加八段数码管

    PS:成本 5元加+5元+3元+10元(乱七八糟的元件)+5元(电池盒)+5元(洞洞板)= 33元, 加万用表、焊烙铁、焊锡 100元从无到有有木有~

    [2] 评论
  • 7楼
    2013-01-25 03:08 冰红茶

    安利逸新空气过滤器上的也是用夏普的这个粉尘检测模块。

    [0] 评论
  • 8楼
    2013-01-25 04:07 罐头刀

    主要就是传感器牛逼,中央控制器用哪个都可以。所以标题可以改一改,强调重点。

    [0] 评论
  • 9楼
    2013-01-25 07:32 Eugaron

    这玩意不是一般人能用得起的,不仅要有$,还要专业知屎

    [0] 评论
  • 10楼
    2013-01-25 09:21 蒙牛过江

    我觉得想法很棒唉。。。
    果然ARDUINO的优点么。。。

    [0] 评论
  • 11楼
    2013-01-25 09:25 手手不乖

    话说在天草私人发布这类信息是违法的吧?

    [0] 评论
  • 12楼
    2013-01-25 09:41 世外竹园

    mark
    感觉好NB

    [0] 评论
  • 13楼
    2013-01-25 09:49 fu-80 DIYER,摄影师,电容技术顾问

    不错,传感器时间长了需要清洁吧·····

    [0] 评论
  • 14楼
    2013-01-25 11:18 叶子疏 微电子专业硕士研究生,DIY爱好者
    引用@手手不乖 的话:话说在天草私人发布这类信息是违法的吧?

    这是个严肃问题233

    [0] 评论
  • 15楼
    2013-01-25 11:48 huhuxiong

    很帅啊,我今天开始准备着手做一个了!跟他学习!

    [0] 评论
  • 16楼
    2013-01-25 11:53 huhuxiong

    开始的两幅图的粉尘传感器用的是韩国的DSM501,后面讲原理时用的才是夏普的粉尘传感器。是不是有点误导?还是我弄错了?求解

    [0] 评论
  • 17楼
    2013-01-25 12:27 Greeny 果壳视频编辑,实验党
    引用@手手不乖 的话:话说在天草私人发布这类信息是违法的吧?

    才不叫“发布”呢,这叫自己看看 XD

    [0] 评论
  • 18楼
    2013-01-25 13:36 四不象

    别的不说,文中的零件淘宝上有得卖么?

    [0] 评论
  • 19楼
    2013-01-25 15:58 回路师
    引用@huhuxiong 的话:开始的两幅图的粉尘传感器用的是韩国的DSM501,后面讲原理时用的才是夏普的粉尘传感器。是不是有点误导?还是我弄错了?求解

    开头的不是DSM501,只有最后一张图是。开头的夏普的另一个型号。而看手册,这篇文章只有插头介绍那里是GP2Y1010AU0F的。

    [0] 评论
  • 20楼
    2013-01-25 15:59 回路师
    引用@fu-80 的话:不错,传感器时间长了需要清洁吧·····


    不需要。探头是上下开窗的,里面还有个发热电阻来保证空气流动。

    引用@四不象 的话:别的不说,文中的零件淘宝上有得卖么?


    不但全都有的卖,还有的选。

    夏普的这个GP2Y1010AUoF 我没查,我手头上有个​韩国的DSM501的,单从外形看应该是一样原理的。原理是测量在LED前飘过的灰尘对光的遮挡量,灰尘越多或者颗粒越大遮挡的就多。随意太小的灰尘就测不到。
    DSM501测量性能是到直径1um以上的灰尘颗粒,输出是30秒内的灰尘等效数量。
    PM2.5是单位体积内灰尘的质量,这个是单位时间内灰尘的数量。

    [0] 评论
  • 21楼
    2013-01-25 16:48 四不象
    引用@回路师 的话:不需要。探头是上下开窗的,里面还有个发热电阻来保证空气流动。不但全都有的卖,还有的选。夏普的这个GP2Y1010AUoF 我没查,我手头上有个韩国的DSM501的,单从外形看应该是一样原理的。原理是测量在LED前飘过的灰尘对光的遮挡量,灰尘越多或者颗粒越大遮挡的就多。随意太小的灰尘就测不到。DSM501测量性能是到直径1um以上的灰尘颗粒,输出是30秒内的灰尘等效数量。PM2.5是单位体积内灰尘的质量,这个是单位时间内灰尘的数量。

    哦,非常感谢,我去瞅瞅

    [0] 评论
  • 22楼
    2013-01-25 18:15 紫潴
    引用@手手不乖 的话:话说在天草私人发布这类信息是违法的吧?


    不至于吧

    [0] 评论
  • 23楼
    2013-01-25 20:14 mikelan

    用这个神器携带毛泽东像飞往钓鱼岛,宣示主权!

    [0] 评论
  • 24楼
    2013-01-25 21:24 YouRaiseMeUp

    传感器比其他的所有加起来都贵,所以说,有钱才玩的好?

    [0] 评论
  • 25楼
    2013-01-26 18:21 落花纷飞

    我曾自己做过黑盒传感器,不加放大的话灵敏度超低啊,10bitAD也不行。最后放弃了,用了MQ-2,便宜实惠。

    [0] 评论
  • 26楼
    2013-01-28 11:45 None

    这个很有必要啊,重学电子电路啊

    [0] 评论
  • 27楼
    2013-01-28 13:55 None

    好高级的样子

    [0] 评论
  • 28楼
    2013-01-28 16:12 氡-222

    果断马克

    [0] 评论
  • 29楼
    2013-01-28 16:21 此人销号
    引用@品倪 的话:好高级的样子

    我记得有更高级的…………
    极客工坊里的:http://www.geek-workshop.com/forum.php?mod=viewthread&tid=297
    这个跟这文章里比,文章的就是渣渣啊,渣的没有可比性啊…………
    功能什么的

    [0] 评论
  • 30楼
    2013-01-28 16:33 从此心安

    不会买,太高端,对于我的生活性价比太低……

    [0] 评论

显示所有评论

你的评论

登录 发表评论

更多科研事,扫码早知道

关于我们 加入果壳 媒体报道 帮助中心 果壳活动 免责声明 联系我们 移动版 移动应用

©果壳网    京ICP证100430号    京网文[2015] 0609-239号    新出发京零字东150005号     京公网安备11010502007133号

违法和不良信息举报邮箱:jubao@guokr.com    举报电话:18612934101    网上有害信息举报专区    儿童色情信息举报专区