Андрей Смирнов
Время чтения: ~14 мин.
Просмотров: 59

Как работает датчик газа/дыма MQ-2? И его взаимодействие с Arduino

Добавлено 15 октября 2019 в 20:57

Дайте вашему следующему проекту на Arduino нос для возможности обнаружения газов с помощью модуля датчика газа MQ-2. Это надежный датчик газа, подходящий для определения концентрации в воздухе LPG (сжиженного нефтяного газа), дыма, алкоголя, пропана, водорода, метана и угарного газа. Если вы планируете создать систему контроля качества воздуха в помещении, устройство проверки дыхания или систему раннего обнаружения пожара, то модуль датчика газа MQ-2 будет отличным выбором.

cafc0cfce9d0f9b808a3de428d0bc7e85c33ede5.jpeg
Рисунок 1 – Как работает датчик газа/дыма MQ-2? И его взаимодействие с Arduino

Что такое датчик газа MQ-2?

MQ-2 является одним из наиболее часто используемых датчиков газа из серии датчиков MQ. Это датчик газа типа металл-оксид-полупроводник (МОП, MOS), также известный как химрезистор (химический резистор), поскольку обнаружение основано на изменении сопротивления чувствительного материала, когда газ вступает в контакт с этим материалом. Используя простую цепь делителя напряжения, можно измерить концентрацию газа.

c5ed68b456d8d67d4095efa80936db9c23dc9432.jpeg
Рисунок 2 – Датчик газа MQ-2

Датчик газа MQ-2 работает при постоянном напряжении 5 В и потребляет около 800 мВт. Он может обнаруживать концентрации LPG (сжиженного нефтяного газа), дыма, алкоголя, пропана, водорода, метана и угарного газа от 200 до 10000 ppm (миллионных долей).

Чему равен 1 ppm?

При измерении газов, таких как углекислый газ, кислород или метан, термин концентрация используется для описания количества газа по объему в воздухе. Двумя наиболее распространенными единицами измерения являются миллионная доля (ppm) и процентная концентрация.

Миллионная доля (сокращенно ppm) – это соотношение одного газа к другому. Например, 1000 ppm CO означает, что если бы вы могли сосчитать миллион молекул газа, 1000 из них были бы моноокисью углерода, а 999 000 молекул – какими-то другими газами.

Вот полный список технических характеристик:

Технические характеристика датчика газа MQ-2
Рабочее напряжение 5 В
Сопротивление нагрузки 20 кОм
Сопротивление нагревателя 33 Ом ± 5%
Потребляемая мощность мВт
Сопротивление чувствительности 10 кОм — 60 кОм
Измерение концентрации 200 — 10000 ppm
Время разогрева более 24 часов

Для более подробной информации, пожалуйста, обратитесь техническому описанию.

Скачать техническое описание MQ-2

Совет

Датчик чувствителен к нескольким газам – но не может сказать, какой из них он обнаружил! Это нормально; большинство датчиков газа такие. Таким образом, он лучше всего подходит для измерения изменений концентрации известного газа, а не для определения концентрация какого газа изменилась.

Внутренняя структура датчика газа MQ-2

Датчик фактически заключен в два слоя тонкой сетки из нержавеющей стали, которая называется «антивзрывной сеткой» (anti-explosion network). Она гарантирует, что нагревательный элемент внутри датчика не вызовет взрыва, когда мы ищем легковоспламеняющиеся газы.

ab0ab3a087f1d5e0dec9b1decb2b0c9e52cf8a70.jpeg
Рисунок 3 – Внешние компоненты датчика газа MQ-2

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

Рисунок 4 – Внутренняя структура с чувствительным элементом и соединительными выводами

Так выглядит датчик при удалении внешней сетки. Звездообразная структура образована из чувствительного элемента и шести соединительных ножек, которые выходят за пределы бакелитового основания. Из шести два вывода (H) отвечают за нагрев чувствительного элемента и соединены через катушку из никель-хромовой проволоки, хорошо известного проводящего сплава.

