آردوینومتوسط۸ دقیقه مطالعهArduino IDE 2.x / Uno R3

حسگر متان MQ-4

آشنایی با حسگر گاز متان MQ-4 و تفاوت آن با MQ-2؛ جدول حساسیت متقاطع خانوادهٔ MQ، خواندن نسبی با نسبت به مقدار پایه، هشدار آستانه‌ای با DO و نکات جایابی و ایمنی.

آنچه در این درس می‌آموزید

  • تفاوت MQ-4 با MQ-2 و مفهوم حساسیت متقاطع در خانوادهٔ MQ را توضیح دهید
  • خوانش حسگر را نسبت به مقدار پایه (Ro) تفسیر کنید، نه به‌صورت ppm مطلق
  • هشدار آستانه‌ای با خروجی DO ماژول بسازید
  • حسگر را با توجه به سبک‌بودن گاز متان در جای درست نصب کنید
نویسنده: تیم داکنامه · بازبینی: ۲۰۲۶-۱۰-۳۱
فهرست مطالب
پیش‌نیاز: حسگر گاز MQ-2

گاز شهری که در خانه‌ها سوخت می‌شود عمدتاً متان (Methane) است؛ گازی بی‌رنگ و بی‌بو که شرکت‌های گاز برای تشخیص نشتی به آن مرکاپتان اضافه می‌کنند تا بو بگیرد. در درس قبل با MQ-2 دیدید که به همهٔ گازهای قابل اشتعال و دود واکنش می‌دهد. حسگر MQ-4 برخلاف آن روی متان تنظیم شده است و همین تمرکز، نقطهٔ قوت و ضعفش را می‌سازد.

متان چیست و MQ-4 چه می‌سنجد؟

متان سبک‌ترین گاز هیدروکربنی است و از هوای سبک‌تر؛ پس در نشتی بالا می‌رود و زیر سقف جمع می‌شود. MQ-4 همان معماری خانوادهٔ MQ را دارد: المان حس‌گری از تنیور دی‌اکسید قلع (SnO2) که با هیتر داخلی گرم می‌شود و با حضور گاز هدف، مقاومتش افت می‌کند. تفاوت در ترکیب و دمای کار المان است که حساسیت را به سمت متان برده است؛ MQ-4 به CNG و بوتان هم واکنش می‌دهد، اما دود را — برخلاف MQ-2 — خوب نمی‌بیند.

حساسیت متقاطع: MQ-4 در برابر بقیهٔ خانواده

هیچ حسگری از این خانواده «فقط یک گاز» را نمی‌بیند؛ هر مدل حساسیت متقاطع (Cross-sensitivity) با گازهای دیگر دارد. جدول خانوادهٔ رایج:

حسگر هدف اصلی حساسیت فرعی
MQ-2 دود و LPG و پروپان متان، هیدروژن، بخار الکل
MQ-4 متان و گاز طبیعی و CNG بوتان و LPG، بخار الکل
MQ-5 LPG و گاز طبیعی هیدروژن و گازهای قابل اشتعال
MQ-7 مونوکسید کربن (CO) هیدروژن و گازهای قابل اشتعال
MQ-8 هیدروژن گازهای قابل اشتعال دیگر

نتیجهٔ عملی: اگر «دود یا هر نشتی قابل اشتعال» مهم است، MQ-2 انتخاب است؛ اگر دغدغهٔ اصلی نشتی گاز شهری است، MQ-4 پاسخ بهتری می‌دهد. اما هرگز روی تشخیص قطعی نوع گاز حساب نکنید.

پین‌ها و گرم‌شدن

ساختار برد ماژول MQ-4 با MQ-2 یکسان است:

پین نام کارکرد
۱ VCC تغذیهٔ ۵ ولت برای هیتر و مدار مقایسه‌گر
۲ GND زمین مشترک
۳ AO خروجی آنالوگ؛ ولتاژ متناسب با مقاومت المان
۴ DO خروجی دیجیتال؛ مقایسه‌گر LM393 با آستانهٔ پتانسیومتر

از نظر گرمایش، عادت خانوادهٔ MQ برقرار است: پس از هر روشن‌شدن چند دقیقه پیش‌گرمایش لازم است تا خوانش‌ها روی پایه بنشیند. در منابع خانواده، زمان پیش‌گرمایش در بازهٔ حدود یک دقیقه تا چند دقیقه ذکر می‌شود و برای حسگر انبارشده، کار سخت اولیهٔ طولانی‌مدت توصیه شده است؛ چون این مقادیر بین نسخه‌های دیتاشیت فرق می‌کند، زمان دقیق را از دیتاشیت خودتان بخوانید. مفهوم Ro هم مثل درس قبل است: مقاومت المان در هوای پاک، مبنای همهٔ مقایسه‌ها.

سیم‌کشی

Arduino Uno ماژول MQ-4
5V VCC
GND GND
A0 AO
D2 DO

اسکچ و تفسیر خوانش

mq4-read.ino
const int AO_PIN = A0;
const int DO_PIN = 2;

void setup() {
  Serial.begin(9600);
  pinMode(DO_PIN, INPUT);
}

void loop() {
  int value = analogRead(AO_PIN);
  Serial.print("Sensor: ");
  Serial.println(value);

  if (digitalRead(DO_PIN) == LOW) {  // most LM393 boards pull LOW on alarm
    Serial.println("ALARM: threshold exceeded");
  }
  delay(1000);
}

