Этот датчик, по утверждению продавца, позволяет определять факт наличия в воздухе метана, пропана, бутана, водорода и дыма, а также примерно оценивать концентрацию этих веществ в атмосфере. Датчик приобретен на Ru.aliexpress.com
Датчик MQ2 продажа на Алиэкспресс
Внешний вид модуля
Конструктивно датчик представляет собой печатную плату 30*21 мм, высота датчика примерно 20 мм, масса 7,3 г.
Датчик MQ2 внешний вид
На печатной плате имеются четыре крепежных отверстия. Чувствительный элемент данного устройства имеет вид усеченного конуса с диаметром около 20 мм в нижней части и 12 мм в верхней.
Датчик MQ2 внешний вид снизу
Верхняя часть чувствительного элемента механически не очень прочна и вполне может быть смята при транспортировке, к полной неработоспособности датчика, это приводит не всегда, но доверять показаниям смятого датчика не стоит.
Датчик MQ2
Для подключения устройство имеет 4-х контактный штырьковый разъем. Два проводника служат для подачи электропитания, модуль потребляет ток 115 мА (150 мА по данным производителя) при напряжении 5 В. Два других проводника представляют собой аналоговый и цифровой выходы датчика. На цифровом выходе происходит смена сигнала с высокого логического уровня на низкий при достижении заданного уровня загрязнения. Порог срабатывания можно устанавливать подстроечным резистором. На аналоговом выходе уровень напряжения меняется от 0,1 до 4 вольта в зависимости от уровня загрязнения. При срабатывании датчика у него на плате загорается красный светодиод.
Подключение к Ардуино-платформе
По заявлениям продавца датчик адаптирован для совместной работы с аппаратной платформой Arduino , в целом с этим можно согласиться.
Ардуино и датчик определения в воздухе газов
Для подключения работы с датчиком надо написать программу для Arduino. В простейшем случае программа, просто опрашивает датчик 1 раз в секунду и выводит показания в последовательный порт. .
int MQ2_a = 0; // датчик газа подключается к 0-му аналоговому порту
int MQ2_d = 2; // датчик газа подключается ко 2-му цифровому порту
int A = 0; // переменная для хранения значения входного напряжения на аналоговом выходе датчика
int D = 0; // переменная для хранения значения входного напряжения на цифровом выходе датчикаvoid setup()
{
Serial.begin(1200);
}void loop()
{
A = analogRead(MQ2_a); // считываем значение с аналогового выхода MQ2
D = digitalRead(MQ2_d);
Serial.print(«MQ2_a=»);
Serial.println(A);
Serial.print(«MQ2_d=»);
Serial.println(D);
delay(1000);
}
Испытание газового детектора
Для тестирования будем использовать зажигалку, заправленную пропан-бутановой смесью.
Ардуино и датчик определения газов — тестирование
В отсутствии примеси, определяемых газов, на аналоговом выводе датчика имеется низкий уровень напряжения, а на цифровой установлен в режим логической единицы.
Датчик MQ2 — результаты теста
Если из зажигалки выпустить немного газа рядом с датчиком, то показания датчика тут же изменятся. Напряжение на аналоговом выходе сильно возрастает, а на цифровом выводе появляется логический сигнал низкого уровня.
Датчик MQ2 — результаты теста с газом
При работе датчик MQ2 заметно нагревается. Производитель рекомендует прогреть датчик в течении 20 с перед началом работы. Видимо с этим связано то, что постепенно уровень напряжения на аналоговом канале падает с начального значения в 1,5 В до примерно 0,2 В. Но этот процесс занимает не 20 секунд, а примерно пол часа. При размещении датчика следует иметь в виду, что метан и, тем белее, водород имеют плотность меньше плотности воздуха, а потому будут собираться в верхней части помещения. Метан является основным компонентом природного газа, который подается по газовой распределительной сети. Так же себя поведет и горячий, насыщенный дымом, воздух при пожаре. Пропан и бутан, которые используются в горелках с баллонным питанием, гораздо плотнее воздуха и будут собираться в нижней части помещения. Так же интересную информацию по аналогичным датчикам можно найти в других источниках .
Источники
- http://radioskot.ru/publ/nachinajushhim/arduino_uno_dlja_nachinajushhikh/22-1-0-1055
- http://caravaning.in.ua/forum/viewtopic.php?p=128850
- http://cxem.net/arduino/arduino117.php
К платам Arduino c 5 вольтовой логикой датчик можно подключить используя всего один . Для этого установите перемычку на разъём «выбор питания нагревателя».
Выведем в Serial-порт текущее значение вредных газов в ppm , при этом нагреватель всегда включён.
mq2.ino // библиотека для работы с датчиками MQ (Troyka-модуль) #includeОписание
Модуль датчика газа, основным элементом которого является газоанализатор MQ-2, позволяет выявить наличие в окружающем воздухе углеводородные газы (пропан, метан, н-бутан), дым, водород. Датчик можно использовать в проектах обнаружения утечек газа, задымления. Аналого - цифровой модуль позволяет как получать данные о содержании газов к которым восприимчив газоанализатор, так и работать напрямую с устройствами, выдавая цифровой сигнал о превышении/уменьшении порогового значения. Имеет регулятор чувствительности, что позволяет подстраивать датчик под нужды конкретного проекта. Модуль имеет два светодиода: первый (красный) - индикация питания, второй (зеленый) - индикация превышения/уменьшения порогового значения.
Основным рабочим элементом датчика является нагревательный элемент, за счет которого происходит химическая реакция, в результате которой получается информация о концентрации газа. В процессе работы датчик должен нагреваться - это нормально. Также необходимо помнить, что за счет нагревательного элемента, датчик потребляет большой ток, поэтому рекомендуется использовать внешнее питание.
Обратите внимание, что показания датчика подвержены влиянию температуры и влажности окружающего воздуха. Поэтому в случае использования датчика в изменяющейся среде, будет необходима компенсация этих параметров.
Диапазоны измерений:
0-1% - пропан
0,03-0,5% - бутан
0,05-2% - метан
0,03-0,5% - водород
Технические характеристики
Напряжение питания: 4,8 - 5,2 В
Потребляемый ток: 170 мА
Время прогрева при включении: 1 мин
Физические размеры
Модуль (Д х Ш х В): 35 х 20 х 21 мм
Плюсы использования
Оптимальное недорогое решение для проектов обнаружения газа и дыма
Удобный в использовании модуль за счет наличия цифрового и аналогового выводов
Минусы использования
Перед использованием требует долгого прогрева (не менее 24 часов)
Для снятия показаний требуется прогрев (не менее 1 минуты)
Высокое энергопотребление (желательно дополнительное питание)
Пример подключения и использования
В примере демонстрируется подключение датчика и вывод полученных данных в монитор Serial - порта. (Пример тестировался на контроллере Smart UNO)
Схема подключения:
Скетч для загрузки:
const int analogSignal = A0; //подключение аналогового сигналоьного пина const int digitalSignal = 8 ; //подключение цифрового сигнального пина boolean noGas; //переменная для хранения значения о присутствии газа int gasValue = 0 ; //переменная для хранения количества газа void setup() { pinMode (digitalSignal, INPUT ) ; //установка режима пина Serial .begin (9600 ) ; //инициализация Serial порта } void loop() { noGas = digitalRead (digitalSignal) ; //считываем значение о присутствии газа gasValue = analogRead (analogSignal) ; // и о его количестве //вывод сообщения Serial .print ("There is " ) ; if (noGas) Serial .print ("no gas" ) ; else Serial .print ("gas" ) ; Serial .print (", the gas value is " ) ; Serial .println (gasValue) ; delay (1000 ) ; //задержка 1 с }Вы скажете, в интернете про датчик MQ-2 и Arduino! Но много часовой поиск информации не дал положительного результата. Все программы были не рабочими, либо не устраивали меня. Пришлось самому писать программу.
Модуль, построен на базе газоанализатора MQ-2. Позволяет обнаруживать в воздухе пропан, бутан, водород и метан.
Рисунок 1 - датчик газа MQ-2.
Характеристики
- Напряжение питания: 5 В
- Потребляемый ток: 160 мА
Диапазон измерений
- Пропан: 0,2 – 5 промилле
- Бутан: 0,3 – 5 промилле
- Метан: 5 – 20 промилле
- Водород: 0,3 – 5 промилле
Странно, но датчик очень хорошо реагирует на газ из зажигалки, на задымленность но на газовую печку не реагирует вообще. Чувствительность датчика можно отрегулировать переменным резистором.
Датчик подключается к ардуино следующим образом:
Схема 1 - Подключение датчика к Arduino.
Vss - подключается к +5В
Aout - A0 arduino (это аналоговый выход датчика, есть цифровой dout)
GND - к земле
Ниже привожу программу:
#define mic 5 #define analogInPin A0 void setup() { pinMode(analogInPin, INPUT); Serial.begin(9600); } void loop() { Serial.println(analogRead(analogInPin)); int sensorValue = analogRead(analogInPin); int range = map(sensorValue, 100, 145, 1, 4); switch (range) { case 1: analogWrite(mic,100); delay(100); analogWrite(mic,0); break; case 2: analogWrite(mic,50); delay(100); analogWrite(mic,0); break; case 3: analogWrite(mic,30); delay(100); analogWrite(mic,0); break; case 4: analogWrite(mic,20); delay(100); analogWrite(mic,0); break; } }
Для оповещения задымленности используется зуммер.
Новые статьи
● 4.5. Определение концентрации углеводородных газов с помощью датчика MQ-2
Одна из самых важных задач в вопросе безопасности умного дома -обнаружение утечки газа. Для того, чтобы плата Arduino успешно решала задачи такого рода, нужно подключить к ней датчик газа MQ-2. Датчик MQ-2 (рис. 4.24) определит концентрацию углеводородных газов (пропан, метан, н-бутан), дыма (взвешенных частиц, являющихся результатом горения) и водорода в окружающей среде. Датчик можно использовать для обнаружения утечек газа и задымления. В газоанализатор встроенный нагревательный элемент, который необходим для химической реакции. Поэтому во время работы сенсор будет горячим. Для получения стабильных показаний новый сенсор необходимо один раз прогреть (оставить включенным) в течение 24 часов. После этого стабилизация после включения занимать около минуты.
Рис. 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.
Рис. 4.25. Схема подключений датчика MQ-2 к плате Arduino Mega
Загрузим на плату Arduino Mega скетч получения данных с датчика MQ-2 и вывода в последовательный порт Arduino. Процедуры определения по данным, приходящим с аналогового входа:
Содержимое скетча представлено в листинге 4.10.
Листинг 4.10
Загрузим скетч на плату Arduino Mega, откроем монитор последовательного порта и увидите вывод данных о содержании пропана, метана и дыма (рис. 4.26).
Рис. 4.26. Вывод данных датчика MQ-2 в монитор последовательного порта.
Скачать данный скетч можно на сайте www..
4.5.2. Подключение датчика MQ-2 к модулю NodeMcu ESP8266
Теперь рассмотрим подключение датчика MQ-2 к модулю NodeMcu ESP8266. Датчик MQ-2 подключаем к входу y2 мультиплексора. Для выбора аналогового входа мультиплексора используем контакты D5, D7, D8 модуля Node Mcu. Схема соединений представлена на рис. 4.27.
Рис. 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
Загрузим скетч на модуль Node Mcu, откроем монитор последовательного порта и видим вывод данных, получаемых с датчика MQ-2 (рис. 4.28).
Рис. 4.28. Вывод данных датчика MQ-2 в монитор последовательного порта.
Похожие статьи