
エンジニアリング
自作 CO₂ 空気品質モニター
キーホルダーサイズ・約30ユーロのCO₂モニター。市場調査から初めての基板設計、Sensirion SCD40/41の光音響センサと低消費電力STM32 L0を平均265µAまで追い込むまで、失敗も含めた記録。
- engineering
回路より先に、市場から始める
回路図を引く前に、そもそもこの製品を作る意味があるのかを問うところから始めました。 条件は、高性能なセンサを使うこと、電池で動くこと、キーホルダーに付くくらい小さいこと、 3か月は充電不要なこと、測定間隔は1〜20分であること。市販のCO₂モニターは30〜60ユーロで 売られていますが、電池での動作は1日程度、大きさはメガネケース並み——つまり隙間が ありました。友人への定性的なヒアリングと、工科大学での45件の回答によるアンケートから、 関心はほどほどにあり、狙うべきは20ユーロ・車の鍵ほどの大きさだと分かりました。 革命的な製品ではない、と記事ははっきり認めています。
センサ、バス、そして初めての基板
Sensirion SCD40/41は光音響分光でCO₂を測定します。CO₂の吸収帯に合わせた赤外光が分子を 励起し、その結果生じる圧力振動をチャンバー内の微小なマイクが拾う仕組みです。周辺では I2Cがセンサを、SPIが電子ペーパー画面とSDカードをつなぎ、それぞれの電源を PMOSトランジスタでゲートすることで待機時の消費電流をほぼゼロに近づけています。 マイコンはSTM32 L0。最初に起こしたPICの基板は、書き込み器が100ユーロすることが分かり 断念しました。基板はKiCadでパネライズし、100×100mmの1回の発注に複数枚を収めています。
失敗が教えてくれたこと
記事は自分のミスを赤字で強調しています。最初の基板ではI2Cのプルアップ抵抗を入れ忘れ、 細い線で後付けするはめになり、さらにその抵抗が常時電流を漏らしていると分かってからは、 センサ電源のPMOS出力側へ配線し直しました。ファームウェアはSTM32CubeIDE上の素のCで、 Arduinoのライブラリと電子ペーパーのデータシートを参考にした自作ヘッダを使い、表示用の 画像はImageMagickの1行スクリプトで生成しています。シャント抵抗と高精度ADCによる テストベンチで、10分ごとの測定時の平均消費電流を265µAまで追い込みました。 致命傷は電源で、50mAhのCR1225コイン電池では持ちませんでした。V1は製品ではなく学習用の 試作機です——V2では充電式リチウム電池、充電IC、USB-Cへ移行します。