はじめに
M5Stack社 よりMQ-5 可燃ガス検出ユニットが最近発売されました。このガス検出ユニットはセンサー部分を取り換えることが可能なため、MQ-2、MQ-3、 MQ-7、MQ-135などの他のMQシリーズのセンサーを簡単に取り扱う事ができるようです。以前、私もMQ-3でアルコール検出を試してみましたがガス検出って面白いですよね?早速購入してみました。

MQガスセンサーシリーズ
ガスセンサーとしてMQシリーズは良く耳にするのですが、どのセンサーが何のガスを検出するのか整理してみました。
MQシリーズガスセンサー 一覧と特徴
品番 | 検出対象ガス | 主な用途・特徴 |
---|---|---|
MQ-2 | LPG、プロパン、メタン、アルコール、煙 | 家庭用ガス漏れ警報器、煙探知機。多用途で初心者向け。 |
MQ-3 | アルコール、エタノール、ベンジン | 飲酒検知器、アルコール濃度測定。アルコールに高感度。 |
MQ-4 | メタン、LNG | 天然ガス漏れ検知。メタンに特化。 |
MQ-5 | LPG、天然ガス、都市ガス | プロパン・メタン両方に高感度。家庭用・産業用ガス警報器に使用。 |
MQ-6 | LPG、ブタン | LPGに特化した高感度センサー。 |
MQ-7 | 一酸化炭素(CO) | CO警報器、室内空気質モニタリング。 |
MQ-8 | 水素(H₂) | 水素漏れ検知。燃料電池関連の安全対策に。 |
MQ-9 | CO、一酸化炭素、可燃性ガス | COと可燃性ガスの両方を検出可能。複合用途向け。 |
MQ-135 | アンモニア、硫化水素、ベンゼン、煙、CO₂ | 空気質モニタリング。VOCや有害ガスの検出に対応。 |
MQ-131 | オゾン(O₃) | オゾン濃度測定。環境モニタリングや殺菌用途に。 |
MQ-136 | 硫化水素(H₂S) | 腐敗臭や工業排気の検知。 |
MQ-3はアルコールを検出するセンサーとして一般的ですし、MQ-136はマンホール内での硫化水素検出用に使用すれば、人命にかかわる事故を防ぐことができるかもしれませんね。ただし、先に述べたようにガスセンサーの動作チェックは一般家庭では危険なため難しく、また、センサーも物理的なものであるがゆえに故障することもあり、命に関わる様な極めて重大な事象や信頼性を必要とする場面では高精度な複数個のセンサーを使用してガス検出の確かさを高めることも大切なことではないでしょうか。
共通仕様(多くのMQシリーズに共通)
- 検出原理:SnO₂(酸化スズ)を用いた半導体式
- 動作電圧:5V(ヒーター電圧とループ電圧)
- 出力:アナログ電圧(ガス濃度に比例)
- 予熱時間:24〜48時間(安定動作のため)
- 使用環境:室内、非腐食性環境推奨
MQシリーズのガスセンサーではSnO₂(酸化スズ)が使われているので、なぜSnO₂(酸化スズ)が良く使われるのかと言うと、物理化学的特性がガス検出に非常に適しているからだそうです。
以下、検出原理やなぜ色々なガスをSnO₂(酸化スズ)を使えば検出できるのか知りたくなったので、少し調べてみました。
酸化スズ(SnO₂)によるガス検出の原理
1. 基本構造と役割
- センサー内部には加熱用ヒーターと感応層(SnO₂)が配置されています。
- ヒーターにより感応層が約300〜400°Cに加熱され、化学反応が活性化されます。
2. 清浄な空気中での状態
- 空気中の酸素分子(O₂)はSnO₂表面に吸着され、電子を奪って負の酸素イオン(O⁻, O₂⁻)として存在します。
- この吸着により、SnO₂の表面近傍では電子が減少し、抵抗値が高くなる(導電率が低下)。
3. 可燃性ガスが存在する場合
- メタン(CH₄)やプロパン(C₃H₈)などの還元性ガスがセンサー表面に到達すると、次のような酸化反応が起こります:
CH₄ + 4O⁻ → CO₂ + 2H₂O + 4e⁻
- この反応により、電子がSnO₂に戻されるため、導電率が上昇し、抵抗値が低下します。
反応するガスを変える主な方法
1. 触媒の添加(ドーピング)
- SnO₂単体では多くの還元性ガスに反応しますが、特定の触媒(金属)を加えることで選択性が向上します。
- 例:
- Pd(パラジウム):メタンやプロパンに対する感度向上
- Pt(白金):水素や一酸化炭素に対する選択性向上
- Au(金):アルコールやVOCに対する応答性改善
2. 動作温度の制御
- ガスごとに反応しやすい温度帯が異なるため、ヒーター温度を調整することで感度を変えることができます。
- 例:
- 一酸化炭素(CO):約150〜200°Cで高感度
- メタン(CH₄):約300〜400°Cで高感度
- MQ-7などは周期的にヒーター温度を切り替えることでCOと他のガスを識別しようとします。
3. 感応層の構造制御(粒径・表面形状)
- SnO₂の粒子サイズや結晶面の制御により、ガス分子の吸着・反応性が変化します。
- ナノ粒子化や多孔質構造にすることで、特定ガスの拡散・反応を優先的に促進できます。
4. 選択膜やフィルターの追加
- センサーの前面に物理的・化学的フィルター膜を設けることで、特定のガスのみを通過させることが可能です。
- 例:
- 活性炭膜:VOCを吸着し、アルコールのみ通過
- シリカゲル膜:水分を除去し、乾燥ガスのみ検出
MQシリーズでの実装例
モデル | 主な検出ガス | 特性変更の要因 |
---|---|---|
MQ-2 | メタン、LPG、煙 | 多用途型、触媒なし |
MQ-3 | アルコール | Pt系触媒添加 |
MQ-4 | メタン | SnO₂純度調整+温度制御 |
MQ-7 | 一酸化炭素 | ヒーター温度切替制御 |
MQ-135 | VOC、NH₃、CO₂ | 多孔質構造+選択膜 |
今回使用するMQ-5とは
前置きが長くなりましたが、MQ-5について、センサーの発売元であるWinsen社のWEBサイトによると次のような説明がされています。
- MQ-5 ガスセンサーの感応材料は SnO2 で、清浄な空気中では導電率が低く、対象の可燃性ガスが存在する場合、ガス濃度の上昇とともにセンサーの導電率が高くなります。
- ブタン、プロパン、メタンに対して高い感度を持ち、メタンとプロパンを同時に検出できます。さまざまな可燃性ガス、特に LPG (プロパン) を検出できます。
- 家庭用ガス漏れ警報器、産業用可燃性ガス警報器、携帯用ガス検知器に広く使用されています。
- センサー構造:ベークライト基板+金属キャップ。内部に加熱用ヒーターと感応層が配置されています。
仕様は以下の通りです。
項目 | 値・範囲 |
---|---|
感応材料 | 酸化スズ(SnO₂) |
検出範囲 | 300~10,000 ppm(CH₄・C₃H₈) |
動作電圧 | ループ電圧:5.0V ±0.1V |
ヒーター電圧 | 5.0V ±0.1V(ACまたはDC) |
ヒーター抵抗 | 30Ω ±3Ω(室温) |
消費電力 | 最大950mW |
出力形式 | アナログ電圧(ガス濃度に比例) |
感度比 | Rs(空気)/Rs(2000ppm C₃H₈) ≥ 5 |
応答時間 | 数秒〜数十秒(ガス濃度による) |
予熱時間 | 48時間以上(安定動作のため) |
寿命 | 数年(使用環境により変動) |
以上より、MQ-5を電子工作で使用する場合は、家庭用プロパンガス漏れ検出器がよさそうですが、一般家庭でガス漏れ検出を実験することにはちょっと危険性がありますね・・・。逸般家庭のどなたかどうかご検討お願いします。(自己判断・自己責任のもとでお願いします)
基本回路構成
MQ-5のデータシートによると基本動作回路はこのようになっています。

