====== Датчик широкого спектра газов MQ-2 ======
[[amp>product/troyka-mq2-gas-sensor?utm_source=man&utm_campaign=mqgas&utm_medium=wiki|Датчик MQ-2]] определит концентрацию углеводородных газов (пропан, метан, н-бутан), дыма (взвешенных частиц, являющихся результатом горения) и водорода в окружающей среде.{{ :продукты:mq2:troyka-mq2-gas-sensor.1.jpg?nolink |}}
===== Видеообзор =====
{{youtube>tU1WjoE15m8?large}}
===== Подключение и настройка =====
Датчик газа MQ-2 подключается к управляющей электронике по 5 проводам. Для подключения используются два [[amp>product/3-wire-cable-digital-troyka?utm_source=man&utm_campaign=mqgas&utm_medium=wiki|трёхпроводных шлейфа]]. Для быстрого подключения модуля к Iskra JS или Arduino используйте [[amp>product/arduino-troyka-shield?utm_source=man&utm_campaign=mqgas&utm_medium=wiki|Troyka Shield]].
{{ :продукты:mq2:troyka-mq2_scheme_troyka-shiled.png |}}
С [[amp>product/arduino-troyka-slot-shield?utm_source=man&utm_campaign=mqgas&utm_medium=wiki|Troyka Slot Shield]] можно обойтись без лишних проводов.
{{ :продукты:mq2:troyka-mq2_scheme_troyka-slot-shiled.png |}}
===== Примеры программ для Arduino =====
Для обладателей платформ Arduino выведем в Serial-порт текущее значение вредных газов в ''ppm'', управляя нагревателем. Для запуска примера скачайте и установите библиотеку [[https://github.com/amperka/TroykaMQ|TroykaMQ]].
// библиотека для работы с датчиками MQ (Troyka-модуль)
#include
// имя для пина, к которому подключен датчик
#define PIN_MQ2 A0
// имя для пина, к которому подключен нагреватель датчика
#define PIN_MQ2_HEATER 13
// создаём объект для работы с датчиком
// и передаём ему номер пина выходного сигнала и нагревателя
MQ2 mq2(PIN_MQ2, PIN_MQ2_HEATER);
void setup()
{
// открываем последовательный порт
Serial.begin(9600);
// включаем нагреватель
mq2.heaterPwrHigh();
Serial.println("Heated sensor");
}
void loop()
{
// если прошёл интервал нагрева датчика
// и калибровка не была совершена
if (!mq2.isCalibrated() && mq2.heatingCompleted()) {
// выполняем калибровку датчика на чистом воздухе
mq2.calibrate();
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
Serial.print("Ro = ");
Serial.println(mq2.getRo());
}
// если прошёл интервал нагрева датчика
// и калибровка была совершена
if (mq2.isCalibrated() && mq2.heatingCompleted()) {
// выводим отношения текущего сопротивление датчика
// к сопротивлению датчика в чистом воздухе (Rs/Ro)
Serial.print("Ratio: ");
Serial.print(mq2.readRatio());
// выводим значения газов в ppm
Serial.print("LPG: ");
Serial.print(mq2.readLPG());
Serial.print(" ppm ");
Serial.print(" Methane: ");
Serial.print(mq2.readMethane());
Serial.print(" ppm ");
Serial.print(" Smoke: ");
Serial.print(mq2.readSmoke());
Serial.print(" ppm ");
Serial.print(" Hydrogen: ");
Serial.print(mq2.readHydrogen());
Serial.println(" ppm ");
delay(100);
}
}
К платам Arduino c 5 вольтовой логикой датчик можно подключить используя всего один [[amp>product/3-wire-cable-digital-troyka?utm_source=man&utm_campaign=mq2&utm_medium=wiki|трёхпроводной шлейф]]. Для этого установите перемычку на разъём «выбор питания нагревателя».
{{ :продукты:mq2:troyka-mq2_scheme_troyka-shiled_without_heater.png |}}
Выведем в Serial-порт текущее значение вредных газов в ''ppm'', при этом нагреватель всегда включён.
// библиотека для работы с датчиками MQ (Troyka-модуль)
#include
//имя для пина, к которому подключен датчик
#define PIN_MQ2 A0
// создаём объект для работы с датчиком и передаём ему номер пина
MQ2 mq2(PIN_MQ2);
void setup()
{
// открываем последовательный порт
Serial.begin(9600);
// перед калибровкой датчика прогрейте его 60 секунд
// выполняем калибровку датчика на чистом воздухе
mq2.calibrate();
// выводим сопротивление датчика в чистом воздухе (Ro) в serial-порт
Serial.print("Ro = ");
Serial.println(mq2.getRo());
}
void loop()
{
// выводим отношения текущего сопротивление датчика
// к сопротивлению датчика в чистом воздухе (Rs/Ro)
Serial.print("Ratio: ");
Serial.print(mq2.readRatio());
// выводим значения газов в ppm
Serial.print("LPG: ");
Serial.print(mq2.readLPG());
Serial.print(" ppm ");
Serial.print(" Methane: ");
Serial.print(mq2.readMethane());
Serial.print(" ppm ");
Serial.print(" Smoke: ");
Serial.print(mq2.readSmoke());
Serial.print(" ppm ");
Serial.print(" Hydrogen: ");
Serial.print(mq2.readHydrogen());
Serial.println(" ppm ");
delay(100);
}
===== Элементы платы =====
{{ :продукты:mq2:troyka-mq2_annotation.png |}}
==== Датчик газа MQ-2 ====
Датчик MQ-2 относиться к полупроводниковым приборам. Принцип работы датчика основан на изменении сопротивления тонкопленочного слоя диоксида олова SnO2 при контакте с молекулами определяемого газа. Чувствительный элемент датчика состоит из керамической трубки с покрытием Al2O3 и нанесенного на неё чувствительного слоя диоксида олова. Внутри трубки проходит нагревательный элемент, который нагревает чувствительный слой до температуры, при которой он начинает реагировать на определяемый газ. Чувствительность к разным газам достигается варьированием состава примесей в чувствительном слое.
==== Выбор режима питания нагревателя ====
В сенсоре предусмотрено два режима работы, переключаемых джампером.
* Нагреватель датчика постоянно включён. Таким образом можно обойтись одним трёхпроводным шлейфом.
* Управление нагревателем программно.
==== Контакты подключения трёхпроводных шлейфов ====
=== 1 группа ===
* Сигнальный (S) — Выходной сигнал сенсора. Подключите к аналоговому входу микроконтроллера.
* Питание (V) — Питание датчика. Соедините с рабочим напряжением микроконтроллера.
* Земля (G) — Соедините с пином ''GND'' микроконтроллера.
=== 2 группа ===
* Сигнальный (E) — Управление питанием нагревателя. Подключите к цифровому пину микроконтроллера.
* Питание (H) — Питание нагревателя. Соедините с пином ''5V''
* Земля (G) — Соедините с пином ''GND'' микроконтроллера..
===== Принципиальная и монтажная схемы =====
{{:продукты:mq2:troyka-mq2_schematic.png?direct&350 |}}
{{ :продукты:mq2:troyka-mq2_layout.png?direct&300|}}
===== Диапазон измерений ======
* Пропан: 200–5000 ppm
* Бутан: 300–5000 ppm
* Метан: 500–20000 ppm
* Водород: 300–5000 ppm
===== Характеристики =====
* Напряжение питания нагревателя: 5 В
* Напряжение питания датчика: 3,3–5 В
* Потребляемый ток: 150 мА
* Габариты: 25,4×25,4 мм
===== Ресурсы =====
* [[amp>product/troyka-mq2-gas-sensor?utm_source=man&utm_campaign=mqgas&utm_medium=wiki|Датчик газа MQ2 (Troyka-модуль)]] в магазине.
* [[https://github.com/amperka/TroykaMQ|Библиотека для Arduino]]
* [[:js:gas-sensor|Описание библиотеки для Iskra JS]]
* [[https://github.com/amperka/hardware-drawings/blob/master/troyka-mq2-gas-sensor.svg|Векторное изображение датчика газа MQ2 (Troyka-модуль)]]
* {{:продукты:mq2:troyka-mq2_datasheet.pdf|Datasheet на датчик MQ2}}
* {{:продукты:mq2:mq2_graph_factors.zip|Линейная и логарифмическая аппроксимация датчика MQ2}}