CO2濃度計の改修計画 08【センサの追加調査】
はじめに
・投稿が長くなってきたため、過去の記事は抜粋します。過去の記事を参照願います
・CCS811の値は、今使っているSenseair製センサーの値より高くなっており、
うまく扱えません。有望であるENS160を追加調査しましたが、使えないようでした。
・Senseair製センサーと同じ方式のSensirion製のSCD30を使って見た内容を記載します
ちょっとだけ廉価版
ハード
・すべてAliExpressで揃えました
・配線図
ソフト
・開発環境
・ライブラリー
OLEDディスプレイ Adafruit_SSD1306
センサー SparkFun_SCD30_Arduino_Library
・ソース
GitHub - jshigu/CO2_XIAO_RP2040_SCD30
センサ調査
SCD30にします(3月29日)
・NDIR【Non Dispersive InfraRed(非分散型赤外)】方式のセンサーにしました
I2C(SCL,SDL,VDD,GNG)で接続します
下記図の右上には、RH/Tセンサーがあり、温湿度も測定できます
・CO2と温度の校正(4月7日:追記)
-
-
if (airSensor.dataAvailable()) {// FRC 強制リキャリブレーション//SCD30内の不揮発メモリに測定インターバル(sec)を保存しますairSensor.setMeasurementInterval(5);//FRCでは現在のCO2値が分かっている場合、センサにCO2濃度を伝えることで、補正されるairSensor.setForcedRecalibrationFactor(900);
//不揮発メモリに温度補正値(deg)を保存します////SCD30内の不揮発メモリから温度補正値(deg)を取得float SCD30_HoseiOld = airSensor.getTemperatureOffset();float SCD30_tempNow = airSensor.getTemperature(); //SCD30の表示温度float SCD30_HoseiNew = (SCD30_tempNow - 20.8) + SCD30_HoseiOld;airSensor.setTemperatureOffset(SCD30_HoseiNew );Serial.printf("SCD30_HoseiOld:%.3f tempNow:%.3f SCD30_HoseiNew:%.3f",SCD30_HoseiOld, tempNow, SCD30_HoseiNew);}
-
・量産するなら、C言語で下記の Interface_Description を参考に作ります
-
-
昔は、測定器のデータをパソコンにキーボード入力として取り込むために、120円くらいのPICマイコンを使い、アセンブラで作っていました。(ちょっと自慢)
sensirion.com
-
ENS160はCO2意外にも反応(3月15日)
・このCO2センサーは、寝室や浴室、キッチンやレストランでの調理臭など、
不快な臭いやバイオエフルエントをも検知します
・あらためて、30時間記録した結果、自分の思うとおりの結果が出ないので不採用
・ここまでの結果は、めぼしいものがなかったので、新たにSCD40を購入して確かめます
廉価版CO2センサー調査(3月6日)
調査センサの選定
・まだ他にも候補があると思うので、良さそうなものが見つかったら調べます
・配線はI2C接続で1個づつ調べます
マイコンはバッテリ駆動やBLE通信をしたかったため、Seeed XIAO BLE Sense
nRF52840を選びました
BMP280 温度、大気圧
・BMP280はBME280と同じプログラムで動作しますが、
湿度データレジスタ(0xFD〜0xFE)のデータを取得できません
シリアルプロッタで表示しやすいように、気圧は1,000引いています
BME280 温度、湿度、大気圧
・シリアルプロッタで表示しやすいように、気圧は1,000引いています
ENS160+AHT21 温度、湿度、CO2
・シリアルプロッタで表示しやすいように、CO2の値を1/10に縮小しています
CCS810 CO2
・上記配線間違いがあります。ADDをGRNは間違い。正しくはWAKをGRN
安価なCO2センサが無い
・今使っているSenseair製センサーの値より、CCS811の値が高く、
ens160の値が低くなっています。
・廉価版CO2センサーの選定に迷っています。さらに調査を進め報告します。
以上。中間結果の報告となります
基板に組み付け (2025-3-2追記)
・廉価版のCO2センサーが届くのに時間がかかるため、
ブレッドボードで動作確認したものを基板に組み付けます
工作 RP2040
・基板を切断(2025-2-21追記)
1年前なら会社の基板切断機で簡単にカットできましたが、定年退職したので、
自宅でノコギリとヤスリを使い、ボチボチカットしました
回路図
裏から配線するため、ミラーをかけてみました
基板へ組み付(2025-2-27追記)
スルーホール基板への裸電線配線のハンダ付けが汚いので、遠目で見てくださいね
経歴
1号機 ESP32 38Pin
<回路図> 上記記事からの引用です。ともふみさん ありがとうございます
<実機> ソフトは2号機と同じです。液晶(OLED)は新品に交換済みです
2号機 ESP32 30Pin
<回路図> 30Pinしたのは安かったからです。技術的な理由はございません
<実機> テストのみ実施しました
3号機 RP2040 14Pin
<回路図> マイコンをXIAO RP2040にしました。アリエクで2個送料込みで2129円
<実機> ブレットボードでのテスト写真
以上。これからもよろしくお願いします