ICAura: локальна, безкоштовна система моніторингу та керування інверторами

Версія 2.2.3 Виправлено Графік відключень - зміна джерел отримання інформації
 
ESP32-S2 Mini 4MB - така, мабуть теж не підійде, хоча і ESP32
В теорії може потягнути, але
1. Треба робити окрему прошивку, бо тут немає Serial2 на d16 d17 пінах. Треба робити софтовий
2. Малувато SRAM . 320 проти 520.

Беріть класичну ESP32 WROOM 32.
Або шукайте версію ESP 32 у якої є Serial2 RX=GPIO16 і TX=GPIO17
 
Останнє редагування:
Віртуальна BMS в ICAura доступно в версії 2.3.0

Опис


Віртуальна BMS замінює відсутній зв'язок з BMS лічильником «спожито» (Ач), який ESP32 сам рахує зі струму батареї, та вирішує наступні недоліки заряду АКБ та логіки роботи інвертора:

  1. При наявності зв'язку Інвертор ↔ BMS АКБ заряджається до заданої в BMS напруги, після чого заряд вимикається. В результаті АКБ не має повного заряду, її тільки довели до напруги повного заряду.
  2. При наявності зв'язку Інвертор ↔ BMS АКБ майже не балансує комірки. Залежить від налаштувань BMS, а саме напруги початку балансування. При низькому порозі балансування майже втрачає сенс. При високому не вистачає часу, бо заряд відключається відразу після досягнення заданої напруги.
  3. При відсутності зв'язку Інвертор ↔ BMS після повного заряду (напруга досягла значення bulk) інвертор весь час тримає напругу на рівні float. Це негативно впливає на ресурс АКБ, тримає модуль заряду інвертора весь час в роботі, нагріває елементну базу та знижує ресурс інвертора.
  4. Режими пріоритету інвертора: PGB (сонце → мережа → батарея) і GPB (мережа → сонце → батарея). В режимі PGB відбувається розподіл генерації між навантаженням та зарядом АКБ. При низькій генерації АКБ майже не заряджається. В режимі GPB заряд АКБ іде від мережі та сонця, але після повного заряду енергія сонця не використовується, все береться з мережі, і ми втрачаємо енергію сонця.

Всі вищевказані проблеми вирішує Віртуальна BMS ICAura.

ЗВЕРНІТЬ УВАГУ - Віртуальна BMS працює тільки при відсутності CAN зєднання з АКБ!


1. Режими роботи

Режим визначається за регістрами інвертора. Окремо нічого не зберігається, тому після перезапуску режим береться з інвертора.

  • ПОВНА — bulk = знижений (24,6 В), float = bulk знижений − 0,1 В
  • ЗАРЯД — все інше: уставки bulk та float
  • ПРИМУСОВИЙ — прапорець після натискання кнопки «Зарядити до 100 %»

2. Перехід «повна» → знижені уставки

Спершу знижується float, після паузи 5 с — bulk. Якщо увімкнено перемикання пріоритету і є мережа (> 100 В), додається запис пріоритету «для повної». Лічильник «спожито» стає 0 і вважається достовірним, примусовий режим завершується.

3. Повернення нормальних уставок (режим ПОВНА)

  • У штатній роботі: «спожито» ≥ X Ач (або Y % ємності) безперервно 2 хв.
  • Лише після перезапуску ESP (поки не було нової «повної»): SOC інвертора < 80 % безперервно 2 хв. Це запобіжник, бо лічильник після рестарту починається з 0.
  • Запис: спершу bulk нормальний, потім float, плюс пріоритет «для заряду» (якщо увімкнено і є мережа).

4. Кнопка «Зарядити до 100 %»

Кнопка пише нормальні уставки (і пріоритет «для заряду») і вмикає примусовий режим. Автоматика не знижує уставки, доки не настане «повна». Тоді режим закінчується сам.

  • Максимум 24 год.
  • Кнопка обходить добовий ліміт змін.
  • «Скасувати» лише знімає прапорець, у інверторі нічого не змінює.

5. Пріоритет виходу (якщо увімкнено)

Регулювання діє окремо від переходів: не частіше ніж раз на 10 хв перевіряється, чи пріоритет відповідає режиму. ПОВНА → пріоритет «для повної» (за замовчуванням PGB), інакше «для заряду» (GPB). Працює лише коли є мережа.

6. Запис в інвертор і помилки

