Найти в Дзене
Mega.Animeshnik

Опыт использования датчиков SGP30 и SCD40

Я, как любой уважающий себя ардуинщик, первым делом собрал метеостанцию, но не на Arduino, а на ESP32. Помимо привычных датчиков контроля температуры, влажности и атмосферного давления, меня привлекали датчика контроля качества водуха. Я приобрел датчик SGP30, который показывает как TVOC, так и CO2(на самом деле CO2eq). Практически сразу стало ясно, SGP30 не подходит для измерения концентрации CO2. Ведь, на самом деле, это датчик CO2eq, который определяет эквивалент CO2, рассчитывая его концентрацию по уровню H2(https://sensirion.com/media/documents/984E0DD5/61644B8B/Sensirion_Gas_Sensors_Datasheet_SGP30.pdf https://forum.digikey.com/t/what-is-co2eq/5144). Возможно, я ошибаюсь и причина не в этом, но факт, что при повышенном TVOC также повышается CO2, что не соответствует реальному увеличению CO2. TVOC может повышаться под воздействием множества факторов, включая приготовление пищи, из-за чего показатель CO2eq часто оказывается высоким. Возникает вопрос: какой смысл в таком показателе?
Оглавление

Введение

Я, как любой уважающий себя ардуинщик, первым делом собрал метеостанцию, но не на Arduino, а на ESP32.

Помимо привычных датчиков контроля температуры, влажности и атмосферного давления, меня привлекали датчика контроля качества водуха. Я приобрел датчик SGP30, который показывает как TVOC, так и CO2(на самом деле CO2eq). Практически сразу стало ясно, SGP30 не подходит для измерения концентрации CO2. Ведь, на самом деле, это датчик CO2eq, который определяет эквивалент CO2, рассчитывая его концентрацию по уровню H2(https://sensirion.com/media/documents/984E0DD5/61644B8B/Sensirion_Gas_Sensors_Datasheet_SGP30.pdf https://forum.digikey.com/t/what-is-co2eq/5144). Возможно, я ошибаюсь и причина не в этом, но факт, что при повышенном TVOC также повышается CO2, что не соответствует реальному увеличению CO2. TVOC может повышаться под воздействием множества факторов, включая приготовление пищи, из-за чего показатель CO2eq часто оказывается высоким. Возникает вопрос: какой смысл в таком показателе?

Покупать известный mh-z19b мне не хотелось, в моём понимании, он не только дорогой, но и подключать по uart мне не улыбалось. CO2 тяжелее воздуха, но и я ведь не на полу лежу, справедливо поставить датчик на уровне стола. Кроме того, полно заводских приборов определяющих качество воздуха, которые не имеют выносных датчиков, значит воздух определяют именно там, где они стоят. База метеостанции валяется на полу, а на уровне стола у меня вынесены датчик HTU21D и SGP30, следовательно, я хочу датчик работающий по i2c, который можно навесить на эту гирлянду. Так я обнаружил датчик SCD40, прочитал вот эту статью https://mysku.club/blog/aliexpress/95362.html и решил, это то что мне нужно.

Практически тесты

Оба датчика откалиброваны по уличному воздуху, сейчас уже не сезон для проветриваний, но SCD40 я успел получить в теплое время года, а SGP30 у меня уже давно.

Данные у меня записываются каждую минуту, вот так выглядит график уровня CO2 и CO2eq за 3 суток, что-то общее в этих линиях есть.

Если несколько обрезать, то выглядит понятнее.

-2

В то же время, если наложить TVOC, то график выглядит как, то так.

-3

Если немного поиграться с масштабом, то будет что, то вроде этого.

-4

Я выделил моменты, где CO2eq повторяет пики TVOC датчика SGP30, в то время как CO2 SCD40 эти пики игнорирует.

-5

Не вывод или что я решил для себя

Судя по всему, SCD40 измеряет уровень CO2 лучше, по сравнению с SGP30. Однако, раз сравнить не с чем, точность остаётся под вопросом. Возможно, CO2eq определяемый SGP30 может быть близок с реальным CO2, но только в условиях, когда TVOC крайне низок.

Если есть желание определять CO2, то из этих двух датчиков SCD40 определённо лучше, но если нужен TVOC и CO2 и не хочется лишних трат или нет возможность подключить SCD40, все-таки он много потребляет, то SGP30 хороший выбор, если понимать нюансы его работы.