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

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

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

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

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

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

Рисунок 2 Датчик газа MQ-2
Рисунок 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%
Потребляемая мощность<800 мВт
Сопротивление чувствительности10 кОм - 60 кОм
Измерение концентрации200 - 10000 ppm
Время разогреваболее 24 часов

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

Совет

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Рисунок 11 Распиновка модуля датчика газа 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
Рисунок 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 Вывод в мониторе последовательного порта скетча для работы с модулем датчика газа MQ2
Рисунок 13 – Вывод в мониторе последовательного порта скетча для работы с модулем датчика газа MQ-2

Теги

ArduinoMCUДатчикДатчик газаДатчик дымаМикроконтроллер

На сайте работает сервис комментирования DISQUS, который позволяет вам оставлять комментарии на множестве сайтов, имея лишь один аккаунт на Disqus.com.

В случае комментирования в качестве гостя (без регистрации на disqus.com) для публикации комментария требуется время на премодерацию.


  • 2022-06-16Егор

    у меня вопрос. как изменить условную единицу измерения в датчике. что бы было не 9.00 а 90.00. это надо играть с чувствительностью?

  • 2022-01-05Денис

    Зачем было подключать "выходной вывод D0 на модуле к цифровому выводу 8 на Arduino" если вы его не используете?