Записи йдуть в EEPROM інвертора, тому їх обмежено.

  • Черга до 3 записів, по одному, лише реальні зміни, пауза 5 с.
  • До 10 автоматичних змін уставок на добу. Після ліміту автоматика чекає (повтор за 30 хв), кнопка ліміт обходить.
  • Помилка запису: повідомлення в картці, повтор через 2 хв, до 5 спроб, потім пауза.
  • Поки записи не виконано, решта логіки хвилину пропускається.
  • Під час патча і оновлення прошивки записи призупиняються.

7. Відображення і MQTT

Картка у вкладці «Патчі» показує режим, «спожито/поріг», SOC ≈ 100 % − спожито/ємність (лише у ПОВНА), кількість змін за добу, останню дію і помилку.

MQTT: поля vbms_mode, vbms_ah, vbms_soc у <топік>/state і команда <топік>/set/vbms_force (1/0).

Налаштування за замовчуванням

  • Функціонал і перемикання пріоритету: вимкнено.
  • bulk нормальний 27,6 В, знижений 24,6 В; float = bulk − 0,1 В.
  • Ємність 314 Ач, поріг повернення 7 Ач (або у % ємності), поріг SOC-запобіжника 80 %.
  • Пріоритет для повної: PGB, для заряду: GPB.
 
Останнє редагування:
В теорії може потягнути, але
1. Треба робити окрему прошивку, бо тут немає Serial2 на d16 d17 пінах. Треба робити софтовий
2. Малувато SRAM . 320 проти 520.

Беріть класичну ESP32 WROOM 32.
Або шукайте версію ESP 32 у якої є Serial2 RX=GPIO16 і TX=GPIO17
Дякую за відповідь. Буду замовляти на Алі. Нічого не подієш. Це 3 тижні очікування.
 
  1. При наявності зв'язку Інвертор ↔ BMS АКБ заряджається до заданої в BMS напруги, після чого заряд вимикається. В результаті АКБ не має повного заряду, її тільки довели до напруги повного заряду.
  2. При наявності зв'язку Інвертор ↔ BMS АКБ майже не балансує комірки. Залежить від налаштувань BMS, а саме напруги початку балансування. При низькому порозі балансування майже втрачає сенс. При високому не вистачає часу, бо заряд відключається відразу після досягнення заданої напруги.
Перепрошую, але ці два пункти описують ситуацію не "взагалі", а лише окремий випадок. Якщо БМС має активне налаштування RCV time - то вона віддасть інвертору SOC=100% лише по завершенню роботи цього таймера, а не по досягненню напруги BULK. Тобто і повний заряд, і балансування виконуватимуться.
Ну і ще - ця ситуація дуже схожа на роботу БМС в зв'язці з Anern FGI. А той же Anenji в п.1. заряд не вимкне, а буде підтримувати напругу на батареї на рівні Bulk.
Це з власного досвіду. Маю обидва інвертори і обидва типи БМС (з флоатінгом і без).
 
Останнє редагування:
Перепрошую, але ці два пункти описують ситуацію не "взагалі", а лише окремий випадок. Якщо БМС має активне налаштування RCV time - то вона віддасть інвертору SOC=100% лише по завершенню роботи цього таймера, а не по досягненню напруги BULK. Тобто і повний заряд, і балансування виконуватимуться.
Якщо є можливість пришліть будь ласка графік напруги АКБ + напруга балансування. Буду вдячний.
Ну і ще - ця ситуація дуже схожа на роботу БМС в зв'язці з Anern FGI. А той же Anenji в п.1. заряд не вимкне, а буде підтримувати напругу на батареї на рівні Bulk.
ICAura не працює з Anenji тому нічого сказати не можу. Клони JDSolar які підтримує ICAura, якщо патч включено, доведуть до ПОВНОГО ЗАРЯДУ, дочекаються закінчення балансування, не по таймеру, а саме буде чекати поки комірки відбалансуються, після чого понизять bulk та float = вимкнуть заряд.
 
Останнє редагування:
Якщо є можливість пришліть будь ласка графік напруги АКБ + напруга балансування. Буду вдячний.
Зроблю обов'язково, але не обіцяю - що швидко. Або коли буде багато сонця, або воно взагалі зникне, щоб по нічному зарядився до 100%
ICAura не працює з Anenji тому нічого сказати не можу. Клони JDSolar які підтримує ICAura, якщо патч включено, доведуть до ПОВНОГО ЗАРЯДУ, дочекаються закінчення балансування, не по таймеру, а саме буде чекати поки комірки відбалансуються, після чого понизять bulk та float = вимкнуть заряд.
Я просто "для довідки" описав алгоритм роботи Anenji з БМС двох типів. Коли його замінив на S5000 - то був неприємно здивований, що логіка останнього під час керуванням зарядом радикально відрізняється від Аненжівської і опирається на значення SOC, отримане з БМС.
 
Назад
Угорі