Перейти до публікації
Пошук в
  • Додатково...
Шукати результати, які містять...
Шукати результати в...

Автоматизація системи вентиляції, ESPHome, Home Assistant

TaurosRMK

Рекомендовані повідомлення

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

Реалізація всього цього на есп не реалістична, як мінімум тому що ви захоче е в петлю в процесі. Такі алгортми на нізькоровневій мові з урахуванням невеликих ресурсів заліза, наявності величезної кількості нюансів про які ви дізнаєтесь в процесі, потребують ресурсів команди з досвідом і півсотні версій.

Якщо прям хочется ото все багацтво - робіть максимально- простий функціонал на есп (фактично завертання датчиків/реле в mqtt) і пишіть всю бізнес-логіку засобами ha/openhab/nodered, там є розвинені мови, багаті можливості, бібліотеки і тп. Ви вже на етапі роботи з таймерами "офігеєте" )

 

  • Хаха 1
Посилання на коментар
Поділитися на інших сайтах

4 минуты назад, TaurosRMK сказал:

Вже все є готове і працює

Та покажіть вже нарешті, код в гітхабі там. Мені правда цікаво як в вас то вийшло. Що саме у вас вже є? 

Посилання на коментар
Поділитися на інших сайтах

5 хвилин тому, standov сказав:

"всі умови" "певні умови" - це не схоже на оформлену ідею

Так а що зміниться, якщо я розпишу конкретніше? То ще більше тексту буде, бо тоді будуть реальні дані і фактично це вже буде частина автоматизації тільки написана словами ))

Наприклад:

  • Натиснута кнопка "Старт", команда на запуск вентиляції, спочатку треба відкрити заслінки, вони привязані до вентиляторів (на одному реле), тобто подаєтсья команда на ПЛК DO1 / DO2 для подачі живлення на вентилятори і заслінки, але оберти вентиляторів поки на нулі, час відкриття заслінки 75 сек, після чого можна запускати вентилятори.
  • Перевірка вуличної температури, якщо це зимовий період (наприклад Т < 15°C), то можливо є сенс спочатку запустити витяжний вентилятор на більші оберти, щоб прогріти трохи рекуператор. Це може бути як по часу так і по даних з датчиків, після цього можна запускати приточний вентилятор. Знову перевірка температури, якщо Т < 3°C, потрібно включати нагрів, але він включиться тільки при умові що оберти приточно вентилятора більше ***. Якщо це літній період (Т > 15°C), то вентилятори стартують одночасно і нагрівачі не потрібні.
  • Запустилися обидва вентилятори, нагрівач, все наче працює, допустимо пройшов деякий час і по датчику температури повітря з вулиці має підтримуватися на позначці не менше +3°C, а температура впала нижче і так триває вже 60-120 сек (налаштовується), а при тому під регулятор наче дає команду на нагрів. Значить щось не то, є ризик обмерзання рекуператора, треба фіксувати аварію і повідомити про це, шлемо mms на нокію і вимикаємо вентиляцію.
  • Буває так що уставку +3°C інколи можна понизити, в залежності від показників інших датчиків. Це також треба вміти робити автоматично.
  • Дальше може бути ситуація з обмерзанням рекуператора, коли температура витяжки після рекуператції падає нижче +5С. В такому випадку потрібно за цим слідкувати, трохи збільшувати нагрів або оберти витяжного вентилятора, щоб краще прогрівався рекуператор.
  • Ті ж фільтри, для початку фіксувати час напрацювання і дивитися чи не спрацював пресостат на фільтрах. Якщо вийшов термін роботи фільтрів (налаштовується), то нагадати про це, якщо термін перевищив уставку наприклад на 5-10 днів, то нагадати ще раз, можливо зафіксувати аварію, бо фільтр вже потребує заміни і може бути дизбаланс потоків, що погано відобразиться на рекуперації.
  • Натискаємо кнопку "Стоп", перевіряємо чи працюють в цей момент нагрівачі. Якщо так, то ще можна перевірити на яку потужність, якщо там дуже мало, то можна вентилятори вимикати зразу, думаю нічого страшного не станеться від 50-100 Вт потужності без обдуву. А якщо гріють на 1-1.2 кВт, то спочатку вимикаємо нагрівачі, потім даємо приточному вентилятору покрутитися ще деякий час 1-3 хв, щоб обдути ТЕНи, або просто по датчиках слідкувати, якщо температура починає знижуватися, то можна вимикати вентилятор.