Остальные четыре вывода (A и B), отвечающие за выходные сигналы, подключены с использованием платиновых проводов. Эти провода соединены с корпусом чувствительного элемента и передают небольшие изменения тока, который проходит через чувствительный элемент.

Рисунок 5 – Чувствительный элемент – керамика на основе оксида алюминия с покрытием из диоксида олова

Трубчатый чувствительный элемент изготовлен из керамики на основе оксида алюминия (Al2O3) и покрыт диоксидом олова (SnO2). Диоксид олова здесь является наиболее важным материалом, будучи чувствительным к горючим газам. Керамическая подложка просто увеличивает эффективность нагрева и обеспечивает постоянное нагревание площади датчика до рабочей температуры.

Рисунок 6 – Внутренняя структура чувствительного элемента датчика газа MQ-2

Итак, никель-хромовая катушка и керамика на основе оксида алюминия образуют систему подогрева; в то время как платиновые проволоки и покрытие из диоксида олова образуют сенсорную систему.

Как работает датчик газа?

Когда диоксид олова (частицы полупроводника) нагревается на воздухе до высокой температуры, на его поверхности адсорбируется кислород. В чистом воздухе донорные электроны диоксида олова притягиваются к кислороду, который адсорбируется на поверхности чувствительного материала. Это предотвращает протекание электрического тока.

В присутствии восстановительных газов поверхностная плотность адсорбированного кислорода уменьшается, так как он реагирует с восстановительными газами. Из-за чего электроны высвобождаются в диоксид олова, что позволяет току свободно течь через датчик.

Обзор аппаратного обеспечения – модуль датчика газа MQ-2

Поскольку сам датчик газа MQ-2 не совместим с макетными платами, мы рекомендуем для тестов использовать этот удобный небольшой модуль. Он очень прост в использовании и имеет два разных выхода. Он не только выдает двоичное представление о наличии горючих газов, но также выдает аналоговое представление об их концентрации в воздухе.

Рисунок 8 – Модуль датчика газа MQ-2

Напряжение на аналоговом выходе датчика изменяется пропорционально концентрации дыма/газа. Чем больше концентрация газа, тем выше выходное напряжение; в то время как меньшая концентрация газа приводит к более низкому выходному напряжению. Следующая анимация иллюстрирует взаимосвязь между концентрацией газа и выходным напряжением.

Рисунок 9 – Выходной сигнал модуля датчика газа MQ-2

Аналоговый сигнал от датчика газа MQ-2 поступает на высокоточный компаратор LM393 (впаян в нижней стороне модуля) для оцифровки. Рядом с компаратором имеется небольшой потенциометр, который можно покрутить, чтобы отрегулировать чувствительность датчика. Вы можете использовать его для регулировки концентрации газа, при которой датчик его обнаруживает.

Калибровка модуля датчика газа MQ-2

Чтобы откалибровать датчик газа, вы можете держать датчик газа рядом с дымом/газом, который вы хотите обнаруживать, и поворачивать потенциометр, пока на модуле не начнет светиться красный светодиод. Поворачивайте потенциометр по часовой стрелке, чтобы увеличить чувствительность, или против часовой стрелки, чтобы уменьшить чувствительность.

Рисунок 10 – Потенциометр регулировки чувствительности модуля датчика газа MQ-2

Компаратор на модуле постоянно проверяет, достиг ли аналоговый выходной сигнал (A0) порогового значения, установленного потенциометром. Когда он пересекает пороговое значение, цифровой выход (D0) выдаст высокий логический уровень, и загорится светодиодный индикатор. Эта настройка очень полезна, когда вам нужно при достижении определенного порога запустить какое-то действие. Например, когда концентрация дыма пересекает пороговое значение, вы можете включить или выключить реле или дать команду включить вентиляцию или спринклерную систему пожаротушения.

Распиновка модуля датчика газа MQ-2

Теперь давайте посмотрим на распиновку.

