Mq 135 описание. Датчик углекислого газа MQ135 — подключение к STM32. Пример подключения и использования

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

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

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

По поводу необходимой обвязки нам говорит, что достаточно всего одного сопротивления:

На практике же схема выглядит очень похожей на найденную на просторах этого нашего интернета:

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

Питается датчик от 5В, потребляет (по документации) менее 800 мВт. При этом надо понимать, что кушает он прилично, и львиная доля потребляемого тока идет на подогрев чувствительного элемента. Температура которого после нескольких часов работы выше предела регистрации бытовым термометром (т.е. больше 42C), на ощупь датчик теплый, но не обжигающий.

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

Исходя из вышесказанного понятно, что в автономных системах применять датчик нецелесообразно: будучи постоянно включенным вместе с Arduino Mega, MQ135 этой модификации скушал аккумулятор в 10 Ач (ну, плюс-минус китайских Ач) менее чем за сутки. И, конечно, понятно, что если особенно прижмет сделать «автономку», включаться можно эпизодически - так это пожалуйста, я не запрещаю.

Но ест он все равно много. Измеренный мультиметром потребляемый ток составляет около 130 мА.

Размеры датчика (примерно) (ВхШхГ): 22х20х32 мм. Ноги датчика, как видите, по какой-то причине не обкусаны:

Как эта штуковина работает? Вот честно, я не знаю. Наверное, там какая-то магия и радужные единороги, но в документации почему-то говорится о том, что регистрируемые датчиком газы влияют на сопротивление принудительно подогреваемого измерительного элемента. Который подходит для обнаружения (согласно документации): аммиака (NH3), окисей азота (NOx), алкоголя (не указано какого, можно думать о всех спиртах), бензола, CO2, дыма и, как принято - etc.

Результат выдается в аналоговом виде на пин A0 и в дискретном (после компаратора) - на пин D0.

Отсюда вывод: аналоговый выход датчика подходит для наблюдения динамики качества воздуха, тогда как цифровой (D0) - для оповещения о превышении некоторого порога.

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

Ну вот хоть так:

#define analogPin A0 // аналоговый выход MQ135 подключен к пину A0 Arduino #define digitalPin 3 // цифровой выход подключен к пину 3 float analogValue; // для аналогового значения byte digitalValue; // для цифрового значения, можно, кстати и boolean, но не суть void setup() { Serial.begin(9600); // инициализация последовательного порта pinMode(analogPin, INPUT); // режим работы аналогового пина pinMode(digitalPin, INPUT); // режим работы цифрового пина delay(1000); // устаканимся } void loop() { analogValue = analogRead(analogPin); // чтение аналогового значения digitalValue = digitalRead(3); // чтение цифрового значения Serial.print("Current value: "); // вывод аналогового значения в последовательный порт Serial.println(analogValue); Serial.print("Threshold: "); // вывод цифрового значения в аналоговый порт Serial.println(digitalValue); delay(5000); // задержка, чтобы не мельтешило перед глазами }

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

Внимательный читатель может догадаться, что в первую очередь я подключил MQ135 к плате Arduino Mega и посмотрел, что там на аналоговом и цифровом выходах. Там, в общем, никаких особых сюрпризов. Ну, кроме того, что когда светодиод компаратора горит, на цифровом выходе на самом деле 0. Особой роли это не играет, но перфекционистам придется туго.

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

Вот так выглядит «подышать в трубочку»:

А так как аппетит приходит во время еды, то следующим делом я поискал библиотеку, которая позволила получить хотя бы примерную концентрацию CO2 в воздухе. Нашел .

Теория, которая стоит за библиотекой гласит следующее: диоксид углерода, он же CO2 - четвертый по распространенности газ в атмосфере Земли. Остальные регистрируемые датчиком вещества в газообразном состоянии встречаются (на наше счастье) гораздо, гораздо реже. Но при этом чувствительность ко всем этим газам у MQ135 примерно одинаковая, что, в принципе, позволяет использовать его в первую очередь как датчик CO2.

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

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

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

Вот комбинированный код, чтобы посмотреть текущие и/или калибровочные данные:

#include // подключение библиотеки #define analogPin A0 // аналоговый выход MQ135 подключен к пину A0 Arduino MQ135 gasSensor = MQ135(analogPin); // инициализация объекта датчика void setup() { Serial.begin(9600); // последовательный порт для отображения данных delay(1000); // устаканимся } void loop() { float ppm = gasSensor.getPPM(); // чтение данных концентрации CO2 Serial.println(ppm); // выдача в последовательный порт float rzero = gasSensor.getRZero(); // чтение калибровочных данных Serial.println(rzero); // выдача в последовательный порт delay(5000); // просто задержка, чтобы не мельтешило перед глазами }

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

На всякий случай сообщаю, что «добавляем в библиотеку» означает редактирование приведенных ниже строк в файле MQ135.h библиотеки MQ135:

/// The load resistance on the board #define RLOAD 1.0 /// Calibration resistance at atmospheric CO2 level #define RZERO 396.57

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

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

Но хочу заметить, что датчик выдает довольно стабильные показания, которые также очень неплохо соотносятся с происходящим. К примеру, на приведенной ниже иллюстрации видно, как показания довольно резко пошли наверх, когда в комнате закрыли окно (около 18:00), и как они не менее стремительно стали снижаться, когда окно открыли (около 20:00):

Что касается цифрового выхода и компаратора, то его работа мне не очень понравилась, поскольку в обычных условиях он начинает срабатывать уже в самом начале (или конце - как посмотреть) диапазона регулировки подстроечного резистора.

Если найти какой-нибудь нормированный генератор CO2, тогда можно еще поиграться с настройкой, но где же такую фиговину найдешь? Другое дело - ненормированный, в качестве которого можно использовать себя любимого: дыхнешь - лампочка загорелась.

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

Если удастся найти подходящий привод окна и справиться с управлением - доложу отдельно.

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

Планирую купить +50 Добавить в избранное Обзор понравился +44 +76

Датчик качества воздуха MQ-135. Датчик позволяет определить концентрацию различных газов в воздухе и таким образом можно вычислить насколько воздух качественный. Чем выше напряжение на выводе, тем выше уровень загрязняющих газов. В датчике MQ135 используется оксид олова низкой проводимости (SnO2).
Так же датчик пожно использовать как детектор газов аммиака, сульфида, паров бензола, детектор дыма и других газов.

Область применения

Зонд для дома, устройство для определения характеристик окружающей среды и обнаружения вредных газов, детектор аммиака, соединений серы, паров бензола, дыма и других газов. Чувствительный элемент работает в диапазоне концентраций: от 10 до 1000ppm

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

Двухстороннмй монтаж, индиктор питания
Два режима выода данных: D0 TTL уровень и A0 аналоговый
Выход сигнала TTL с компортатора низкого уровня, позволяет подключить датчик непосредственно к контроллеру
Аналоговый выход 0 ~ 5 В, выходное напряжение, чем выше концентрация, тем выше напряжение
Монтажные отверстия для крепления
Размер: 32мм X22mm X27mm
Сенсор: MQ-135
Рабочее напряжение: 5 В постоянного тока
Длительный срок службы, высокая надежность

Премечание: после включения датчик должен прогрется не менее 20 секунд. При работе датчик должен быть теплым - это нормально.

Распиновка

1. VCC: положительный источник питания (5V)
2. GND: отрицательный источник питания
3. DO: выход сигнала компаратора TTL
4. AO: аналоговый выход сигнала

Датчик качества воздуха MQ-135 Отзывы:

Отзывы: 1 , Оценка: 5.00

Оценка: 5

Сначала каждый будет задаваться вопросами как работать с этим датчиком, рекомендую прочесть статью - https://www.olegkravec.space/%D0%BE%D1%82%D0%BA%D0%B0%D0%BB%-
D0%B8%D0%B1%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%B4%D0%B0-
%D1%82%D1%87%D0%B8%D0%BA-%D1%83%D0%B3%D0%BB%D0%B5%D0%BA%D0%B-
8%D1%81%D0%BB%D0%BE%D0%B3/

Описание

Универсальный датчик, обнаруживающий в воздухе бензол, спирт, пыль, дым. Аналого - цифровой модуль позволяет как получать данные о содержании газов к которым восприимчив газоанализатор, так и работать напрямую с устройствами, выдавая цифровой сигнал о превышении/уменьшении порогового значения. Имеет регулятор чувствительности, что позволяет подстраивать датчик под нужды конкретного проекта. Модуль имеет два светодиода: первый (красный) - индикация питания, второй (зеленый) - индикация превышения/уменьшения порогового значения.

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

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

Диапазон измерений: 0,001 - 0,1 %

Технические характеристики

    Напряжение питания: 5 В

    Потребляемый ток: 150 мА

    Время прогрева при включении: 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-135 ДАТЧИК ГАЗА"

"GAS SENSOR MQ135 " датчик, используемый для анализа чистоты окружающего воздуха. Например, в Вашем авто. "Датчик газа MQ-135 " реагирует на содежание таких газов, как NO 2 -оксид азота, CO 2 - оксид углерода, пары бензола и алкоголя, а также - как анализатор дыма. Датчик газа MQ-135 называется анализатором чистоты воздуха, потому что он не работает на какой-то один газ. А определяет общее содержание ВРЕДНЫХ ГАЗОВ в воздухе. Принцип действия простой - изменение сопротивления (а значит и значения выходного напряжения) в зависимости от объемного содержания вредных газов в воздухе. Вывод "DO" - цифровой сигнал позволяет использовать сам "датчик газа " без "Платы контроллера Ардуино " напрямую с "Модулем Реле ". Т.е. высокий уровень 5 вольт - включить Реле и низкий уровень "0 вольт" - выключить Реле. "AO" -аналоговый сигнал на выходе Модуля Датчика газа позволяет анализировать процентное содержание вредных газов и, при необходимости, принимать какие-то определенные действия при помощи различных "Модулей Ардуино ". Калибровать Датчик надо только один раз при первом включении. Скачать Библиотеку для работы с Датчиком газа можете

Более полную информацию Вы можете найти в приложенном PDF-файле.

В нашем магазине существует гибкая система скидок для постоянных и оптовых покупателей. Цену и наличие уточняйте по телефону. Заказать доставку по Москве Вы можете на сайте компании "Dostavista ".

gastroguru © 2017