「えだまめ」しているラズパイ

30年ぶりに半田ごて握ってラズパイ勉強中。

CCS811・BME280・BH1750を使ったCO2データロガーの製作(2) 回路の動作実験

◯やりたいこと

(1)で作成した回路をブレッドボード上に組み、とりあえずセンサーで実際に測定してみる。

◯やったこと

・CCS811モジュールの準備

今回はCCS811モジュールとして動作電源が 5Vのタイプと

チップ端子が直接出力されていて 3.3V動作用タイプの

2つを準備しました。5V動作用のモジュールはarduino用として売っていたものですが、パターンを追ってみるとレギュレータを通して内部 3Vで動作しており、単に出力信号線を 5Vへプルアップしているだけのいわゆる 5Vトレラント回路となっていました。そのためレギュレータのドロップアウトを考えてもなんとか 3.3Vで動作させる事が出来そうな感じでしたので、どちらも同じ回路で実験してみる事にします。

・実験回路組立て

いつも通りブレッドボードに実験する回路を組んでいきます。
まずは(1)で実験済のリセット回路と配線。

その上にCCS811 とOLED、

ESP-WROOM-02

BME280をセットすると

組立てが完了です。

・動作確認

実を言うとうまく動作するまでには相当苦労させられました。何たってライブラリに付属しているサンプルスケッチではうまく動作してくれなかったのです。WDTを利用したハードウエアリセットを多用するスケッチなのですがどうもバグが潜んでいるようです。困ったもんです。

先輩諸氏の組まれたスケッチやライブラリを読み込んであーでもないこーでもないとあちこちいじり回しやっと動作した写真がこちら。

deepSleepせずに 1分おきにループして測定を続け、データをOLEDに表示・WiFi送信するという単純なスケッチでついに測定に成功しました。

グラフは夜0時過ぎから測定を開始し、朝起きて足元が寒かったのでカセットガスストーブを焚いて消すまでのデータを記録しています。記録されたCO2濃度は概ねその行動パターンに追付いしていますので無事動作しているのは間違い無いでしょう。

起動から2分間の電流波形は

となっており、起動時にWROOM02がフルで電流を消費、その後CCS811が起動してさらに消費電流が増えています。一定時間経過後 wroomが MODEM_SLEEPに入ると消費電流が約 50mAへと減少し WiFi接続継続用に瞬間的に消費電流が増えるというパターンを繰り返しています。

ちなみに電源投入時には 342mAを記録しており、

コンデンサの突入電流も加味されているとはいえ電源周りをしっかりと組む事を改めて意識です。

◯やってみて

とりあえず CO2測定には成功しましたがこのままでは消費電力が大きくとても電池動作というわけにはいきません。USBから給電しながら電池も充電しながらという事で電源周りの回路追加は必須な様です。省電力化という事でCCS811 の立ち上げまわりのノウハウ取得もいろいろと実験で確かめていく必要がありそうです。今回も少々長丁場になりそうです。

・その後の測定1

午後の部屋のCo2変化グラフ。

部屋に人が入るとポンとCO2濃度が上がりますが、その後不在になると24時間換気の影響で徐々に濃度が下がっていきます。3山目以降は複数人が部屋に常にいたため濃度上昇度合いが高くなっていますがやはり換気の影響で徐々に濃度が下がっていきます。24時間換気ってしっかり活躍しているんですね。

最後の大きな山は台所で夕食の準備が始まった時。急激に濃度が上昇し調理中は高濃度を維持しています。IHなのでガスは出ないはずなんですが食材からでもVOCが出ているんでしょうか。
とはいえ調理後は順調に濃度は下がり、途中換気扇をつけたところ下がり方が急になって 1時間で900ppmほど下げています。さすが換気扇。ただ温度も 0.5℃ほど下がり足下がスースーしたのも事実ですが…。
まだ実験段階ですが、面白いデータが取れてます。

ちなみに電流計の測定精度を下げ(16Bit->14Bit)、サンプリングレートを60SPSに上げた電流計でプロットした電流グラフ。

ふむふむ、なるほど…。
スケッチのバグを発見です。