Рисунок 11 – Распиновка модуля датчика газа MQ-2
  • VCC обеспечивает питание для модуля. Вы можете подключить его к выходу 5 В вашей платы Arduino.
  • GND – вывод земли, должен быть подключен к выводу GND на Arduino.
  • D0 обеспечивает цифровое представление о наличии горючих газов.
  • A0 обеспечивает аналоговое выходное напряжение, пропорциональное концентрации дыма/газа.

Подключение модуля датчика газа MQ-2 к Arduino UNO

Теперь, когда у нас есть полное представление о том, как работает датчик газа MQ-2, мы можем подключить его к нашей плате Arduino!

Подключить модуль датчика газа MQ-2 к Arduino довольно просто. Начните с установки датчика на макетную плату. Подключите вывод VCC к выводу 5V на Arduino, а вывод GND – к выводу Ground на Arduino.

Подключите выходной вывод D0 на модуле к цифровому выводу 8 на Arduino, а выходной вывод A0 на модуле – к аналоговому выводу 0 на Arduino.

Когда вы закончите, у вас должно получиться что-то похожее на рисунок ниже.

Рисунок 12 – Подключение модуля датчика газа MQ-2 к Arduino

Итак, теперь, когда мы подключили наш датчик газа, пришло время написать код и проверить его.

Код Arduino

Код очень прост, и, в основном, он просто читает аналоговое напряжение на выводе A0. При обнаружении дыма он выводит сообщение на мониторе последовательного порта. Посмотрите скетч, прежде чем мы начнем его подробный разбор.

#define MQ2pin (0)    float sensorValue;  // переменная для хранения значения датчика    void setup()  {    Serial.begin(9600); // настроить последовательный порт на скорость 9600    Serial.println("Gas sensor warming up!");    delay(20000);       // дать MQ-2 время для прогрева  }    void loop()  {    sensorValue = analogRead(MQ2pin); // прочитать аналоговый вход 0        Serial.print("Sensor Value: ");    Serial.print(sensorValue);        if(sensorValue > 300)    {      Serial.print(" | Smoke detected!");    }        Serial.println("");    delay(2000); // подождать 2 сек до следующего чтения  }

Скетч начинается с определения вывода Arduino, к которому подключен аналоговый вывод датчика газа MQ-2. Переменная под названием sensorValue определена для хранения значения датчика.

#define MQ2pin (0)    float sensorValue;  // переменная для хранения значения датчика

В функции setup() мы инициализируем последовательную связь с ПК и ждем 20 секунд, чтобы дать датчику прогреться.

Serial.begin(9600); // настроить последовательный порт на скорость 9600  Serial.println("Gas sensor warming up!");  delay(20000);       // дать MQ-6 время для прогрева

В функции loop() значение датчика считывается функцией analogRead() и отображается в мониторе последовательного порта.

sensorValue = analogRead(MQ2pin); // прочитать аналоговый вход 0      Serial.print("Sensor Value: ");  Serial.print(sensorValue);

Когда концентрация газа достаточно высока, датчик обычно выдает значение, превышающее 300. Мы можем отслеживать это значение с помощью оператора if. И когда значение датчика превысит 300, мы отобразим сообщение «Smoke detected!» (Обнаружен дым!).

if(sensorValue > 300)  {    Serial.print(" | Smoke detected!");  }

Вывод в мониторе последовательного порта выглядит так:

Рисунок 13 – Вывод в мониторе последовательного порта скетча для работы с модулем датчика газа MQ-2

Теги

ArduinoMCUДатчикДатчик газаДатчик дымаМикроконтроллерГлавная > Проекты > Подключение датчика газа MQ-2 к Arduino

Датчик газа MQ-2 позволяет регистрировать концентрацию таких газов как водород, дым и горючие углеводородные газы (метан, пропан, бутан). Датчик относится к распространенному семейству датчиков MQ. Это семейство датчиков, благодаря своей низкой стоимости и простоте использования завоевало популярность. Датчик имеет аналоговый и цифровой выход. На цифровой выход сигнал подается при превышении определенного порога концентрации газа, который настраивается подстроечным резистором. Датчик прост в подключении, имеет высокую чувствительность и малое время отклика.

