Датчик горючих и угарного газов MQ-9 [Амперка / Вики]

Датчик горючих и угарного газов MQ-9 [Амперка / Вики] Анемометр

Arduino-kit | электронные конструкторы и наборы, контроллеры, модули и датчики

Одна из самых важных задач в вопросе безопасности умного дома –обнаружение утечки газа. Для того, чтобы плата Arduino успешно решала задачи такого рода, нужно подключить к ней датчик газа MQ-2. Датчик MQ-2 (рис. 4.24) определит концентрацию углеводородных газов (пропан, метан, н-бутан), дыма (взвешенных частиц, являющихся результатом горения) и водорода в окружающей среде. Датчик можно использовать для обнаружения утечек газа и задымления. В газоанализатор встроенный нагревательный элемент, который необходим для химической реакции. Поэтому во время работы сенсор будет горячим. Для получения стабильных показаний новый сенсор необходимо один раз прогреть (оставить включенным) в течение 24 часов. После этого стабилизация после включения занимать около минуты.
Датчик горючих и угарного газов MQ-9 [Амперка / Вики]
Рис. 4.24. Датчик газов MQ-2.

В зависимости от уровня газа в атмосфере меняется внутреннее сопротивление датчика. MQ-2 имеет аналоговый выход, поэтому напряжение на этом выходе будет меняться пропорционально уровню газа в окружающей среде. Для определения по логическому уровню также имеется цифровой выход. На модуле датчика есть встроенный потенциометр, который позволяет настроить чувствительность этого датчика в зависимости от того, насколько точно вы хотите регистрировать уровень газа.
Теперь об единицах измерения. На территории бывшего Советского Союза, показатели принято измерять в процентах (%) или же непосредственно в массе к объему (мг/м3). В зарубежных странах применяет такой показатель как ppm.
Сокращение ppm расшифровывается как parts per million (частей на миллион). Например, 1 ppm = 0,0001%.
Диапазон измерений датчика:

Про анемометры:  разгон - апгрейд ноутбука

•    Пропан: 200–5000 ppm;
•    Бутан: 300–5000 ppm;
•    Метан: 500–20000 ppm;
•    Водород: 300–5000 ppm.

Рассмотрим подключение датчика MQ-2 к плате Arduino Mega и модулю NodeMcu ESP8266.

4.5.1. Подключение датчика MQ-2 к плате Arduino Mega

Подключение датчика MQ-2 к плате Arduino Mega мы будем производить по аналоговому входу. Питание для датчика берем также с платы Arduino. Схема соединений представлена на рис. 4.25.
Датчик горючих и угарного газов MQ-9 [Амперка / Вики]
Рис. 4.25. Схема подключений датчика MQ-2 к плате Arduino Mega

Загрузим на плату Arduino Mega скетч получения данных с датчика MQ-2 и вывода в последовательный порт Arduino. Процедуры определения по данным, приходящим с аналогового входа:

•    get_data_ppmpropan() – содержание пропана в  ppm;
•    get_data_ppmmethan() – содержание пропана в  ppm;
•    get_data_ppmsmoke() – содержание дыма.

Содержимое скетча представлено в листинге 4.10.
Листинг 4.10

#include <TroykaMQ.h>#define INTERVAL_GET_DATA 2000 // интервала измерений, мс #define MQ2PIN A10MQ2 mq2(MQ2PIN);
unsigned long millis_int1=0; voidsetup() { Serial.begin(9600); mq2.calibrate(); mq2.getRo();
} voidloop() { if(millis()-millis_int1 >= INTERVAL_GET_DATA) { float propan= get_data_ppmpropan(); Serial.print("propan="); Serial.print(propan); Serial.println(" ppm "); float methan= get_data_ppmmethan(); Serial.print("methan="); Serial.print(methan); Serial.println(" ppm "); float smoke= get_data_ppmsmoke(); Serial.print("smoke="); Serial.print(smoke); Serial.println(" ppm "); millis_int1=millis(); }
}floatget_data_ppmpropan() { Serial.println(mq2.readRatio()); floatvalue=mq2.readLPG(); returnvalue;
}floatget_data_ppmmethan() { Serial.println(mq2.readRatio()); floatvalue=mq2.readMethane(); returnvalue;
}floatget_data_ppmsmoke() { Serial.println(mq2.readRatio()); floatvalue=mq2.readSmoke(); returnvalue;
}

Загрузим скетч на плату Arduino Mega, откроем монитор последовательного порта и увидите вывод данных о содержании пропана, метана и дыма (рис. 4.26).
Датчик горючих и угарного газов MQ-9 [Амперка / Вики]

Рис. 4.26. Вывод данных датчика MQ-2 в монитор последовательного порта.

Скачать данный скетч можно на сайте www.anemometers.ru по ссылке .

4.5.2. Подключение датчика MQ-2 к модулю NodeMcu ESP8266

Теперь рассмотрим подключение датчика MQ-2 к модулю NodeMcu ESP8266. Датчик MQ-2  подключаем к входу y2 мультиплексора. Для выбора аналогового входа мультиплексора используем контакты D5, D7, D8 модуля Node Mcu. Схема соединений представлена на рис. 4.27.
Датчик горючих и угарного газов MQ-9 [Амперка / Вики]

