Лучший датчик обнаружения CO2: SCD30. Добавление его в ESPHome и Home Assistant.
HTML-код
- Опубликовано: 8 сен 2024
- SCD30: alii.pub/6nmh4y
Меня можно поддержать на Boosty: boosty.to/upavla
Так-же я создал телеграмм канал, не знаю на сколько он будет популярен. Думаю там постить анонсы моих статей, я их больше пишу чем видео снимаю, так же думаю там размещать всякие интересные вещи которые подчеркну в интернете. Их я очень много подчеркиваю).
Подписаться на телеграмм канал можно по ссылке: t.me/+K05yDjyd...
или
t.me/ypavla
Код программы можно найти у меня на сайте: psenyukov.ru/%d...
Мой 3d принтер: alii.pub/6bu5tp
================================================
Кэшбэк возврат до 15% от покупки на Alixpress :
ali.pub/51dh2x
================================================
Помощь каналу: www.donationale...
Подписывайтесь на телеграмм канал: t.me/ypavla
По поводу mh19b. Автокалибровку ттам можно отключить. Дай ему поработать 20 мин при 400ппм и пошли команду на zero point calibration. По поводу scd30, я их использую уже год в паре проектов. За это время два вышли из строя. Возможно из за повышенной влажности, не знаю, но начали безбожно врать. Примерно +500,600 ппм от реального значения. Плюс для нормальной калибровки scd30 нужно несколько суток подержать при 400ппм. Возможно оригинальные все откалиброваны с завода, но с Алиэкспресс есть такая проблема. Бывает новый показывает сразу точно, а бывает надо дать время на автокалибровку (главное не забыть ее потом отключить)
А ещё раз про mhz19b. Есть скрипт под esphome? Для отключения автокалибровки?
@@upavla А чем не подходит то, что в мануале прописано?
mhz19.abc_disable Action
This action disables automatic baseline calibration on the sensor with the given ID.
on_...:
then:
- mhz19.abc_disable: my_mhz19_id
You can provide switch and control ABC from Home Assistant
switch:
- platform: template
name: "MH-Z19 ABC"
optimistic: true
on_turn_on:
mhz19.abc_enable: my_mhz19_id
on_turn_off:
mhz19.abc_disable: my_mhz19_id
Просто я как это вижу. Датчик же сам калибруется. От того что там кнопка в состоянии false он же от этого не перестанет калиброваться. Или я что-то не так понимаю?
@@upavla ну, по идее, кнопка нужна чтоб возвращать автокалибровку, при необходимости. Нажали - она включилась, отжали - выключилась
Ну я к тому, что она же выключена. И не каждую же милисекунду отпрпвляет датчику mhz19b сигнал, что она выключена
Спасибо, за указание что датчик температуры расположен отдаленно.
Раньше не использовал показания этого датчика температуры, думал не точный, отклонялись показания по сравнению с aqara расположенного рядом. Но понял что SCD30 лежал без корпуса и у него меньше инерция. Пожалуй сравню его еще раз, но в более защищенном варианте.
У MH-z19b есть пин "ручной калибровки". Если вынести датчик на балкон, выждать часик, замкнуть контакт (на массу?) он проведет калибровку по окружающему воздуху на 400ppm
z19b надо просто проветривать раз в неделю вроде бы. тогда он принимает минимальное показание за некий период за уличный уровень 400. в этом и заключается автокалибровка. если не ошибаюсь.
если не надо автокалибровку можно отключить отдельно подключившись по UART через любой usb-com преобразователь типа ch340 с компьютера через терминал. погуглите команду, после этого можете подключать в esphome.
scd41 самый компактный и работает великолепно! советую попробовать! А так показания немного у вас интересные, похоже на очень большая комната с постоянно открытым окном на проаетривание.
Балкон)))
У меня там стол и компьютер. Да и балкон 10 квадратов
Сделайте пожалуйста уроки для новичков как подключить датчик.
В даташите исчерпывающая инфа, читайте, и будет вам счастье
все таки стоит добавить в конфиг esphome датчика для калибровки, добавит кнопку на карточке устройства.
Я лично открываю окно, на часик, и считаю за 420ppm нижнее что будет показано. У меня конечно не лес за окном, но лучше нет ориентира.
button:
- platform: template
name: "Ручная калибровка"
entity_category: "config"
on_press:
then:
- scd30.force_recalibration_with_reference:
value: !lambda 'return id(co2_cal).state;'
number:
- platform: template
name: "Истинное значение"
optimistic: true
min_value: 400
max_value: 4500
step: 1
id: co2_cal
icon: "mdi:molecule-co2"
entity_category: "config"
Ну я посчитал, что это нужно сделать один раз. По этому не делал кнопку для калибровки
Опа, спасибо, не знал что в esphome на него есть force calibration. Попробую на тех датчиках которые я думал что вышли из строя.
MH-Z19 у меня работает вполне нормально с выключенной автокалибровкой (а с первичной калибровкой намучился я, не надо делать ее), но в паре с ним еще MH22 для температуры и влажности, тут же 2 в 1
У меня mhz-19b вот он калибруется сам - падла
@@upavla Это как?
Я не уверен т.к. давно это делал, но у меня в esphome выключена автокалибровка, не уверен по поводу модификации именно моей модели
Как его подключить, к чему и как прошивать? Дайте ссылку на схему подключения и прошивку
MH-z19b с автокалибровкой в не проветриваемом помещении работать не будет.
Я на Ардуино писал алгоритм, который:
1) отключает калибровку
2) если показания 400ppm в течении несколько часов - запускаем калибровку.
В таком режиме работает уже несклько лет - показания корелируют с "промышленным" датчиком.
В нашем офисном здании всегда работает вентиляция и ночью, когда все расходятся, показания CO2 падают до атмосферных. В этом случае он будет работать "из коробки".
А можно код посмотреть?
@@upavla Да. На почту?
Да, если можно
@@upavla Отправил фрагмент кода на почту, указанную в инфо о канале.
Весь код не хочу отправлять, потому что там куча ВСЕГО тестированное в 2018+году - я сейчас и сам не могу разобраться что к чему :)
Насчёт дороже не правда. На али сейчас посмотрел, они практически по одной цене.
как правильно записать смещение на 2 градуса в минус например, у меня датчик врет.
switch:
- platform: template
name: "MH-Z19 ABC"
optimistic: true
on_turn_on:
mhz19.abc_enable: my_mhz19_id
on_turn_off:
mhz19.abc_disable: my_mhz19_id
создаем такой выключатель на той же есп где датчик и держим его постоянно выключенным
это то что я понял из документации esphome
а так чтобы вернуть его к нормальным показаниям нужно выкинуть его на улицу и запустить автокалибровку
Выкинуть на улицу и забыть :D
@@upavla где то встречал люди шли в лес и там калибровали. Выходило нормально.
У него нет окошка для ввода воздуха.
Воздух затекает через разные щели.
Это вызывает некоторые конструктивные неудобства.
как заставить его видеть до 10 000 ppm? Как сделать принудительный подвод атмосферы в камеру замера?
2000 руб это не приятная цена. веселее самому сделать интерферометр с запаянным баллончиком с СО2 прозрачным для сравнения в референсном плече, хотя бы одночастотный, с получением монохроматического света с малой длиной когерентности через дисперсию на куске компакт диска (как в самодельных спектрометрах).
Ну если вы вашу работу + детали оцениваете меньше чем в 2000р, то тогда да веселее)
У меня SCD40 и от той же компании Sensirion, что и SCD30, и у него есть автокалибровка с периодом в неделю, а у MH-Z19 период автокалибровки 1 день. Так что я думаю, что у SCD30 тоже есть автокалибровка и без проветривания показания станут некорректным.
0:20 400ppm это атмосферный свежий воздух. неужели нельзя было сделать от 350ppm например, или наверное датчик "самокалибруется" от проветриваемого воздуха и минимальный уровень засчитывает за 400ppm...
Я scd40 взял. Сильно меньше по размеру.
MH-Z19 - программно отключается автокалибровка да и все.
+
круто! Но самое главное не сказал - как подключить то к esp32?)
По шине i2c. Всегда подключается 4рьмя проводами. +, -, sda и scl. Так как esp32 плат много взяких. Ищите по распиновке где на вашей плате sda и scl. К ним и подключайте
@@upavla спасибо, подключился
Интересно было бы сравнить его с SenseAir S8. По поводу MH-Z19 - его только в мусорку.
Я думал, что senseair это тот же mhz19. Только с другим названием. Выглядит одинаково
@@upavla нет, совсем другой. Показывает идеально. Не глючит. Два рядом ставлю - значения почти одинаковые.
Прикольно
MH-Z19b надо периодически калибровать. Замыкать вывод Hd на минус 7сек и ставлю его на свежий воздух (у форточки) на час. А так без этой процедуры со временем через месяца 3 зимой особо уходит на 407 411ррм. В теплое время года работает более устойчиво . у меня два MH-Z19b и показания днем 470 - 600ррм, после ночи 800 - 1000ррм.
@@user-pc5om8oc6d вот, а тот же S8 сам калибруется, используя нижнее значение. т.е. если периодически проветривать, уходя из дома, то всё будет норм
а как настроить его по Modbus?
Ага. Теперь понятно почему у меня mhz перестал нормально работать. Я думал, что это я его поломал. Возможности решить проблему с калибровкой точно нет?
Я не знаю решения. Мб тут подскажут)
есть. Идите в лес и включите калибровку. Оно откалибруется на 400ппм и все будет дальше работать. Только нвдо не забыть автокалибровку отключить.
Его реально по Модбас подключить? Ведь для этого RS485 нужен? А на датчике даже близко его не видно.
Я вам с даташита зачитал.
там есть вариант с другими разъёмами но это не точно типа дополнительного модуля
Скачок да 5000 ppn во время прошивки - это вы в его сторону дыхнули скорее всего :)
Добрый день. Странные показания,у меня S8 стоит. Уменя график сильно плавает, у вас такое чувство как будто у вас постоянно окно открыто. Судя по влажности так и есть.
Это мой "кабинет" на балконе) и собственно я ухожу оттуда вечером
я уже mh-z19c купил, но руки до него не доходят. отпишитесь, кто пользовал, чего ждать :-)
да норм датчик. просто надо калибровку отключить.
Как отключить? Прям вот по шагам расскажите
@@upavla mh-z19b-co2-ver1_0.pdf шаг обмена: if (com1 != NULL)
if (com1->Connected)
{
switch (state)
{
case 1:
SendReqCO2();
state = 2;
break;
case 2:
if (!CheckAnsw())
state = 1;
else
state = 3;
break;
case 3: // init. ABC = off
SendReqABCoff();
state = 4;
break;
case 4: // while 1
CheckAnsw();
if (calibr==0)
SendReqCO2();
else
{
SendReqCalibr();
calibr = 0;
}
break;
}
}
запрос:
void SendReqCO2(void)
{
unsigned char buff_tx[9] = {0xFF,0x01,0x86,0x00,0x00,0x00,0x00,0x00,0x79};
if (com1 != NULL)
if (com1->Connected)
com1->Write(buff_tx,9);
}
выключение АБЦ логики автокалибровки:
void SendReqABCoff(void)
{
unsigned char buff_tx[9] = {0xFF,0x01,0x79,0x00,0x00,0x00,0x00,0x00,0};
if (com1 != NULL)
if (com1->Connected)
{
buff_tx[9-1] = getCheckSum88(buff_tx);
com1->Write(buff_tx,9);
}
}🤗
@@billgates9751 на этот датчик еще нет обзоров
Датчик разве не 3-х вольтовый по даташиту (3Vo) ? Вы использовали к нему переходную плату с преобразователями уровней, или подключаете напрямую с ESP-8266\ESP32 ?
У esp32 3.3 вольтовая логика. У arduino 5 вольтовая
Ну и у esp8266 тоже 3.3 вольтовая логика
@@upavla arduino наверное и на 3 вольта можно запустить на меньшей частоте. не?
@@billgates9751ардуино про мини работате на 3.3 В
За такие деньги он должен ещё и супружеский долг выполнять.
Кто-то удивился, что дёшево. А Вы наоборот)
@@upavla я же по сути. Есть вполне дешёвые штучки с ручной подстройкой. Так то вещь стоит своих денег. Это важная часть безопасности. Ну а с другой стороны, есть аналогичные по своему функционалу, но очень дешёвые вещи. И надёжность достойная. Иногда сама возможность купить - это уже залог безопасности. Или когда необходимо 40 таких приборов. А на те же деньги таких можно только 2 купить. Как то поиграть надо с эффективностью и целесообразностью. Даже 2 таких прибора купить задумаешься. А и в палатку и в гараж он нужен. Да и в котельную было бы не плохо. 50 тысяч на три точки или 2,5 тысячи? Это не хилый такой вопрос. Потому что наши люди найдут ещё дешевле аналоги, даже если их нет. А это уже опасно.
@@POFIGOZAVR Эээ... Какая безопасность? Вы, случайно, этот датчик СО2 (углекислый газ) с датчиком СО (угарный газ) не путаете? Это ж как надышать надо, чтоб смертельная доза СО2 образовалась.
@@darkfenix1984 я говорю именно о теме разговора. Дешёвые датчики угарного газа дороже дешёвых датчиков СО2. А газы эти сопутствующие и в принципе одно без другого не существует. Просто угарный газ быстрее выветривается, и его не всегда можно на датчик поймать, а вот углекислый стелется и не нужно с бубном искать место установки для его обнаружения.
Подозрительно дешёвый.
Ну раньше дороже стоил. Я около 3к его брал
УП - це логотип украинської правди.
Че? Ваша украинская правда ещё мой логотип стырила? Никакой совести у людей
@@upavla Тому логотипу 20 років.
Ну не знаю. Не видел его
@@upavla ruclips.net/video/gS1cBGM6eeU/видео.html