Лучший датчик обнаружения CO2: SCD30. Добавление его в ESPHome и Home Assistant.
Vložit
- čas přidán 26. 03. 2023
- SCD30: alii.pub/6nmh4y
Меня можно поддержать на Boosty: boosty.to/upavla
Так-же я создал телеграмм канал, не знаю на сколько он будет популярен. Думаю там постить анонсы моих статей, я их больше пишу чем видео снимаю, так же думаю там размещать всякие интересные вещи которые подчеркну в интернете. Их я очень много подчеркиваю).
Подписаться на телеграмм канал можно по ссылке: t.me/+K05yDjyd4tJmYjky
или
t.me/ypavla
Код программы можно найти у меня на сайте: psenyukov.ru/%d0%b4%d0%b0%d1%8...
Мой 3d принтер: alii.pub/6bu5tp
================================================
Кэшбэк возврат до 15% от покупки на Alixpress :
ali.pub/51dh2x
================================================
Помощь каналу: www.donationalerts.ru/r/ypavla - Věda a technologie
Подписывайтесь на телеграмм канал: t.me/ypavla
Спасибо, за указание что датчик температуры расположен отдаленно.
Раньше не использовал показания этого датчика температуры, думал не точный, отклонялись показания по сравнению с aqara расположенного рядом. Но понял что SCD30 лежал без корпуса и у него меньше инерция. Пожалуй сравню его еще раз, но в более защищенном варианте.
У MH-z19b есть пин "ручной калибровки". Если вынести датчик на балкон, выждать часик, замкнуть контакт (на массу?) он проведет калибровку по окружающему воздуху на 400ppm
z19b надо просто проветривать раз в неделю вроде бы. тогда он принимает минимальное показание за некий период за уличный уровень 400. в этом и заключается автокалибровка. если не ошибаюсь.
если не надо автокалибровку можно отключить отдельно подключившись по UART через любой usb-com преобразователь типа ch340 с компьютера через терминал. погуглите команду, после этого можете подключать в esphome.
По поводу 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 сигнал, что она выключена
Сделайте пожалуйста уроки для новичков как подключить датчик.
В даташите исчерпывающая инфа, читайте, и будет вам счастье
scd41 самый компактный и работает великолепно! советую попробовать! А так показания немного у вас интересные, похоже на очень большая комната с постоянно открытым окном на проаетривание.
Балкон)))
У меня там стол и компьютер. Да и балкон 10 квадратов
как правильно записать смещение на 2 градуса в минус например, у меня датчик врет.
как заставить его видеть до 10 000 ppm? Как сделать принудительный подвод атмосферы в камеру замера?
все таки стоит добавить в конфиг 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 выключена автокалибровка, не уверен по поводу модификации именно моей модели
Насчёт дороже не правда. На али сейчас посмотрел, они практически по одной цене.
Я scd40 взял. Сильно меньше по размеру.
а как настроить его по Modbus?
MH-z19b с автокалибровкой в не проветриваемом помещении работать не будет.
Я на Ардуино писал алгоритм, который:
1) отключает калибровку
2) если показания 400ppm в течении несколько часов - запускаем калибровку.
В таком режиме работает уже несклько лет - показания корелируют с "промышленным" датчиком.
В нашем офисном здании всегда работает вентиляция и ночью, когда все расходятся, показания CO2 падают до атмосферных. В этом случае он будет работать "из коробки".
А можно код посмотреть?
@@upavla Да. На почту?
Да, если можно
@@upavla Отправил фрагмент кода на почту, указанную в инфо о канале.
Весь код не хочу отправлять, потому что там куча ВСЕГО тестированное в 2018+году - я сейчас и сам не могу разобраться что к чему :)
У него нет окошка для ввода воздуха.
Воздух затекает через разные щели.
Это вызывает некоторые конструктивные неудобства.
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 где то встречал люди шли в лес и там калибровали. Выходило нормально.
У меня SCD40 и от той же компании Sensirion, что и SCD30, и у него есть автокалибровка с периодом в неделю, а у MH-Z19 период автокалибровки 1 день. Так что я думаю, что у SCD30 тоже есть автокалибровка и без проветривания показания станут некорректным.
MH-Z19 - программно отключается автокалибровка да и все.
+
круто! Но самое главное не сказал - как подключить то к esp32?)
По шине i2c. Всегда подключается 4рьмя проводами. +, -, sda и scl. Так как esp32 плат много взяких. Ищите по распиновке где на вашей плате sda и scl. К ним и подключайте
@@upavla спасибо, подключился
0:20 400ppm это атмосферный свежий воздух. неужели нельзя было сделать от 350ppm например, или наверное датчик "самокалибруется" от проветриваемого воздуха и минимальный уровень засчитывает за 400ppm...
Интересно было бы сравнить его с SenseAir S8. По поводу MH-Z19 - его только в мусорку.
Я думал, что senseair это тот же mhz19. Только с другим названием. Выглядит одинаково
@@upavla нет, совсем другой. Показывает идеально. Не глючит. Два рядом ставлю - значения почти одинаковые.
Прикольно
MH-Z19b надо периодически калибровать. Замыкать вывод Hd на минус 7сек и ставлю его на свежий воздух (у форточки) на час. А так без этой процедуры со временем через месяца 3 зимой особо уходит на 407 411ррм. В теплое время года работает более устойчиво . у меня два MH-Z19b и показания днем 470 - 600ррм, после ночи 800 - 1000ррм.
@@user-pc5om8oc6d вот, а тот же S8 сам калибруется, используя нижнее значение. т.е. если периодически проветривать, уходя из дома, то всё будет норм
2000 руб это не приятная цена. веселее самому сделать интерферометр с запаянным баллончиком с СО2 прозрачным для сравнения в референсном плече, хотя бы одночастотный, с получением монохроматического света с малой длиной когерентности через дисперсию на куске компакт диска (как в самодельных спектрометрах).
Ну если вы вашу работу + детали оцениваете меньше чем в 2000р, то тогда да веселее)
Его реально по Модбас подключить? Ведь для этого RS485 нужен? А на датчике даже близко его не видно.
Я вам с даташита зачитал.
там есть вариант с другими разъёмами но это не точно типа дополнительного модуля
Ага. Теперь понятно почему у меня mhz перестал нормально работать. Я думал, что это я его поломал. Возможности решить проблему с калибровкой точно нет?
Я не знаю решения. Мб тут подскажут)
есть. Идите в лес и включите калибровку. Оно откалибруется на 400ппм и все будет дальше работать. Только нвдо не забыть автокалибровку отключить.
Скачок да 5000 ppn во время прошивки - это вы в его сторону дыхнули скорее всего :)
Датчик разве не 3-х вольтовый по даташиту (3Vo) ? Вы использовали к нему переходную плату с преобразователями уровней, или подключаете напрямую с ESP-8266\ESP32 ?
У esp32 3.3 вольтовая логика. У arduino 5 вольтовая
Ну и у esp8266 тоже 3.3 вольтовая логика
@@upavla arduino наверное и на 3 вольта можно запустить на меньшей частоте. не?
@@billgates9751ардуино про мини работате на 3.3 В
Добрый день. Странные показания,у меня 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 на этот датчик еще нет обзоров
За такие деньги он должен ещё и супружеский долг выполнять.
Кто-то удивился, что дёшево. А Вы наоборот)
@@upavla я же по сути. Есть вполне дешёвые штучки с ручной подстройкой. Так то вещь стоит своих денег. Это важная часть безопасности. Ну а с другой стороны, есть аналогичные по своему функционалу, но очень дешёвые вещи. И надёжность достойная. Иногда сама возможность купить - это уже залог безопасности. Или когда необходимо 40 таких приборов. А на те же деньги таких можно только 2 купить. Как то поиграть надо с эффективностью и целесообразностью. Даже 2 таких прибора купить задумаешься. А и в палатку и в гараж он нужен. Да и в котельную было бы не плохо. 50 тысяч на три точки или 2,5 тысячи? Это не хилый такой вопрос. Потому что наши люди найдут ещё дешевле аналоги, даже если их нет. А это уже опасно.
@@POFIGOZAVR Эээ... Какая безопасность? Вы, случайно, этот датчик СО2 (углекислый газ) с датчиком СО (угарный газ) не путаете? Это ж как надышать надо, чтоб смертельная доза СО2 образовалась.
@@darkfenix1984 я говорю именно о теме разговора. Дешёвые датчики угарного газа дороже дешёвых датчиков СО2. А газы эти сопутствующие и в принципе одно без другого не существует. Просто угарный газ быстрее выветривается, и его не всегда можно на датчик поймать, а вот углекислый стелется и не нужно с бубном искать место установки для его обнаружения.
Подозрительно дешёвый.
Ну раньше дороже стоил. Я около 3к его брал
УП - це логотип украинської правди.
Че? Ваша украинская правда ещё мой логотип стырила? Никакой совести у людей
@@upavla Тому логотипу 20 років.
Ну не знаю. Не видел его
@@upavla czcams.com/video/gS1cBGM6eeU/video.html