3種の異なるCO2センサーの値を比べてみた

3種類の異なるCO2センサーを試用できる機会があったので、試しに同じ場所へまとめて設置してみたところ、それぞれ違った値が検出される様子を観察しました、というレポートです。

比較対象

センサーA

スイッチサイエンスさんで販売されているTVOC/eCO2 ガスセンサユニット(SGP30)をM5Stack Basicに接続し、サンプルコードをほぼそのまま書き込んだものです。風通しの良い窓際に置いてキャリブレーションしてから使います。

「ほぼそのまま」と表現したのは、センサー値をシリアル通信でパソコンへ送るコードをサンプルに足したためです。eCO2の値はセンサーAと繋がっているパソコンからAmbientへ送ってグラフ化できるようにします。

センサーB

スイッチサイエンスさんで販売されている M5Stack用CO2モニターキット をマニュアルどおりに組み立ててM5Stack Basic に接続し、サンプルコードをほぼそのまま書き込んだものです。 風通しの良い窓際に置いてキャリブレーションしてから使います。

「ほぼそのまま」と表現したのは、センサー値をシリアル通信でパソコンへ送るコードを少し書き換えたためです。 CO2の値はセンサーBと繋がっているパソコンからAmbientへ送ってグラフ化できるようにします。

センサーC

株式会社リンクジャパン製の「eAir」という製品をそのまま使っています。HomeLinkというスマートデバイスアプリでCO2センサー値をグラフ表示できます。

実験構成

次の構成で2021年10月8日(金)~11日(日)の3日間某所で動かしたデータを取得します。

結果

左から順にセンサーA、B、Cのグラフです。センサーA・BはAmbientで表示したグラフ、センサーCは専用アプリ(HomeLink)で表示したグラフです。

センサーAは、センサーB・Cとまったく違う動きをしている様子が見えます。また、CO2濃度の下限値は400ppmで張り付いています。

センサーBとCはグラフの形が似ているものの、検出される値が約140ppmほどずれています。

考察

3種類のセンサーの仕様を調査すると、センサーB・Cはどちらも非分散型赤外線吸収方式(NDIR方式/2波長)でCO2を検出している一方、センサーAのみ異なる方式(エタノールとH2濃度からeCO2濃度を計算)を利用していることがわかりました。センサーAのグラフが他と異なる動きをしているのは検出方法の違いの影響かもしれません。

センサーAの検出するeCO2値の下限が400ppmに張り付いているのは、センサーAに搭載されている具体的なCO2センサー部品(SGP30)の仕様です。

センサーBとCとの値が約140ppmずれている点については単純にセンサーの特性の違いで生じているものだと考えています。例えばセンサーBに搭載されている具体的なCO2センサー部品(SCD30)の仕様では精度が「±30ppm+3%」と記載されており、個体によって多少値がずれることはあり得ます。

センサーB・Cにはそれぞれ基準値の調整(キャリブレーション)機能がありますから、調整して使うものだということでしょう。

まとめ

本稿では3種類のCO2センサーを同じ場所で3日間連続運転させた場合のCO2濃度のグラフを観察し、センサーごとの特性の違いについて考察しました。

コロナ禍による換気促進のためCO2センサーに関する関心が高まっていますが、検出される値が絶対に正しいと無条件に信用することは本稿の実験からも控えるべきだと考えられます。製品に基準値補正の仕組みがあれば適切に活用してゆきましょう。

またもし室内に複数のCO2センサーを設置する場合、全体として正確な状況を掴むためにはなるべく同じ機種・検出方法で統一したほうが良さそうです。