Товары из Китая

Датчик CO2 — SCD40: убийца «народного» MH-Z19?


  1. Цена: 14,4$ + 3.1$ доставка
  2. Перейти в магазин

О важности контроля концентрации CO2 и его влиянии на самочувствие и работоспособность людей сказано много, разные исследования приводят разные значения допустимой концентрации CO2, но практически все они сходятся в том, что она не должна превышать 1000 ppm или миллионных частей. На рынке есть множество готовых устройств для точного измерения концентрации CO2 и есть соответственно множество датчиков, для тех, кто не удовлетворен функционалом готовых устройств и хочет разработать собственное. Датчики CO2 нельзя назвать дешевыми, это связано с весьма непростым принципом измерения, лежащим в их основе, и соответственно сложностью их устройства. На Aliexpress представлено более 10 различных моделей датчиков, популярных и не очень.

Среди нескольких известных моделей звание «народного» по праву заслужил MH-Z19, который в различных модификациях выпускается компанией Winsen, специализирующейся на газовых датчиках. MH-Z19 в зависимости от модификации можно купить от 14$ до 21$. Но не так давно появился датчик SCD40 от компании Sensirion, также известной различными датчиками газа. Цена его начинается от 14$, при этом он имеет ряд интересных особенностей. Так давайте проверим его и сравним с «народным» MH-Z19.

Датчик CO2 - SCD40: убийца «народного» MH-Z19?Датчики CO2 — как отдельный вид искусства

Большинство датчиков CO2 работают по принципу NDIR то есть недисперсионного рассеяния ИК-излучения. Метод основан на поглощении молекулами CO2 инфракрасного излучения с длиной волны 4,2 мкм, при этом датчик содержит источник ИК-излучения и приемник, который измеряет поглощенную энергию, вычисляя, таким образом, концентрацию CO2 в рабочей камере. Вот так выглядит изнутри датчик MH-Z19 (фото не мои). В качестве источника выступает лампа накаливания, что объясняет довольно высокое потребление энергии.

Датчик CO2 - SCD40: убийца «народного» MH-Z19?Датчик CO2 - SCD40: убийца «народного» MH-Z19?SCD40 также является NDIR сенсором, но работает по несколько другому принципу. Он также содержит источник ИК-излучения, а в качестве приемника … микрофон. Он использует так называемый фотоакустический эффект. Дело в том, что при поглощении ИК-излучения молекулы CO2 начинают вибрировать, создавая, таким образом, звуковое давление, величина которого зависит от концентрации CO2. В отличие от фотоэлектрических NDIR сенсоров фотоакустические могут быть более компактными, так как лишены оптической системы, которая главным образом определяет размеры сенсора.

Датчик CO2 - SCD40: убийца «народного» MH-Z19?Принципиальная схема SCD40 выглядит следующим образом.

Датчик CO2 - SCD40: убийца «народного» MH-Z19?Несколько лет назад я купил MH-Z19b для использования в небольшой DIY системе мониторинга климата в доме, но буквально спустя пару месяцев использования он стал выдавать некорректные значения или вообще переставал возвращать значение концентрации CO2, я признаться несколько расстроился и забросил этот проект. Но вот сейчас для теста я решил проверить его и, оказалось, что он работает вполне нормально, поэтому сравнивать будем SCD40 именно с ним.

В отличие от MH-Z19b, имеющего несколько интерфейсов, SCD40 имеет только один I2C. Размеры датчика составляют 10.1*10.*6.5 мм против 32.6*19.5*8,5 у MH-Z19. На модуле кроме подтягивающих резисторов и конденсатора больше нет никакой обвязки. При этом модуль стоит примерно на 2.5$ дороже «голого» сенсора. Размер платы 13.4*21.6 мм,

Датчик CO2 - SCD40: убийца «народного» MH-Z19?Напряжение питания SCD40 заявлено от 2.4 до 5.5 В, среднее потребление при питании 3.3В — 18мА, в пике до 205 мА, у версии SCD41 есть режим пониженного потребления и его можно использовать в устройствах с батарейным питанием, но, по отзывам некоторых пользователей в этом режиме он сильно занижает значение концентрации CO2. У MH-Z19b среднее потребление составляет 60 мА, 150мА в пике, MH-Z19 работает только от 5В.

