Кое-что о погоде на Марсе или датчик качества воздуха MQ135


Собственно, нестерпимое желание приобрести именно этот датчик у меня появилось после чтения пламенных комментариев к посту о приборе AirMaster AM7. С одной стороны, прибор, конечно, хорош, но стоит на пару порядков дороже 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 <MQ135.h> // подключение библиотеки

#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 и предложения одолжить для этой благородной задачи ваш измерительный прибор. Ну и вообще.
Планирую купить +52 Добавить в избранное +44 +76
+
avatar
0
Вот такую штуку можно использовать для подачи СО2
+
avatar
  • spc
  • 08 июня 2016, 09:10
0
Это, опять же, ненормированная вещь. Ничем не отличается, по сути, от дыхания, на которое датчик тоже реагирует.
+
avatar
0
Тоже верно. Но порции по более, так, чисто для сравнения.
+
avatar
  • Kartus
  • 08 июня 2016, 09:12
0
Эту штуку использовать нельзя, в ней ненормировано содержание других газов.
Для проверки существуют специальные газовые смеси — газы высокой чистоты(поверочные смеси)
+
avatar
-4
Актуально, качество воздуха ухудшается. Авто делают свое дело по выхлопам.
+
avatar
+3
Для СО2 лучше брать специализированные датчики (Например MH-Z19 или MG811). К томуже требуется прогрев для выхода на рабочие значения довольно длительный. от получаса до суток. Можно еще развести раствор соды и лимонной кислоты для проверки.
+
avatar
  • spc
  • 08 июня 2016, 09:39
+1
О прогреве я знаю, и специально об этом упоминал. О том, почему выбрал именно этот датчик, тоже довольно подробно написал. Возможно, потом действительно куплю MG811, но пока экспериментирую с этим.
+
avatar
+1
Лучше взять MH-Z19, не нужен длительный прогрев, калибровка и проч. В офисе/дома работает метеостанция, в т.ч. с мониторингом CO2, всё чётко.
+
avatar
  • Soorin
  • 08 июня 2016, 20:03
0
Если бюджет 1.4USD, на нормальный датчик остаётся только облизываться.
Если надо реально что-то измерить, то обзоры MH-Z19 уже бывали тут, кто хотел — тот купил.
+
avatar
0
А сколько времени требуется для прогрева MG811 и MH-Z19?
+
avatar
  • Lemon
  • 11 июня 2016, 18:50
0
А нет ничего ещё более простого и не такого прожорливого? В планах сделать автономную систему дыхания на случай химической войны (вдыхаешь, открывается клапан, подаёт воздух пока вдыхаешь, выдыхаешь, другой клапан сбрасывает выдыхаемый воздух).
+
avatar
+3
С чего вообще вы решили, что он реагирует на углекислый газ?
Это неселективный каталитический датчик, реагирует на углеводородные и другие горючие газы.
Еще лучше реагирует на сквозняки, а к углекислоте не чувствителен вообще.
+
avatar
  • spc
  • 08 июня 2016, 09:37
0
Да я особо не решал, просто заглянул в документацию по датчику. Какие у меня решения могут быть?
+
avatar
0
Он чувствителен только к СО — угарному газу.
+
avatar
  • spc
  • 08 июня 2016, 09:45
0
Покажите, пожалуйста, где это написано. В принципе, диплом (лучше красный, конечно) химика тоже подойдет.

Но если я правильно понимаю, то даже Google согласен с тем, что SnO2 чувствителен к CO2. Это, конечно, не является прямым доказательством того, что данный датчик имеет необходимые катализаторы, но и не опровергает того, что он вполне способен детектировать углекислый газ.
+
avatar
0
Изучайте внимательно Measurement, Instrumentation, and Sensors Handbook, 1999 CRC Press LLC
+
avatar
  • spc
  • 08 июня 2016, 10:22
+5
Я полистал раздел Air Pollution Measurement, где авторы упирают на то, что лучше использовать спектрометрию, а для CO2 — так вообще ИК. Собственно, мне нечего противопоставить (как я и говорил раньше), но то, что здесь не описана возможность применения датчиков на основе SnO2, опять же, не говорит, что это недопустимо.

