Комментарии 71
а нельзя сам модуль не держать включенным постоянно, а запускать раз в 10 секунд? Кажется, для этого нужна одна нога контроллера и полевой ключ.
Не, с ним не все так просто. В этом случае у него сбрасывается внутренний фильтр. После старта ему нужно около минуты, чтобы выйти на режим. В целом конечно можно раз в минуту выводить показания...ну да, оптимизировать можно
Чаще одной минуты и нет смысла измерять. Непонятно, экран гаснет со времем или нет. Если да, то как его включать; если нет, то зачем отдельные светодиоды, когда все предупреждения можно показывать на экране?
экран гаснет со времем или нет.
Нет
зачем отдельные светодиоды, когда все предупреждения можно показывать на экране
Мигания на экране не сильно бросаются в глаза в отличии от светодиодов
Нет
Вот что происходит с этим экраном через 6-9 месяцев непрерывной работы.
100% воспроизведение или просто 1 экземпляр такой?
Есть вот такой ресурсный тест OLED-дисплеев:
Плюсую. Есть несколько девайсов что работают 24/7 с такими экранами. За несколько месяцев уже "проседают" пиксели - те, которые постоянно включены. У этих экранов есть функция отключения. У себя делаю обычно таймаут 120секунд и тушу. Дальше если нужно что-то увеломить-включаем и заново считаем тайм аут. Также экран пробуждается по любой кнопке управления(если они есть)
Моя статистика - три из трех.
При стандартных настройках MH-Z19B самокалибруется раз в сутки. Кто знает, как на него повлияет такой режим, когда он включается раз в минуту?..
Тоже делал аналогичное устройство: https://github.com/iliasam/MH_Z19_CO2_monitor
Только у себя еще реализовал построение графиков.
С потреблением я смотрю у вас тоже трудности. Почему бы не вывести настройку или отдельную команду -- "Измерь концентрацию и дай данные". В общем MH-Z19 не самый хороший сенсор
Да, есть такое, хоть свою прошивку под STM32 датчика пиши)
Есть такие датчики: SCD40: https://aliexpress.ru/item/1005002906374739.html
В них вроде бы можно добиться меньшего потребления тока.
Если не хочется колхозить самому, то можно купить) https://dadget.ru/catalog/datchiki_kachestva_vozdukha/detektor_uglekislogo_gaza/
Так неинтересно :)
Питание там, если не ошибаюсь, от USB, встроенного аккумулятора нет.
Иногда автономности хочется.
Дороговато.
У китайцев дешевле тысячи встречаются: https://aliexpress.com/item/1005003268843575.html
С автономным питанием. Правда, неизвестно как там с точностью..
Там стоит не датчик СО2 а так сказать "интегральный датчик загрязненности воздуха" который арифметически покажет вам какие-то цифры СО2. Он не замеряет непосредственно СО2.
Я как-то озадачился измерением со2 и купил за 40 евро готовый прибор. Он показал 2500 ppm. В лесу. После дождя.
Это я к тому, что подобные устройства очень требовательны к калибровке и подвержены жуткому вранью. Интересно, есть ли уход у вашего устройства и сверялили по заведомо рабочему устройству?
Когда я искал себе прибор то видел что стоимость нормальных откалиброванных датчиков начинается от 200 евро, 40 евро это генератор случайных чисел.
Я его калибровал просто на свежем воздухе на улице. Датчик в этом случае берет это за 400ppm и уже дальше относительно этого измеряет. Т.е. по факту он показывает не абсолютную концентрацию, а относительно воздуха на улице
За такие деньги на Али продаются в основном с датчиками TVOC, которые CO2 выдумывают вообще как угодно. И об этом о датчике могут врать в описании. Надо смотреть отзывы с фотками вскрытия.
Значение на КДПВ говорит, что дышать автору уже нечем.
Уж сколько раз обсуждали это на Хабре.
Все эти модули-датчики сильно зависят от влажности, и требуют датчика влажности и построения номограмм по даташитам, а не просто включил-радуйся.
Еще они в большинстве случаев самокалибруются, и требуют для этого регулярного вынесения на свежий воздух (им еще надо об этом сказать, что он свежий). Иначе - дрифт нуля.
Конкретно про упомянутый не помню.
Друзья, подскажите адекватный датчик из-коробки с ZigBee? Готов даже регулярно носить на улицу его…
https://modkam.ru/2020/09/28/datchik-co2-zigbee/
Или https://wirenboard.com/ru/product/wb-msw-zigbee-v3/, но тут цена уже на мой вкус высоковата, и плюсом к тому устанавливать лучше в подрозетник и питание нужно где-то там же взять. Ну в общем лучше co2 измерять выделенным датчиком на мой взгляд.
Датчик MH-Z19B мне не понравился тем, что его надо калибровать. Да ещё и регулярно калибровать.
Для калибровки предлагается выносить датчик на балкон, но на улице не всегда 400 ppm. Иногда там 380 ppm, а иногда 500.
Сам использую этот прибор, https://habr.com/ru/post/390607/ он в калибровке не нуждается. Как они это сделали не знаю, но не ощущения что врёт. Напротив самоделка MH-Z19B сразу говорит о том, что врёт, а значит просит калибровки. Если кто знает как это решить, пишите.
Тут меня знающие люди поправляют, что концентрация меняется не сильно, дельта составляет порядка 6 пунктов между разными временами года. https://ru.wikipedia.org/wiki/График_Килинга
Среднее потребление 30мА. Главный пик тока приходится на вспышку светодиода во время измерения концентрации.
Там не светодиод, там как раз натуральная микроминиатюрная лампочка накаливания (любители ТЛЗ радуются :))) ), от того у датчика такое конское потребление.
Кстати насчет черной магии, вроде как одна из недокументированных функций позволяет увеличить время опроса сенсора (обычно это раз в 10 сек, что сообственно видно по вспышкам лампочки). Но реализации этой функции я не встречал, возможно потому что она влияет на точность или что-то в этом роде.
Если светодиоды подключены через ключи, значит светодиоды достаточно мощные, а они питаются от 3.3В. Тогда не ясен ход с линейным решулятором 5В -> 3.3В. Аккумулятор просто его греет. Надо использовать импульсный DC-DC.
Вместо mh-z19 лучше использовать SenseAir S8. У него с калибровкой получше дела обстоят.
Несомненно, но на момент разработки на него были не самые приемлемые цены. Сейчас да, я бы взял S8
На самом деле датчик можно поменять не меняя железа. Там и питание и форм-фактор одинаковый. FW разве что подкорректировать нужно, но это так -- мелочи.
А какие вообще хорошие датчики из коробки честно показывают СО2?
Когда начал читать статью, сразу решил загуглить используемый датчик (где продаётся, сколько стоит) и тут-же по маркировке датчика натыкаюсь на готовое устройство 3 в 1 (CO2, качество воздуха и влажность) которое стоит 1900р. с доставкой. Решились на разработку из любопытства или есть какие-то уникальные функции о которых в статье не упомянули?
Нет. Устройство из разряда "померил - показал". Делал исключительно из интереса к измерению концентрации, т.е. никакой экономии денег, никаких супер фич -- просто пощупать это самому.
По результатам могу сказать, что я не сильно доволен. Если делать реальное устройство для продажи -- нужно половину переделывать :)
готовое устройство 3 в 1 (CO2, качество воздуха и влажность) которое стоит 1900р. с доставкой
Поделитесь ссылкой или названием, а? :)
Простым поиском удалось найти только девайс от Даджет, который только CO2 и температуру измеряет за 3990 руб. (без учёта доставки)
Aliexpress же https://aliexpress.ru/item/1005002592911864.html. И аналог изделия из статьи тоже есть https://aliexpress.ru/item/32668664886.html.
И аналог изделия из статьи тоже есть
По ссылке датчик СО, а не СО2. Аналоги разумеется есть, я не претендую на уникальность :)
Вторая ссылка - это сигнализатор CO (совсем другой газ).
А прибор по первой ссылке выглядит годным, но в других местах ( например, https://www.aliexpress.com/item/4001342074070.html ) , где отзывов побольше, пишут, что показывает отсебятину, например:
Я, конечно, умельцев с AliExpress уважаю, но тамошние дельцы умеют считать деньги, т.е. продавать в розницу работоспособный прибор (с немаленьким цветным дисплеем при этом) по цене, сравнимой с ценой типового датчика CO2, там не будут.
Кстати, есть отзыв и о внутренностях:
В приборе установлен комплексный датчик качества воздуха TPM-300a-v2.2, который не измеряет CO2.
Такие дела :)
Гуглится по названию датчика: MH-Z19B причём готовое устройство прямо в гугловом рекламном модуле показывают. Подозреваю, что на алике ещё дешевле будет, но там ждать надо.
Доставка из-за рубежа
Это тот же девайс, что и на "алиэкспрессах", только в профиль :)
Если кратко - показометр 80-го уровня (см. мой комментарий выше).
И всё же там, судя по обзорам, настоящий ИК-датчик CO2, но не MH-Z19, а какой-то другой.
Спасибо за ссылку.
В комментариях пишут, что там QC102, но самого датчика на AliExpress вообще (пока?) нет. Впрочем текущие разновидности MH-Z19 выглядят похожим образом.
Не исключено, что в одном и том же корпусе приборчика может быть разная начинка.
В комментариях к обзору, кстати, есть подсказка:
Если рядом с СО2 в приборе есть tvoc и при этом цена «20 долларов(хотя скорее даже 30), то сенсора СО2 там нет. А показания берутся с датчика ЛОС(tvoc) из них считают СО2а. Метод крайне не точный, если сравнивать с датчиком.
Кстати, сам обзор указывает на прибор, под которым есть всего 3 (три!) формальных отзыва, и при этом сам отзыв от обзорщика отстуствует.
Скорее всего, автор обзора покупал прибор (или же он вообще достался ему в "рекламных целях") в другом магазине и, возможно, по другой цене, а не за условные $30.
В этом обзоре есть ссылка на обзор Алексея Надежина @AlexeyNadezhin
Цена у Алексея указана примерно та же. Там нет разборки, но есть сравнение с другими приборами. И это похоже на настроящий датчик, хоть и несколько глючный.
R2 выбирал на основе максимального тока GPIO микроконтроллера, чтобы не превысить его. R3 не считал вообще, это просто подтяжка на момент запуска МК. Взял его из соображения "много больше резистора затвора". Не считаю нужным запариваться с емкостью и прочими параметрами для расчета правильного номинала резистора затвора, мы тут светодиодом мигаем :)
У Вас есть сомнения?
Можете привести расчет R2?
По поводу R3 в принципе понятно, но хотелось бы узнать, почему номинал, например, не 10 кОм, ведь это тоже «много больше резистора затвора»?
Расчет там очень простой:
Ищем в даташите максимальное значение тока GPIO и не забываем про максимальный ток VDD пинов (т.е. ограничение самого МК). В моем случае суммарный ток 120 мА, а ток GPIO 25 мА.
Т.к. транзистор мы дергаем с низкой частотой, то быстро заряжать\разряжать затвор нам не нужно. Значит возьмем ток с большим запасом, зачем лишний раз насиловать GPIO. Далее любимый закон Ома: I = 3.3 / 1000 = 3.3 мА -- 1 кОм резистор подходит.
В идеале нужно брать 120 мА и делить на количество используемых GPIO. Внезапно вместо 25 мА на пин у нас получается сильно меньше: 120 / 12 = 10 мА. Тут можно и балансировать, т.е. на одном пине делать ток больше, на другом меньше. Очень много НО и всё зависит от задачи.
В качестве подтяжки 10 кОм тоже подходит. Я обычно 10к и меньше использую в Open-Drain цепях, для push-pull использую 100к. По сути 100к резисторы нужны чтобы транзистор наводками не открылся, пока МК запускается. В 80% случаях связка 1к - 100к работает отлично.
В случае 100к подтяжки будет утекать меньше электронов в пустую, соответсвенно при 10к в 10 раз больше :)
Это всё работает только для низких частот. При высоких начинаются веселья с емкостью затвора, его индуктивностью и сопротивлением. Эти паразиты уже при 100 кГц начинают оказывать ощутимое влияние. В этом случае уже расчеты сложнее. Про СВЧ даже говорить не буду :)
Надеюсь я смог ответить на вопрос
Поставил бы плюс и в карму, но уже сделал это ранее.
Осталось загадкой, почему бы вместо 100к не поставить, скажем, 220к? Электронов меньше бы утекало впустую… )
Часто встречаю 100к в подобных схемах. Но никак не могу найти источник, откуда это пошло. Не может быть, чтобы данный номинал взялся с потолка, только на основании того, что «работает». Наверняка в каком-нибудь Application Note есть расчет. Если встретите, киньте в меня ссылкой пожалуйста )
Чем больше сопротивление подтяжки, тем меньшую наводку такая подтяжка сможет скомпенсировать. В данном случае ток через этот резистор не будет превышать 33 мкА, он просто ничтожен по сравнению с током, потребляемым остальными компонентами. И он будет только тогда, когда горит светодиод. Даже если бы в этом девайсе использовался глубокий сон, этот ток ни на что бы не влиял, так как оставлять светодиоды включенными при глубоком сне как-то глупо, а значит и тока бы не было. Оптимизация здесь не нужна.
По поводу автокалибровки базовой линии. Часто говорят, что её нужно отключать, но мой опыт использования MH-Z19 и SenseAir S8 показывает, что лучше этого не делать, по крайней мере, если помещение хоть иногда проветривается. Без калибровки показания плывут неконтролируемо. С ней же датчик может до следующей калибровки сдвинуть базовую линию до минимального зафиксированного с прошлой калибровки значения, и в нормальной жизни это более чем приемлемо. Даже если показания временно сместятся на пару сотен ppm, это не особо страшно. Если помещение не герметично и люди его иногда покидают, уровень CO2 довольно быстро падает. Так что существенных проблем у меня не возникало. А в офисе, из которого все люди уходят вечером, у меня показания каждую ночь падали до наружных.
Делаем устройство для мониторинга концентрации CO₂