inspired by:
https://youtu.be/nitpObKHBuw?t=600
https://www.youtube.com/watch?v=u0oQbDNJDG0
https://github.com/Anonym-tsk/smart-domofon
https://esphome.io/components/sensor/mhz19.html
Всем привет! Планирую создать схему и написать прошивку для управления вентилятором по датчику CO2 с помощью платы NodeMCU v3. Общая идея простая: пришли люди -- вентилятор включился, ушли -- вентилятор выключился (см. первое видео).
Способ регулирования скорости заключается в последовательном подключении к вентилятору конденсатора. Чем больше номинал конденсатора -- тем меньше реактивное сопротивление -- тем выше скорость (см. второе видео).
Полагаю, достаточно 4 вариантов скорости:
- выкл.,
- 1 скорость (включён конденсатор C1),
- 2 скорость (включён конденсатор C2),
- максимальная скорость (включены оба конденсатора параллельно друг другу). Для этих четырёх вариантов, соответственно, достаточно двух (на схеме) конденсаторов и двух реле.
Для своего вентилятора Домовент 100С я экспериментально подобрал C1 0,47 мкФ и C2 0,63 мкФ. При 0,36 мкФ вентилятор не запускается, при 0,71 мкФ шумит уже как на полной мощности.
Чтобы получить конденсатор 0,63 мкФ, берём три последовательно соединённых по 0,47 мкФ и параллельно им включаем четвёртый 0,47 мкФ. Итого на всю схему надо пять конденсаторов 300+ В по 0,47 мкФ каждый. Не забудьте подключить параллельно C1 и C2 сопротивления по 1 МОм, чтобы конденсаторы разряжались после выключения и не били Вас током.
В итоге получилась такая принципиальная схема:
Видеообзор первого собранного устройства: https://youtu.be/G8YbCZ9C0GY Видеообзор второго собранного устройства: https://youtu.be/JFP4-hxdZ1U
Алгоритм работы, закладываемый в прошивку (тут в основном поработал @Softace42), согласно исходной задумке выполняет следующее.
- При показании CO2 менее Уставки1 (600 PPM) вентилятор выключен.
- При показании CO2 от Уставки1 до Уставки2 (1200 PPM) вентилятор крутится на первой скорости.
- При показании CO2 от Уставки2 до Уставки3 (1800 PPM) вентилятор крутится на второй скорости.
- При концентрации CO2 выше Уставки3 вентилятор переходит на максимальную скорость.
Вентилятор также снабжён кнопкой вкл/выкл с фиксацей, которая задействована следующим образом.
- При замыкании кнопки вентилятор вне зависимости от концентрации и текущего состояния переходит на максимальную скорость на период T1 (15 мин). В течение этого периода показания датчика игнорируются.
- При размыкании кнопки вентилятор либо включается на заданную ранее скорость, либо выключается на тот же период T1 -- в зависимости от текущего состояния меняет на противоположный. Раньше вентилятор просто выключался, но обычным состоянием кнопки было нажатое, а отсутствие реакции на размыкание вызывает у людей впечатление, что шнурок не работает, и они уже не тянут его повторно. А так в любом случае какая-нибудь реакция есть.
Ну и последнее. Поскольку датчик CO2 недешёвое удовольствие (~25 USD), а вентиляторов в доме может быть несколько, плата может брать показание CO2 из Home Assistant. Возможно, в случае кухонной вытяжки датчик CO2 разумно поменять на дешёвый датчик температуры и влажности, но тут сложнее поймать нужные комбинации уставок.
Прошивка выводит в интерфейс HA состояние вентилятора, у которого можно задавать скорость, а также показания задействованных датчиков (концентрация СO2 и температура или температура и влажность).
Вы можете пообщаться с разработчиками в матрикс-комнате https://matrix.to/#/#aircontrol:gazizova.net