تفسیر خوانش: عدد Sensor: یک مقدار خام ۰ تا ۱۰۲۳ است و ppm نیست. معیار درست، تغییرِ نسبت به مقدار پایهٔ هوای پاک است: اگر پایه ۲۰۰ باشد و خوانش به ۲۵۰ برسد، یعنی ۲۵ درصد افت مقاومت نسبت به Ro و این سیگنال معناداری است — بدون ادعایی دربارهٔ غلظت مطلق.

دربارهٔ DO: مقایسه‌گر LM393 روی اکثر بردشکن‌ها در حالت عادی HIGH می‌دهد و وقتی خوانش از آستانهٔ پتانسیومتر بگذرد LOW می‌شود؛ اما جهت این رفتار روی همهٔ بردها یکسان نیست. برد خودتان را با بخار آرام یا هوای بازدم آزمایش کنید.

خروجی کد

Sensor: 204 Sensor: 207 Sensor: 262 ALARM: threshold exceeded Sensor: 248

اعداد نمونه‌اند و به حسگر و محیط شما بستگی دارند؛ قالب چاپ و رفتار شرط هشدار قطعی است.

جایابی و ایمنی

خطاهای رایج و عیب‌یابی

نشانه علت رایج راه‌حل
عدد صفر یا بی‌ثبات می‌ماند سیم AO جا نیفتاده یا تغذیه قطع است جدول سیم‌کشی را چک کنید؛ LED ماژول باید روشن باشد
خوانش بالا گیر می‌کند پیش‌گرمایش ناکافی یا هوای آلودهٔ محل تست چند دقیقه در هوای پاک صبر کنید تا پایه بنشیند
DO همیشه LOW است پتانسیومتر آستانه خیلی پایین است در هوای پاک، پتانسیومتر را بچرخانید تا DO در حالت عادی برگردد
DO هرگز هشدار نمی‌دهد پتانسیومتر آستانه خیلی بالاست آستانه را پایین بیاورید و با بخار آرام آزمایش کنید
خوانش‌ها روزبه‌روز جابه‌جا می‌شوند تغییر دما و رطوبت؛ طبیعت حسگرهای MQ مقدار پایه را در هر جلسه دوباره بگیرید و فقط تغییرِ نسبی را معیار قرار دهید

تمرین‌ها

تمرین

تمرین ۱ — گزارش نسبت به مقدار پایه

اسکچ را طوری تغییر دهید که در setup() میانگین ۲۰ خوانش را به‌عنوان مقدار پایه بگیرد و در loop() نسبت خوانش فعلی به پایه را با دو رقم اعشار و پیشوند Ratio: چاپ کند؛ این نسبت روی ولتاژ خروجی است و قرینه‌ای از Rs/Ro به حساب می‌آید.

نمایش راه‌حل

میانگین‌گیری در setup() و تقسیم اعشاری در loop() انجام می‌شود:

cpp
const int AO_PIN = A0;
const int CAL_SAMPLES = 20;
long baseline = 0;

void setup() {
  Serial.begin(9600);
  long sum = 0;
  for (int i = 0; i < CAL_SAMPLES; i++) {
    sum += analogRead(AO_PIN);
    delay(200);
  }
  baseline = sum / CAL_SAMPLES;  // clean-air reference (Ro)
  Serial.print("Baseline: ");
  Serial.println(baseline);
}

void loop() {
  int value = analogRead(AO_PIN);
  Serial.print("Ratio: ");
  Serial.println((float)value / baseline, 2);
  delay(1000);
}
خروجی کد

Baseline: 198 Ratio: 1.01 Ratio: 0.99 Ratio: 1.24

عدد ۱٫۰ یعنی شرایط مثل هوای پاک. دقت کنید این نسبت بر خلاف Rs/Ro مستقیم است: با حضور گاز، مقاومت المان (Rs) افت می‌کند و ولتاژ خروجی بالا می‌رود، پس انحراف نسبت به بالای ۱٫۰ یعنی حضور احتمالی گاز. اعداد نمونه‌اند؛ نسبت، برخلاف عدد خام، مستقل از تنظیم روز پتانسیومتر مقایسه می‌شود. ::: :::

خلاصه

  • متان، گاز اصلی گاز شهری است؛ سبک‌تر از هواست و در نشتی زیر سقف جمع می‌شود.
  • MQ-4 همان معماری MQ-2 را دارد ولی روی متان تنظیم شده؛ همهٔ اعضای خانواده حساسیت متقاطع دارند و MQ-4 دود را خوب نمی‌بیند.
  • خوانش درست، تغییر نسبی نسبت به مقدار پایه (Ro) است؛ عدد آنالوگ ppm نیست.
  • DO با پتانسیومتر آستانه‌گذاری می‌شود و روی اکثر بردها هنگام هشدار LOW می‌شود؛ جهتش را روی برد خودتان تأیید کنید.
  • حسگر باید نزدیک سقف نصب شود و برای ایمنی واقعی، دتکتور گواهی‌شده جایگزین آن است.

حسگرهای محیطی را با MQ-4 کامل کردید؛ در درس بعدی با ماژول DS3231 زمان واقعی را به پروژه‌هایتان اضافه می‌کنید.

منابع و ارجاع‌ها