Точность измерения CO2 в диапазоне 400-2000 ppm заявлена +-50 ppm (+-5%). Старшая версия датчика SDC41 измеряет CO2 в диапазоне от 400 до 5000 ppm с точностью +-40ppm. SCD41 стоит в 1,5 раза дороже SCD40. MH-Z19b также измеряет концентрацию CO2 в диапазоне 400-5000 с заявленной точностью +-50 ppm (+-3%).

Помимо концентрации CO2 SCD40 также измеряет температуру и влажность, что весьма удобно, но при этом значения температуры и влажности несколько завышены, что очевидно связано с присутствием нагревателя внутри датчика. SCD40 имеет встроенную компенсацию сигнала для исключения влияния давления и температуры. Ввод данных о давлении или высоте над уровнем моря обеспечивает высокую точность выходного сигнала CO2 в широком диапазоне давлений. Установка смещения температуры повышает точность выходного сигнала относительной влажности и температуры. Смещение температуры не влияет на точность выхода CO2. SCD40 работает в диапазоне температур от -10 до 60, в то время как для MH-Z19 диапазон рабочей температуры несколько уже – от 0 до 50 градусов.

За измерение температуры и влажности отвечает встроенный сенсор SHT40. Так выглядит SCD40 без металлического корпуса (фото не мое).

Датчик CO2 - SCD40: убийца «народного» MH-Z19?

SCD40 поддерживает два режима калибровки концентрации CO2. Первый — принудительная повторная калибровка (FRC) позволяет немедленно восстановить максимальную точность с помощью эталонного значения CO2. Как правило, FRC применяется для компенсации дрейфа, возникающего в процессе сборки датчика или других значительных нагрузок. Второй – это автоматическая самокалибровка (ASC), обеспечивает высокую долгосрочную стабильность SCD40 без необходимости ручных действий со стороны пользователя. Алгоритм автоматической самокалибровки предполагает, что датчик подвергается воздействию атмосферного CO2 с концентрацией 400 ppm не реже одного раза в неделю. По умолчанию автокалибровка включена. Очевидно, если помещение, в котором установлен сенсор, регулярно проветривается, с автокалибровкой не возникнет проблем, но, если он установлен в замкнутом пространстве с затрудненным воздухообменом, со временем его показания станут некорректными.

Для теста я подключил SCD40 к Arduino, для него есть официальная библиотека от Sensirion. Тестовый скетч выводит в com-порт данные концентрации CO2, температуры и влажности с интервалом в 5 секунд.

Как я уже говорил, имеющийся у меня MH-Z19, стал работать некорректно, но я решил его проверить, безжалостно выпаял и подключил к arduino. Он работает час, два … сначала показания были выше 5000, потом стали постепенно снижаться.

Я подключил оба сенсора к Arduino и вывел их показания на график. Вероятно, что у MH-Z19 (красная линия) сбилась калибровка и его показания сильно завышены. При этом график изменения концентрации выглядит одинаково у обоих датчиков. SCD40 (синяя линия) тоже, на мой взгляд, завышает значение уровня CO2, ведь даже при открытом окне и долгом проветривании он не падает ниже 1000 ppm.

Датчик CO2 - SCD40: убийца «народного» MH-Z19?У MH-Z19 период автокалибровки составляет 1 сутки, то есть его нужно оставить непрерывно работать более чем на 1 сутки.

Чисто субъективно SCD40 более чувствительный, MH-Z19 обладает большей инертностью, при этом график SCD40 выглядит более сглаженным в отличие от MH-Z19.

Датчик CO2 - SCD40: убийца «народного» MH-Z19?После того как датчики оставались включенными более чем на сутки, MH-Z19 откалибровался и его показания опустились до 400 ppm на старте в проветренном помещении. Но вместе с тем он стал как бы менее чувствительным, и размах значений уменьшился, спустя еще некоторое время графики вновь стали похожими. SCD40 по-прежнему завышает показания, разница составляет от 300 до 600 ppm. Для его калибровки, очевидно, нужно оставить работать SCD40 более чем на неделю.

Датчик CO2 - SCD40: убийца «народного» MH-Z19?После непрерывной работы в течение более чем недели SCD40, кажется, наконец, откалибровался и этот момент попал на график в виде резкого снижения его показаний. В какой-то момент показания SCD40 сравнялись с показаниями MH-Z19b, а затем снова начали расходиться. Дельта уменьшилась и составила примерно 200-250ppm.

