大家好!今天我想和大家分享我的新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傳感器的基本版本:
附加版本:
之前我寫過這個項目中的主要傳感器是SGP40室內空氣質量傳感器。可以說這是Sensorion公司在市場上推出的一款具有非常好的特性的新品。
傳感器測量總揮發性有機化合物(TVOC)濃度。與該公司以前的SGP30傳感器相比,功耗顯著降低,使用SGP30測量時為48mA,使用SGP40測量時為2.6mA。誠然,以前的傳感器可以提供VOC和CO2等價物的現成值,而新產品提供的原始數據必須在MK端使用傳感器隨附的庫和空氣質量計算算法進行進一步處理。SGP40傳感器數據表。
我不得不修改Adafruit_SGP40庫,以在超低設備功耗模式下使用小電池運行。添加了傳感器加熱器的工作,接收、保存、卸載傳感器快速啟動算法的當前狀態,例如,更換電池后,繞過學習模式。出于某種原因,沒有人對這些時刻感到困惑,我找不到支持傳感器所有功能的現成庫。修改后的庫在我的GitHub上。也許這是因為SGP40是一個相當新的產品。
設備圖:
從傳感器到智能家居系統的數據傳輸基于MySENSORS開源家庭自動化項目。
我將簡要描述傳感器的功能。開啟時,設備嘗試尋找網絡,如果未找到網絡,則設備進入主操作模式,不工作在網絡上(不發送數據),但會定期對網絡進行短搜索請求(~每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)
值變化方向的指示出現在屏幕上每種類型的數據旁邊。
編譯需要的軟件版本,需要配置aConfig.h文件。
傳感器在休眠模式下的平均功耗為33μA(參見SGP40上的數據表),在傳感器讀數和屏幕刷新模式下為4mA(平均),在數據傳輸模式下為8mA(平均),一條消息的傳輸時間為10ms(理想情況下)狀況)。傳感器使用CR2477電池(950mA)工作,設備的平均估計運行時間為1年(取決于固件配置,設備上安裝的傳感器,更多的傳感器將需要發送更多的數據,空中傳輸是主要消費者)。
我在FDM3D打印機上打印了開發的傳感器外殼的模型,以實現或多或少的體面外觀,在打印出車身拋光后。磁鐵可以安裝在外殼內。
項目的GitHub
自述文件包含安裝和配置環境以編輯和編譯傳感器軟件的說明。
開源硬件認證
OSHWAUID:RU000004
-
傳感器
+關注
關注
2553文章
51390瀏覽量
756563 -
DIY
+關注
關注
176文章
888瀏覽量
349236 -
空氣質量監測儀
+關注
關注
0文章
11瀏覽量
7189
發布評論請先 登錄
相關推薦
評論