Рис. 4.27. Схема подключений датчика MQ-2 к NodeMcu ESP8266

Загрузим на модуль NodeMcu скетч получения данных с датчика MQ-2 и вывода в последовательный порт Arduino. Для выбора аналогового входа мультиплексора y2 подаем на контакты D5, D8 сигнал низкого уровня LOW, на контакт D7 сигнал высокого уровня HIGH.
Процедуры определения по данным, приходящим с аналогового входа:

•    get_data_ppmpropan() – содержание пропана в  ppm;
•    get_data_ppmmethan() – содержание пропана в  ppm;
•    get_data_ppmsmoke() – содержание дыма.

Содержимое скетча представлено в листинге 4.11.
Листинг 4.11

#include <TroykaMQ.h>#define INTERVAL_GET_DATA 2000 // интервала измерений, мс #define MQ2PIN A0MQ2 mq2(MQ2PIN);
unsigned long millis_int1=0; voidsetup() { pinMode(14,OUTPUT); pinMode(13,OUTPUT); pinMode(15,OUTPUT); Serial.begin(9600); digitalWrite(14,LOW); digitalWrite(13,HIGH); digitalWrite(15,LOW); mq2.calibrate(); mq2.getRo();
} voidloop() { if(millis()-millis_int1 >= INTERVAL_GET_DATA) { digitalWrite(14,LOW); digitalWrite(13,HIGH); digitalWrite(15,LOW); float propan= get_data_ppmpropan(); Serial.print("propan="); Serial.print(propan); Serial.println(" ppm "); float methan= get_data_ppmmethan(); Serial.print("methan="); Serial.print(methan); Serial.println(" ppm "); float smoke= get_data_ppmsmoke(); Serial.print("smoke="); Serial.print(smoke); Serial.println(" ppm "); millis_int1=millis(); }
}floatget_data_ppmpropan() { Serial.println(mq2.readRatio()); floatvalue=mq2.readLPG(); returnvalue;
}floatget_data_ppmmethan() { Serial.println(mq2.readRatio()); floatvalue=mq2.readMethane(); returnvalue;
}floatget_data_ppmsmoke() { Serial.println(mq2.readRatio()); floatvalue=mq2.readSmoke(); returnvalue;
}

Загрузим скетч на модуль Node Mcu, откроем монитор последовательного порта и видим вывод данных, получаемых с датчика MQ-2 (рис. 4.28).
Датчик горючих и угарного газов MQ-9 [Амперка / Вики]

Рис. 4.28. Вывод данных датчика MQ-2 в монитор последовательного порта.

Скачать данный скетч можно на сайте www.anemometers.ru по ссылке .

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

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

Датчик газа mq-9

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

Внутри трубки проходит нагревательный элемент, который нагревает чувствительный слой до температуры, при которой он начинает реагировать на определяемый газ. Чувствительность к разным газам достигается варьированием состава примесей в чувствительном слое.

Обзор датчика угарного газа mq7

Датчик MQ7  — это датчик угарного газа CO. Основным источником выделения СО является сгорание углеродного топлива при недостаточном количестве кислорода. Углерод “не догорает” и вместо углекислого газа CO
2
, в атмосферу выбрасывается угарный газ CO.  Он чрезвычайно ядовит, но при этом не обладает ни цветом, ни запахом. Попав в помещение с угарным газом, вы только по косвенным симптомам поймете, что подвергаетесь воздействию яда. Пользу этого датчика переоценить трудно и он широко применяется в схемах автоматизации.

Основным рабочим элементом датчика является нагревательный элемент, за счет которого происходит химическая реакция, в результате которой получается информация о концентрации газа. Поэтому во время работы сенсор будет горячим. Для получения стабильных показаний новый сенсор необходимо один раз прогреть (оставить включённым) в течение 48 часов. После этого стабилизация после включения будет занимать около минуты. Выдаваемый датчиком аналоговый сигнал пропорционален концентрации угарного газа. Показания датчика подвержены влиянию температуры и влажности окружающего воздуха. Поэтому в случае использования датчика MQ7 в изменяющейся среде, при необходимости получения точных показаний, понадобится реализовать компенсацию этих параметров.

Подключение

Датчик имеет 4 вывода стандарта 2,54 мм (рисунок 2):

A0
– аналоговый вывод, при подключении к аналоговому входу Arduino.
D0
– цифровой выход, который переключается в режим HIGH при превышении некоего порога концентрации усгарного газа. С помощью подстроечного резистора можно произвести калибровку датчика, хотя производитель уже провел некую калибровку датчика.

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

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

Пример использования

Рассмотрим подключение датчика MQ7 к Arduino c отображением на отдельном светодиоде превышения порога. Для проекта нам понадобятся следующие детали:

Соберем схему, показанную на рисунке.

Запустим Arduino IDE. Создадим новый скетч и внесем в него содержимое листинга 1.

Характеристики датчика mq7

Сокращение ppm расшифровывается как parts per million или в вольном переводе “частей на миллион”. От процента показатель не отличается, отличается только размерность (1 ppm = 0,0001%). По гигиеническим нормам ppm приблизительно 0,0017% – 170 ppm, выхлопе бензинового двигателя СО может быть до 3% – соответственно 3% = 30.000 ppm.

Оцените статью
Анемометры