Датчик CO2 - SCD40: убийца «народного» MH-Z19?После калибровки можно наблюдать следующую картину: при открытии окна показания SCD40 резко уменьшаются и практически выравниваются с показаниями MH-Z19b, но когда окно закрывается, и концентрация растет, показания расходятся.

Датчик CO2 - SCD40: убийца «народного» MH-Z19?Датчик CO2 - SCD40: убийца «народного» MH-Z19?Наверное, главный вывод, который я сделал: очень трудно удержать концентрацию CO2 в норме. Например, в пустом помещении MH-Z19 выдает 400 ppm, но когда хотя бы один человек появлялся, концентрация увеличивается, и даже при проветривании показания ползут вверх далеко за допустимые пределы.

Есть несколько интересных проектов с использованием SCD40, он например, используется в устройствах от efektalab с поддержкой ZigBee. Я же решил изобрести свой велосипед. Я хочу использовать датчик на работе, где нет возможности использовать беспроводные интерфейсы для передачи данных на какое-то базовое устройство.

С другой стороны хотелось бы иметь возможность не только видеть текущее значение, но и наблюдать динамику изменения CO2. Можно конечно рисовать на дисплее график, но есть некоторые ограничения, а именно размер дисплея. Как вариант рассматривал передачу данных по Bluetooth на смартфон, но разработка даже простого приложения с нормальным дизайном задача довольно сложная. И совершенно случайно мне попалась реализация подобной задачи. Оказывается, у Sensirion есть библиотека для работы с Bluetooth low Energy под arduino IDE и собственное приложение. Это именно то, что нужно! Библиотека содержит примеры для работы с разными датчиками и рассчитана на использование ESP32.

Помимо библиотеки arduino-ble-gadget от Sensirion необходимо установить библиотеку NimBLE.h, при компиляции могут возникнуть ошибки со стандартной библиотекой ESP32_BLE_Arduino, её нужно удалить.

После загрузки скетча данные с датчика сразу появляются в приложении. На главном экране отображаются текущие значения концентрации CO2, температура и влажность, на вкладки Plot, отображается график изменения отдельно для каждого параметра. Можно выбрать период отображения данных на графике от 5 минут до 4 недель.

Датчик CO2 - SCD40: убийца «народного» MH-Z19?Приложение не лишено недостатков, например, график не отражается в реальном времени, а для его обновления нужно вручную загрузить данные с устройства, на котором они хранятся только тех пор, пока оно не будет выключено. При этом данные можно выгрузить в формате csv. В приложении можно задать единицы измерения, а также период логирования данных на устройстве, который по умолчанию составляет 1 минуту.

У меня давно без дела лежит платформа TTGO TS на базе ESP32. Сама платформа не сказать, чтобы совсем плоха, но имеет несколько недостатков, главный из который это дисплей, он имеет небольшие углы обзора и плохую цветопередачу. К тому же изначально платформа рассчитана на дисплей 1.44”, а вместо него установлен 1.8”, который выходит за границы платы и перекрывает монтажные отверстия. Кроме того, подсветка дисплея напрямую подключена к питанию и нет возможности её отключать для экономии энергии. Из плюсов – платформа имеет схему управления зарядом и защиты аккумулятора, встроенный усилитель, подключенный к выходу ЦАП, разъем для microSD.

Взяв за основу скечт из примера библиотеки arduino-ble-gadget от Sensirion и интерфейс из этого проекта, я написал простою программу, которая одновременно выводит данные с датчика на дисплей и отправляет по BLE в мобильное приложение. Скетч доступен по ссылке.

Чтобы устройство получилось законченным, я смоделировал простой корпус. Датчик подключен к TTGO TS с помощью макетной платы для Wemos, при этом он не запаян, а установлен с помощью гребенки PLS, поэтому корпус получился бодипозитывным достаточно толстым. Половинки корпуса держатся на честном слове за счет силы трения. Модель корпуса, если вдруг кому пригодится, лежит на гитхаб вместе со скетчем.

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

Я изначально планировал установить это датчик на рабочем месте. Коллега, сидящая рядом, постоянно открывает окно, в то время как я совсем не ощущаю спертости воздуха. Я не противник проветривания, просто, если выбирать между чистым воздухом и тишиной, я бы выбрал тишину, а так приходится терпеть довольно сильный шум. И мне всегда было интересно проверить, насколько необходимо проветривание.

