Статья

Умный вентилятор на EspHome

Введение

Несколько лет назад, когда я начал делать свой умный дом, то как-то летом достал из кладовки старый напольный вентилятор, почесал в затылке, прикрутил к нему Sonoff и несколько лет был более, чем доволен.

Потом у вентилятора переклинило мотор, был куплен новый и Сонофф переполз на него. Опять-же - тупо в разрыв питания.

А потом попался ролик с демонстрацией того, как с соноффом и дополнительным релейным модулем можно регулировать его скорость!!!

В итоге был куплен такой модуль на два реле и... Немного переработалась схема!

Демо, с которого все началось

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

undefined

Принцип работы трехскоростных вентиляторов

Всё до идиотизма просто: в моторе вместо одной обмотки, сделаны три разных, с разными параметрами. Подаем питание на первую - первая скорость, отключаем питание и подаем на вторую - вторая...

Механические кнопки на нем - тупо переключают подачу на разные обмотки, "выбивая" при нажатии ранее вжатую кнопку и размыкая ее контакты.

Всё, что нам надо сделать - электронно повторить этот принцип!

Отличия

Автор того видео поступил "тупо": три реле, три обмотки. Фаза подается на входы каждого из реле, выходы - на соответствующие обмотки. Нужно первую скорость - замкнули первое реле, отключили второе и третье, нужно третью - включили третье, отключили 1 и 2...

Минус - если случайно включить несколько обмоток сразу, то можно призвать "волшебный дым". Поэтому он сначала отключает ненужные, потом включает нужную обмотку, да еще и поставил на выходы "Интерлок" - это когда только один из группы может быть включен. В итоге вроде как защита от одновременного включения и есть, но.... Второй его "не то, чтобы косяк", это "не люблю движковый регулятор" - в итоге он сделал три "разных" вентилятора для системы, под каждую скорость свой... Ну, хозяин-барин, но если в ЕспХоум и HASSio есть вентилятор с регулировкой скорости - зачем нам проблемы лишние?!

Так что в моём варианте:

  • Sonoff своим реле включает-выключает вентилятор, а модуль реле - переключает скорости.
  • В системе он виден как трехскоростной вентилятор и Яндекс Алиса это вполне понимает.

Схематика

Подключение

Силовая часть:

Провода от вилки - заводим в СонОфф.Выход соноффа земля - на "общий" к вентилятору.Первую скорость в "нормально замкнуто" первого реле.Вторую - в нормально замкнуто второго.Третью - в нормально разомкнуто второго.Выход фазы от Соноффа - на среднюю клемму первого реле.Выход нормально разомкнуто первого реле на центральную второго.
undefined

Логическая часть:

  • 3V3 -> VCC
  • RX -> IN2
  • TX -> IN1
  • GND -> GND

Тут все просто: я их шлейфом прокинул просто параллельно.

На реле хоть и написано, что от 5 вольт, но по факту - 3.3 ему за глаза хватает. Если нет - снимаем перемычку JD-VCC и на Соноффе снизу ищем выход пятивольтового стабилизатора... К нему припаиваемся и подаем с него на пин JD-VCC питание конкретно для реле.

Прошивка

Как залить прошивку - надеюсь объяснять не надо?

esphome: name: vent_balkon platform: ESP8266 board: esp01_1m board_flash_mode: dout wifi: ssid: 'стандартно' password: 'заполняете своими' # Логгер переключаем на UART1, т.к. на стандартном у нас реле logger: hardware_uart: UART1 # Параметры для API HASSio api: password: "сами напишите" reboot_timeout: 0s ota: password: 'аналогично' output: # Реле Соноффа - platform: gpio pin: GPIO12 id: relay # Два дополнительных - platform: gpio pin: GPIO1 inverted: true id: speed1 - platform: gpio pin: GPIO3 inverted: true id: speed2 # "Виртуальный" выход для регулировки скорости - platform: template type: float id: dummy_fan # Собственно логика при переключении скоростей. write_action: # Стандартно идет off при 0 - if: condition: lambda: return (state <.2); then: - output.turn_off: relay - output.turn_off: speed1 - output.turn_off: speed2 # low при 0.33 - if: condition: lambda: return ((state >=.2) && (state <.4)); then: - output.turn_on: relay - output.turn_off: speed1 - output.turn_off: speed2 # Medium при 0.66 - if: condition: lambda: return ((state >=.4) && (state <.7)); then: - output.turn_on: relay - output.turn_on: speed1 - output.turn_off: speed2 # И High при 1 - if: condition: lambda: return (state >= 0.7); then: - output.turn_on: relay - output.turn_on: speed1 - output.turn_on: speed2 status_led: id: light_module_status pin: number: GPIO13 # Ну и цепляем его как выход для вентилятора! fan: - platform: speed output: dummy_fan id: fan_1 name: "Balkon Fan"

Заключение

Проверяем, добавляем в ХАССио, тестируем, собираем. Синхронизируем в Яндекс Алису.

Помимо стандартного "включи-выключи" в Алисе добавляется:

  • включи (поставь) предыдущую-следующую скорость;
  • включи низкую-среднюю-высокую скорость.

Вот как-то так...

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


Первым делом хочу поблагодарить автора. 

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

Сделано на основе ESP32WROOM и 4-х канального реле. В код прошивки добавлен еще один вывод на реле для освещения и бинарники с автоматизациями.


Бинарники отрабатывают входы от родных кнопок вытяжки. В результате есть удаленное управление и обратная связь, а в связке с НА отрабатывается автоматическое включение и выключение вытяжки по датчику температуры. Весь код писать смысла, наверное, нет. Приведу только бинарники и свет.

https://yadi.sk/d/qzAYNB7I6L2gHQ">https://yadi.sk/d/qzAYNB7I6L2g...

Отличная штука, а как подключали? Это же можно ещё повесить датчик температуры и влажности и она вообще сама будет включаться



Вот так. Рисовал для себя, поэтому не судите строго )

Сейчас логика построена по https://pikabu.ru/story/umnyiy_dom_v_kotorom_ya_zhivu_dobavim_vyityazhke_mozgov_7580995">этой статье и обрабатывается в НА. 

Но хотелось бы... и ждет своего часа автономное решение на двух датчиках Далласа. Но не хватает в ESPHome компонента аналогичного https://www.home-assistant.io/integrations/derivative/">derivative platform для датчика температуры.

https://sprut.ai/static/media/cache/00/42/33/5/4767601/69107/1000x_image.png?1603715464" alt="1000x_image.png?1603715464" />

Добрый день, уже два года юзаю следующую схему:

блок питания 12 вольт 5А

1 вентилятор 12 вольт 6500 об/мин

есп 8266 с прошивкой блинк

скорость вентилятора регулируется при помощи шим сигнала при подачи питания автоматом стоит 10% скорости , если охото покурить и тд ставлю 100% высасывает так что дверь прижимается, недавно установил НА (если быть точным три дня до этого мажордом месяц) собственно вопрос: может есть у кого прошивка на есп для регулировки вентилятором на шим выходу и передачу данных по mqtt

хочу отказаться от блинка и работать напрямую


Вернуться назад

Устройства


Вернуться назад