Комунікація інвертора Anenji 6.2kw і батареї Dyness B4850

будуть заважати.
ну і архітектрурно - краще зразу робити на esp32/stm32 з wifi
тоді можна буде обійтися в 1 модулі і отримання даних і їх обробка
arduino все ж лише для отримання інформації.
Ну і проблеми росту потім не вирішете - я вже на ті граблі наступав))
дякую за поради, але у мене інша думка на цей рахунок
можна і на Raspberry PI написати (заради росту), але, якщо сама звичайна ардуінка справляеться без проблем то ... як на мене, це майже як лупити з гармати по горобцям, а потім думати для чого там ще й вайфай. Треба розуміти, що у цого проекту дуже вузька спеціалізація, а саме - для конкретної моделі батарей (Dyness b4850), а можливо і для конретних китайських інверторів. І знадобився він тільки тому що Dyness у своїх продуктах реалізував стару версію протоколу PILON і якщо вони, наприклад, в нових акумах реалізують новий, то цей адаптер буде зовсім непотрібний. Так що, це такий собі проект "вихідного дня" і не більше.
 
дякую за поради, але у мене інша думка на цей рахунок
можна і на Raspberry PI написати (заради росту), але, якщо сама звичайна ардуінка справляеться без проблем то ... як на мене, це майже як лупити з гармати по горобцям, а потім думати для чого там ще й вайфай. Треба розуміти, що у цого проекту дуже вузька спеціалізація, а саме - для конкретної моделі батарей (Dyness b4850), а можливо і для конретних китайських інверторів. І знадобився він тільки тому що Dyness у своїх продуктах реалізував стару версію протоколу PILON і якщо вони, наприклад, в нових акумах реалізують новий, то цей адаптер буде зовсім непотрібний. Так що, це такий собі проект "вихідного дня" і не більше.
ви мене не зрозуміли
arduino ВЗАГАЛІ будь-яке тут не кращий варіант
Принаймні якщо робити універсальний варіант. А саме - CAN/RS485 <==> RS485/CAN

якщо розглядати проект лише для 1 єдиного випадку - ОК
ну а вартість МК з wifi - взагалі ні про що казати)))
але саме АРХІТЕКТУРНО це буде значно краще.

Але є ще деякі сфери використання цього - майже все що на страрих JK BMS/dally/100bms
плюс купа китайського г-на))) що має на борту лише RS485
Хоча - більшість власників того самого навряд чи зможе розкошелитися
на приблуду +-50баксів.

Все - IMHO)
 
Raspberry PI написати (заради росту)
а тут я не згоден - у них є одне дуже слабке місце - SDcard)))
і тут саме випадок - дуже велика потужність, яку дівати в такому проекті буде зовсім нікуди)))
Такі штуки брали (доречі в мене один зперших проектів працює вже >5років) лише, щоби
не заморочуватися, а запхнути туди повноцінний лінукс і пітон, а потім клепати все на стандартних
його бібліотеках)))). От це - точно оверхед)
 
День 8
Тестую прототип dyness адаптера. Відремонтував інший свій інвертор Daxtromn 6.2к та вирішив спробувати підключити ще й до нього. Спойлер - все працює! Режим LIL, додалося 6 нових скринів від батареї.

1. Напруга на батерії і рівень заряду:
IMG_20250102_094417.jpg

2. Струм заряду і струм розряду:
IMG_20250102_094431.jpg

3. Номінал батареї та кількість циклів:
IMG_20250102_094443.jpg

4. Мінімальна і максимальна напруги по коміркам:
IMG_20250102_094503.jpg

5. Мінімальна та максимальна температура комірок:
IMG_20250102_094511.jpg

6. Температура бмс-ки та мосфетів:
IMG_20250102_094521.jpg

Dessmonitor тепер також красівіше і точніше показує ємність батареї:
1736609033594.png

Є підозра що адаптер буде працювати з усіма клонами "ще не вмерів" (PowMR) 6.2к і вище, але це не точно :).

Що не сподобалося у дакстормі, це те, що якщо підключити батарею, він її побачив, а потім відключити, то показники фіксуються у інверторі, не обнуляються і інвертор вважає що все ок, хоча просто коммуникації нема. Аненжі в цьому плані розумніший і через кілька секунд починає пищати, та показує 19 помилку.
 
Останнє редагування:
День 8
Тестую dyness-адаптер. Відремонтував інший свій інвертор Daxtromn 6.2к та вирішив спробувати підключити ще й до нього. Спойлер - все працює! Режим LIL, додалося 6 нових скринів від батареї.

1. Напруга на батерії і рівень заряду:
Переглянути вкладення 6342

2. Струм заряду і струм розряду:
Переглянути вкладення 6343

3. Номінал батареї та кількість циклів:
Переглянути вкладення 6344

4. Мінімальна і максимальна напруги по коміркам:
Переглянути вкладення 6345

5. Мінімальна та максимальна температура комірок:
Переглянути вкладення 6347

6. Температура бмс-ки та мосфетів:
Переглянути вкладення 6348

Dessmonitor тепер також красівіше і точніше показує ємність батареї:
Переглянути вкладення 6349

Є підозра що адаптер буде працювати з усіма клонами "ще не вмерів" (PowMR) 6.2к і вище, але це не точно :).

Що не сподобалося у дакстормі, це те, що якщо підключити батарею, він її побачив, а потім відключити, то показники фіксуються у інверторі, не обнуляються і інвертор вважає що все ок, хоча просто коммуникації нема. Аненжі в цьому плані розумніший і через кілька секунд починає пищати, та показує 19 помилку.
Можете зробити міні інструкцію по підключенню та скинути код для ардуіно, щоб можна було в себе спробувати
 
Можете зробити міні інструкцію по підключенню та скинути код для ардуіно, щоб можна було в себе спробувати
Я ще не переобив іі під Nano, це все та ж UNO тільки протестована і з усіма фіксами. Ждіть.
Замість коду буде готова прошивка. Не хочу щоб різні архитектори в ньому копирсалися, та встраювали його в комерційні продукти.
Інтрукція по прошивці не складна, думаю всі хто в темі розберуться: https://sites.google.com/site/gigimysite/home/arduino-upload
 
Я ще не переобив іі під Nano, це все та ж UNO тільки протестована і з усіма фіксами. Ждіть.
Замість коду буде готова прошивка. Не хочу щоб різні архитектори в ньому копирсалися, та встраювали його в комерційні продукти.
Інтрукція по прошивці не складна, думаю всі хто в темі розберуться: https://sites.google.com/site/gigimysite/home/arduino-upload
добре, чекаємо
 
День 9
Доробив Nano версію Dyness адаптера - все пряцює як годинник! Для ентузіастів, або кому просто цікаво, публікую все необхідне для самостійної збірки.

1. Схема (для школярів). Кондюків може стільки і не треба, але мені з ними спокійніше.
breadboard_view.png
2. Прошивка: dyness_adapter_v0.1.zip
3. Інтрукція по прошивці - я не перевіряв, але якщо будут проблемі пишить, знайду іншу.
4. Інвертор переводимо в Li2 або LIL (в залежності у кого який).
5. На батареї джампери виставляемо так: 0100 (PYLON протокол).
6. Патч-корди робимо згідно інструкцій до інвертора та батареї. На схемі приклад для Anenji 6.2kw.
7. Макет зараз виглядає так і вже в роботі. Начеб-то все!

IMG_20250119_131011.jpg

P.S. На дакстормі знайшов +5в прямо на колодці RJ45, від них і заживився. На аненжі здається такого нема, тому там зовнішне живлення, наприклад, зарядка від будь-якого телефона. Тепер точно все!
 
День 9
Доробив Nano версію Dyness адаптера - все пряцює як годинник! Для ентузіастів, або кому просто цікаво, публікую все необхідне для самостійної збірки.

1. Схема (для школярів). Кондюків може стільки і не треба, але мені з ними спокійніше.
Переглянути вкладення 6507
2. Прошивка: dyness_adapter_v0.1.zip
3. Інтрукція по прошивці - я не перевіряв, але якщо будут проблемі пишить, знайду іншу.
4. Інвертор переводимо в Li2 або LIL (в залежності у кого який).
5. На батареї джампери виставляемо так: 0100 (PYLON протокол).
6. Патч-корди робимо згідно інструкцій до інвертора та батареї. На схемі приклад для Anenji 6.2kw.
7. Макет зараз виглядає так і вже в роботі. Начеб-то все!

Переглянути вкладення 6508

P.S. На дакстормі знайшов +5в прямо на колодці RJ45, від них і заживився. На аненжі здається такого нема, тому там зовнішне живлення, наприклад, зарядка від будь-якого телефона. Тепер точно все!
Доброго дня!
Чи могли б ви зробити цей адаптер на замовлення?
 
Доброго дня!
Чи могли б ви зробити цей адаптер на замовлення?
Можливо, але точно не зараз. Справа в тому, що не має гарантії, що девайс буде коректно працювати з Вашою моделлю інвертора і Вашим набором акумів. Тому його краще протестувати на різних моделях, щоб зрозуміти на яких працює, а на яких можливо потрібні додаткові фікси. Саме це і допоможуть зробити "саморобники" які просили інструкцію по збірці. Крім того, це не фінальна версія. Я планую викинути другий модуль RS485 і обійтися тільки одним, що зробить кострукцію ще простіше, а можливо й надійніше. І лише після цього, є сенс мріяти про якесь виробництво. А щоб воно не виглядало зовсім кустарно, з голою єлектронікою, треба буде ще розробляти та замовляти плату, шукати корпус і т.д. Це все час, звісно.
 
С
Можливо, але точно не зараз. Справа в тому, що не має гарантії, що девайс буде коректно працювати з Вашою моделлю інвертора і Вашим набором акумів. Тому його краще протестувати на різних моделях, щоб зрозуміти на яких працює, а на яких можливо потрібні додаткові фікси. Саме це і допоможуть зробити "саморобники" які просили інструкцію по збірці. Крім того, це не фінальна версія. Я планую викинути другий модуль RS485 і обійтися тільки одним, що зробить кострукцію ще простіше, а можливо й надійніше. І лише після цього, є сенс мріяти про якесь виробництво. А щоб воно не виглядало зовсім кустарно, з голою єлектронікою, треба буде ще розробляти та замовляти плату, шукати корпус і т.д. Це все час, звісно.
Так, я розумію.
Я згоден протестувати на своєму інверторі і акумах. В мене інвертор Anenji ANJ-6200W-48-WIFI, акум Dyness B3 48V 75Ah.
І згоден заплатити за тестувальний виріб.
 
День 9
Доробив Nano версію Dyness адаптера - все пряцює як годинник! Для ентузіастів, або кому просто цікаво, публікую все необхідне для самостійної збірки.

1. Схема (для школярів). Кондюків може стільки і не треба, але мені з ними спокійніше.
Переглянути вкладення 6507
2. Прошивка: dyness_adapter_v0.1.zip
3. Інтрукція по прошивці - я не перевіряв, але якщо будут проблемі пишить, знайду іншу.
4. Інвертор переводимо в Li2 або LIL (в залежності у кого який).
5. На батареї джампери виставляемо так: 0100 (PYLON протокол).
6. Патч-корди робимо згідно інструкцій до інвертора та батареї. На схемі приклад для Anenji 6.2kw.
7. Макет зараз виглядає так і вже в роботі. Начеб-то все!

Переглянути вкладення 6508

P.S. На дакстормі знайшов +5в прямо на колодці RJ45, від них і заживився. На аненжі здається такого нема, тому там зовнішне живлення, наприклад, зарядка від будь-якого телефона. Тепер точно все!
Мені вдалося зібрати схему і зв'язати мій інвертор Easun ISolar-SMG-II-6.2KW-Wifi та батарею B4850. Був нюанс з тим як залити прошивку (по інструкції вона залилась криво), я залив через програмку gcUploader і все спрацювало. Тепер інвертор бачить SOC, нарешті я бачу реальний відсоток заряду та можна налаштувати режими роботи по відсоткам а не по напрузі батареї. Звісно зараз перехідник виглядає негарно, потрібно робити корпус та якось компактніше це все збирати, не хочу навіть показувати :)
Є в мене побоювання, що після якогось скачка напруги відвалиться живлення перехідника, втратиться підключення і остаточно пропаде напруга, тому заживив ардуіну через міні бзперебійник на 18650 акумуляторі. Дуже вдячний Capone за пророблену роботу
 