Датчик CO2 - SCD40: убийца «народного» MH-Z19?Итак, в начале дня (22.03.2023) уровень CO2 находится около 650 ppm, при этом одно окно открыто, постепенно к обеду концентрация CO2 начинает увеличиваться и достигает 900 ppm, после открытия второго окна снижается и весь оставшийся день не превышает 650 ppm. Когда я находился в кабинете один (27.03.2023), уровень CO2 при открытом окне не поднимался даже до 900 ppm. Но в ветреный день (31.03.2023), когда окно приходилось держать закрытым, уровень CO2 действительно поднимался выше рекомендуемого значения в 1000 ppm и даже достигал 1500 ppm.

Датчик CO2 - SCD40: убийца «народного» MH-Z19?Что ж, можно констатировать, что уровень CO2 на рабочем месте при открытых окнах находится в норме и нежелание работать объяснить этим не получится. Может быть виноват шум…

Очевидно, из-за замкнутого пространства корпуса температура сильно завешается, а влажность наоборот – занижается, но это можно исправить заданием значений смещения для компенсации.

Наглядно сравнение сенсоров представлено в видео

Заключение

Главными достоинствами SCD40 являются его компактность и возможность измерять дополнительно температуру и влажность. Потребление несколько ниже, чем у MH-Z19, но он также не рассчитан на батарейное питание. О точности показаний не могу сделать однозначный вывод. Период автоматической калибровки в одну неделю, на мой взгляд, несколько избыточен, хотя с другой стороны это обеспечивает большую вероятность, что в течение этого периода помещение будет проветрено. Отдельным плюсом стоит отметить документацию, помимо стандартного даташита есть примеры для различных платформ, а также мобильное приложение. Стоимость SCD40 сопоставима со стоимостью MH-Z19. Какой выбрать, каждый решает сам.

Датчик CO2 - SCD40: убийца «народного» MH-Z19?Вообще тема датчиков CO2 довольно интересна и было бы любопытно изучить другие датчики и устроить большой сравнительный тест. Пишите в комментариях, если эта тема интересна и, может быть, я устрою такой тест. Всем спасибо за внимание! Следите за уровнем CO2 и берегите себя!

Планирую купить

+27


Добавить в избранное


Обзор понравился