Могу предположить, что вы по какой-то причине закладываетесь (как и составители книги) на лабораторную точность измерений, о которой я, между прочим, даже не заикался. Тогда — да, разумеется, лазеры, спектрометрия, системы класса «simple, inexpensive (current list prices are less than $3000), and requires minimal operator training...weighing typically in the range of 15 to 30 kg» и проч.

В свою очередь, издание Handbook of Gas Sensor Materials: Properties, Advantages and Shortcomings for Applications Volume 1: Conventional Approaches (Ghenadii Korotcenkov, Springer Science & Business Media, Sep 18, 2013) сообщает, что «Other studies have reported candidates such as La-doped SnO2 and BaTiO3, which display reliable CO2 sensing properties...». Там же, впрочем, упоминается, что на момент исследований (2000-2003 гг.) чувствительность указанных соединений к бытовым концентрациям была сравнительно низкой и зависела от влажности. Но с тех пор прошло больше десяти лет — всякое могло измениться.
+
avatar
0
Конечно, зависит от влажности.
Принципиально. И чувствительность очень плохая тоже принципиально.
Ведь СО2 вместе с парами воды конвертируется в метан и только потом окисляется на платине.
Как ведут себя такие «датчики» я действительно не знаю.
Поскольку в промышленности они нигде не применяются.
+
avatar
  • Kail
  • 08 июня 2016, 22:04
0
А в школе учили, что CO2 с водой — это неустойчивая угольная кислота и производные. Ну, вам, может, виднее, но не могли бы тогда провести ликбез — куда при описанном вами преобразовании девается столько кислорода?
+
avatar
0
В вашей школе учили, что такое катализ и синтез Фишера-Тропша?
+
avatar
  • Kail
  • 09 июня 2016, 09:29
0
Нет, не учили. Поэтому я и спрашиваю. Без сарказма.
В синтезе Фишера-Трошпа, согласно первым попавшимся источникам, исходные элементы — смесь H2 и CO, т.н. синтез-газ. А вода и углекислый газ — побочный или промежуточный продукт. В последнем случае, наоборот, из метана делают синтез-газ, и происходит это при большом давлении и температуре.
Поэтому для человека непосвещённого и синтез Фишера-Трошпа выглядит как сбоку припёку.
+
avatar
0
На катализаторах происходит множество самых разных реакций, легче всего создаются метан и его гомологи.
Не обязательно исходно СО, это может быть любое углеродсодержащее вещество.
Есть еще разные технологии газификации углей и прочей органики, там как раз окислителями участвуют вода и кислород.
+
avatar
  • aaan73
  • 02 декабря 2016, 00:04
0
Вот как раз это самая большая ошибка разработчиков — использовать самое-самое навороченное и чувствительное где оно совсем не нужно. Бессмысленно применять электронный микроскоп в школе на уроках биологии, хотя он точнее школьного. У этих типов датчиков точности должно хватать на ИНДИКАЦИЮ и включение тревоги — бежать ли при опасности или нет. И самая главная их фишка в стоимости. Датчик такого типа в КАЖДОЙ квартире можно ставить, а вот газоанализато или спектроанализатор за несколько десятков тысяч баксов — не в каждом городе есть…
+
avatar
0
читайте доку, чувствителен к CO2. И довольно бодро реагирует…
+
avatar
  • Saloed
  • 08 июня 2016, 09:40
+2
Вот тут интересное применение такого датчика
тут
+
avatar
  • spc
  • 08 июня 2016, 09:49
+1
Кстати да, пока рассматривал датчики, часто встречал упоминания об автомобильном применении.
+
avatar
  • InSAn
  • 08 июня 2016, 10:14
0
при этом чувствительность ко всем этим газам у MQ135 примерно одинаковая
Не совсем.

+
avatar
  • spc
  • 08 июня 2016, 10:28
0
Если мы говорим о лабораторной точности — да, разница огромная. А если о чем-то домашнем, чем, собственно, я и занимаюсь — различия, как мне видится, не особенно критичны.
+
avatar
  • InSAn
  • 08 июня 2016, 10:15
+1
следующим делом я поискал библиотеку, которая позволила получить хотя бы примерную концентрацию CO2 в воздухе
А чем analogRead не устроил?