Вкладення

  • gcUploader.zip
    376,5 Кб · Перегляди: 18
Мені вдалося зібрати схему і зв'язати мій інвертор Easun ISolar-SMG-II-6.2KW-Wifi та батарею B4850. Був нюанс з тим як залити прошивку (по інструкції вона залилась криво), я залив через програмку gcUploader і все спрацювало. Тепер інвертор бачить SOC, нарешті я бачу реальний відсоток заряду та можна налаштувати режими роботи по відсоткам а не по напрузі батареї. Звісно зараз перехідник виглядає негарно, потрібно робити корпус та якось компактніше це все збирати, не хочу навіть показувати :)
Є в мене побоювання, що після якогось скачка напруги відвалиться живлення перехідника, втратиться підключення і остаточно пропаде напруга, тому заживив ардуіну через міні бзперебійник на 18650 акумуляторі. Дуже вдячний Capone за пророблену роботу
І Вам дякую за перевірку та gcUploader, буду знати. Я пробував з повербанком, вирубається через 30 сек - дуже малий струм для повербанка. Пошукайте +5в на колодці RJ45, можливо в Easun вивели як і на Дакстормі (4 та 8 контакти), тоді девайс включатиметься автоматично з інвертором.
 
@Capone Дякую за пророблену роботу я запустив на своєму Daxtromn 6.2 але дуже дивний алгоритм щоб запустити, тому що треба проробити повиний цикл:
1. Виключити інвертор
2. Батареї вимкнути зажавши конпку SW червону
3. Вимкнути перемикачі почекати декілька секунд
4. Включити усі батареї
5. Включити інвертор і повинно запрацювати

Більше всього треба послати якусь команду на те щоб батарея почала знову подавати дані, тому що вона 100% на гаряче підключення відає дані. @Capone Чи не могли б Ви поділитися командами які перетворюєте? бо хочу завести esp32-c3 щоб отримувати дані в home assistant в обхід інвертора для моніторингу усіх комірок, а також доробити індикацію чи працює комунікація і зробити watch dog для запобігання зависання поки не перенису на esp32-c3.
 
@Capone Дякую за пророблену роботу я запустив на своєму Daxtromn 6.2 але дуже дивний алгоритм щоб запустити, тому що треба проробити повиний цикл:
1. Виключити інвертор
2. Батареї вимкнути зажавши конпку SW червону
3. Вимкнути перемикачі почекати декілька секунд
4. Включити усі батареї
5. Включити інвертор і повинно запрацювати

Більше всього треба послати якусь команду на те щоб батарея почала знову подавати дані, тому що вона 100% на гаряче підключення відає дані. @Capone Чи не могли б Ви поділитися командами які перетворюєте? бо хочу завести esp32-c3 щоб отримувати дані в home assistant в обхід інвертора для моніторингу усіх комірок, а також доробити індикацію чи працює комунікація і зробити watch dog для запобігання зависання поки не перенису на esp32-c3.
Єдине що має сенс у Вашому списку, це те, що після перимикання джамперів на батареї, треба обовязково іі перегрузити, інакше налаштування не підхватятся. Як Ви це зробите, через кнопку SW або просто On/Off це на так важливо. Я писав про цю особливість батарей Dyness у другому пості. Далі вже можна під'єднувати/від'єднувати батарею на гарячу як забажається - все працює.

Ви можете під'єднати USB шнурок до ардуїнки, відкрити будь-який Serial Monitor і побачити увесь протокол обміну, типу такого:

1737873043200.png