+88
+123

    О важности контроля концентрации CO2 и его влиянии на самочувствие и работоспособность людей сказано много, разные исследования приводят разные значения допустимой концентрации CO2, но практически все они сходятся в том, что она не должна превышать 1000 ppm или миллионных частей. На рынке есть множество готовых устройств для точного измерения концентрации CO2 и есть соответственно множество датчиков, для тех, кто не удовлетворен функционалом готовых устройств и хочет разработать собственное. Датчики CO2 нельзя назвать дешевыми, это связано с весьма непростым принципом измерения, лежащим в их основе, и соответственно сложностью их устройства. На Aliexpress представлено более 10 различных моделей датчиков, популярных и не очень.

    Среди нескольких известных моделей звание «народного» по праву заслужил MH-Z19, который в различных модификациях выпускается компанией Winsen, специализирующейся на газовых датчиках. MH-Z19 в зависимости от модификации можно купить от 14$ до 21$. Но не так давно появился датчик SCD40 от компании Sensirion, также известной различными датчиками газа. Цена его начинается от 14$, при этом он имеет ряд интересных особенностей. Так давайте проверим его и сравним с «народным» MH-Z19.

    Датчик CO2 - SCD40: убийца «народного» MH-Z19?Датчики CO2 — как отдельный вид искусства

    Большинство датчиков CO2 работают по принципу NDIR то есть недисперсионного рассеяния ИК-излучения. Метод основан на поглощении молекулами CO2 инфракрасного излучения с длиной волны 4,2 мкм, при этом датчик содержит источник ИК-излучения и приемник, который измеряет поглощенную энергию, вычисляя, таким образом, концентрацию CO2 в рабочей камере. Вот так выглядит изнутри датчик MH-Z19 (фото не мои). В качестве источника выступает лампа накаливания, что объясняет довольно высокое потребление энергии.

    Датчик CO2 - SCD40: убийца «народного» MH-Z19?Датчик CO2 - SCD40: убийца «народного» MH-Z19?SCD40 также является NDIR сенсором, но работает по несколько другому принципу. Он также содержит источник ИК-излучения, а в качестве приемника … микрофон. Он использует так называемый фотоакустический эффект. Дело в том, что при поглощении ИК-излучения молекулы CO2 начинают вибрировать, создавая, таким образом, звуковое давление, величина которого зависит от концентрации CO2. В отличие от фотоэлектрических NDIR сенсоров фотоакустические могут быть более компактными, так как лишены оптической системы, которая главным образом определяет размеры сенсора.

    Датчик CO2 - SCD40: убийца «народного» MH-Z19?Принципиальная схема SCD40 выглядит следующим образом.

    Датчик CO2 - SCD40: убийца «народного» MH-Z19?Несколько лет назад я купил MH-Z19b для использования в небольшой DIY системе мониторинга климата в доме, но буквально спустя пару месяцев использования он стал выдавать некорректные значения или вообще переставал возвращать значение концентрации CO2, я признаться несколько расстроился и забросил этот проект. Но вот сейчас для теста я решил проверить его и, оказалось, что он работает вполне нормально, поэтому сравнивать будем SCD40 именно с ним.

    В отличие от MH-Z19b, имеющего несколько интерфейсов, SCD40 имеет только один I2C. Размеры датчика составляют 10.1*10.*6.5 мм против 32.6*19.5*8,5 у MH-Z19. На модуле кроме подтягивающих резисторов и конденсатора больше нет никакой обвязки. При этом модуль стоит примерно на 2.5$ дороже «голого» сенсора. Размер платы 13.4*21.6 мм,

    Датчик CO2 - SCD40: убийца «народного» MH-Z19?Напряжение питания SCD40 заявлено от 2.4 до 5.5 В, среднее потребление при питании 3.3В — 18мА, в пике до 205 мА, у версии SCD41 есть режим пониженного потребления и его можно использовать в устройствах с батарейным питанием, но, по отзывам некоторых пользователей в этом режиме он сильно занижает значение концентрации CO2. У MH-Z19b среднее потребление составляет 60 мА, 150мА в пике, MH-Z19 работает только от 5В.

    Точность измерения CO2 в диапазоне 400-2000 ppm заявлена +-50 ppm (+-5%). Старшая версия датчика SDC41 измеряет CO2 в диапазоне от 400 до 5000 ppm с точностью +-40ppm. SCD41 стоит в 1,5 раза дороже SCD40. MH-Z19b также измеряет концентрацию CO2 в диапазоне 400-5000 с заявленной точностью +-50 ppm (+-3%).

    Помимо концентрации CO2 SCD40 также измеряет температуру и влажность, что весьма удобно, но при этом значения температуры и влажности несколько завышены, что очевидно связано с присутствием нагревателя внутри датчика. SCD40 имеет встроенную компенсацию сигнала для исключения влияния давления и температуры. Ввод данных о давлении или высоте над уровнем моря обеспечивает высокую точность выходного сигнала CO2 в широком диапазоне давлений. Установка смещения температуры повышает точность выходного сигнала относительной влажности и температуры. Смещение температуры не влияет на точность выхода CO2. SCD40 работает в диапазоне температур от -10 до 60, в то время как для MH-Z19 диапазон рабочей температуры несколько уже – от 0 до 50 градусов.

    За измерение температуры и влажности отвечает встроенный сенсор SHT40. Так выглядит SCD40 без металлического корпуса (фото не мое).

    Датчик CO2 - SCD40: убийца «народного» MH-Z19?

    SCD40 поддерживает два режима калибровки концентрации CO2. Первый — принудительная повторная калибровка (FRC) позволяет немедленно восстановить максимальную точность с помощью эталонного значения CO2. Как правило, FRC применяется для компенсации дрейфа, возникающего в процессе сборки датчика или других значительных нагрузок. Второй – это автоматическая самокалибровка (ASC), обеспечивает высокую долгосрочную стабильность SCD40 без необходимости ручных действий со стороны пользователя. Алгоритм автоматической самокалибровки предполагает, что датчик подвергается воздействию атмосферного CO2 с концентрацией 400 ppm не реже одного раза в неделю. По умолчанию автокалибровка включена. Очевидно, если помещение, в котором установлен сенсор, регулярно проветривается, с автокалибровкой не возникнет проблем, но, если он установлен в замкнутом пространстве с затрудненным воздухообменом, со временем его показания станут некорректными.

    Для теста я подключил SCD40 к Arduino, для него есть официальная библиотека от Sensirion. Тестовый скетч выводит в com-порт данные концентрации CO2, температуры и влажности с интервалом в 5 секунд.

    Как я уже говорил, имеющийся у меня MH-Z19, стал работать некорректно, но я решил его проверить, безжалостно выпаял и подключил к arduino. Он работает час, два … сначала показания были выше 5000, потом стали постепенно снижаться.

    Я подключил оба сенсора к Arduino и вывел их показания на график. Вероятно, что у MH-Z19 (красная линия) сбилась калибровка и его показания сильно завышены. При этом график изменения концентрации выглядит одинаково у обоих датчиков. SCD40 (синяя линия) тоже, на мой взгляд, завышает значение уровня CO2, ведь даже при открытом окне и долгом проветривании он не падает ниже 1000 ppm.

    Датчик CO2 - SCD40: убийца «народного» MH-Z19?У MH-Z19 период автокалибровки составляет 1 сутки, то есть его нужно оставить непрерывно работать более чем на 1 сутки.

    Чисто субъективно SCD40 более чувствительный, MH-Z19 обладает большей инертностью, при этом график SCD40 выглядит более сглаженным в отличие от MH-Z19.

    Датчик CO2 - SCD40: убийца «народного» MH-Z19?После того как датчики оставались включенными более чем на сутки, MH-Z19 откалибровался и его показания опустились до 400 ppm на старте в проветренном помещении. Но вместе с тем он стал как бы менее чувствительным, и размах значений уменьшился, спустя еще некоторое время графики вновь стали похожими. SCD40 по-прежнему завышает показания, разница составляет от 300 до 600 ppm. Для его калибровки, очевидно, нужно оставить работать SCD40 более чем на неделю.

    Датчик CO2 - SCD40: убийца «народного» MH-Z19?После непрерывной работы в течение более чем недели SCD40, кажется, наконец, откалибровался и этот момент попал на график в виде резкого снижения его показаний. В какой-то момент показания SCD40 сравнялись с показаниями MH-Z19b, а затем снова начали расходиться. Дельта уменьшилась и составила примерно 200-250ppm.

    Датчик CO2 - SCD40: убийца «народного» MH-Z19?После калибровки можно наблюдать следующую картину: при открытии окна показания SCD40 резко уменьшаются и практически выравниваются с показаниями MH-Z19b, но когда окно закрывается, и концентрация растет, показания расходятся.

    Датчик CO2 - SCD40: убийца «народного» MH-Z19?Датчик CO2 - SCD40: убийца «народного» MH-Z19?Наверное, главный вывод, который я сделал: очень трудно удержать концентрацию CO2 в норме. Например, в пустом помещении MH-Z19 выдает 400 ppm, но когда хотя бы один человек появлялся, концентрация увеличивается, и даже при проветривании показания ползут вверх далеко за допустимые пределы.

    Есть несколько интересных проектов с использованием SCD40, он например, используется в устройствах от efektalab с поддержкой ZigBee. Я же решил изобрести свой велосипед. Я хочу использовать датчик на работе, где нет возможности использовать беспроводные интерфейсы для передачи данных на какое-то базовое устройство.

    С другой стороны хотелось бы иметь возможность не только видеть текущее значение, но и наблюдать динамику изменения CO2. Можно конечно рисовать на дисплее график, но есть некоторые ограничения, а именно размер дисплея. Как вариант рассматривал передачу данных по Bluetooth на смартфон, но разработка даже простого приложения с нормальным дизайном задача довольно сложная. И совершенно случайно мне попалась реализация подобной задачи. Оказывается, у Sensirion есть библиотека для работы с Bluetooth low Energy под arduino IDE и собственное приложение. Это именно то, что нужно! Библиотека содержит примеры для работы с разными датчиками и рассчитана на использование ESP32.

    Помимо библиотеки arduino-ble-gadget от Sensirion необходимо установить библиотеку NimBLE.h, при компиляции могут возникнуть ошибки со стандартной библиотекой ESP32_BLE_Arduino, её нужно удалить.

    После загрузки скетча данные с датчика сразу появляются в приложении. На главном экране отображаются текущие значения концентрации CO2, температура и влажность, на вкладки Plot, отображается график изменения отдельно для каждого параметра. Можно выбрать период отображения данных на графике от 5 минут до 4 недель.

    Датчик CO2 - SCD40: убийца «народного» MH-Z19?Приложение не лишено недостатков, например, график не отражается в реальном времени, а для его обновления нужно вручную загрузить данные с устройства, на котором они хранятся только тех пор, пока оно не будет выключено. При этом данные можно выгрузить в формате csv. В приложении можно задать единицы измерения, а также период логирования данных на устройстве, который по умолчанию составляет 1 минуту.

    У меня давно без дела лежит платформа TTGO TS на базе ESP32. Сама платформа не сказать, чтобы совсем плоха, но имеет несколько недостатков, главный из который это дисплей, он имеет небольшие углы обзора и плохую цветопередачу. К тому же изначально платформа рассчитана на дисплей 1.44”, а вместо него установлен 1.8”, который выходит за границы платы и перекрывает монтажные отверстия. Кроме того, подсветка дисплея напрямую подключена к питанию и нет возможности её отключать для экономии энергии. Из плюсов – платформа имеет схему управления зарядом и защиты аккумулятора, встроенный усилитель, подключенный к выходу ЦАП, разъем для microSD.

    Взяв за основу скечт из примера библиотеки arduino-ble-gadget от Sensirion и интерфейс из этого проекта, я написал простою программу, которая одновременно выводит данные с датчика на дисплей и отправляет по BLE в мобильное приложение. Скетч доступен по ссылке.

    Чтобы устройство получилось законченным, я смоделировал простой корпус. Датчик подключен к TTGO TS с помощью макетной платы для Wemos, при этом он не запаян, а установлен с помощью гребенки PLS, поэтому корпус получился бодипозитывным достаточно толстым. Половинки корпуса держатся на честном слове за счет силы трения. Модель корпуса, если вдруг кому пригодится, лежит на гитхаб вместе со скетчем.

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

    Я изначально планировал установить это датчик на рабочем месте. Коллега, сидящая рядом, постоянно открывает окно, в то время как я совсем не ощущаю спертости воздуха. Я не противник проветривания, просто, если выбирать между чистым воздухом и тишиной, я бы выбрал тишину, а так приходится терпеть довольно сильный шум. И мне всегда было интересно проверить, насколько необходимо проветривание.

    Датчик CO2 - SCD40: убийца «народного» MH-Z19?Итак, в начале дня (22.03.2023) уровень CO2 находится около 650 ppm, при этом одно окно открыто, постепенно к обеду концентрация CO2 начинает увеличиваться и достигает 900 ppm, после открытия второго окна снижается и весь оставшийся день не превышает 650 ppm. Когда я находился в кабинете один (27.03.2023), уровень CO2 при открытом окне не поднимался даже до 900 ppm. Но в ветреный день (31.03.2023), когда окно приходилось держать закрытым, уровень CO2 действительно поднимался выше рекомендуемого значения в 1000 ppm и даже достигал 1500 ppm.

    Датчик CO2 - SCD40: убийца «народного» MH-Z19?Что ж, можно констатировать, что уровень CO2 на рабочем месте при открытых окнах находится в норме и нежелание работать объяснить этим не получится. Может быть виноват шум…

    Очевидно, из-за замкнутого пространства корпуса температура сильно завешается, а влажность наоборот – занижается, но это можно исправить заданием значений смещения для компенсации.

    Наглядно сравнение сенсоров представлено в видео

    Заключение

    Главными достоинствами SCD40 являются его компактность и возможность измерять дополнительно температуру и влажность. Потребление несколько ниже, чем у MH-Z19, но он также не рассчитан на батарейное питание. О точности показаний не могу сделать однозначный вывод. Период автоматической калибровки в одну неделю, на мой взгляд, несколько избыточен, хотя с другой стороны это обеспечивает большую вероятность, что в течение этого периода помещение будет проветрено. Отдельным плюсом стоит отметить документацию, помимо стандартного даташита есть примеры для различных платформ, а также мобильное приложение. Стоимость SCD40 сопоставима со стоимостью MH-Z19. Какой выбрать, каждый решает сам.

    Датчик CO2 - SCD40: убийца «народного» MH-Z19?Вообще тема датчиков CO2 довольно интересна и было бы любопытно изучить другие датчики и устроить большой сравнительный тест. Пишите в комментариях, если эта тема интересна и, может быть, я устрою такой тест. Всем спасибо за внимание! Следите за уровнем CO2 и берегите себя!


СМОТРИ ТАКЖЕ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *