MQ Serisi Gaz Sensörleri
MQ serisi sensörler, ortamdaki belirli gazların varlığını algılayan ucuz yarı iletken sensörlerdir. Duman dedektörü, gaz kaçağı alarmı ve hava kalitesi projelerinde yaygın olarak kullanılırlar.
Ancak bu sensörlerle çalışmadan önce bilinmesi gereken bir gerçek var: MQ sensörleri kalibre edilmiş ölçüm cihazları değildir. Doğru kullanıldıklarında güvenilir bir “alarm” verirler, ama ekranda gördüğünüz ppm değeri laboratuvar doğruluğunda değildir.
Hangi Sensör Hangi Gazı Algılar?
| Model | Hedef gazlar | Tipik kullanım |
|---|---|---|
| MQ-2 | LPG, bütan, propan, metan, duman, hidrojen | Genel amaçlı duman/gaz alarmı |
| MQ-3 | Alkol, etanol | Alkolmetre |
| MQ-4 | Metan, doğal gaz (CNG) | Doğal gaz kaçağı |
| MQ-5 | LPG, doğal gaz | Mutfak gaz alarmı |
| MQ-6 | LPG, bütan, propan | Tüp gaz kaçağı |
| MQ-7 | Karbon monoksit (CO) | CO zehirlenmesi uyarısı |
| MQ-8 | Hidrojen | Hidrojen kaçağı |
| MQ-9 | CO ve yanıcı gazlar | Çift amaçlı |
| MQ-135 | Amonyak, NOx, benzen, duman, CO₂ | Hava kalitesi |
Dikkat: Bu sensörler seçici değildir. MQ-2 sadece dumanı değil, alkol buharını, parfümü ve LPG’yi de algılar. “Hangi gaz olduğunu” ayırt edemez, yalnızca “indirgeyici gaz miktarı arttı” der.
Nasıl Çalışır?
Sensörün içinde bir kalay dioksit (SnO₂) yarı iletken tabaka ve bunu ısıtan bir ısıtıcı bobin bulunur.
- Isıtıcı, algılayıcı tabakayı yaklaşık 200–400 °C’ye çıkarır.
- Temiz havada tabakanın yüzeyine oksijen tutunur ve direnç yüksektir.
- Ortamda indirgeyici bir gaz (LPG, CO, duman) varsa bu gaz oksijenle tepkimeye girer.
- Yüzeydeki oksijen azalır, tabakanın direnci düşer.
- Bu direnç değişimi bir gerilim bölücüyle okunur.
Isıtıcının varlığı üç önemli sonuç doğurur: sensör ısınır, akım çeker (~150 mA) ve ısınma süresi ister.
Bağlantı
MQ modülleri genellikle dört pinlidir:
| Pin | Açıklama |
|---|---|
| VCC | 5V (ısıtıcı için gerekli) |
| GND | Toprak |
| AO | Analog çıkış — gaz yoğunluğuyla orantılı |
| DO | Dijital çıkış — potansiyometre eşiği aşılınca aktif |
MQ sensörleri 5V ile beslenmelidir. ESP32/ESP8266 ile kullanırken sensörü 5V’tan besleyin, ancak AO çıkışını doğrudan 3,3V’luk ADC pinine bağlamayın — araya gerilim bölücü koyun.
Sensör yaklaşık 150 mA çeker. Birkaç sensörü aynı anda USB üzerinden beslemek yetersiz kalır; harici besleme kullanın.
Isınma Süreleri — İki Farklı Süre
Bu konu sürekli karıştırılır. İki ayrı süre vardır:
1. Preheat / burn-in (ilk kullanım): Yeni bir sensör fabrikadan çıktığında algılayıcı yüzeyi kararsızdır. Sensörün 24–48 saat kesintisiz enerjili bırakılması gerekir. Bu süre boyunca okunan değerler sürekli kayar. Bu adım atlanırsa kalibrasyon hiçbir zaman tutmaz.
2. Warm-up (her açılışta): Normal kullanımda, enerji verildikten sonra sensörün kararlı okumaya geçmesi 2–5 dakika sürer.
Projenizin ilk dakikalarındaki okumaları yok saymak iyi bir alışkanlıktır.
Temel Okuma Kodu
const int MQ_PIN = A0;
const int BUZZER_PIN = 8;
const int ALARM_ESIGI = 400;
void setup() {
Serial.begin(9600);
pinMode(BUZZER_PIN, OUTPUT);
Serial.println("Sensor isiniyor, 3 dakika bekleyin...");
delay(180000);
Serial.println("Hazir.");
}
int ortalamaOku() {
long toplam = 0;
for (int i = 0; i < 20; i++) {
toplam += analogRead(MQ_PIN);
delay(5);
}
return toplam / 20;
}
void loop() {
int deger = ortalamaOku();
Serial.print("Gaz degeri: ");
Serial.print(deger);
if (deger > ALARM_ESIGI) {
Serial.println(" -> ALARM!");
tone(BUZZER_PIN, 2000);
} else {
Serial.println(" -> Normal");
noTone(BUZZER_PIN);
}
delay(500);
}Eşik Değeri Nasıl Belirlenir?
400 sayısı bir örnektir; kendi sensörünüz için deneyerek bulmanız gerekir.
- Sensörü ısıtın (en az 5 dakika).
- Temiz havada 5–10 dakika boyunca okunan değerleri kaydedin. Bu sizin taban değerinizdir.
- Kontrollü bir kaynak yaklaştırın — bir çakmağı yakmadan gazını kısa süre açmak veya bir kibrit dumanını uzaktan göstermek yeterlidir.
- Değerin ne kadar yükseldiğini gözlemleyin.
- Alarm eşiğini taban değerin belirgin şekilde üzerine ayarlayın (örneğin taban + %50).
Uyarı: Test yaparken kapalı bir ortamda gaz biriktirmeyin. Havalandırma açık olsun, ateşle çalışırken dikkatli olun.
Neden ppm Değeri Güvenilir Değil?
İnternetteki birçok örnek kodda analogRead() değerini ppm’e çeviren formüller bulunur. Bu formüller veri sayfasındaki grafik eğrilerinden türetilmiştir ve şu varsayımlara dayanır:
- Sensör tam olarak kalibre edilmiştir (R₀ değeri doğru ölçülmüştür)
- Ortam sıcaklığı ~20 °C ve bağıl nem ~%65’tir
- Ortamda yalnızca hedef gaz vardır
- Sensör yaşlanmamıştır
Gerçek koşullarda bu varsayımların hiçbiri tam olarak sağlanmaz. MQ sensörleri:
- Sıcaklık ve nemden ciddi şekilde etkilenir
- Zamanla yaşlanır, hassasiyeti düşer
- Çapraz duyarlıdır — başka gazlara da tepki verir
Bu yüzden pratik yaklaşım şudur: mutlak ppm iddiasında bulunmayın, taban değere göre göreceli değişimi izleyin. “Havada normalden çok daha fazla yanıcı gaz var” demek, “347 ppm LPG var” demekten hem daha dürüst hem daha kullanışlıdır.
R₀ Kalibrasyonu
Yine de ppm hesabı yapmak isterseniz, önce temiz havadaki sensör direncini (R₀) bulmanız gerekir.
const int MQ_PIN = A0;
const float RL = 10.0; // modul uzerindeki yuk direnci (kOhm)
const float TEMIZ_HAVA_ORANI = 9.83; // MQ-2 icin Rs/R0 (veri sayfasindan)
float rsHesapla() {
long toplam = 0;
for (int i = 0; i < 100; i++) {
toplam += analogRead(MQ_PIN);
delay(10);
}
float ortalama = toplam / 100.0;
float volt = ortalama * (5.0 / 1023.0);
return ((5.0 - volt) / volt) * RL;
}
void setup() {
Serial.begin(9600);
Serial.println("Isiniyor (5 dk)...");
delay(300000);
float rs = rsHesapla();
float r0 = rs / TEMIZ_HAVA_ORANI;
Serial.print("Rs = ");
Serial.println(rs, 2);
Serial.print("R0 = ");
Serial.println(r0, 2);
Serial.println("Bu R0 degerini kodunuzda sabit olarak kullanin.");
}
void loop() {
}Bu kalibrasyonu temiz havada, sensör tam ısındıktan sonra yapın. Bulduğunuz R₀ değeri o sensöre özeldir; başka bir sensörde geçerli değildir.
TEMIZ_HAVA_ORANI değeri sensöre göre değişir ve veri sayfasındaki grafikten okunur (MQ-2 için ~9,83, MQ-135 için ~3,6).
MQ-7 ve Değişken Isıtma
MQ-7 (karbon monoksit) diğerlerinden farklıdır: doğru çalışması için ısıtıcının döngüsel olarak iki farklı gerilimde sürülmesi gerekir.
- 60 saniye 5 V — yüksek sıcaklık, yüzey temizliği
- 90 saniye 1,4 V — düşük sıcaklık, CO ölçümü (okuma bu fazın sonunda alınır)
Basit modüllerde bu döngü uygulanmaz ve sensör sürekli 5 V’ta çalıştırılır. Bu durumda CO ölçümü ciddi şekilde hatalıdır. MQ-7 ile ciddi bir CO dedektörü yapacaksanız bu döngüyü bir MOSFET veya PWM ile kendiniz kurmanız gerekir.
Güvenlik Uyarısı
MQ serisi sensörlerle yapılan projeler hayat kurtarıcı güvenlik cihazı yerine geçmez.
Ev tipi gaz kaçağı ve karbon monoksit dedektörleri sertifikalı ürünlerdir; düzenli test edilir, yaşlanma telafisi yapılır ve belirli standartlara göre üretilirler.
Bir Arduino + MQ-2 projesi öğrenmek, deneyimlemek ve ek bir uyarı katmanı oluşturmak için değerlidir. Ancak evinizin karbon monoksit güvenliğini buna emanet etmeyin.
Ayrıca:
- Sensör çalışırken ısınır; elle dokunmayın, yanıcı malzemeye temas ettirmeyin.
- Yanıcı gaz test ederken ateş kaynağı bulundurmayın.
- Sensörü kapalı bir kutu içine koyarsanız hava sirkülasyonu için delik bırakın.
Alternatif Gaz Sensörleri
| Sensör | Ölçtüğü | Not |
|---|---|---|
| MH-Z19B | CO₂ (NDIR) | Gerçek ppm ölçer, kalibre, pahalı |
| SGP30 | TVOC + eşdeğer CO₂ | I2C, dahili kalibrasyon algoritması |
| CCS811 | TVOC + eCO₂ | I2C, ucuz, ısınma gerektirir |
| BME680 | Gaz direnci + sıcaklık/nem/basınç | Hava kalitesi indeksi |
| ZE07-CO | CO (elektrokimyasal) | Gerçek CO ölçümü, doğrusal |
CO₂ ölçmek istiyorsanız MQ-135 kesinlikle uygun değildir — CO₂’ye anlamlı bir tepkisi yoktur. Gerçek CO₂ için MH-Z19B gibi bir NDIR sensörü gerekir.
Özet
MQ serisi sensörler, ısıtılmış bir yarı iletken tabakanın direnç değişimiyle ortamdaki indirgeyici gazları algılar. Ucuz ve pratiktirler ama seçici ve kalibre değildirler.
Bu derste şunları öğrendik:
- Hangi MQ modelinin hangi gazı hedeflediğini
- SnO₂ tabaka ve ısıtıcının çalışma prensibini
- 24–48 saatlik burn-in ile her açılıştaki 2–5 dakikalık warm-up farkını
- Taban değere göre eşik belirlemeyi
- ppm değerlerinin neden güvenilir olmadığını
- R₀ kalibrasyonunun nasıl yapıldığını
- MQ-7’nin döngüsel ısıtma gereksinimini
- Bu sensörlerin sertifikalı dedektör yerine geçmediğini