І це мабудь лише частина з того що задумано. Хоча дещо може не буде реалізовано так як описано, дещо може відпаде, але в цілому логіка така що просто робляться налаштування, якісь уставки і воно все працює на автоматі. Розумію що для новачка то може не просто, але попробувати треба 🤣 Частково такий функціонал був записаний на старій системі в тому "нерозумному" ПЛК, але то скучно робити програму на FBD і тоді було менше датчків і обладнання інше.

10 хвилин тому, standov сказав:

максимально- простий функціонал на есп (фактично завертання датчиків/реле в mqtt) і пишіть всю бізнес-логіку засобами ha/openhab/nodered

Так саме про це і запитав сьогодні в першому повідомленні )) Спочатку думав все писати в код ESP, але якось є сумніви що все вийде, тому і питав. Бо може може краще не пхати все в ESP, а вибрати щось інше.

9 хвилин тому, standov сказав:

Та покажіть вже нарешті, код в гітхабі там. Мені правда цікаво як в вас то вийшло. Що саме у вас вже є? 

А що там показувати? Стандартний код ESPHome, фактично зчитування регістрів Modbus з "нерозумного" ПЛК/реле і посилання команд на нього і на контролер обертів вентилятора. І це все закинуто в НА, на тому й все.

Вибачте, я не програміст, мене не є на гітхабі, я з тим не знайомий )) Кусок кину тут, там на 700+ рядків, буде забагато, але плюс мінус то все однотипне. На даний момент в ручному режимі можна робити практично все - вкл/викл вентилятори, разом з ними заслінки, змінювати оберти, вкл/викл нагрівачі, вкл/викл всі релешки на ПЛК, моніторити всі датчики. Але це просто ручний режим, хоча що потрібно в літній період, запустив вентилятори і хай працюють 24/7. На зиму так не прокатить вже.

Прихований текст
# Fan
# ==================================
fan:
  # Supply Fan
  - platform: speed
    output: vo1_output
    id: supply_fan
    name: "Fan Supply"
    restore_mode: ALWAYS_ON
    speed_count: 100
    on_turn_off:
      then:
        - climate.control:
            id: pid_preheater
            mode: "OFF"
        - climate.control:
            id: pid_postheater
            mode: "OFF"
        - delay: 2000ms
        - switch.turn_off: heater1_relay
        - switch.turn_off: heater2_relay
    on_turn_on:
      then:
        - delay: 2000ms
        - switch.turn_on: heater1_relay
        - switch.turn_on: heater2_relay
        - delay: 60000ms
        - climate.control:
            id: pid_preheater
            mode: "HEAT"
        - climate.control:
            id: pid_postheater
            mode: "HEAT"

  # Exhaust Fan
  - platform: speed
    output: vo2_output
    id: exhaust_fan
    name: "Fan Exhaust"
    restore_mode: ALWAYS_ON
    speed_count: 100
# SWITCH
# ==================================
switch:

  - platform: template
    name: "MVHR_ON-OFF"
    id: mvhr_onoff
    lambda: |-
      if (id(supply_fan).state || id(exhaust_fan).state) {
        return true;
      } else {
        return false;
      }
    turn_on_action:
      - fan.turn_on: supply_fan
      - fan.turn_on: exhaust_fan
    turn_off_action:
      - fan.turn_off: supply_fan
      - fan.turn_off: exhaust_fan

  # MVHR ON/OFF
  - platform: modbus_controller
    modbus_controller_id: rs485_pr100
    name: "ON/OFF"
    id: mvhr_on_off
    icon: mdi:power
    register_type: coil
    address: 8320

  # Digital Outputs
  # DO1 - Supply Fan
  - platform: modbus_controller
    modbus_controller_id: rs485_pr100
    name: "PR200 DO1"
    id: do_1
    icon: mdi:electric-switch
    register_type: coil
    address: 8352

  # DO2 - Exhaust Fan
  - platform: modbus_controller
    modbus_controller_id: rs485_pr100
    name: "PR200 DO2"
    id: do_2
    icon: mdi:electric-switch
    register_type: coil
    address: 8353

  # DO3 - Lamp Blue
  - platform: modbus_controller
    modbus_controller_id: rs485_pr100
    name: "PR200 DO3"
    id: do_3
    icon: mdi:electric-switch
    register_type: coil
    address: 8354

  # DO4 - Lamp Red
  - platform: modbus_controller
    modbus_controller_id: rs485_pr100
    name: "PR200 DO4"
    id: do_4
    icon: mdi:electric-switch
    register_type: coil
    address: 8355
