"умный" бойлер

Тема в разделе "Глядите, что я сделал", создана пользователем IvanUA, 26 апр 2020.

  1. IvanUA

    IvanUA Гуру

    Данный код написан в приложении Arduino IDE для платы ESP8266.
    Настройку и управление устройством возможно производить или через WEB интерфейс,
    [​IMG][​IMG]
    или через Android приложение https://play.google.com/store/apps/details?id=com.vz.kitchen
    [​IMG][​IMG]
    При первом включении устройство создает свою собственную точку доступа для настроки подключения к существующей WiFi сети.
    Минимально воможно использовать устройство как модуль управления бойлером по времени.
    Вы можете выставить до 5 временных интервалов для установки заданной температуры нагрева воды.
    Для этого будет достаточно использовать сам модуль ESP8266 (ESP12, NodeMCU и прочие) + часовой модуль (DS1307-DS3231) + модуль реле + термодатчик DS18B20
    Схема проста как и в любом ардуино проекте
    [​IMG][​IMG]

    По I2C можно подключить экран LCD 1602. На нем будет отображаться текущее время, порог нагрева бойлера, до какого времени действует этот временной интервал и температуру бойлера и уличного датчика.
    При подключении еще одного DS18B20 можно контролировать температуру за окном.
    Так же можно подключить реле, которое будет управлять кухонной вытяжкой + датчик DS18B20 возле вытяжки.
    При необходимости можно подключить любой датчик газа, и по его срабатыванию получать уведомления, или на внутренний динамик устройства, или на другие устройства подключенные по MQTT протоколу.

    Так же возможно использовать устройство просто как датчик уличной (любой) тепмературы.
    Или к примеру управлять только вытяжкой.

    Подключать дополнительные модули можно согласно описания ниже
    /***********************************************************************
    - I2C device found at address 0x3F ! - Экран
    - I2C device found at address 0x68 ! - RTC модуль
    - buzzerPin - D0 GPIO 16 динамик
    - I2C (SCL) - D1 GPIO 05 шина экрана и часового модуля
    - I2C (SDA) - D2 GPIO 04 шина экрана и часового модуля
    - DS18B20 - D3 GPIO 00 (t- бойлера, t- кухни, t- другие
    - ledConnectedWifi - D4 GPIO 02 выход на LED индикатор подключения к WiFi B-LED
    - releFan - D5 GPIO 14 выход на реле вытяжки
    - buttonWarmingUp - D6 GPIO 12 вход кнопки подогрева бойлера
    - ledWarmingUp - D7 GPIO 13 выход на LED индикатор ручного подогрева (синий)BLUE
    - releBoiler - D8 GPIO 15 выход на реле бойлера (красный светодиод)RED
    - - D9 GPIO 03/
    - - D10 GPIO 01
    - // - D11 GPIO 09
    - // - D12 GPIO 10
    - sensorGas - A0 ADCO вход от датчика газа или любого другого датчика
    - ************************************************************************/

    Кому интересно, прошивку можно скачать с гитхаба
     
    Последнее редактирование: 27 апр 2020
    tosat, ИгорьК, max50a5 и 5 другим нравится это.
  2. Deniskyn

    Deniskyn Гик

    Т.е. как термостат мы пока не умеем?
    ПС.
    Да и 10А реле маловато.....
     
  3. IvanUA

    IvanUA Гуру

    Ну почему же не умеем))) Выставь одну температуру во всех интервалах и будет он держать эту температуру с гистерезисом в 2 градуса постоянно))) А контролировать можно хоть через индикатор, хоть через веб или приложение, или вообще через MQTT откуда угодно)))
    У меня сейчас бойлер с электронным управлением, так что я "перехватил" только управление встроенного реле, а так да, можно поставить хоть твердотельное реле под любые нагрузки (стартер автомобиля))))).
     
    Deniskyn и ИгорьК нравится это.
  4. IvanUA

    IvanUA Гуру

    Вообще целью данного проекта изначально была простая экономия средств на подогреве воды. Ввиду того что цена электроэнергии с 23 часов до 7 утра в 2 раза дешевле (для двухзонных счетчиков), то основной подогрев воды осуществляется ночью. Утром когда все просыпаются и начинают активно использовать горячую воду, я уже имею 80 литров воды нагретую до 60 градусов. Для семьи из 5 человек - этого достаточно. Днем поддерживаю температуру в районе 40 градусов, хотя и это много. По подсчетам первого полугодия использования, экономия составила порядка 20-25% от предыдущих аналогичных периодов. Это устройство у меня в эксплуатации с 2017 года. Так же бывают моменты когда мы возвращаемся домой к примеру из какой то поездки и надо больше горячей воды, то через MQTT - я включаю дистанционно ручной догрев воды. То есть будет греть до этой температуры, потом перейдет в обычный режим. У меня температура догрева установлена на 50 градусов.
     
    Последнее редактирование: 30 апр 2020
    Deniskyn и ИгорьК нравится это.
  5. Deniskyn

    Deniskyn Гик

    Тогда нужно приладить мелкий олэд дисплейчик для красоты =)))) и уведомления о ЧТ, типа перегрев или протечка....
     
    IvanUA нравится это.
  6. IvanUA

    IvanUA Гуру

    [​IMG][​IMG]
    Так и есть. И уведомления идут на экран, пикают, и идут по MQTT на все подписанные устройства)))
     
    Последнее редактирование: 3 май 2020
    ИгорьК и Deniskyn нравится это.
  7. Deniskyn

    Deniskyn Гик

    Ну 16х2 класика, но громоздко как то.... олед 0.9" самое оно ИМХО
    ПС
    Покажи схему железок.
     
  8. IvanUA

    IvanUA Гуру

    Денис, если тебе надо будет, сделаю под олед))) Если что пиши в личку))
    Ну как бы схемы как таковой то и нет. Есть NodeMCU и к портам цепляешься.
    //************************************************************
    - buzzerPin - D0 GPIO 16 динамик

    - I2C (SCL) - D1 GPIO 05 шина экрана и часового модуля
    - I2C (SDA) - D2 GPIO 04 шина экрана и часового модуля

    - DS18B20 - D3 GPIO 00 (t- бойлера, t- кухни, t- другие

    - ledConnectedWifi - D4 GPIO 02 выход на LED индикатор подключения к WiFi B-LED

    - releFan - D5 GPIO 14 выход на реле вытяжки

    - buttonWarmingUp - D6 GPIO 12 вход кнопки подогрева бойлера

    - ledWarmingUp - D7 GPIO 13 выход на LED индикатор ручного подогрева (синий)BLUE

    - releBoiler - D8 GPIO 15 выход на реле бойлера (красный светодиод)RED

    - sensorGas - A0 ADCO вход от датчика газа или любого другого датчика