図からわかる通り、2つの電圧を供給する必要があり、加熱器電圧(VH)とテスト電圧(VC)です。
VHは、センサーに特定の動作温度を提供するためのもので、直流電源または交流電源が使用できます。VRLは、センサーに直列接続された負荷抵抗(RL)にかかる電圧です。
VCは、負荷抵抗RLに対して供給されるテスト用電圧で、直流電源を使用する必要があります。

- センサー抵抗(Rs)の計算式 Rs = (Vc / VRL – 1) × RL
- 感応体の消費電力(Ps)の計算式 Ps = Vc² × Rs / (Rs + RL)²
- Rs :さまざまな濃度の対象ガス中でのセンサーの抵抗値。
- R0 :清浄な空気中でのセンサーの抵抗値。
グラフから、”ガス濃度が上昇するとともにセンサーの導電率が高くなる”、言い換えれば、”ガス濃度が上昇するとともにセンサーの抵抗値は小さくなる“ことがわかります。
C3H8(プロパン)に対する感度が良いようですが、”CH4″のメタン、”C2H5OH”のエタノールにも反応するようですので、プロパンのみを検出する事は出来ないです。
実際の使い方としては、次のようになるでしょうか。
- 正確なセンサー抵抗R0の値は実験室レベルでないと計測できないと思いますので、換気の良い雰囲気中での測定値を基準値のR0と設定する。
- センサーに定数が既知の直列抵抗(RL)を接続して、RLにかかる電圧VRLを上記計算式に当てはめてRsを算出すれば、Rs/R0のグラフからガス濃度のおおよその値が読み取れる。
MQ-5 可燃ガス検出ユニットの回路図
下図はM5Stackが公開している回路図からセンサー周辺の回路図を抜粋しコメントを記載したものです。