<center>

Датчик представляет из себя небольшую плату, с передней стороны которой расположен чувствительный газоанализатор (детектор), а на обратной стороне располагаются 4 ножки для подключения датчика, индикаторы питания и выходного сигнала, а также потенциометр.

Применяют датчики MQ-2 в системах умного дома, в системах обнаружения газа или дыма на промышленных или частных объектах, в автомобильных вентиляционных фильтрах и т.д.

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

  • Напряжение питания: 5В;
  • Потребляемый ток (ток нагревателя): 180мА;
  • Диапазон чувствительности 300-10000 ppm;
  • Газ, для которого нормируется датчик: изобутан, 1000ppm;
  • Время отклика: менее 10 с;
  • Рабочая температура: от -10 до +50 °C;
  • Рабочая влажность воздуха: не более 95% RH;
  • Интерфейс: аналоговый и цифровой;

Принцип работы

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

Концентрация газа измеряется в ppm. Она расшифровывается, как parts per million (частей на миллион). Таким образом 1ppm соответствует концентрации в 0,0001%. Что бы получить точное значение измеренной концентрации газа ppm, необходимо выполнить сложное нелинейное преобразование напряжения на аналоговом выходе датчика по таблицам преобразования из документации на датчик, с учетом температуры окружающего воздуха.

С помощью потенциометра можно изменять порог чувствительности цифрового выхода датчика. Имейте ввиду что для разных газов порог чувствительности будет не один и тот же.

Индикаторы, расположенные на датчике, уведомляют нас подключенном питании и превышении порога чувствительности цифрового выхода.

Подключение

Подключить датчик можно к плате Arduino или напрямую к модулю реле. В первом случае используется аналоговый выход А0 датчика, который подключают к аналоговому входу на плате Arduino. В случае с реле используют цифровой выход датчика.

<center>

Внимание. Не подавайте на датчик напряжение питания более 5В, избегайте попадания влаги и щелочи на газоанализатор, избегайте обморожения датчика при очень низких температурах.

Схема подключения представлена на картинке ниже:

<center>

Программный код для Arduino IDE

Пример исходного кода проверки работоспособности датчика для Arduino представлен ниже. Код выводит в монитор порта текущее значение АЦП аналогового входа и информацию о превышении порогового значения. В строчке кода #define smokePin A0 вы можете задать номер пина Arduino, к которому подключен аналоговый выход датчика. Пороговое значение концентрации газа в воздухе вы можете задать самостоятельно.

#define smokePin A0    // определяем аналоговый выход к которому подключен датчик int sensorThres = 400; // пороговое значение АЦП, при котором считаем что газ есть void setup() {   Serial.begin(9600);   // Устанавливаем скорость порта 9600 бод } void loop() {   int analogSensor = analogRead(smokePin);    // считываем значения АЦП с аналогового входа                                               // к которому подключен датчик    Serial.print (analogSensor);                // выводим в порт значение АЦП сигнала с датчика      // Проверяем, достигнуто ли пороговое значение   if (analogSensor > sensorThres) {  // если значение больше допустимого...     Serial.println(" Gaz!");         // выводим в порт надпись, что газ есть   }   else {                             // иначе...    Serial.println(" normal");        // выводим в порт надпись, что газа нет   }   delay(500);  // задержка в 500 миллисекунд. }

Товары, используемые в проекте

Датчик газа MQ-2 (дым, горючие газы)191

руб.

Uno R3 Arduino совместимый контроллер с USB кабелем539

руб.

Uno R3 CH340G Arduino совместимый контроллер с USB кабелем401

руб.

Mega 2560 REV3 Arduino совместимый контроллер с USB кабелемНет в наличии

Arduino и датчик газа / дыма MQ-2

Автор: Mike(admin) от 27-09-2016, 13:16

Arduino можно применять в системах пожарной безопасности и оборудовании обнаружения утечки газа. Для того, чтобы плата Arduino успешно решала задачи такого рода, нужно подключить к ней датчик газа MQ-2.