#define R0 1200 //сопротивление датчика при атмосферном воздухе
// (оно может отличаться для разных мест и условий. нужно промерять самому)

#define PARA 116.6020682 // параметры для вычисления CO2
#define PARB 2.769034857

void MQ135 {
  int MQ135val = analogRead(MQ135PIN);
  float Resistance = ((1023. / (float)MQ135val) * 5. - 1.) * RLOAD;
  CO2 = PARA * pow((Resistance / R0), -PARB);

  Serial.print(MQ135val);
  Serial.print(" - ");
  Serial.print("CO2: ");
  Serial.print(CO2);
  Serial.println("ppm");
}
+
avatar
  • spc
  • 08 июня 2016, 10:26
+2
Почему не устроил? Устроил — я об этом писал. Что касается вопроса, почему я сам не стал изучать варианты расчета концентрации, то все просто: так как для меня все эти датчики и контроллеры больше развлечение, где результат хочется получить максимально быстро, то я сначала иду чужим путем. Проще говоря, позволяю себе лениться, освобождая время для каких-нибудь еще развлечений или дел.
+
avatar
  • Sanja
  • 08 июня 2016, 10:39
+1
вот тут товарищ разобрал графики из даташита и вывел формулы расчёта по ним:

davidegironi.blogspot.ru/2014/01/cheap-co2-meter-using-mq135-sensor-with.html
+
avatar
  • spc
  • 08 июня 2016, 10:39
+1
Ага, библиотеку, которую я использовал, написал товарищ, который ссылался на этот материал.
+
avatar
+1
для повышения точности (отсечения смещения и усиления) можно добавить диф.усилитель на ОУ:


и линеаризацию: www.edn.com/design/sensors/4435828/Antilog-converter-linearizes-carbon-dioxide-sensor
+
avatar
  • tklim
  • 09 июня 2016, 01:35
+1
Зачем так сложно?
2016 год на дворе. Разве +- любого АЦП в составе микроконтроллера не хватит для «программного» усиления и компенсации смещения?
+
avatar
0
не попробуйте :)…
+
avatar
  • tklim
  • 09 июня 2016, 11:47
0
Наверняка, попробую)
Но это еще надо датчик заказать и, желательно, поиграться со всем тем барахлом что уже накупил за немалое время.
+
avatar
0
1 ОУ — уже сложно?
+
avatar
  • tklim
  • 09 июня 2016, 16:35
0
Дело не в «сложно», дело в «зачем»
Среднестатистический сферический микроконтроллер имеет на боту 10-бит АЦП. Это в 10 раз больше чем достаточно чтоб на выходе иметь шкалу 0..100% с шагом в 1%
+
avatar
0
там логарифмическая зависимость — размер шага нелинейный. Рабочий диапазон 1/10 от диапазона АЦП, плюс нелинейная шкала — от точности останется фигня
+
avatar
  • tklim
  • 09 июня 2016, 17:29
+1
Глянул еще раз даташит — ну он очень китайский. Там два относительных графика и все. Что у него на выходе, какие возможные пределы — нет такого. Не вижу смысла дальше теоретическую дискуссию вести.
По делу: данный обзор пропитан чуть более чем полностью одной важной мыслью: датчик проводит очень условные измерения. Если влепить сюда супер-малошумящий ОУ и 100500-битный АЦП, то по факту получим очень точную оцифровку непонятно чего. И я полностью согласен с автором что лабораторная точность тут ни к чему.
+
avatar
  • aaan73
  • 02 декабря 2016, 00:37
0
Тогда нафига АЦП и микроконтоллер? Встроенного в китайские платы компаратора и светодиода хватит… А на выходе у датчика десятые и сотые доли вольта могут быть. Для 10 бит АЦП для ЭТОГО датчика из 1000 значений едва ли 200 будет использоваться — у автора около 40 отсчётов на 400 ppm. 10-15 ppm погрешность только АЦП ардуины…
+
avatar
  • tklim
  • 02 декабря 2016, 01:20
