DIY一个开源的空气质量监测仪

描述

大家好!今天我想和大家分享我的新DIY项目。它是一个开源的空气质量传感器。

该项目使用了Sensorion的新产品-TVOC传感器SGP40。同时使用了2.13英寸电子墨水显示屏。由于我们现在待在家里的时间更多,因此我制作了这个空气质量监测仪。

除了评估空气质量外,传感器还可以估计室内光线水平、温度、湿度和大气压力,根据大气压力数据,设备可以预测天气预报。

该传感器适用于nRF52微控制器,已经为来自不同制造商的nRF52无线电模块开发了4个版本的pcb。一个主要版本和三个更多扩展版本(解释将在文本稍后部分)。

项目中使用的无线电模块型号:主MINEWMS88SF3(nRF52833、nRF52840)、附加:MINEWMS50SFA1(nRF52810、nRF52811)、MINEWMS50SFA2(nRF52832)、EBYTEE73-28RFC3040

传感器室使用的传感器(nRF52833、nRF52840)用于VOC测量的空气质量传感器-SGP40,压力、温度和湿度传感器-BME280,照度传感器MAX44009。

稍后,由于电子元件的生产出现问题以及许多元件的价格上涨令人难以置信,项目中增加了BMP280和SHTC3传感器,它们在功能上可以替代BME280传感器。为此,对电路板进行了三个额外的修改,还增加了对附加无线电模块的支持,增加了极性反转保护,并改进了电路板的设计。

该设备可以在屏幕上显示数据并将数据传输到智能家居系统,它也可以在“离线”模式下工作。

为了显示信息,使用了WaveShare的超低功耗2.13英寸电子墨水显示屏。

显示特性:

分辨率:250x122

工作温度范围:0-50C

运行消耗:3mA

深度睡眠消耗:1μA

最小屏幕刷新时间:0.3秒。

后面我计划将该项目增加对工作温度为-20C~60C的DESe-Ink2.13显示器的支持。

PCB传感器的基本版本:

DIY

附加版本:

DIY

之前我写过这个项目中的主要传感器是SGP40室内空气质量传感器。可以说这是Sensorion公司在市场上推出的一款具有非常好的特性的新品。

传感器测量总挥发性有机化合物(TVOC)浓度。与该公司以前的SGP30传感器相比,功耗显着降低,使用SGP30测量时为48mA,使用SGP40测量时为2.6mA。诚然,以前的传感器可以提供VOC和CO2等价物的现成值,而新产品提供的原始数据必须在MK端使用传感器随附的库和空气质量计算算法进行进一步处理。SGP40传感器数据表。

DIY

我不得不修改Adafruit_SGP40库,以在超低设备功耗模式下使用小电池运行。添加了传感器加热器的工作,接收、保存、卸载传感器快速启动算法的当前状态,例如,更换电池后,绕过学习模式。出于某种原因,没有人对这些时刻感到困惑,我找不到支持传感器所有功能的现成库。修改后的库在我的GitHub上。也许这是因为SGP40是一个相当新的产品。

设备图:

DIY

从传感器到智能家居系统的数据传输基于MySENSORS开源家庭自动化项目。

DIY

我将简要描述传感器的功能。开启时,设备尝试寻找网络,如果未找到网络,则设备进入主操作模式,不工作在网络上(不发送数据),但会定期对网络进行短搜索请求(~每2小时一次)。SGP40传感器的轮询间隔为3秒,每1分钟进行一次剩余传感器的读取、数据的发送和屏幕刷新(在主模式下)。当空气质量水平(TVOC)数据变化10个单位、温度变化0.5C、湿度变化5%、压力变化1个单位时,当光照变化10勒克斯时,刷新屏幕并发送数据(如果网络可用)以及更改天气预报时。

还有一个额外的子程序,用于在TVOC水平急剧上升30个单位时更新屏幕和发送数据,检查间隔为每6秒。

设备第一次开机时,进行空气质量计算算法的训练周期;在我的实施中,最长培训时间为12小时。学习后,传感器开始将算法的当前状态以四小时的间隔保存在MC的内存中。设备重启时,设备关机后恢复运行时,更换电池时,检查算法状态记录是否存在,如果有,则卸载这些数据,设备跳过12小时的学习期。

该设备有一个“菜单”按钮。“菜单”按钮的可用功能:1.屏幕反转,2.发送演示,3.进入配置模式(通过无线电接收外部命令,4.搜索网络,5.重置设备。

此外,除了“菜单”按钮外,传感器还可以通过来自智能家居系统界面的外部命令进行配置。为此,通过按“菜单”按钮激活所需的菜单项“传感器配置”。激活配置模式后,传感器将进入监听模式20秒。命令必须在此时间间隔内发送。外部命令可以设置电池检查间隔,改变屏幕信息显示的反转,选择操作模式:LP(每3秒读取一次SGP40传感器)或ULP(每5秒读取一次SGP40传感器)。

传感器可以分析大气压力数据并根据它计算天气预报,将天气预报数据显示在屏幕上,并将这些值发送到智能家居系统。天气预报计算算法说明-(NXPApplicationNote3914|JohnB.Young)

值变化方向的指示出现在屏幕上每种类型的数据旁边。

DIY

编译需要的软件版本,需要配置aConfig.h文件。

传感器在休眠模式下的平均功耗为33μA(参见SGP40上的数据表),在传感器读数和屏幕刷新模式下为4mA(平均),在数据传输模式下为8mA(平均),一条消息的传输时间为10ms(理想情况下)状况)。传感器使用CR2477电池(950mA)工作,设备的平均估计运行时间为1年(取决于固件配置,设备上安装的传感器,更多的传感器将需要发送更多的数据,空中传输是主要消费者)。

DIY

我在FDM3D打印机上打印了开发的传感器外壳的模型,以实现或多或少的体面外观,在打印出车身抛光后。磁铁可以安装在外壳内。

DIY

项目的GitHub

自述文件包含安装和配置环境以编辑和编译传感器软件的说明。

开源硬件认证

OSHWAUID:RU000004

DIY

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分