climate:

  # PreHeater
  - platform: pid
    name: "pid_preheater"
    id: pid_preheater
    sensor: temp_oda
    default_target_temperature: 3.5°C
    heat_output: preheater_power
    visual:
      min_temperature: 0
      max_temperature: 10
      temperature_step: 0.1
    control_parameters: 
      kp: 0.36587
      ki: 0.00283
      kd: 11.81758
    deadband_parameters: 
      threshold_high: 0.25°C
      threshold_low: -0.25°C

  # PostHeater
  - platform: pid
    name: "pid_postheater"
    id: pid_postheater
    sensor: ds18b20_postheater
    default_target_temperature: 20°C
    heat_output: postheater_power
    visual:
      min_temperature: 12
      max_temperature: 30
      temperature_step: 0.1
    control_parameters: 
      kp: 0.33825 # 0.23506 / 0.35950 / 0.38197 / 0.42882 / 0.31878
      ki: 0.00282 # 0.00163 / 0.00324 / 0.00479 / 0.00282 / 0.00188
      kd: 11.17415 # 8.46213 / 9.97621 / 7.61215 / 16.29531 / 13.54810
    deadband_parameters: 
      threshold_high: 0.3°C
      threshold_low: -0.3°C
Прихований текст

І це все просто в НА в якості сенсорів, свічів і тд.

image.thumb.png.720eed70e88830b5ac705ffa2ca22cd9.pngimage.thumb.png.9562afbc945fbb69c21bbaa9c41ae579.png

 

Посилання на коментар
Поділитися на інших сайтах

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

  • Лайк 1
Посилання на коментар
Поділитися на інших сайтах

16 хвилин тому, standov сказав:

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

Так я наче це і писав, що ніякої автоматизації немає, все в ручному режимі )) ну крім того що в НА зробив переключення режимів вентиляторів по графіку 😂

Посилання на коментар
Поділитися на інших сайтах

Шось я перестав все розуміти. То ви пишете полотно на 10500 пунктів з автоматизацією і кажете що вже майже готово, то пишете що автоматизації нема. В общем нічо не понятно, але вам удачі і натхнення, знадобиться ) 

  • Хаха 1
Посилання на коментар
Поділитися на інших сайтах

7 годин тому, standov сказав:

То ви пишете полотно на 10500 пунктів з автоматизацією і кажете що вже майже готово, то пишете що автоматизації нема.

Покажіть де я писав що в мене готова автоматизація, бо я щось тоже перестав розуміти )))

Здається декілька разів згадував що все працює в ручному режимі і тільки, а тепер це все треба автоматизувати, для чого і створена тема 😁

15 годин тому, TaurosRMK сказав:

На даний момент в ручному режимі можна робити практично все - вкл/викл вентилятори, разом з ними заслінки, змінювати оберти, вкл/викл нагрівачі, вкл/викл всі релешки на ПЛК, моніторити всі датчики. Але це просто ручний режим

19 годин тому, TaurosRMK сказав:

Зараз воно все працює вже декілька місяців, але фактично в ручному режимі і без будь якої логіки, тобто запустив і на тому все, ну окрім ПІД регуляторів, які недавно додав, бо вже була потреба в нагрівачі.

Грубо кажучи зараз все на такому етапі, що все окремо працює і моніториться, але між собою ніяк не зв'язано. Для прикладу в хаті в кожній кімнаті є датчики руху і розумні світильники, і вони працюють, фіксують рухи, але освітлення ніяк не автоматизовано, треба вручну вкл/викл. Так само в мене і з вентиляцією 😄