0
Встроенного в китайские платы компаратора и светодиода хватит…
Для чего хватит? Для измерения с дискретностью 1 бит? Хватит, тогда действительно ничего больше и не надо.
Для 10 бит АЦП для ЭТОГО датчика из 1000 значений едва ли 200 будет использоваться
Это от 5 вольт? Ну так кто мешает, даже у стандартной ардуины с м328 выставить опорное напряжение АЦП в 1,1 вольт?

10-15 ppm погрешность только АЦП ардуины…
Можно теоретические выкладки этих цифр? Не стёба ради, просто я не воспринимаю указанный даташит как строгий документ. Все основывается только на предположениях и допущениях «что они имели в виду».
+
avatar
  • aaan73
  • 02 декабря 2016, 11:33
0
Встроенный опорник 1,1В у дуины не сильно стабильный, так что лучше внешний усилитель, 10-15ррм это погрешность исходя из измерений в статье при 400 ppm, т.к. зависимость логарифмическая, то на моём датчике при изменении от 1000 до 2000 ppm в АЦП дуины 25 разрядов всего укладывается, это 40ррм на 1 отсчёт при ИДЕАЛЬНОМ АЦП в 10 бит… А вообще, если по хорошему делать, то нужен повторитель на ОУ между датчиком и измерительной системой и простенький НЧ фильтр.
+
avatar
  • tklim
  • 02 декабря 2016, 12:09
0
Встроенный опорник 1,1В у дуины не сильно стабильный
~0,2% при температуре от +10 до +50 (хотя это даже выходит за рамки «комнатной температуры»). У популярных TL431 +- также

то на моём датчике при изменении от 1000 до 2000 ppm в АЦП дуины 25 разрядов всего укладывается
Мой датчик, к сожалению, где-то потерялся в дороге. Какой у вас датчик? Напряжения питания? Сопротивление нагрузочного резистора?

Я понимаю, что можно ОУ ставить, городить аналоговые компенсации нелинейности. Но зачем? Мое мнение, что даже ардуины с ее АЦП и двумя диапазонами хватит для этого датчика.
+
avatar
  • aaan73
  • 02 декабря 2016, 14:14
0
АЦП в последнем разряде все скачут — уже нарывался. Вся обработка цифровая, но до этого нельзя угробить полезный сигнал с датчика! Обычный датчик с нагрузочным резистором китайским на 1к, 5В питание. Буду переделывать под подстроечник, ставить ОУ усилитель вместо 393, возможно с регулировкой усиления 3-10 раз и МК с индикатором на 3 разряда и пищалку — просто всё это есть в наличии. АЦП нормально измеряет в последней трети шкалы. Думаю показометр с точностью +-100 ppm соорудить с минимумом переделок платы от китайцев. Возможно запитаю МК от 1,8В и на 1МГц его запущу, тогда ОУ будет как повторитель — скорости хватит. Нужно сделать верещалку по балонному газу, магистральному, СО+CO2. Оповещение при ненормальной атмосфере в бытовке/дачном домике, даже без выключателя питания будет чтобы не вырубили случайно.
+
avatar
  • tklim
  • 02 декабря 2016, 15:19
0
с нагрузочным резистором китайским на 1к
Вот, видимо от этого и все проблемы. По даташиту сопротивление датчика 30..200к и резистор там рекомендуется ставить 10к или 20к.

В китайской плате, как я понимаю стоит всего 1к, потому что основное ее назначение — это сработка компаратора при сильном превышении нормы
+
avatar
  • aaan73
  • 02 декабря 2016, 19:44
0
Не от этого. Народ уже пробовал разные ставить. При таком сопротивлении чувствительность падает и только. И лучше там переменный многооборотный резюк ставить килоом на 30 — у китайских датчиков разброс характеристик большой, когда-то неделю с китайским 18B20 колупался из-за подтягивающего резистора. Была мысля ещё ток через нагреватель застабилизировать, но подумал что это лишнее.
+
avatar
  • AndrVU
  • 08 июня 2016, 11:05
0
К примеру, на приведенной ниже иллюстрации видно,
Как вы строите график на основе измерений? Поделитесь, пожалуйста.
+
avatar
  • spc
  • 08 июня 2016, 11:17
