空气净化器 +关注 已有0人关注 +发表新主题
活得精彩

高级手机控

  1. 276 积分
  2. 269 经验
  3. 0 贡献值
Ta的主页 发消息
签到
连续0天
0人
签到看排名
扫码下载App
一键签到 升级加速
小米空气净化器FAQ汇总
回复

【申精-小米社区首发】一二代净化器传感器为激光传感器设计教程

发表在 使用教程 01-10 23:03:51  来自PC 复制链接 手机看帖扫一扫!手机看帖更爽 12 295

希望版主可以设置精华或置顶,让更多米粉可以看到,谢谢!楼主是一名玩家,不是职业卖家!


小米社区——活得精彩原创首发——转发请注明原作者,谢谢!  

楼主联络方式 QQ:3720300



(文字较多,请大家耐心看完)

背景:

早在小米一代和二代设计初期,国内还没有普及激光颗粒物传感器,所以当初小米的老款净化器均是采用的红外粉尘传感器,如小米一代使用的是夏普GP2Y1051红外粉尘传感器,小米二代使用的是神荣PPD42N红外粉尘传感器。这两款传感器均是采用被动风道设计,本身没有风扇引入空气到传感器内部,而是依靠空气的自然流动进行数据采集,并不是恒流检测,如果空气的流动性不好的话,容易造成检测灵敏度偏差较大。同时,红外粉尘传感器在出厂前均没有进行实际的标定。标定:主要是指使用标准的计量仪器对所使用仪器的准确度(精度)进行检测是否符合标准,一般大多用于精密度较高的仪器。标定也可以认为是校准。因此,也可以认为标定包含以上两方面的意思。——以上注释引用百度百科)


小米在使用未经标定的传感器时,需要进行逐一标定,而熟悉计量法的朋友应该都知道,标定过程是痛苦和漫长的过程,一般都会存在合理的计量偏差,所以任意两台机器放在相同环境下检测的数据几乎都不会100%一致的。有很多朋友反馈说家里有多台净化器或者检测仪,为什么数据不一致?这实际上就是偏差造成的,在一定范围内的偏差量,也是被计量部门认可的。


因为红外粉尘传感器本身设计的原因,导致检测灵敏度不足,或偏差较大,所以小米在开发2S的时候,就用激光颗粒物传感器替换了红外粉尘传感器。而当时,国内的激光颗粒物传感器也逐渐进入市场,代表的品牌有攀藤、炜盛、益杉、诺方、云彤科技等多家产品,这其中,北京攀藤科技被绝大部分客户熟知,而小米在新的净化器设计上则选用了攀藤科技的G7系列(最大特点:体积小巧,容易集成)彻底替换了原来的红外粉尘传感器。


与原先的红外粉尘传感器不同的是,激光颗粒物传感器均采用了主动恒流送风设计,由一个独立的恒流风扇提供每分钟100ml流量的空气进入传感器内部进行检测。同时发光装置也升级为激光二极管,发光更集中稳定,而接收装置也升级为专用的硅光电池,并在电路设计上采用了多级运放提升检测信号能力,并采用米氏算法对采集的数据进行分析计算,结合对标TSI设备进行了PM2.5浓度的数据标定。所以,激光颗粒物传感器的同批次一致性和稳定性均优于红外粉尘传感器,输出的PM2.5浓度数据可以免用户标定,直接用于数值显示或控制其它被控设备。


设计想法由来:

新的产品更换了激光传感器之后,客户普遍反馈比一代和二代的老款检测效果强大了,但是老款净化器,小米并没有推出可以升级的替换装置。为了让一代和二代净化器机主能够享受和新产品一样灵敏的、稳定的检测效果,楼主在充分研究了夏普GP2Y1051红外粉尘传感器和神荣PPD42N红外粉尘传感器的规格书,并结合自己的设计经验,独立自主的开发出了一套可以无缝替换原装红外粉尘传感器的升级板,为了让更多的一代和二代机主能够更新换代,享受更好的检测灵敏度,楼主特别在小米社区首发升级板的设计制作教程,希望老机主们都可以动手升级自己的净化器。(在此特别强调的是,小米社区的另一位卖家Samo-air在楼主的另外帖子说楼主是抄袭他的产品,是不靠思考全靠抄,我想说的是,如此低端的设计根本不值得我去抄袭,Samo-air卖家完全高估了他的设计能力,所以在小米社区,我愿意公开我的设计方案和设计要点,供各位米粉参考)


设计思想概述:

要设计一款可以直接替换小米原装传感器的升级板,那么首先必须知道原装传感器的数据输出方式,并保证设计出来的升级板输出的信号与规格书一致,这样才能无缝替换。

首先,我们先看一下小米一代原装传感器夏普GY2P1051和二代神荣PPD42N的规格书


(下图为夏普GP2Y1051传感器的部分规格书截图)

根据夏普GP2Y1051规格书我们可以得知,PM2.5的浓度是和输出电压呈现一定的线性关系,并将电压值换成成一组串口数据发送给小米净化器主板,最终由小米完成pm2.5数据的转换,那么在编写程序的时候,只要根据规格书的要求输出对应格式的串口数据就能够被小米识别。


(下图为神荣PPD42N传感器的部分规格书截图)


根据神荣PPD42N规格书我们可以得知,PM2.5的浓度是在一个计时周期中,低电平的持续总时间在计时周期中的占比比例和pm2.5浓度呈现一定的线性关系,那么只要将采集到pm2.5数据转换为对应的低电平信号发送给小米净化器主板,最终由小米完成pm2.5数据的转换,那么在编写程序的时候,只要根据规格书的要求输出对应周期的低电平信号就能够被小米识别。需要特别注意的是,根据规格书的要求,一个计时周期是30秒,所以小米二代的相应速度会相对比较慢,并不能实时快速的显示当前的pm2.5浓度,需要一个约30秒的稳定周期。


这部分说明书可能大部分米粉看不懂,但是最起码知道一些简单的数据格式和数据特性。那么楼主就是依据这些规格书的要求进行输出信号的转换。


由于激光颗粒物传感器的输出数据并不能直接用在小米一代或者二代净化器上,所以我们需要一个信号转换过程。那么所谓的升级板实际上就是实现一个信号采集转换的功能,首先采集激光颗粒物传感器的数据,并根据一定算法转换成能够被小米一代和二代净化器识别的信号。


升级板工作步骤流程:

1、通电,初始化;

2、采集激光传感器数据;

3、通过拟合公式转换夏普和神荣格式数据;

4、转换后信号输出;

5、不断重复2~4步过程;


升级板电路设计构思:

1、符合EMI设计要求,所有电源处进行退耦设计,防止电源信号干扰传感器信号;采用104+106电容组合的方式过滤线路中的高低频信号;

2、单片机与激光颗粒物串口电平匹配,根据激光颗粒物规格书的要求,供电电源为5V,但是串口信号为3.3V,所以给单片机的供电也必须调整为3.3V,这样电平匹配,不容易引起信号的干扰,造成误读数,降压方案可以采用1117 LDO降压的方式进行,同时还可以满足无线模块3.3V 100ma负载能力的要求;

3、激光颗粒物传感器由于目前存在8P和10P两种常规接口,所以都必须考虑兼容,设计了双接口;

4、无线收发模块设计,考虑到有的米粉家里有多台净化器,本着共享节约的精神,追加了无线收发功能,用一个颗粒物传感器即可实现多台净化器的信号共享,需要重点注意的事,无线模块必须采用3.3V供电,而根据无线供电模块厂家的宣传,可以实现视距120米的无线通讯,足够满足一般家庭的使用;

5、转换信号输出接口,兼容夏普和神荣,同时输出两种不同的信号,既可以在一代上使用,也可以在二代上使用;

6、本着实事求是的精神,输出的信号未经任何人为放大修改,激光颗粒物传感器原生输出的是什么浓度数据,转换的就是对应的浓度数据;

7、不搞什么国标美标的说法,就pm2.5浓度数据而言,本身就没有什么国标美标的说法,具体的文献可以参考《HJ-633》标准文件;

8、PCB布线整洁美观,走线线径一致,避免线径粗细不一造成天线效应,产生额外干扰。


软件设计:

采用了开源的Arduino编程框架进行整体程序的设计,结构简单。

程序编写过程就不一一概述了,感兴趣的米粉可以自行研究一下,不是很难。主要就是一个数据的转换输出,出于对知识产权的尊重,楼主并不会公开这部分代码,但是硬件设计图纸已经开源,在楼主的另外一个主题帖里可以直接下载学习并优化。


链接地址:http://bbs.xiaomi.cn/t-14109963


以上,多谢大家耐心看完!同时也希望版主可以设置精华,让更多人看到学习到,谢谢!




扫描二维码,手机查看本帖
发表
最新评论 | 正序排列
1 条评论被过滤    只看楼主|楼层直达:
回复