Coder Social home page Coder Social logo

aircontrol's Introduction

aircontrol

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 МОм, чтобы конденсаторы разряжались после выключения и не били Вас током.

В итоге получилась такая принципиальная схема: Schema

Видеообзор первого собранного устройства: https://youtu.be/G8YbCZ9C0GY Видеообзор второго собранного устройства: https://youtu.be/JFP4-hxdZ1U

Программная часть

Алгоритм работы, закладываемый в прошивку (тут в основном поработал @Softace42), согласно исходной задумке выполняет следующее.

  1. При показании CO2 менее Уставки1 (600 PPM) вентилятор выключен.
  2. При показании CO2 от Уставки1 до Уставки2 (1200 PPM) вентилятор крутится на первой скорости.
  3. При показании CO2 от Уставки2 до Уставки3 (1800 PPM) вентилятор крутится на второй скорости.
  4. При концентрации CO2 выше Уставки3 вентилятор переходит на максимальную скорость.

Вентилятор также снабжён кнопкой вкл/выкл с фиксацей, которая задействована следующим образом.

  1. При замыкании кнопки вентилятор вне зависимости от концентрации и текущего состояния переходит на максимальную скорость на период T1 (15 мин). В течение этого периода показания датчика игнорируются.
  2. При размыкании кнопки вентилятор либо включается на заданную ранее скорость, либо выключается на тот же период T1 -- в зависимости от текущего состояния меняет на противоположный. Раньше вентилятор просто выключался, но обычным состоянием кнопки было нажатое, а отсутствие реакции на размыкание вызывает у людей впечатление, что шнурок не работает, и они уже не тянут его повторно. А так в любом случае какая-нибудь реакция есть.

Ну и последнее. Поскольку датчик CO2 недешёвое удовольствие (~25 USD), а вентиляторов в доме может быть несколько, плата может брать показание CO2 из Home Assistant. Возможно, в случае кухонной вытяжки датчик CO2 разумно поменять на дешёвый датчик температуры и влажности, но тут сложнее поймать нужные комбинации уставок.

Интеграция с Home Assistant

Прошивка выводит в интерфейс HA состояние вентилятора, у которого можно задавать скорость, а также показания задействованных датчиков (концентрация СO2 и температура или температура и влажность).

Контакты

Вы можете пообщаться с разработчиками в матрикс-комнате https://matrix.to/#/#aircontrol:gazizova.net

aircontrol's People

Contributors

softace42 avatar f1egmatik avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.