Датчик углекислого газа MQ-135

Датчик MQ-135 поможет проверить качество воздуха в вашей квартире или офисе.

Видеообзор

Подключение и настройка

Датчик газа MQ-135 подключается к управляющей электронике по 5 проводам. Для подключения используются два трёхпроводных шлейфа. Для быстрого подключения модуля к Iskra JS или Arduino используйте Troyka Shield. С Troyka Slot Shield можно обойтись без лишних проводов.

Примеры программ для Arduino

Для обладателей платформ Arduino выведем в Serial-порт текущее значение вредных газов в ppm, управляя нагревателем. Для запуска примера скачайте и установите библиотеку TroykaMQ.

mq135Heater.ino
// библиотека для работы с датчиками MQ (Troyka-модуль)
#include <TroykaMQ.h>
 
// имя для пина, к которому подключен датчик
#define PIN_MQ135         A0
// имя для пина, к которому подключен нагреватель датчика
#define PIN_MQ135_HEATER  11
 
// создаём объект для работы с датчиком
// и передаём ему номер пина выходного сигнала и нагревателя
MQ135 mq135(PIN_MQ135);
 
void setup()
{
  // открываем последовательный порт
  Serial.begin(9600);
  // включаем нагреватель
  mq135.heaterPwrHigh();
  Serial.println("Heated sensor");
}
 
void loop()
{
  // если прошёл интервал нагрева датчика
  // и калибровка не была совершена
  if (!mq135.isCalibrated() && mq135.heatingCompleted()) {
    // выполняем калибровку датчика на чистом воздухе
    mq135.calibrate();
    // если известно сопротивление датчика на чистом воздухе 
    // можно его указать вручную, допустим 160
    // mq135.calibrate(160);
    // выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
    Serial.print("Ro = ");
    Serial.println(mq135.getRo());
  }
  // если прошёл интевал нагрева датчика
  // и калибровка была совершена
  if (mq135.isCalibrated() && mq135.heatingCompleted()) {
    // выводим отношения текущего сопротивление датчика
    // к сопротивлению датчика в чистом воздухе (Rs/Ro)
    Serial.print("Ratio: ");
    Serial.print(mq135.readRatio());
    // выводим значения газов в ppm
    Serial.print("\tCO2: ");
    Serial.print(mq135.readCO2());
    Serial.println(" ppm");
    delay(100);
  }
}

К платам Arduino c 5 вольтовой логикой датчик можно подключить используя всего один трёхпроводной шлейф. Для этого установите перемычку на разъём «выбор питания нагревателя».

Выведем в Serial-порт текущее значение вредных газов в ppm, при этом нагреватель всегда включён.

mq135.ino
// библиотека для работы с датчиками MQ (Troyka-модуль)
#include <TroykaMQ.h>
 
// имя для пина, к которому подключен датчик
#define PIN_MQ135  A0
// создаём объект для работы с датчиком и передаём ему номер пина
MQ135 mq135(PIN_MQ135);
 
void setup()
{
  // открываем последовательный порт
  Serial.begin(9600);
  // перед калибровкой датчика прогрейте его 60 секунд
  // выполняем калибровку датчика на чистом воздухе
  mq135.calibrate();
  // при знании сопративления датчика на чистом воздухе
  // можно его указать вручную, допустим 160
  // mq135.calibrate(160);
  // выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
  Serial.print("Ro = ");
  Serial.println(mq135.getRo());
}
 
void loop()
{
  // выводим отношения текущего сопротивление датчика
  // к сопротивлению датчика в чистом воздухе (Rs/Ro)
  Serial.print("Ratio: ");
  Serial.print(mq135.readRatio());
  // выводим значения газов в ppm
  Serial.print("\tCO2: ");
  Serial.print(mq135.readCO2());
  Serial.println(" ppm");
  delay(100);
}

Элементы платы

Датчик газа MQ-135

Датчик MQ-135 относиться к полупроводниковым приборам. Принцип работы датчика основан на изменении сопротивления тонкопленочного слоя диоксида олова SnO2 при контакте с молекулами определяемого газа. Чувствительный элемент датчика состоит из керамической трубки с покрытием Al2O3 и нанесенного на неё чувствительного слоя диоксида олова. Внутри трубки проходит нагревательный элемент, который нагревает чувствительный слой до температуры, при которой он начинает реагировать на определяемый газ. Чувствительность к разным газам достигается варьированием состава примесей в чувствительном слое.

Выбор режима питания нагревателя

В сенсоре предусмотрено два режима работы, переключаемых джампером.

  • Нагреватель датчика постоянно включён. Таким образом можно обойтись одним трёхпроводным шлейфом.
  • Управление нагревателем программно.

Контакты подключения трёхпроводных шлейфов

1 группа

  • Сигнальный (S) — Выходной сигнал сенсора. Подключите к аналоговому входу микроконтроллера.
  • Питание (V) — Питание датчика. Соедините с рабочим напряжением микроконтроллера.
  • Земля (G) — Соедините с пином GND микроконтроллера.

2 группа

  • Сигнальный (E) — Управление питанием нагревателя. Подключите к цифровому пину микроконтроллера.
  • Питание (H) — Питание нагревателя. Соедините с пином 5V
  • Земля (G) — Соедините с пином GND микроконтроллера..

Принципиальная и монтажная схемы

Диапазон измерений

  • Аммиак: 10—300 ppm
  • Бензин: 10—1000 ppm
  • Алкоголь: 10—300 ppm

Характеристики

  • Напряжение питания нагревателя: 5 В
  • Напряжение питания датчика: 3,3–5 В
  • Потребляемый ток: 150 мА
  • Габариты: 25,4×25,4 мм

Ресурсы