Octopus MG811 CO2 ガス センサーは、当社の OCTOPUS シリーズの CO2 電子ブリックであり、外観、PCB 固定穴、および接続の基本設計は、それらのものと同じです。
CO2 濃度が高いほど、出力電圧は低くなります。ユーザーは、パンフレットとコーディング サンプルを確認するだけで、簡単に CO2 値を読み取ることができます。
CO2 プローブは、CO2 に対して高いアレルギー性を持ち、アルコールや CO に干渉しない工業用グレードで作られています。温度と湿度の異なる環境でも、信号増幅回路を搭載した高性能と高速応答を備えています。さらに、オンボードの加熱回路は、5V から安定した 6V 電圧に変換するのに役立ち、モジュールの適応性を直接向上させます。
モジュールは電気化学 CO2 に属し、プローブは作業中に発熱します。怪我をする場合があるため、触れないでください。
プローブが空気中に長時間さらされたために「中毒」になったり、アクティブにするためにさらに 48 時間連続して加熱する必要がある場合に備えて、センサーを使用していない間はシールを保存してください。
MG-811 プローブは電気化学センサーのカテゴリに属します。正確な値を得るには、使用前に動作確認を行ってください。
プローブの動作電圧: 6v
昇圧回路内蔵で入力DC3.7~5V、電流500mA以上に対応。
OCTOPUS 電子ブリック。
簡単接続。
アイテム | パラメーター |
---|---|
名前 | Octopus MG811 CO2ガスセンサー |
SKU | EF04100 |
使用電圧 | DC3.7~5V |
接続モード | G-GND,V-VCC,Sピン信号 |
サイズ | 31×48mm |
正味重量 | 9.6g |
このモジュールは、最高の留め具を備えた Dupont ワイヤーを介して Arduino UNO の A0 に接続します。Arduino メインボードは、追加の接続 (7.5V-9V) で電力を供給できます。
動作の証明
MG-811 プローブは電気化学センサーのカテゴリに属します。正確な値を得るには、使用前に動作確認を行ってください。プローブは、安定した電源を供給した後、自身を加熱します。モジュールを新鮮な空気の場所に置き、48 時間連続して加熱してください。モジュールの出力電圧 (単位: V) を測定し、8.5 で割ります。最終的な値をコードのマクロ定義に入力する必要があります。
#define ZERO_POINT_VOLTAGE (修正: 電圧(V)/8.5)
例: マルチメータでテストされた電圧が 2.4V の場合、2.4/8.5=0.282 を使用し、以下のように修正する必要があります。
#定義ZERO_POINT_VOLTAGE (0.282)
改訂後、Arduinoメインボードにアップロードしてください。これを使用して、独自のプロジェクトをテストできます.
/ * MG-811 ガスセンサーモジュール V1.1 のデモ*
** /
/ **ハードウェア関連のマクロ** /
#define MG_PIN (A0) //使用するアナログ入力チャンネルを定義する
#define DC_GAIN (8.5) //アンプのDCゲインを定義
/ *ソフトウェア関連のマクロ** /
#define READ_SAMPLE_INTERVAL (50) //通常の操作で取得するサンプル数を定義します
#define READ_SAMPLE_TIMES (5) //各サンプル間の時間間隔 (ミリ秒) を定義します
//通常動作
/ **アプリケーション関連のマクロ** /
//これらの 2 つの値はセンサーごとに異なります。ユーザーはこの値を決定する必要があります。
#define ZERO_POINT_VOLTAGE (0.220) //CO2 の濃度が 400PPM の場合のセンサーの出力をボルトで定義します
#define REACTION_VOLTGAE (0.030) //センサーを空気から 1000ppm CO2 に移動したときのセンサーの電圧降下を定義します
/ *グローバル* /
float CO2Curve[3] = {2.602,ZERO_POINT_VOLTAGE,(REACTION_VOLTGAE/(2.602-3))};
//曲線から 2 つの点が取得されます。
//これらの 2 点で、線が形成されます。
//元の曲線と「ほぼ同等」。
//データ形式:{ x, y, 傾き};ポイント1: (lg400, 0.324), ポイント2: (lg4000, 0.280)
//傾き = (反応電圧) / (log400 –log1000)
ボイドセットアップ()
{
Serial.begin(9600); //UART 設定、ボーレート = 9600bps
Serial.print("MG-811デモ\n");
}
空ループ()
{
int パーセンテージ;
フロートボルト;
volts = MGRead(MG_PIN); Serial.print( "SEN0159:" ); Serial.print(volts); Serial.print( "V " ); percentage = MGGetPercentage(volts,CO2Curve); Serial.print( "CO2:" ); if (percentage == -1) { Serial.print( "<400" ); } else { Serial.print(percentage); } Serial.print( "ppm" ); Serial.print( "\n" ); delay(500);
}
/ * MGRead *
入力: mg_pin - アナログチャンネル
出力: SEN-000007 の出力
備考: この関数は、SEN-000007 の出力を読み取ります。
** /
float MGRead(int mg_pin)
{
int i;
フロート v=0;
for (i=0;i<READ_SAMPLE_TIMES;i++) { v += analogRead(mg_pin); delay(READ_SAMPLE_INTERVAL); } v = (v/READ_SAMPLE_TIMES) *5/1024 ; return v;
}
/ * MQGetPercentage **
入力: ボルト - ボルトで測定された SEN-000007 出力
pcurve - 対象ガスの曲線へのポインタ
出力:対象ガスのppm
備考:直線の傾きと点を利用して。 x(ppmの対数値)
y(MG-811 出力) が提供されている場合、行の を導出できます。それは
対数座標。結果を非対数に変換するために 10 の累乗が使用されます。
価値。
** /
int MGGetPercentage(float volts, float *pcurve)
{
if ((ボルト/DC_GAIN)>=ZERO_POINT_VOLTAGE) {
-1 を返します。
} そうしないと {
return pow(10, ((volts/DC_GAIN)-pcurve[1])/pcurve[2]+pcurve[0]);
}
}
シリアル モニターを開くと、5 分後に周囲の CO2 濃度が表示されます。
アイテム | 量 |
---|---|
Octopus MG811 CO2ガスセンサー | 1 |