「Parts:Sensor:MH-Z19C」の版間の差分

提供: robot-jp wiki
ナビゲーションに移動検索に移動
122行目: 122行目:
  
 
'''セルフキャリブレーション'''
 
'''セルフキャリブレーション'''
 +
:{| class="wikitable"
 +
|-
 +
|購入直後の最初の起動時 24時間
 +
条件          常温
  
 +
毎回の起動時      1分(この間は出力データもデタラメな値を示すので破棄する必要がある)
 +
 +
|}
  
 
'''拭き取り'''
 
'''拭き取り'''

2022年9月29日 (木) 10:44時点における版

Name MH-Z19C
メーカー Winsen
Datasheet MH-Z19C

MH-Z19B (Software関連の詳細だけ参照)

Accuracy CO2 ±(50ppm+5%)
Temp ±---℃
3D data f3d(Fusion360), step
Driver mhz19_uart ※ESP32はHardwareSerial-UART2
販売店 日本 秋月電子通商 \2480

Amazon \2799

中国 Aliexpress winsen \2272/5p, \2360/1p

Aliexpress mili technology $15.7/1p

Pin Function

Name Func pin MH-Z19C.jpg pin Name Func
V0 N.C.

内部3.3Vモニタ

1 6 Vin 電源入力

精度保証範囲 5V±0.1V

動作保証範囲 5V±5%

電流 Peak 125mA(2秒に1回)

電流 Average <40mA

Rx UART入力

9600bps

2 7 GND
Tx UART出力

9600bps

3 8 AOT N.C.
SR N.C. 4 9 PWM PWM出力

1秒毎に測定値を出力

ただし測定値は2秒毎に更新される

HD キャリブレーション入力

7sec以上Lowで設定

約400ppm

5

仕様の補足

暖機時間 (Warm-up time)

購入直後の最初の起動時 24時間

条件          常温

毎回の起動時      1分(この間は出力データもデタラメな値を示すので破棄する必要がある)


CO2測定間隔

測定間隔     2秒

PWM出力間隔  1秒 ただし次の測定値が確定するまで前の値を出力する。

デジタル出力  随時 ただし次の測定値が確定するまで前の値を出力する。


セルフキャリブレーション

購入直後の最初の起動時 24時間

条件          常温

毎回の起動時      1分(この間は出力データもデタラメな値を示すので破棄する必要がある)

拭き取り

ケースを拭き取れる溶剤   なし

拭き取り方法        なし

外装の材質         非公開


※メーカーは拭き掃除を許可していない。


部材の情報

ケース               非公開

コネクタ出しタイプのコネクタ品名  非公開

  ※推測:JVT connector


コマンド

コマンドによるキャリブレーション機能入り。

そのコマンド仕様はMH-Z19Bの仕様を参照。


電源電圧

精度保証範囲 5±0.1V
動作範囲 5±0.5V

経験からの対策

ノイズ

症状

ESP32とMH-Z19CをUART&PWMの配線で接続すると、ESP32が定期的にリブートした。
リブートするのは起動から必ず一定の時間になっている。

調査結果

・起動からリブートまでの経過時間:100秒。1秒の誤差もない。
・電流との相関:CO2測定のためのランプ点滅周期とは無関係なタイミングでリブートする。
・Error表示(UART):リブート時のシリアル出力に出るメッセージでは、Flash Readができない記述になっている。
・効果的な対策①:ESP32のTXD端子出口と、ESP32のPWM受信端子に直列に100Ωを入れると問題が消えた。
         反射波が影響している可能性が高い。
・効果的な対策②:ESP32との接続配線を全て外すと問題が消えた。

原因の推測

MH-Z19Cとの通信部分に外部からのノイズが乗りやすい。
MH-Z19Cが不要なノイズを作っている可能性が高い。
Wifi/Bluetoothかもしれない。(使ってないけど)

対策

ノイズが乗っても共振や反射波で誤動作レベルになりにくいように、終端抵抗を入れてみる。
ESP32との通信部分(送信側)の配線は全て両端(ESP32側/MH-Z19C側)に100Ωを入れて反射波を抑える。

結果

この対策で問題が起きなくなった。
※ただし、確認済の機能や評価条件が少ないため、まだ要確認。

電源電圧の低下

症状

MH-Z19C内のランプが光るタイミングで+3.3V電源電圧が約2V付近まで10μs程度の間だけ低下する。
この時の電源はXCL103モジュール(秋月)+入出力に330μF追加。

調査結果

・電圧低下のタイミングは常にランプが光り始める時。
・ランプの駆動は、2秒周期で毎回0.4秒だけ発光する。Max125mA。
・電源モジュールをTDK製のCC10-0505SF-Eに変更するとドロップ時間が200ms程度にまで伸びて悪化した。
・瞬間的な電流消費対策:電源IC(XCL103)の手前にインダクタ100μHを追加すると
 CPU側の電圧ドロップはなくなったが、リブートする症状は改善されなかった。
・入力側に330μH+470μFを追加するとXCL103が起動しなくなった。
 追加条件を変えてみた。100μH+100μF、10μH+100μF、100μF、10μF、100μFこの全てでXCL103は問題なく起動した。
 これより小さい条件であれば問題ない。→10μHが最もドロップ電圧と時間が少なかったため最適。
・PCのUSBポートから電源を取っていたのを、単独USB充電器に変更してみたが、変化なし。
 つまり、PCの電源起因の可能性は低い。
・USBケーブルを15cmまで短くしてみたが、変化なし。

原因の推測

①スイッチング電源は電流0からの応答ではレスポンスが極端に悪化する特性がある。
 その場合、微量な電流を常に流すようにすると改善され、スイッチング周波数が低い方が応答が遅くなり悪化する。
②入出力のコンデンサが大きいとチャージする時間が長くなるため、レスポンスが落ちて戻りにくくなる。
③XCL103の短絡保護回路が働いて出力を止めている。

対策

①漏れ電流:MH-Z19C用の+5V電源(+5VP)にLEDを付けて微弱な電流を流す。
 白LED+100Ωで17.87mA(±5%で 17.13~18.69mA)が常に流れる。
②電流立ち上がりで高周波ノイズを除去しやすいように、
 MH-Z19C手前のパスコン(XCL103出力側)をCE10μF×3に変更してみる。
③入力インダクタ・コンデンサを減らして、安全動作領域になるように変更する。

結果

①(未確認:CE10μFが未納)
②(未確認:CE10μFが未納)
③(未確認:CE10μFが未納)

参考資料

他のCO2センサーとの比較表  https://canair.io/docs/co2_comparative.html

販売店

秋月電子通商 2480円

Winsen社製品の正規取り扱い店。

長期供給保証なし。在庫のみ。量産非対応。

技術サポート不可。(技術サポートは中国Winsen社が担当)

注意事項


戻る

Aliexpressに類似品が多く出回っている。仕様が全く異なるため要注意。

Winsen製であっても似たパッケージ・似たSPECが多い。

購入時には、pinタイプ/コネクタタイプ、測定範囲(400-5000ppm / 400-2000ppm)を選ぶ。

ただし、コネクタの品名は非公開。