Как стать автором
Обновить
13
0
Дмитрий @veoramid

Инженер

Отправить сообщение

Да, BME680. Он. Если учесть, что в среднем он (и все похожие датчики) завышает температуру на один градус, то вообще не понятно почему у него такое восхитительное описание :)

Самый 'нормальный' это MH Z19B. (*)

(*) надо сразу отключить автокалибровку.
Я вообще писал алгоритм, который если показания долго не опускаются ниже 400ppm - запустить автокалибровку. Дело в том, что применение в офисе с централизированной вентиляцией дает ночью минимальный уровень CO2 причем каждые стуки. Если брать применение дома, где зимой не проветривать - автокалибровка убивает "нормальные" показания.

У меня на стене висит покупной датчик CO2 - в нем внутри аналогичный датчик: CO2 MH-Z14A  с моим показания +- адекватные уже почти год.

Тестирую разные показания разных датчиков:

Давно это было... за точность не ручаюсь.
Есть какой то датчик, BOSCH, если не ошибаюсь с интегрированными датчиками температуры, влажности... К нему идет библиотека, которая должна учитывать изменения параметров и выдавать eCO2, VOC и т.д.
Но, на ESP8266 у меня библиотеку запустить ее не получилось. Получилось на Arduino MEGA.
И тут мы получаем, что BOSCH+MEGA в сумме по цене похоже на "настоящий" датчик CO2 и выигрыша как такового не заметно.

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

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

И тут выходит на второй план софт, который что то измеряет, усредняет, анализирует, выдает результат. И в результате истинный датчик CO2 оказывается более "нормальным", менее геморройным, более повторяемым.

Какую то статью нашел…
pikabu.ru/story/avtopoliv_arduino_6415731

Нашел видео, где видел идею:
www.youtube.com/watch?v=dL1PuS4LVWQ

И вот :)
www.youtube.com/watch?v=a0r54Tk_gtg
Видел решение, когда ставится 1 насос и на сервопривод вешается шланг и под ним много воронок. Если нужно полить, сервопривод от нуля отворачивает на заданный угол, включается насос, наливает воду в ворону, становится в исходную позицию. По условию решения воронки должны быть выше горшков.
Спасибо за наводку. Интересная ссылка. Почему то раньше я ее не замечал.
Результат: При диапазоне 2к, 5к, 10к ответ одинаковый:
Отправляем команду на чтение bounds DAC
Чтение ответа датчика
Прочитали: 255 165 1 144 7 208 0 0 243
1*256+144=400
7*256+208=2000

При этом он явно работает не в диапазоне 400-2000, а так, как я его переключал 400-10000:
CO2: 442 ppm 26 градусов 157 ADC 0.48 V ADC 0,4..2v: 97 2k 235 5k 477 10k
PS: питание передернул.
Да. И это параллельное подключение подразумевает арбитраж. В промышленных системах, с которыми я работал, обычно используется главное устройство диспетчеризации или мониторинга, которое собирает данные со всех слейвов. Поэтому стандартный modbus подразумевает, что 99.99% контроллеров — слейвы и только отвечают на команды, а мониторинги/диспетчеры 99.99% — мастера только посылают команды.

А тут мне надо со слейва опросить еще одно устройство — вообще не представляю как это сделать на готовой системе (*).

(*) если система своя, и проектируется с нуля, можно предусмотреть алгоритм передачи «мастера» от контроллера к контроллеру по команде или таймауту. Или придумать вариант «транзитной» передачи данных. Например у контроллеров MPXpro Carel есть возможность собрать мини-сеть из 6 контроллеров. Из этих 6 контроллеров один главный и 5 второстепенных. Главный может общаться со второстепенными по своему протоколу и при этом быть «слейвом» для системы мониторинга. Когда мониторинг присылает запрос на второстепенный контроллер, главный контроллер работает шлюзом, пропуская все команды сквозняком.

Но в любом случае этот алгоритм зашит на заводе Carel и я ничего не могу изменить. Только пользоваться «как есть».

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность