Вітаю. Трошечки розібрався методом "наукового тику" ззв'язкою JK-PB2A16S15P (прошивка V19.27)+[Easun-SMH-||| 4,2 kWt 24. Може комусь буде корисно, викладу тут хоча б базові алгоритми роботи JK BMS у зв'язці з інвертором Easun по RS485. Для зручності мабуть опишу по пунктам порядок дій з роз'ясненням. Всі напруги буду писати у форматі напруги на одну комірку:
По перше, я все ж дістав лабораторний БЖ і за допомогою нього відкалібрував значення напруг в BMS. Тепер я знаю з точністю до 0,01В справжню напругу збірки і комірок і також різницю між інвертором і батарейкою. Це 0,14В. Наприклад, напруга на інверторі в кінці заряду при струмі <1A дорівнює 27,5В, а на виході сбірки 27,36. Ця ж різниця ~0,14В зберігається і при інших напругах. Далі поясню, як знайти цю різницю і правильно її використати при заряджанні.
1. BMS керує зарядом і зупиняє його . Основна умова повної зупинки заряджання - досягнення BMS-кою напруги заданої у параметрі SOC100%.
Наприклад, я задав параметр в BMS SOC100%=3,419В, значить при досягненні рівно 3,419В струм = 0А.
2. Параметр BULK в інверторі МАЄ значення, тобто BMS керує інвертором не повністю, а саме це стосується струму заряду. Головна ідея в тому, що інвертор знижує струм дуже плавно - чим ближче саме до bulk, тим плавніше і так аж до 0,01А і 0А. А BMS тільки повністю забороняє інвертору заряджати.
Наприклад, SOC100% в BMS=3,419В, а BULK в інверторі 3,44В (тобто bulk значно більше soc100), тоді BMS заборонить інвертору заряджати при досягненні 3,419В, і якщо в цей момент струм буде приблизно 15А, інвертор буде вимушений припинити заряд не досягнувши фази повного плавного зниження струму аж до 0А.
Якщо bulk на інверторі задати менший від SOC100 в BMS, тоді значення 100% заряду батареї не оновиться ніколи, завжди буде 99%, а інвертор помалу намагатиметься дозарядити збірку мікрострумом.
Тобто, правильне рішення - по перше знати точну погрішність між BMS і інвертором хоча б на рівні напруги SOC100, а по друге, поставити SOC100 максимально близько до BULK. Тоді алгоритм зменшення струму інверторм співпаде з алгоритмом зупинки заряду BMS і не завадить BMS досягти і оновити SOC.
Наприклад, я визначив, що при bulk на інверторі 27,5 (в інверторі цей параметр задається лише з точністю до 0,1), напруга на збірці дорівнює 27,36В (3,42В*8 комірок). Як саме визначив: виставив SOC100 в BMS вижчим ніж BULK на інверторі і подивився напругу до якої інвертор зміг зарядити збірку при значенні bulk=27,5В. Після чого bulk залишив 27,5В, а SOC в BMS поставив на 0,01В меншим за визначене значення, тобто 3,419В. Таким чином BMS досягає SOC100 при 3,419В і оновлює SOC, але і не заважає інвертору плавно завершувати стадію заряджання і зниження струму. Отже BULK=3,420; SOC100%=3,419.
Є ще два пункти, які мали б бути задіяні, але нажаль, в моєму випадку не працюють (чому саме, не відомо, можливо прошивка BMS чи інвертора не досконала, або RS485 не здатний передавати ці дані. Може є знавці, хто може підказати чому?):
1. RCV - параметр в BMS, який як я визначив методом "наукового тику", в режимі коннекту по RS485 в даній зв'язці не впливає ні на що. В BMS цей параметр не може бути меншим за параметр SOC100%. А значить, за умов описаних вище, не буде досягнутий ніколи (SOC100 завжди буде досягнутий раніше і припинить заряд), тобто не буде задіяний. Чому саме SOC100 припиняє заряд, а RCV ігнорується, відомо лише китайським інженерам (я написав листа на офіційну пошту JK та EASUN, але відповіді поки що не було). RCV-requested charge voltage, тобто та напруга, яку BMS просить в інвертора. А в даному конкретному випадку, виходить, що при досягненні V=SOC100%, єдине що робить BMS - це просто забороняє інвертору заряджати. А так як інвертор фактично не досягає своєї bulk напруги при якій заряд має зупинитися зі сторони інвертора, виникає стан при якому SOC100 батареї оновлений, BMS блокує струм, інвертор залишається в стадії "заряд" але струм при цьому=0, про що свідчить мікропадіння напруги і статус CHG на пеанелі інвертора, що блимає. Звідси і пункт 2, а саме:
2. Після досягнення SOC100% батарея більше не бере заряд, але фактично інвертор залишається перманентно в режимі заряду, або "готовий заряджати", про що свідчить блимаючий напис CHG на екрані інвертора. Не баг, а фіча, можна сказати, але все ж... наприклад, як будуть поводити себе вентилятори інвертора, адже по факту статус в нього - заряд і алгоритм роботи охолодження може відрізнятися від статусу "вже заряджено" (коли CHG на екрані інвертора не блимає)
Також дуже цікавий перемикач Floating charge voltage в BMS, бо як виявилося, він теж зайвий конкретній зв'язці, тому що ніколи не досягається напруга RCV і відповідно не запускається RCV timer. Якщо включити Charging float voltage і перевести інвертор в режим USER і задати bulk більшим за RCV, таким чином досягти напруги RCV, статус в BMS зміниться на ABS (absorbtion), запуститься RCV Timer і після відліку часу заданого в параметрі RCV Timer, статус знову зміниться вже на float, але на BMS і саму збірку це ніяк не впливає, інвертор просто перестає заряджати батарею як і у випадку з комунікацією по RS485. Мені було дуже цікаво, чи BMS дасть якісь команди інвертору, якщо в режимі RS485 досягнеться напруга RCV. Якщо поставити SOC100 на 0,001В меншим за RCV то інколи можна досягти ефекту, коли через похибку в BMS оновлюється SOC і встигає досягнутися RCV, але так як після досягнення SOC100 струм заряду миттєво падає до 0, не виконується умова RCV Timer, тобто BMS не дає команду інвертору продовжувати тримати напругу на рівні BMS і статус знову переходить у bulk. Можливо хтось має досвід з цим, поділіться враженнями.
Ще цікавий момент, коли працює зв'язка по RS485 в моєму випадку, а саме - при досягненні параметру SOC0%. В інверторі при цьому параметр відключення навантаження при низькій напрузі перетворюється з вольт на відсотки. Я виставив 5%(пункт меню 29). Тепер, коли напруга збірки опускається до значення SOC=0+5%(ті самі % що задано в інверторі в пункті 29), BMS дає команду інвертору заборонити навантаження і інвертор коректно виконує команду, що приємно здивувало.
Ще якщо на інверторі затиснути esc і потримати, з'являються додаткові "екрани" в яких є інформація про напругу збірки, температури комірок, мінімальна і максимальна напруги комірок і.т.д - все те, що і так можна подивится в BMS, не надто корисно.
Висновки кожен для себе робить сам, але я зробив свій, а саме: користь від такої зв'язки невелика і може бути досягнена просто режимом USER в інверторі. Можливо, в майбутньому китайці щось виправлять, сподіваюся.