Змінено користувачем TaurosRMK
Посилання на коментар
Поділитися на інших сайтах

В 03.10.2024 в 02:51, TaurosRMK сказал:

І за допомогою ESP32 і невеликої плати для зв'язку по RS485 той "нерозумний" контролер став розумним і всі дані були показані в НА, звідти і відбувалося керування вентиляцією. На той момент система вентиляції була трохи іншою, з іншим обладнанням, а з початку 2024-го була перероблена, замінено багато обладнання, додано нове. Також зміни потерпів щит керування вентиляцією, "нерозумний" контролер залишився в якості модуля аналогових/дискретних входів/виходів, а вся робота покладена на контролер на базі ESP32 - Kincony A2, який без проблем інтегрувався в НА через ESPHome і керує всіма пристроями.

вибачте, я мабуть не вірно інтерпретував оце ) тобто контролер не став розумним, і керує не він а ви ) ну окей, значить нічого немає ще. Зрозумів

  • Лайк 1
Посилання на коментар
Поділитися на інших сайтах

3 хвилини тому, standov сказав:

вибачте, я мабуть не вірно інтерпретував оце ) тобто контролер не став розумним, і керує не він а ви ) ну окей, значить нічого немає ще. Зрозумів

"Розумний" я мав на увазі що інтегрований і повністю керуєтсья через НА 😀 Бо до того ніякого зв'язку з реальністю він не мав, працював сам по собі.

Посилання на коментар
Поділитися на інших сайтах

2 часа назад, TaurosRMK сказал:

а тепер це все треба автоматизувати

ну stm32 в помощь ) подобрать по кол входов выходов и с++ реализует все невозможные хотелки. и выкинуть тот овен. это просто совет, чтоб потом опять не пришлось переделывать через время. 

Посилання на коментар
Поділитися на інших сайтах

12 годин тому, TaurosRMK сказав:

Варіанти хоть запропонуйте ))

Та там вже на кроку обрати стм з вайфаем чи езернетом виникнуть складності. STM32 у кращому випадку має езернет (ну там ще додатково LAN8720 треба, але у есп езернет такий самий). І готових плат на али з стм та хочаб езернетом я не бачив (ну дев боарди за велики грощі не рахуємо).

Хоча в принципі езернет на STM32 працює:

1000000536.thumb.jpg.db2d49cdb2bceb0296c8e9dd9c0a67a5.jpg

  • Хаха 1
Посилання на коментар
Поділитися на інших сайтах

17 часов назад, TaurosRMK сказал:

Варіанти хоть запропонуйте ))

находите в ютуб уроки понравившиеся и покупаете как в уроках для ознакомления. а дальше хоть с сенсорными панелями. 

 

Посилання на коментар
Поділитися на інших сайтах

3 години тому, smartdom сказав:

покупаете как в уроках для ознакомления. а дальше хоть с сенсорными панелями.

А щось готове, ну там аналогові/дискретні входи/виходи, в корпусі на дін рейку, поставив, дроти підключив і готово? Якщо це конструктор, то трохи не підходить, бо знову треба щось нове вивчати і тд. Цікавлять саме готові рішення, без необхідності щось крутити і паяти.

Посилання на коментар
Поділитися на інших сайтах

2 часа назад, TaurosRMK сказал:

А щось готове, ну там аналогові/дискретні входи/виходи, в корпусі на дін рейку, поставив, дроти підключив і готово? Якщо це конструктор, то трохи не підходить, бо знову треба щось нове вивчати і тд. Цікавлять саме готові рішення, без необхідності щось крутити і паяти.

я не встречал. это как ардуины, только проф. 

Посилання на коментар
Поділитися на інших сайтах

Створіть акаунт або увійдіть у нього для коментування

Ви маєте бути користувачем, щоб залишити коментар

Створити акаунт

Зареєструйтеся для отримання акаунта. Це просто!

Зареєструвати акаунт

Увійти

Вже зареєстровані? Увійдіть тут.

Увійти зараз
×
×
  • Створити...