1.jpg

Этот датчик достаточно недорогой и широко распространенный. К тому же он довольно прост в эксплуатации. В этом материале будет показано, как использовать Arduino вместе с датчиком дыма и газа MQ-2.

Датчик MQ-2 чувствителен к дыму и к горючим газам, таким как сжиженный природный газ, бутан, пропан, метан, пары спирта и водород. В зависимости от уровня газа в атмосфере меняется внутреннее сопротивление датчика. MQ-2 имеет аналоговый выход, поэтому напряжение на этом выходе будет меняться пропорционально уровню газа в окружающей среде. Для определения по логическому уровню также имеется цифровой выход. На модуле датчика есть встроенный потенциометр, который позволяет настроить чувствительность этого датчика в зависимости от того, насколько точно вы хотите регистрировать уровень газа. Ниже показано изображение датчика дыма/газа MQ-2 с обозначением выводов.

2.jpg

Для того, чтобы попрактиковаться с Arduino и датчиком MQ-2, соберем простую систему обнаружения газа/дыма. Для этого помимо самого датчика и Arduino нам потребуется макетная плата, один красный светодиод, один зеленый светодиод, динамик или зуммер, три резистора 220 Ом и соединительные провода.

4.jpg

Суть работы этой системы проста: при достижении определенного уровня газа/дыма в атмосфере загорится красный светодиод и зуммер будет издавать звук.

Соединение всех компонентов системы производится в соответствии с представленной ниже схемой. Здесь аналоговый выход датчика MQ-2 подключается к аналоговому порту A5 платы Arduino Uno. Зуммер подключается к цифровому порту D10, а зеленый и красный светодиоды к D11 и D12 соответственно.

5.jpg

После того, как правильно подключите все компоненты, скопируйте нижеприведенный код в среду разработки Arduino IDE, скомпилируйте его и загрузите в плату Arduino Uno. Этот скетч довольно прост. Для изменения порога срабатывания зуммера и красного светодиода можете поменять значение sensorThres.

  int redLed = 12;  int greenLed = 11;  int buzzer = 10;  int smokeA0 = A5;  // Пороговое значение:  int sensorThres = 400;    void setup() {    pinMode(redLed, OUTPUT);    pinMode(greenLed, OUTPUT);    pinMode(buzzer, OUTPUT);    pinMode(smokeA0, INPUT);    Serial.begin(9600);  }    void loop() {    int analogSensor = analogRead(smokeA0);      Serial.print("Pin A0: ");    Serial.println(analogSensor);    // Проверяем, достигнуто ли пороговое значение    if (analogSensor > sensorThres)    {      digitalWrite(redLed, HIGH);      digitalWrite(greenLed, LOW);      tone(buzzer, 1000, 200);    }    else    {      digitalWrite(redLed, LOW);      digitalWrite(greenLed, HIGH);      noTone(buzzer);    }    delay(100);  }  

Таким образом, совместное использование платы Arduino и датчика газа MQ-2 не представляет каких-либо трудностей как в схеме, так и в коде. С помощью этой платы и данного датчика вы всегда можете собрать свою собственную систему пожарной безопасности.

В© digitrode.ru

Версия для печати &nbsp&nbsp&nbspБлагодарим Вас за интерес к информационному проекту digitrode.ru. &nbsp&nbsp&nbspЕсли Вы хотите, чтобы интересные и полезные материалы выходили чаще, и было меньше рекламы, &nbsp&nbsp&nbspВы можее поддержать наш проект, пожертвовав любую сумму на его развитие. —> Вернуться24607—> 1В 

Категория: Микроконтроллеры и микропроцессоры, Статьи, Датчики

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарийИспользуемые источники:

  • https://radioprog.ru/post/737
  • https://mcustore.ru/projects/podklyuchenie-datchika-gaza-mq-2-k-arduino/
  • http://digitrode.ru/computing-devices/mcu_cpu/383-arduino-i-datchik-gaza-dyma-mq-2.html

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации