FAQ Комунікації Інверторів та літієвих батарей

arte14

Tier3
Реєстрування
23 Сер 2024
Дописи
9
Бали
3
Інвертор
INVT BN1512, YINGFA 4.2
Створюю цю тему щоб збирати тут інформацію по комунікаційними портам та протоколам обміну даними як самих інверторів (порт віддаленого моніторингу) так і їх обмін з БМС літієвих батарей.
ця тема для тих хто створює щось своє не стандартне для моніторингу інвертора або узгодження спілкування інвертора та батареї.

Буду вдячним якщо шановне панство буде робити тут дописи тільки щоб поділитися інформацією такого самого змісту!

надаю посилання на теку де збираю інформацію по цій темі (також та є мої переклади деяких протоколів)

Документи
прикладу деякі файли
 

Вкладення

  • Комунікаційні порти гібридних інверторів RG45.pdf
    231,2 Кб · Перегляди: 13
  • Протокол PYLON LFP Vx.1 ukr.pdf
    1,2 Mб · Перегляди: 11
батарея li_4
anenji, smg II та інших подібних, у мене зроблена робота еспхом jk-bms (на 200 а 8s яка нічого не підтримує толком) -> інвертор

- id: modbuserver
uart_id: uart_rs485
address: 1 # slave address
de_pin: 7
holding_registers:
- start_address: 19
number: 17
on_read: |-
if (address == 19) return int(107); // 0x13 тут статуси батареї заряд можна ні, треба гріти та інше, не колупав
if (address == 20) return int(id(jk485_errors_bitmask).state); // маски помилок
if (address == 21) return int(id(jk485_capacity_remaining).state); // 0x15 SoC 0-100%
if (address == 22) return int(id(jk485_total_voltage).state * 100); // 0x16 Voltage (10mV) поточна наптуга
if (address == 23) return int(id(jk485_current).state * 100); // 0x17 Current (10mA) поточний струм
if (address == 24) return int(id(jk485_temperature_sensor_1).state * 10); // 0x18 Temp (0.1°C) температура
if (address == 25) return int(id(jk485_max_charge).state* 100)-1800; // 0x19 Max current струм заряду, я взяв встановлений в бмс -18А
if (address == 26) return int(id(jk485_capacity_remaining).state); // 0x1A Rem cap Максимальна ємність батареї в а/г
if (address == 27) return int(id(jk485_actual_battery_capacity).state); // 0x1B Full cap Поточна залишкова ємність батареї в а/г
if (address == 28) return 0; // 0x1C Firmware reserved
if (address == 29) return 10; // 0x1D Delta V не відправляю, поставив 10
if (address == 30) return int(id(jk485_charging_cycles).state); // 0x1E Cycles Кількість циклів заряду
if (address == 31) return 0; // 0x1F Reserved
if (address == 32) return 99; // 0x20 SoH
if (address == 33) return int(id(jk485_bat_count).state * id(jk485_volt_rest).state * 100) + 10;

Це напруга до якої буде йти заряд , 1410 це 14.1 В , я заряджаю до напруга відпускання комірки + 0.1 в , до відключення заряду бмс не довожу , так для батарейки трохи краще

if (address == 34) return int(id(jk485_errors_bitmask).state); // 0x22 Warning code ?? (припустимо те саме що помилки)
if (address == 35) return int(id(jk485_max_discharge).state* 100); // 0x23 Max discharge current , передаю максимум що прописано в бмс
 
дякую за допис.
не впевнений але можливо моніторингова програма JK-BMS-MONITOR 2.7.0 більше допоможе заглибитись у протокол , там є вбудований сом порт монітор.
в мене такої нема.
можна подивитись тут http://www.jkbms.net/download_pc
або покладу у теку з першого допису.
але не надовго.
прикріпити не вдалося бо надто великий.
 
Назад
Угорі