、WinsenのMQシリーズのデータシートに記載の負荷抵抗は4.7KΩが例として使われていましたが、このモジュールでは、負荷抵抗R10は1KΩを選定しているようです。この後は抵抗分圧で後段のバッファ回路(ボルテージフォロワ)の入力電圧範囲に入るように設計されています。ここで、R1,R8も負荷抵抗と考えられると思うのですが、そうすると、R10は必要なのか?と言いう疑問が湧きます。
サンプルプログラム
M5Stack社のサンプルプログラムでは、センサーからの出力電圧をMtstackの画面およびArduino IDEのシリアルモニタに結果を表示するところまでで濃度の表示はありません。
- サンプルプログラムから抜粋
// Print MQ sensor readings only if data is valid
if (validTags == VALID_TAG_VALID) {
mqADC12bit = unitMQ.getMQADC12bit();
mqVoltage = unitMQ.getMQVoltage();
Serial.printf("Valid Tags : 0x%02X (MQ data valid)\n", validTags);
Serial.printf("MQ ADC (12-bit) : %u\n", mqADC12bit);
Serial.printf("MQ Voltage : %u mV\n", mqVoltage);
M5.Display.printf("Valid Tags : 0x%02X (valid)\n", validTags);
M5.Display.printf("MQ ADC (12-bit) : %u\n", mqADC12bit);
M5.Display.printf("MQ Voltage : %u mV\n", mqVoltage);
} else {
Serial.printf("Valid Tags : 0x%02X (MQ data invalid)\n", validTags);
Serial.println("[WARNING] MQ data invalid. Skipping MQ readings.");
M5.Display.printf("Valid Tags : 0x%02X (invalid)\n", validTags);
M5.Display.println("[WARNING] MQ data invalid. Skipping MQ readings.");
}
- ガス濃度は、VRLの電圧を測定しデータシートに記載のRL=4.7KΩの場合のグラフから推定濃度として読み取る必要があります。

センサーの特性からプロパンガスのみの濃度を絶対値として読み取ることはできなそうですが、プロパンガスなどのガスが無いきれいな空気状態を基準電圧として、相対的なガス雰囲気の有無確認には活用できそうです。
実験
今回はM5Dialを使用して実験してみました。
プログラムはM5STACK社のウェッブサイトに掲載されているMQ-5 Unitのサンプルプログラムを使用し、ポート番号のみ、M5DialのポートAを使用する設定に変更しました。
サンプルプログラムをそのまま使用しているので測定結果がM5Dialの画面から飛び出ています(笑)
Arduino IDEのシリアルモニターでも測定結果が表示されており動画のようになります。
今回はアルコールを浸み込ませたウエスをセンサーに近づけてみました。MQ-5がアルコールに反応してMQ-5に直列接続された負荷抵抗(RL)の印加電圧であるMQ-Voltageが上昇(センサーの抵抗値は減少)していることがわかります。先の”sensitivity curve”のグラフを見ると、VRL電圧(V)が上昇しているということは、気体濃度(ppm)が上昇しているということになります。
基本的にはMQ-5はMQ-3と同じく酸化スズ(SnO₂)で構成されているので、アルコールにも反応したということがわかりました。他のMQシリーズでも同様なのでしょう。やはり、安価なデバイスではそれぞれのガスに対して、反応のし易さはある程度調節できるとしても、特定のガスのみを検出させることは難しいということですね。
おわりに
このモジュールはMQセンサーの共通した端子形状に適合したソケットとを実装しているため、センサーが故障した場合や検出したいガスに応じて簡単に色々なセンサーに取り換えて使用できるところが良いですね。
コメント