Датчик паров спирта MQ-3

Датчик MQ-3 определит концентрацию алкоголя в выдыхаемом воздухе и паров спирта в окружающей среде.

Видеообзор

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

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

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

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

mq3Heater.ino
// библиотека для работы с датчиками MQ (Troyka-модуль)
#include <TroykaMQ.h>
 
// имя для пина, к которому подключен датчик
#define PIN_MQ3         A0
// имя для пина, к которому подключен нагреватель датчика
#define PIN_MQ3_HEATER  13
 
// создаём объект для работы с датчиком
// и передаём ему номер пина выходного сигнала и нагревателя
MQ3 mq3(PIN_MQ3, PIN_MQ3_HEATER);
 
void setup()
{
  // открываем последовательный порт
  Serial.begin(9600);
  // включаем нагреватель
  mq3.heaterPwrHigh();
  Serial.println("Heated sensor");
}
 
void loop()
{
  // если прошёл интервал нагрева датчика
  // и калибровка не была совершена
  if (!mq3.isCalibrated() && mq3.heatingCompleted()) {
    // выполняем калибровку датчика на чистом воздухе
    mq3.calibrate();
    // выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
    Serial.print("Ro = ");
    Serial.println(mq3.getRo());
  }
  // если прошёл интервал нагрева датчика
  // и калибровка была совершена
  if (mq3.isCalibrated() && mq3.heatingCompleted()) {
    // выводим отношения текущего сопротивление датчика
    // к сопротивлению датчика в чистом воздухе (Rs/Ro)
    Serial.print("Ratio: ");
    Serial.print(mq3.readRatio());
    // выводим значения паров алкоголя
    Serial.print(" Alcohol: ");
    Serial.print(mq3.readAlcoholMgL());
    Serial.print(" mG/L ");
    Serial.print(mq3.readAlcoholPpm());
    Serial.println(" ppm ");
    delay(100);
  }
}

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

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

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

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

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

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

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

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

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

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

1 группа

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

2 группа

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

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

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

  • Алкоголь: 0,05 мг/л–10 мг/л

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

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

Ресурсы