Unable to reach full charge voltage for balancing

Hi everyone,

I have a system with four 48 V / 314 Ah LiFePO₄ batteries, each equipped with a JK-BMS 2A16S, all connected in parallel.
The system is managed by an Ekrano GX with DVCC enabled and battery management set to “JK-BMS” (CAN communication via a Type B cable).
The inverter/charger is a MultiPlus-II 48/15000/200-100, and the ESS mode is set to “Keep batteries charged”.

For the past two days, I’ve been trying to let the batteries reach full charge and balance, but they never go above ~3.43 V per cell (around 55.2 V total).


Current situation

  • The system charges normally, but the voltage won’t rise above 55.2 V, so the JK-BMS never starts balancing.

  • On the GX screen, under Battery parameters, the CVL (charge voltage limit) shows 55.2 V, and I can’t find where to increase it to 56.4 V, which is required for proper top-balancing.

  • DVCC is active with “Limit managed battery charge voltage” enabled and maximum charge voltage set to 56.4 V, but the system still sticks to the 55.2 V reported by the BMS.


Main JK-BMS (master) parameters

Parameter Value
Start Balance Volt 3.45 V
Max Balance Current 2.0 A
Cell OVP 3.65 V
Cell RCV 3.45 V
SOC 100 % Volt 3.445 V
SOC 0 % Volt 2.90 V
Continued Charge Current 150 A
Continued Discharge Current 200 A
CAN Protocol 004 – Victron_CANbus
Smart Sleep OFF
Charging Float Mode ON

What I’m trying to achieve

I want the batteries to reach 56.4 V so they can fully charge and start balancing.
Right now, it looks like the CVL is limited to 55.2 V through the CAN communication with the JK-BMS, and I’m not sure whether:

  • The Ekrano GX is receiving an incorrect CVL from the JK master, or

  • I should temporarily disable BMS control and force the voltage manually via DVCC or VEConfigure.


Questions for anyone who has done this setup

  1. Is the 55.2 V CVL coming from the JK master or from the GX?

  2. How can I manually raise it to 56.4 V to allow balancing?

  3. Is there a way to make the GX prioritize the DVCC value over what the BMS reports?

Any insight from users who’ve integrated multiple JK-BMS units in parallel with Victron would be greatly appreciated.

Thanks in advance,
Javier

Hi Javier,
does the system still charge oder does the SOC change to 100% and stops charging?
The 55.2V come from the JK-BMS and this is fine (RCVCell# → 3.4516=55.2v)
I see you have 100% SOC with 3.445v and start balance with 3.45v … so basically you balance only if at least one cell goes above 3.45v

Just out of curiosity.. which batteries are you using? EVE MB31?

Thanks for your reply.
My batteries are indeed built with EVE LF280K cells (314 Ah each).

The main issue I’m facing right now is that the batteries never go above ~96 % SOC and about 3.43 V per cell, so they never actually reach the point where balancing starts.
I’ll test with the higher recovery voltage and see if I can finally get the batteries to balance and reach 100 % charge.

Got it — you were absolutely right!
I increased RCV to 3.52 V, SOC 100% to 3.49 V, and OVPR to 3.45 V, and now it’s working perfectly.
The Cerbo (Ekrano) now detects the maximum voltage at 56.4 V.

Many thanks for your help — really appreciate it! :raising_hands:

RCV of 3.45 is fine.. you should not change them… there is no gain to go above 3.45v as this basically is a full battery and only increased the stress in the battery for no real additional capacity.
Can you post all your BMS and GX settings here please.

But then, in that case, the batteries will never actually start balancing, right?
The batteries are brand new, and even though I charged each one individually to balance them before connecting in parallel, they have become slightly unbalanced again.

I’d like to give them a full charge in parallel now to let the JK-BMS balance them properly again.

Wouldn’t keeping the RCV at 3.45 V prevent the balancing process from starting in this situation?

Basic Settings Cell Count 16
Basic Settings Battery Capacity (Ah) 314
Basic Settings Balance Tring. Volt (V) 0,01
Basic Settings Calibreting Volt (V)
Basic Settings Calibrating Curr. (A)
Advance Setting Start Balance Volt. 3,45
Advance Setting Max Balance Curr. 2
Advance Setting Cell OVP 3,65
Advance Setting Vol. Cell RCV 3,5
Advance Setting SOC-100% Volt. 3,49
Advance Setting Cell OVPR 3,45
Advance Setting Cell UVPR 3
Advance Setting SOC-0% Volt. 2,9
Advance Setting Cell UVP 2,8
Advance Setting Power Off Vol. 2,7
Advance Setting Vol. Cell RFV 3,46
Advance Setting Vol. Smart Sleep 3,5
Advance Setting Time Smart Sleep.
Advance Setting Continued Charge Curr. 157
Advance Setting Charge OCP Delay. 3
Advance Setting Charge OCPR Time. 60
Advance Setting Continued Discharge Curr. 200
Advance Setting Discharge OCP Delay 30
Advance Setting Discharge OCPR Time. 60
Advance Setting Charge OPT 60
Advance Setting Charge OPTR 55
Advance Setting Discharge OPT 60
Advance Setting Discharge OTPR 55
Advance Setting Charge UTPR 4
Advance Setting Charge UTP 2
Advance Setting MOS OTP 80
Advance Setting MOS OTPR 70
Advance Setting SC Delay 1500
Advance Setting SCPR Time 5
Advance Setting Device Addr. 1
Advance Setting Data Stored Period 61208
Advance Setting RCV Time 2
Advance Setting RFV Time 1
Advance Setting Emerg. Time. 30
Advance Setting User Private Data JK-BMS
Advance Setting User Data 2: JK-BMS
Advance Setting UART1 Protocol No.: 0
Advance Setting UART2 Protocol No.: 15
Advance Setting CAN Protocol No.: 4
Advance Setting LCD Buzzer Trigger 9
Advance Setting LCD Buzzer Trigger Val: 100
Advance Setting LCD Buzzer Release Val: 33
Advance Setting
CONTROL Charge ON
CONTROL Discharge ON
CONTROL Balance ON
CONTROL Emergency OFF
CONTROL Heating OFF
CONTROL Disable Temp. Sensor OFF
CONTROL Display Alwys On ON
CONTROL Smart Sleep On OFF
CONTROL Disable PLC Module OFF
CONTROL Disable Stored Data OFF
CONTROL Timed Stored Data OFF
CONTROL Charging Float Mode ON
CONTROL DRY ARM Interminttent OFF
CONTROL Discharge OCP 2 ON
CONTROL Discharge OCP 3 ON
1 Like

Doc1.docx (1,3 MB)

Ok.. on the upper end of the voltage you are too high for the cells (please double check that you have the MB31 314Ah) and on the lower end you are too high too.
Basically the BMS will start to balance for all cells that are above 3.45 in your setup and have a minimum deviation of 0.01v … this means very late.
You have set your RCV time to 2h .. this means that the BMS will set 100% SOC if you are 2 hours above RCV (3.5v in your setting) … this is too high and for too long. Lower RCV to the recommended voltage for your cell (3.45 as per data sheet) and lower the RCV time to 0.5h.

I would assume that you did not stay long enough (less then 2h) on 3.449 in your old settings and BMS even switched to Float Mode before that..

Please see below change recommendations - … balance voltage could be kept at 3.45 but I use these settings

Advance Setting Start Balance Volt. 3,40
Advance Setting Vol. Cell RCV 3,450
Advance Setting SOC-100% Volt. 3,449
Advance Setting Cell OVPR 3,400
Advance Setting Cell UVPR 2.710
Advance Setting SOC-0% Volt. 2.700
Advance Setting Cell UVP 2,600
Advance Setting Power Off Vol. 2,500
Advance Setting Vol. Cell RFV 3,350
Advance Setting Vol. Smart Sleep 3,285
Advance Setting Time Smart Sleep. 24h

Advance Setting RCV Time 0.5

Ps: You mentioned cells are getting out of balance.. what is the deviation you are seeing right now?

Thank you very much for your detailed explanation — that makes perfect sense.

Yes, they are MB31 314 Ah cells, and I’ll modify the configuration according to your recommendations and test again.

I’ll lower the RCV to 3.45 V, set the RCV time to 0.5 h, and adjust the rest of the parameters as you suggested.

Thanks again for your support — I’ll report back with the results after the next charge cycle.

May I ask if it would be acceptable to temporarily use my higher-voltage configuration (for example, Vol. Cell RCV = 3.52 V, SOC-100% = 3.52 V, Start Balance = 3.45 V, RCV Time = 0.5 h) just to perform a complete charge and top-balance cycle, and then switch back to your more conservative configuration afterward?

My goal is simply to re-align the cells — they are slightly out of balance (around 0.012–0.015 V difference near full charge).

Would that approach make sense, or would you recommend avoiding the higher voltage altogether even for a one-time top-balance?

Thanks again for your guidance — really appreciate the time you’ve taken to explain everything so clearly.

Hi Javier,
there is no need to do so.. the top balance will happen with the above settings too - just let it work.
A deviation of 0.012-0.015v is no out of balance though.. that is more than fine.

Perfect, I’ll apply the configuration you suggested.
Many thanks for your help. :folded_hands:

Just to confirm, my batteries are JK-PB2A16S20P (v19) units, each built with EVE LF280K 3.2 V 314 Ah LiFePO₄ cells (4 batteries in parallel, total ~1,256 Ah / ~64 kWh).
The system is managed by a JK-BMS V.19.10(CAN protocol 004 – Victron_CANbus_BMS_protocol_20170717) connected directly to the Ekrano GX via VE.Can (Type-B cable), with full DVCC control enabled.

Following your suggestions, I’ve reviewed the settings and applied the following configuration for testing and calibration purposes:

Parámetro Conservadora
Cell Count 16
Battery Capacity (Ah) 314
Balance Tring. Volt (V) 0,01
Calibreting Volt (V)
Calibrating Curr. (A) 0
Start Balance Volt. 3,4
Max Balance Curr. 2
Cell OVP 3,65
Vol. Cell RCV 3,45
SOC-100% Volt. 3,449
Cell OVPR 3,4
Cell UVPR 2,71
SOC-0% Volt. 2,7
Cell UVP 2,6
Power Off Vol. 2,5
Vol. Cell RFV 3,35
Vol. Smart Sleep 3,285
Time Smart Sleep. 24
Continued Charge Curr. 157
Charge OCP Delay. 3
Charge OCPR Time. 60
Continued Discharge Curr. 200
Discharge OCP Delay 30
Discharge OCPR Time. 60
Discharge OPT 70
Discharge OTPR 60
Charge OPT 70
Charge OTPR 60
Charge UTPR 4
Charge UTP 2
MOS OTP 80
MOS OTPR 70
SC Delay 5
SCPR Time 30
Device Addr. 1
Data Stored Period 61208
RCV Time 0,5
RFV Time 1
Emerg. Time. 30
User Private Data JK-BMS
User Data 2: JK-BMS
UART1 Protocol No.: 0
UART2 Protocol No.: 15
CAN Protocol No.: 4
LCD Buzzer Trigger 9
LCD Buzzer Trigger Val: 100
LCD Buzzer Release Val: 33
Charge ON
Discharge ON
Balance ON
Emergency OFF
Heating OFF
Disable Temp. Sensor OFF
Display Alwys On ON
Smart Sleep On OFF
Disable PLC Module OFF
Disable Stored Data OFF
Timed Stored Data OFF
Charging Float Mode ON
DRY ARM Interminttent OFF
Discharge OCP 2 ON
Discharge OCP 3 ON

Once the balancing completes and the pack stabilizes, I’ll monitor how the SOC and CVL behave in the Ekrano and report back.

Thanks again for taking the time to help — your explanation about RCV voltage and timing makes perfect sense. :folded_hands:

Javier, Dit you also made the right setting in de Multi II plus, with the use of the configuration tool and set there also the battey with teh right values.
In there is also a setting voor de MAX charge voltage of the Multiplus and so on.
https://www.victronenergy.com/Executables/VEConfig/VECSetup_A.exe

First download your config FROmhttps://vrm.victronenergy.com/installation/[Your installation]/overview

Good morning,
Yes, I also checked the MultiPlus II configuration with VEConfigure — everything is set correctly there.
The issue was indeed with the JK-BMS settings.
After applying the parameters you suggested, the system finally balanced and reached 100%, with all cells perfectly equalized at 3.449 V per cell.

Many thanks for your help! :raising_hands:

Hi Javier

I’m following your topic as I have an identical system except I am off grid and charge using 20kw of solar.

I have a month ago built my v19 batteries and like you i have 4 in parallel.

My battery boxes are YiXiang Energy with v19 JK bms

My Victron system correctly reads the one battery that is connected by type B cable but I cannot work out how to set up the master slave in order to have all 4 batteries show in Victron.

Would you mind telling me (with photos if possible) what your DIP settings are and what protocols you have each JK bms set to ?

For my charging settings, I have set Victron at a high voltage and then rely on the bms to regulate the correct charging cycle(s). The 2 amp active balancing works well.

I aim for 90% max SoC and have the low at about 20% SoC.

Since installation i have never had the batteries below 80% however we are in a dry late spring climate so i guess the test will be mid winter next year.

During total cloud heavy rain my system still inputs 1800w from the pv from 08:00 till 16:00

Hi! Daniel

My batteries are also YiXiang Energy units.

First of all, I strongly recommend using the BMS parameters that were suggested to me here earlier — with those settings, my batteries now balance perfectly, reach 100% SOC, and still keep a small safety margin to avoid thermal stress and extend their lifespan.

Regarding your parallel connection issue, I had a similar problem: I could get three BMS units to link, but the fourth one always failed.
I found out that one of the batteries didn’t have proper contact on the DIP pins when switching from position 0.

The solution was to make that one the master (all DIP pins set to 0) and connect the other three as slaves.
Here’s how I configured the DIP switches:

Battery 1 (Master): all pins at 0
Battery 2: first pin = 1, rest = 0
Battery 3: second pin = 1, rest = 0
Battery 4: third pin = 1, rest = 0

For the communication protocols, I use:

UART1: 000
UART2: 001
UART3: 015
CAN Protocol: 004 – Victron_CANbus

For the RS485 communication wiring, I use standard CAT7 Ethernet cables:
• From the Victron (Ekrano GX or Cerbo GX) → connected to the CAM port on the first battery (master).
• Then, from the RS485 first port of the first battery → to the first RS485 port of the second battery,
• From the second port of the second battery → to the first port of the third,
• And so on until the last battery.

With this setup, the GX correctly detects all four JK-BMS units and manages them as a single 48 V battery bank.

1 Like

Thanks you very much about the yixiang battery!

I have two and read about the parallel problems on a USA diy solar forum.

The batteries are not yet operational.

I build them last week, no problems.

Thank you Javier

With the DIP settings did you use the numbers as printed on the switches on the battery box front panel ?
Others have said that they are printed in reverse and that worked for them…
Also your DIP settings make perfect sense however those are different from the YiXiang Energy installation manual so that may be why mine did not work.

Which ports are you using for the parallel LAN cable and for the master to Victron type B ?
I think I have those correct but want to double check.

You’re welcome!

Yes, I used the DIP numbers exactly as printed on the front panel of the YiXiang battery boxes, and in my case they were not reversed — 0 is OFF (down), 1 is ON (up).

I also noticed that the YiXiang manual shows a different DIP combination, but that configuration never worked properly for me. The setup I described (master = all 0s, then 1, 2, 3 for each following unit) was the only way all four JK-BMS units communicated correctly through RS485 and were detected by Victron.

Regarding the cabling:

• From Victron (Ekrano GX / Cerbo GX) → to the CAM port on the master battery using the Type B cable.

• Then, I use standard CAT7 Ethernet cable to connect the batteries in RS485 daisy chain:

  • From the RS485 second port of the master → to the first RS485 port of the second battery.

  • From the second port of the second battery → to the first port of the third.

  • And so on until the fourth battery.

With this configuration, the Ekrano GX immediately recognized the full 4× JK-BMS setup and displayed them as a single managed 48 V bank.

So yes — the printed DIP numbers worked fine for me, not reversed. :+1:

thank you Javier

I will go to my power shed and try this again…