+1
Это делает сервис Народный Мониторинг, куда контроллер отправляет показания датчика. Очень удобная штука.
+
avatar
  • AndrVU
  • 08 июня 2016, 12:51
0
Понятно. А как подобное сделать оффлайн, на основе потока данных, поступающих через последовательный порт?
+
avatar
  • spc
  • 08 июня 2016, 13:09
+1
Я таким не занимался, но вариантов, полагаю много. Хотя бы потому, что и задач может быть много: просто отображение в реальном времени, отображение с записью истории в обычном тексте, регистрация в базе данных с последующей визуализацией.

Вот, к примеру, один из вариантов: github.com/Overdrivr/Telemetry
+
avatar
  • olgerd
  • 08 июня 2016, 11:18
0
Существуют специальные баллоны с тестовыми газами разного объема, состава начинки и концентраций.
Используются, например, для проверки и калибровки газоанализаторов в медицине (анестезиология, ИВЛ)
+
avatar
  • spc
  • 08 июня 2016, 11:41
+1
Это да, но нужно понимать, что баллоны там не детского размера и совершенно взрослой же стоимости. Причем стоимость озвучивают не всегда, как я понял. Чаще — «Звоните». Почему так становится ясно, когда найдешь хотя бы один ценник вида 20 400 руб. за смесь CO и N2.

Плюс к этому для датчика потребуется герметичная камера со всякими там штуцерами, чтобы удобно было закачивать газы. Думаю, что я на такое не способен.
+
avatar
  • Xerks
  • 08 июня 2016, 12:03
0
к сварщику с полуавтоматом и баллоном углекислоты подойдите с пакетом, попросите «полный налить» :)
+
avatar
  • krysa
  • 08 июня 2016, 12:15
0
Вряд ли есть смысл калибровать такой датчик. Его лучше калибровать в процессе работы, включился приточный вентилятор — замерено значение.
+
avatar
  • olgerd
  • 08 июня 2016, 17:23
0
Все правильно. Актуально может быть для тех, у кого есть знакомые анестезиологи-реаниматологи, ну или занимающиеся ремонтом/обслуживанием медтехники. Если действительно очень нужно.
Насчет размера: импортные баллоны бывают литр-полтора
+
avatar
0
Если датчик MQ-135 обдувать вентилятором, влияет ли скорость воздушного потока на выдаваемые значения? Дабы построить универсальный датчик отказа в работе вентилятора, без привязки к самому вентилятору в виде отопар или датчкив холла.
Просто видел в продаже датчик воздушного потока построенный на подогревателе и рядом расположенного термоэлемента. Конечно построить точную зависимость скорости ветра по температуре термоэлемента в подобной конструкции задача не тривиальная, и датчик не является измерительным сенсором. Но стоит не дешево.
+
avatar
  • spc
  • 08 июня 2016, 11:49
0
Прямо сейчас ответить не готов, но могу предположить, что влиять будет, но, вероятно, не столько скорость, сколько состав воздуха, проходящего через датчик. Поэтому даже если сама скорость потока будет иметь влияние, не исключено, что его будет сложно оценить на фоне регистрации различных газов самим датчиком.

У меня вообще подозрение, что для оценки воздушного потока (а не отказа вентилятора, как вы говорите) следует применять второй вентилятор-генератор. Если же вы хотите определять по температуре, то подойдет, вероятно, и обычный термодатчик типа сверхпопулярного DS18B20. Или я что-то не совсем понимаю?
+
avatar
0
Дело в том что есть технологическое оборудование с общим большим радиатором которое обдувается несколькими вентиляторами (этиким кластером). в один из вентиляторов могут попадать посторонние предметы или скажем, могут перебить питающий кабель*. Устройство уже снабжено регулятором оборотов в зависимости от нагрева радиатора, но при возникновении нештатных ситуаций (отказ одного из вентиляторов система не может ою этом сигнализировать)
Пытались мерить ток потребления вентиляторов, начичие напряжения на них, сравнивать температуру с нескольких датчиков, контролировать уровень шума, и частоту звуковых колебаний (аудио тахометр), но ни одно ни комбинация подходов не дают 100% сигнализацию отказа. Только магнитик + датчик хола. Но принимая во внимание пп.* отрывали провода от холла, есть мысль приварить стальные трубы с сетками по торцам и датчиками воздушного потока провода в броне рукав… сейчас как временный датчик применяю мотор от каретки СД-РОМ с крыльчаткой измеряя его ЭДС, но конструкция большевата.
+
avatar
0
Компьютерные вентиляторы с датчиком Холла, не? ) бывают конечно и двухпроводные, а трех- и четырех проводные — они самые ) и а меню BIOS, ну или через другие программы видна частота вращения вентилятора. и если при включении мат.платы кулер не стал присылать импульсы — процессор и матплата (по дефолтным настройкам) не стартуют
+
avatar
  • Kail
  • 08 июня 2016, 23:56
0
Какие-то у вас дикие идеи, имхо. Этот датчик предназначен для измерения качества окружающего воздуха, и изменения этого параметра может вызывать ложные срабатывания. Как и низкая скорость вентилятора, раз обороты регулируются.

Вам что более важно обнаруживать — отказ мотора или перегрев? Если перегрев — так и поставьте термостат. Можно один на всех, можно под каждый вентилятор — тогда и отказ отдельного вентилятора, возможно, будет обнаруживаться. В последнем случае термостат можно поставить как напрямую на радиаторе, а можно на промежуточную пластинку, которая прогреется только когда мотор станет. Термостат какой душе угодно, на муське, например, обзор был. Тупая статическая механика рулит, я считаю.

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

Касательно крыльчатки, правильно заметили: у обычных компьютерных вентиляторов третий контакт — тахометр, сейчас проверил — прозвонка мультиметра на обесточенный вращающийся вентилятор реагирует. Размеры от 40x40x10 почти везде можно купить, меньше если поискать. Правда, у маленьких и чувствительность будет небольшая.

Но вообще, странно, что у вас контролировать ток не получается. Вам и нужно то взять релюшку (или 3 для каждой фазы) для контроля напряжения непосредственно у мотора, да автомат для отработки по току, не обязательно с контрольной группой — реле покажут, что напряжение пропало.
Ещё есть термостатические реле, срабатывают при высоком токе и быстро восстанавливаются при его пропаже. Не знаю, как это правильно называется и сколько стоит, но видел результат работы, буду на объекте — поинтересуюсь. Но это так, мажорство, автомат — просто, массово, всем известно.
+
avatar
  • tklim
  • 09 июня 2016, 17:34
+1
Какие у вас вентиляторы то хоть?
+- все компьтерные и около-компьютерные — имеют датчик холла внутри — вопрос подпаять два провода
+
avatar
0
Это не компьютерный вентилятор а промышленного исполнения имеют обороты до 4000 от сети переменного тока, клеить на такой магнитики надо на аппарате типа для шиномонтажа, чтобы исключить биение от приклеенного магнита. Провода не вариант, отрывают, заливают и т.п. это пищевая промышленность, если кто не в курсе как проводят на таких предприятиях санитарную обработку ..., полюбопытствуйте.
+
avatar
  • tklim
  • 10 июня 2016, 00:49
0
Понял, в курсе.
Ну тогда как вариант — мерить ток в работе и в когда заклинило или вообще снимать осциллограмму по току.
Дальше будет видно. Задача вполне решаема
+
avatar
0
по производительности группа компьютерных вентиляторов не устроит? клейте диаметрально магнитики. и будет равновесие.
+
avatar
0
«включаться можно эпизодически — так это пожалуйста, я не запрещаю».
Плюсую, сильно сказано! )))
+
avatar
0
по такой цене он еще что -то показывает? жаба она душит, я понимаю, но с ней надо справляться
+
avatar
  • vitmish
  • 11 февраля 2017, 22:20
0
Жабу подкармливают сдачей от подобных покупок.
Сам прочитал всю ветку. Хочу попробовать поставить на кухонную вытяжку, вдруг учует запах жареной картошки, подгорелого мяса, кислых щей и прочих блюд из меню дня. А то половина зачастую включает вытяжку только по окончании процесса готовки, когда запах уже в конце квартала слышен. ну и можно DHT11 доукомплектовать, фас на жару и влажность.
+
avatar
0
В каких единицах выводится информация в сериал порт а также на график?
Там от 20 до 60 примерно. Чему они эквивалентны?? Где ppm?
+
avatar
  • spc
  • 08 января 2019, 22:30
0
Единицы — это PPM в понимании библиотеки (упомянутой в тексте), которая интерпретирует показания датчика. Сам датчик, насколько я понимаю, меняет сопротивление в зависимости от концентрации газов.

Автор библиотеки уверен, что при правильной калибровке датчика, его показания будут иметь некоторую достоверность. Которую, как я писал, лично я проверить не могу потому что не имею под руками специализированного прибора для измерения CO2 в воздухе.

Лично я использую датчик как индикатор общей загрязненности воздуха в помещении. Это потому что или у меня руки кривые, или мой экземпляр датчика не очень, или просто такая технология. То есть, точно узнать концентрацию какого-либо газа я не могу, зато я знаю, какие цифры датчик показывает при всех открытых окнах и по этой величине могу понимать, насколько плохо с воздухом, когда окна закрыты.

Например, при открытых окнах сейчас датчик может показывать около 800 единиц, а при закрытых — больше 8000. Реакция на появление людей и открытие-закрытие окон очень точная. Но, повторюсь, это не лабораторный прибор.
+
avatar
  • monser
  • 31 марта 2019, 08:15
0
подскажите плиз, что за программа использовалась для составления графика?
+
avatar
  • spc
  • 31 марта 2019, 21:26
0
Графики строит сервис Народный мониторинг
+
avatar
  • monser
  • 03 апреля 2019, 04:56
0
Что за чудеса?
Подключил MQ135, в порт после прогрева выводится в районе 20-30 ед.
реакция на газ от зажигалки есть- мгновенно прыгает до 200-800 в зависимости от количества газа.
на алкоголь гораздо слабее чем реагирует MQ3. Даже выдох свежачка больше 150 не показывает(у MQ3 сразу до 500-700). А вот подул с баллона углекислотой и… показания упали до 1-5, хотя как я понимаю должны тоже увеличиваться. Непонятки какие то.
+
avatar
  • spc
  • 03 апреля 2019, 09:59
0
Вообще да, чудеса — если верить описанию датчика. Потому что в целом у него реакция что на алкоголь, что на CO2 должна быть плюс-минус идентичная.
+
avatar
  • monser
  • 04 апреля 2019, 13:44
0
Да, из разных источников и все по разному. Передирают друг у друга с ошибками.
Сегодня попробовал реакцию на дым, правда в скетче поставил бипер на 80 и более единиц.
В общем сколько бумага не дымила- реакции не последовало. тоже самое и с MQ7. Заказал MQ2 и 4, но еще не пришли что бы опробовать. Товарищу делаю противопожарную сигнализацию и тут такая засада с дымом.
+
avatar
0
У меня датчик, купленный 3 месяца назад, постепенно отдает все большие значения в одних и тех же условиях.
В начале значение на аналоговом выходе было порядка 30-40 даже в городе, сейчас при подключении к Arduino UNO на даче на улице не менее 55, а при подключении к Mega 58-59. Что с датчиком не так, где ковырять? По напряжению просел или внутри засорилось что-то? Или тупо забить и еще раз (который уже) перекалибровать?

По ощущениям, кстати, греется слабо
+
avatar
  • spc
  • 07 мая 2019, 01:11
0
У меня примерно та же история, но я не стал ничего делать, и использую его, в основном, в качестве показометра. То есть, смотрю относительное загрязнение.

Но хочу сказать, что в разных районах Москвы очень по-разному (и в разных домах, возможно, тоже). К примеру, на Северо-Востоке при закрытых окнах при использовании моего кода постоянно получал зашкаливание (т.е. 9999). А вот на Юго-Западе такого еще ни разу не случалось. Да и при открытых окнах на Юго-Западе куда как меньше показания.
+
avatar
0
А подскажите, пожалуйста, следующее. С данного датчика можно одновременно снимать показатели по всем газам или только 1 на выбор?
+
avatar
  • spc
  • 18 апреля 2021, 14:16
0
Если вас интересует краткий ответ на вопрос — да, можно по всем газам.

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