diy solar

diy solar

Victron MultiplusII uses wrong charging voltage

stromy

New Member
Joined
Dec 29, 2022
Messages
38
Hi,

i have a SOK48V100 battery connected to a Victron MultiplusII 48/3000 with the battery terminals, and connected to a Victron Cerbo via CAN. The MultiplusII has ESS active.
The battery is 16 cells of LiFePO4, per datasheet has a charging voltage of 57.6-58.4V.
The battery reports its max. charging voltage via CAN to the Cerbo as 56V.

However the Multiplus-II uses a MaxChargeVoltage of 52.4V.
The battery currently has 47% SoC with 52.34V (seen on MultiplusII) or 52.58V (seen on the Battery). A multimeter has about the same reading (within measurement tolerances).

The MultiplusII does not charge the battery. It has the red "low battery" LED flashing, the Cerbo shows a "low battery warning".

Note: Victron says "Low Battery" warning/alarm while it actually thinks it has a too HIGH battery voltage!

I tried to disable the battery alarms, the cerbo lets me do that. However the Multiplus does not care and still enforces it.

I tried to adjust the Charging voltage in the Cerbos DVCC menu. Again the Cerbo accepts the changes and the MultiplusII ignores them.

Both the Cerbo and the MultiplusII have latest software: MultiplusII: 500 / 2629500; Cerbo: 2.9.2 / 20221016213031 / 168448 .

Any idea where this comes from? It is nowhere configured! How can i change it?


Below the dbus info from the cerbo:

Battery:
Dc/0/Current 0
Dc/0/Power 0
Dc/0/Temperature 19.6
Dc/0/Voltage 52.58
DeviceInstance 512
FirmwareVersion -
Info/BatteryLowVoltage 44.8
Info/ChargeRequest 0
Info/FullChargeRequest 0
Info/MaxChargeCurrent 95
Info/MaxChargeVoltage 56
Info/MaxDischargeCurrent 95
InstalledCapacity 100

MultiplusII:
Alarms/LowBattery 1
BatteryOperationalLimits/BatteryLowVoltage 44.8
BatteryOperationalLimits/MaxChargeCurrent 50
BatteryOperationalLimits/MaxChargeVoltage 52.4
BatteryOperationalLimits/MaxDischargeCurrent 95
Dc/0/Current 0
Dc/0/MaxChargeCurrent 35
Dc/0/Power 10
Dc/0/Temperature -
Dc/0/Voltage 52.34
 
VE.CAN or BMS.CAN?

Have you enabled DVCC? Do you have additional Voltage or Current limits in the GX DVCC menu?

Additionally, there are cutoff voltages in the ESS assistant that may need adjustment.
 
VE.CAN or BMS.CAN?

Have you enabled DVCC? Do you have additional Voltage or Current limits in the GX DVCC menu?

Additionally, there are cutoff voltages in the ESS assistant that may need adjustment.
Hi,

the connection of the battery is to BMS.CAN.
DVCC is enabled, but ignored by MultiplusII.
The ESS settings are default. The software does not allow me to change them.
dvcc-settings.pngESSsettings.png
 
These are why you have a flashing red light and low battery warning:

1673448689545.png

Not sure why you can't change them. When you start the assistant, you should be prompted by this during the config:

1673449008766.png

These are the defaults. I can't say with absolute certainty what is right, but I would be comfortable with:
48.00
44.80
42.40
40.00

As follows:
1673449374018.png

Turn on SVS, STC and SCS in DVCC.

Do you have the EG4 set as the default battery monitor?

Is the MP plugged into the VE.Bus port and not the VE.Can port?
 
These are the defaults. I can't say with absolute certainty what is right, but I would be comfortable with:
48.00
44.80
42.40
40.00

As follows:


Turn on SVS, STC and SCS in DVCC.

Do you have the EG4 set as the default battery monitor?

Is the MP plugged into the VE.Bus port and not the VE.Can port?
Hi,
my problem is not with discharge. That works.
However the battery is never charged.
Will try the changes.
 
After doing some obscure searches in public search engines, i found this:
The same file is present on my Cerbo. It seems to have a special case for 15 cell batteries, that never allows charging voltages between 52.4 and 55V. So my 16 cell battery will never charge beyond 52.4V which is <50% SoC.
I will try to change this file tomorrow. However i would be very interested in some input, if anybody has done some successfull modifications to this files logic before.
 
Hi,
my problem is not with discharge. That works.
However the battery is never charged.
Will try the changes.

the 4 voltages are triggering this:

"The MultiplusII does not charge the battery. It has the red "low battery" LED flashing, the Cerbo shows a "low battery warning".

Note: Victron says "Low Battery" warning/alarm while it actually thinks it has a too HIGH battery voltage!"
 
After doing some obscure searches in public search engines, i found this:
The same file is present on my Cerbo. It seems to have a special case for 15 cell batteries, that never allows charging voltages between 52.4 and 55V. So my 16 cell battery will never charge beyond 52.4V which is <50% SoC.
I will try to change this file tomorrow. However i would be very interested in some input, if anybody has done some successfull modifications to this files logic before.

Wow. Nice find. Your Google Fu is strong.

Given that you've specified 57V (this is an additional limit; it will not permit higher voltage if your BMS is indicating lower), and one would assume the SOK BMS needs > 55V, this line seems to prevent forcing 52.4V on a 16S battery (or is this line the fix?):


Can you connect to the SOK BMS and confirm the charge voltage? if i
 
Just a long shot but I might be being completely stupid but it seems to me like your battery needs to be 15 cells not 16

However the Multiplus-II uses a MaxChargeVoltage of 52.4V.
The battery currently has 47% SoC with 52.34V (seen on MultiplusII) or 52.58V (seen on the Battery). A multimeter has about the same reading (within measurement tolerances).

What is the soc as a percent for the multiplusll at 48 V and what v is 100% soc
check the specs
 
Just a long shot but I might be being completely stupid but it seems to me like your battery needs to be 15 cells not 16

However the Multiplus-II uses a MaxChargeVoltage of 52.4V.
The battery currently has 47% SoC with 52.34V (seen on MultiplusII) or 52.58V (seen on the Battery). A multimeter has about the same reading (within measurement tolerances).

What is the soc as a percent for the multiplusll at 48 V and what v is 100% soc
check the specs
Hi,
the battery is 16S cells per datasheet and per monitoring software. I did not unscrew the case for visual inspection, others on youtube did that...
At the moment the battery is not charging because of this problem, so i cannot tell the actual 100% SoC voltage.

soktools-main.png
 
Hi,
here a follow up on what i found out and how i fixed this problem for me.
It seems the Cerbo software has lots of special "quirks" for all the "Victron-supported" batteries.
SOK is not on the Victron list of supported batteries, but pretends to be a Pylontec. Not just the communications protocol, but also the product codes.
As a result the Cerbo implements "quirks" intended for Pylontech, that do not fit the SOK batteries.

Here is how i removed the quirk. This works for me and probably has to be redone after each Cerbo software update. But for now i have no better solution. This is only for a setup of Victron Cerbo + Victron MultiplusII + SOK 48V100 battery.

1. Get Superuser access to Cerbo, enable ssh, set ssh-password and login as root via ssh.

2. Verify you have this problem: start "dbus-spy", navigate to "MultiplusII", and look at setting "BatteryOperationalLimits/MaxChargeVoltage". If this is 52.4 then you have the problem.

3. To fix, change file /opt/victronenergy/dbus-systemcalc-py/delegates/dvcc.py as per this patch:

--- /opt/victronenergy/dbus-systemcalc-py/delegates/dvcc.py-orig
+++ /opt/victronenergy/dbus-systemcalc-py/delegates/dvcc.py
@@ -57,8 +57,11 @@
# That leaves 1.6V margin for 48V batteries and 1.0V for 24V.
# See https://github.com/victronenergy/venus/issues/536
if charge_voltage > 30:
- # 48V battery (15 cells)
- return (min(charge_voltage, 52.4), charge_current, feedback_allowed, False)
+ # Pylontech 48V battery (15 cells)
+ # SOK48V100 identifies as Pylontech, but is actually 16S cells,
+ # so use max chargevoltage 58.0 (per datasheet: 58.2)
+ # maybe use 58.4 to account for measurement inaccuracies / cable loss
+ return (min(charge_voltage, 58.0), charge_current, feedback_allowed, False)
else:
# 24V battery (8 cells). 24V batteries send CCL=0 when they are full,
# whereas the 48V batteries reduce CCL by 50% when the battery is full.

4. I had to reboot the Cerbo to make this active. Reboot via the normal GUI.

5. Verify the change is active: login as root via ssh to Cerbo, use dbus-spy again. Navigate to MultiplusII.
The setting "BatteryOperationalLimits/MaxChargeVoltage" now shows the BMS value (56 for me, it should show the minimum of value from BMS, DVCC setting or 58.xV).

6. Verify charging now works. It does for me.
 
I've just this second implemented this and after reboot, my two parallel SOK48v100's are charging at full 13A from the plug socket (uk 240v)
I just today got on the overnight charging tarrif...
 
The strange thing is, the SOK site says that its been patched out of the vitron, and that this fix is included, but I'm on the latest patches on the Multiplus 2 GX and it obviously wasnt already there...Odd.
 
I did not know this chapter of the manual exists. It is still hidden from the ToC.
It's built in to version 3.0, however version 3.0 is still a release candidate (aka development build) so you have to select that in the Cerbo. Once 3.0 is out of its candidacy the communication will work right out of the box every time
 
Back
Top