Працює це так:
1. Команда 61h (Get System analog data) надходить від інвертора.
2. Адаптер підміняє її на команду 42h (Get analog value) і відправляє її до батареї.
3. Приходить респонс на 42h команду з батареї.
4. Адаптер розбирає його на окремі значення і формує фейковий респонс на 61h команду для інвертора.
Таким чином, виходить що інвертор працює по протоколу PYLON v3.5, а батарея працює по протоколу PYLON v2.8.

Якщо є бажання погратись більше, то можу порекомендувати цю програмку на Пітоні: https://github.com/Frankkkkk/python-pylontech. Вона мені дуже допомогла на початвових етапах, там приблизно 10 команд різних описані і всі відпрацьовують на Dyness b4850.

Крім того, для esp32 схоже вже є готова бібліотека, але я її не перевіряв: https://github.com/zivillian/esp32-pylontech
Бажаю успіхів у нових проєктах!
 
1737900340104.png


@Capone девайс якось парсить тільки перший раз а потім перестає адекватно працювати і видає Failed to parse command і так як я догадувався дані не оновлються з часом і відбувається про те що Ви писали що Daxtromn запамятовує остані дані і все більше не оновлює. Батарея при цьому продожує працювати тому що якщо usb fdti чіпом вичитати дані усі є. Чи не могли б Ви поділитися як Ви формуєте запит на читання батареї 42h через arduino ?
 
@Capone девайс якось парсить тільки перший раз а потім перестає адекватно працювати і видає Failed to parse command і так як я догадувався дані не оновлються з часом і відбувається про те що Ви писали що Daxtromn запамятовує остані дані і все більше не оновлює. Батарея при цьому продожує працювати тому що якщо usb fdti чіпом вичитати дані усі є. Чи не могли б Ви поділитися як Ви формуєте запит на читання батареї 42h через arduino ?
Хм, це цікаво. Приходять криві данні з інвертора, там де знаки питання повинні бути адекватні ASCII коди.

1. Перевірте підключення, на Дакстормі повинно бути (1 - А, 2 - B).
2. Можливо у RS485 модуля "поїхала кукуха", спробуйте поміняти модулі місцями.
3. Спробуйте зменшити довжину провода до інвертора (більше метра не варто).
4. Перевірте землю. Між інвертором і батареєю різниці потенціалів не повинно бути.

Формат команд описаний тут (а також алгоритми і калькуляціі чексум):

1737910597850.png
Та і в коді пітона та esp32 воно також є, дивіться уважніше:
 
День 10
Оптимізував схему, підрехтував программу - Dyness Adapter v0.2

Схема:
1737913953372.png
Прошивка:
dyness-adapter-0.2.zip

P.S. Схоже це фінальна версія, далі оптимізувати вже нікуди, хіба що програмно!
 
@Capone версія 2 завелася без проблем, не використовував навіть конденсаторів, Дякую

Прошивав на mac os, інструкція:
1. Встановлюємо ` brew install avrdude `
2. Визначаємо до якого порту підключені arduiono ` ls /dev/tty.* ` щоб вставити в команду. -P
3. Шиємо командою з папки в якій лежить dyness-adapter-0.2.hex ` avrdude -v -p atmega328p -c arduino -P /dev/cu.usbserial-2110 -b 115200 -D -U flash:w:dyness-adapter-0.2.hex:i `

PS: atmega328p - встановлюємо в залежності від чіпа arduino який у Вас
 
День 10
Оптимізував схему, підрехтував программу - Dyness Adapter v0.2

Схема:
Переглянути вкладення 6656
Прошивка:
dyness-adapter-0.2.zip

P.S. Схоже це фінальна версія, далі оптимізувати вже нікуди, хіба що програмно!
Спробував я версію №2, спочатку мій інвертор підключився, але через деякий час зв'язок втратився і сам не відновився. Я перезавантажив інвертор, деякий час зв'язок був, а потім знову помилка. Тому повернувся до версії №1 з окремими платами. До-речі на версії №1 якщо примусово від'єднати адаптер, а потім знову під'єднати, то зв'язок відновлюється на протязі 30 секунд.
 
Назад
Угорі