Comments 66
А измерением CO2 не интересовались? Его показания, на мой взгляд, не менее важны, т.к. на работоспособность и самочувствие влияют сразу же. Есть ли подходящие датчики?
Вот тут прекрасно описано, как прицепить его к Home Assistant или еще к чему-то, что может читать MQTT
Я разочаровался в датичках VOC'ов когда обнаружил, что датчик формальдегида (формально — пошло на верх, надо эвакуироваться из помещения) совершенно так же триггерится обычным этиловым спиртом, причём микроскопическими дозами, возникающими от протирания чего-то ваткой.
Без адекватной калибровки любой этот датчик "почему-то реагирует на что-то в какой-то концентрации".
Повторю, оно реагирует на микроконцентрации этанола. Это означает, что когда у вас "hazardous" уровень формальдегида на попугаемерке, может быть, это не формальдегида, а просто ручки дверей протёрли санитайзером.
Что превращает любой алерт этой попугаемерки в пшик. Вон, в посте автор аж на картридж начал гнать, мол, страшно, опасно, моя попугаемерка сработала. А на что она сработала? Ну сработала же!
У датчиков этого типа нет избирательности в принципе. Такие датчики не предназначены для того, чтобы измерять следовое количество формальдегида в воздухе городской квартиры (который там выделился из фанеры). Их сценарий использования совсем другой — кто-то работает с формальдегидом профессионально в каком-то малом предприятии, или хранит его — и ему нужно обнаружить утечку или же подать сигнал, что пора проветривать помещение. Датчик обнаруживает повышение концентрации формальдегида и подает сигнал. Почему его называют датчиком формальдегида, а не органики в целом? Ну в этой конкретно модели подобран оксид или их сочетание, может добавлены еще какие-то допирующие добавки, чтобы немного повысить чувствительность к конкретному классу веществ (куда входит формальдегид). Чтобы датчик быстрее реагировал на него, при меньшей его концентрации (чем у датчика оптимизированного под другую органику). Но сценарий именно подавать тревогу. Или измерять этот формальдегид, но в зоне, где он заранее ожидается и в значительных количествах. Но это не датчики для тонкого анализа состава воздуха и определения очень низких концентраций веществ.
Да ладно спирт… У меня есть пара штук bme680. Я вообще не понял зачем оно нужно в жилых помещениях. Чистим апельсин, датчик зашкаливает. Завариваем фруктовый чай, датчик зашкаливает. Нагадил кот в лоток, датчик зашкаливает. Освежитель в туалете, парфюм, жарим яичницу, даже при открытии шкафа (там ловандовые пахучки для пастельного белья) — на все реагирует. Если дома никого нет, то после проветривания потехоничку в течение дня уровень возрастает и держится на 50%. Иногда, когда начинается движуха на улице, то и при проветривании его зашкаливает. Я не понял зачем такое надо, когда практически любая жизнедеятельность приводит к резкой реакции датчика. В каких сценариях его использовать? Если только жить в экологически чистых местах… в Москве толку нет.
Я слышал, что некоторые используют их в туалете, чтобы понимать стоит ли включить вентилятор или использовать освежитель.
Мне не корректно об этом писать, но я заметил, что этот bme680 не одинаково реагирует на все какашки. На кошачьи реагирует очень хорошо. На какашки маленького ребёнка в разы хуже, хотя воняют они сильнее. Да, я проводил такие исследования, результат для меня непонятен.
Может потому что кошачье говно сильно суше, поэтому с него частиц больше сыплется?
Я к тому, что человеческий нос и датчик работают совершенно по разному. И у меня была подсознательная надежда, что на всё воняющее датчик будет резко реагировать и, например, включать проветривание. Оказалось, что не все запахи вызывают заметную реакцию, а сильная реакция на некоторые фрукты мне вообще не нужна. Я не хочу такого сценария, что при заваривании чая у меня будет устроено резкое проветривание, а когда ребёнок сходил в горшок и нос наизнанку выварачивает, реакция датчика на 70% ниже, чем от чая. Это можно использовать в офисе или транспорте, с целью, чтоб вообще никаких отвлекающих запахов небыло, но для дома такие алгоритмы не подходят.
Все подобные металл-оксидные датчики совершенно не избирательны. Они широко представлены в продаже и даже зачастую продаются как датчики специфических веществ, типа формальдегида, пропана и так далее, но реально они в лучшем случае "оптимизированы" под свое целевое вещество, а на практике реагируют почти на всю летучую органику вместе взятую, а также на некоторые неорганические соединения. "Бытовых" и доступных по цене (для игр) датчиков для конкретных веществ в общем-то не существует, за исключением нескольких NDIR-датчиков (для единичного количества газов). Чтобы действительно определить в воздухе формальдегид и не качественно, а количественно измерить его концентрацию, самый простой путь — это использовать специфическую химическую реакцию вызывающую изменение окраски, прокачивая фиксированный объем воздуха через реагенты и используя спектрофотометр, чтобы измерять интенсивность измененного цвета. Но это не сделать автоматом (без целого автоматического станка), нужны знания, некоторый опыт, реагенты, посуда, спектрофотометр. А главное время и желание этим заниматься — есть большая "ручная" составляющая в таком анализе. Второй вариант выбора я думаю газовый хроматограф (целая установка) и опять-таки ручная работа с ним. Возможно для некоторых веществ можно в качестве DIY-проекта поиграться с самодельным [ик-]спектрометром, определяя их концентрации по спектрам поглощения (потому, что с испусканием еще придется городить вакуумную камеру, ионизировать и т.п.). Сделать такой спектрометр чтобы он был пригоден для количественного анализа — думаю тоже огромная работа. В общем при большом желании реально выяснить сколько конкретного вещества в воздухе, но придется покупать сложные "научные" приборы или датчики индустриального (для некоторых веществ) класса, по очень высоким ценам, тратить много времени на все это.
Без адекватной калибровки
гхм, и как калибровка поможет этому датчику различать органические соединения?
Ну, если на калибровке выяснится, что он на что попало реагирует, значит не поможет — дефектный датчик, выкидывать.
так он by design реагирует на всю летучую органику (ну или почти всю)
Тогда не проходит калибровку. By design.
ну просто требовать от него различать вещества — это, как я понимаю, примерно как от термометра требовать отличать коронавирус от гриппа
Про все дешевые сенсоры не скажу, но например CJMCU-8128 (на основе CCS811) практически случайные значения показывает, даже для бытовых целей не подходит. Простой тест открытия окна зимой: senseair s8 показывает уменшьение CO2, а CCS811 показывает резкое и уверенное увеличение концентрации CO2; и это после недели калибровки, c коррекцией по температуре и влажности.
Судя по тестам с другими дешевыми примерно такая же история. Не советую даже для бытовых целей.
Скорее всего, у уважаемого Davidov в открытое окно налетело слишком много органики с улицы, что сломало алгоритм расчета eCO2
Для отслеживания углекислоты в воздухе есть хорошие NDIR датчики, которые работают на другом принципе не и триггерятся ничем, кроме CO2
Для отслеживания углекислоты в воздухе есть хорошие NDIR датчики, которые работают на другом принципе не и триггерятся ничем, кроме CO2Зато обсуждаемый датчик «триггерит» не только на органику, но и на СО2. И как Вы это разделяете?
Тестирую два(специально брал в разных местах) CCS811 в квартире уже около полугода. Результат не нравится совершенно. По сути только два состояния: свежо — только что как следует проветрили TVOC единицы, и "не свежо" — TVOC несколько сотен а то и тысяч. Скачки эти совершенно не понятны и с ощущениями организма никак не коррелируют. Датчики иногда виснут, один реже — несколько раз за полгода, другой чаще, несколько раз в месяц может.
Не знаю :)
Использую вот эту библиотеку https://github.com/gschorcht/ccs811-esp-idf
IAQ values consist of the equivalent CO2 (eCO2) with a range from 400 ppm to 8192 ppm and Total Volatile Organic Compound (TVOC) with a range from 0 ppb to 1187 ppb.
Возможно, вы говорите о eCO2, которое действительно может достигать тысяч единиц. Но датчик не измеряет co2, он примерно рассчитывает его из VOC, температуры и влажности, что имеет смысл только при нормальных условиях в чистом воздухе.
Для отслеживания углекислоты датчик действительно бесполезен настолько, что я не предлагаю его так использовать
eCO2 скачет еще в больших пределах вместе с TVOC
Возможно бага в либе, но там вроде все примитивно, читает i2c и конвертит в uint16.
Возможно датчики оба какие-то левые. Но для оценки CO2 (для чего хотел их использовать) хотя бы примерно, не годятся совсем.
Разработчики таких датчиков при расчете eCO2 как правило предполагают, что обнаруженная датчиком в воздухе органика — это часть смеси органики, выдыхаемой человеком (breath-VOC смесь). И исходя из этой оценки они прикидывают, какому количеству CO2 это эквивалентно. Именно эквивалентно, а не какое реальное количество CO2 в воздухе. Но когда органика реально воздействующая на датчик не является результатом дыхания людей, а представляет собой химические загрязнения — получается нереалистичная оценка CO2, намного превышающая реальное его количество. Потому, что источник этот органики совсем другой (не дыхание людей), а код в микроконтроллере датчика не понимает этого, ведь у них всего лишь MOX-сенсор и к тому же один-единственный (во всяком случае в этой модели).
Если кому-то интересно, могу написать статью про опыт использования такого прибора.
А чем это отличается от проекта sensor.community?
Интересно, я бы прикрутил на балкон, чтобы понимать когда тянет с улицы, а когда проблемы внутри помещения
(1) Абсолютная калибровка. Как я ее провожу? Нельзя откалибровать навечно и для любых условий работы. Не поверю, что можно. Я таких физических приборов не видел (кроме дискретных типа счетчика Гейгера). Часто ли, редко, но нужно калибровку освежать. Тем более, абсолютную.
(2) Селективность. Вот когда говорят, что реагирует на кожуру апельсина — верю. Когда говорят, что измеряет именно «формальдегиды» — не верю. Откуда такая селективность буквально на коленке? У простенького датчика?
(2) Селективность. Вот когда говорят, что реагирует на кожуру апельсина — верю. Когда говорят, что измеряет именно «формальдегиды» — не верю. Откуда такая селективность буквально на коленке? У простенького датчика?
это потому, что здесь вся статья про веру.
сам по себе датчик неизвестно что меряет и сертификата соответствия у него нет (я не нашел). Можно например заявить что он меряет уровень радиации космических лучей, или локальный всплеск гравитонов, а на самом деле он может мерять температуру, влажность, уровень кислорода или напряженность магнитного поля (а может вообще ничего не мерять).
Дальше можно снять показания с датчика и интерпретировать их как душе угодно. Автору нравится верить, что он меряет уровень вредных формальдегидов, но с научной точки зрения это никак не доказано.
Тогда зачем вообще всё это?
Если нет какого-то надёжного способа откалибровать его (не отвезти в лабораторию и заплатить ещё пару тысяч), то это просто игрушка.
Проветривание это то, что больше=лучше, и упирается лишь в ваш бюджет на климатическую установку.
категорически не согласен. с ростом воздухообмена увеличивается потребность в фильтрации/охлаждении/нагреве/увлажнении воздуха, всё это нужно обслуживать (что требует не только денег, но и времени).
преимуществ же от увеличения воздухообмена после достижения некоторого уровня не видно вовсе.
В качестве алгоритма усреднения данных, после пары экспериментов, я выбрал расчет скользящего среднего по последним N измерениям. Это дает возможность быстро видеть изменения показаний, сглаживать график и практически исключать влияние выбросов, хотя и не является робастной.Не очень понятно каким образом вы «практически исключаете влияние выбросов». По крайней мере в самой функции усреднения этого исключения влияния выбросов нет. Если вы суммируете значения вместе с выбросом, то вы как раз этот самый выброс и включили в вашу точечную статистику, и он повлиял на получаемый результат самым непосредственным образом.
Основной шум на первом графике — это как раз периодически случающиеся выбросы, которые случаются достаточно часто чтобы график без усреднения было сложно читать и достаточно редко, чтобы сильно влиять на усреднение MA — функцией с периодом в 60 тиков
Но конечно же есть более прекрасные способы усреднить показание с минимальным среднеквадратичным отклонением, которые несложно закодить. И именно потому что обновить джарник с клиентом проще, чем микрокод датчика, все усреднение живет именно на стороне клиента
VOC датчик в каждый дом: отслеживаем вредную органику по цене двух чашек кофе