DC load discharges battery while enough solar power would be available

Hi everyone,

I recently found an issue that a connected DC load discharges my battery even when enough solar power would be available. Let me describe my setup before explaining the issue in more detail. I have to say right away that my setup contains DIY components but I hope that someone is still able to give me some hints to get it all working.

Working Setup

Starting with the battery, I have built a 16S, 380Ah LiFePo4 pack to which my own BMS hardware is attached.
The battery pack is charged by two Victron MPPT 250|85 VE.CAN.
There are also three MultiPlus-II 48|3000|35-32 forming a 3-phase system.
Both, the MPPT and the MultiPlus are connected to a Cerbo GX via VE.CAN.
My BMS is connected to the Cerbo GX via a serial connection and it’s driver is exposing the battery readings to the DBUS.
So far, this setup is working perfectly fine since about a year and the integration of my BMS seems to work pretty well.

Upgraded Setup

I plan to upgrade the setup with a 3kW heating element to produce hot water from excessive solar energy instead of injecting it into the grid.
The heating element will be DC-coupled to avoid loading the MultiPlus and reduce inverter losses.
I would like the heating element to be adjustable so that I can regulate it based on the amount of excessive solar energy and other factors.
To achieve that, I have designed a controller that sits between the battery and the heating element.
It is connected to the Cerbo GX via serial to set the desired output power.
It also reports back precise readings of the actual voltage, current and power draw from the battery, synchronized with the readings from the BMS.
Just like the BMS, its driver then exposes the values to the DBUS as com.victronenergy.dcsystem.

Problem

When the battery is fully charged (or still above the “charge restart threshold” of the BMS), the DC load will discharge the battery even when enough solar power would be available. It seems that both MPPTs only compensate for the current draw of the three MultiPlus but ignore the discharge current reported by the BMS and also the DC load.

This is not temporary but discharges the battery below the float voltage configured in the MPPTs and charge voltage limit requested by the BMS. The discharge continues until the battery reaches the “charge restart threshold” which makes the BMS increase the charge voltage limit and set the charge current limit back to the configured maximum.

I did some experiments and this only seems to be a problem when the battery is fully charged. For example, when I set a charge current limit of 10A via DVCC, the MPPTs will regulate the current down to about 10A as expected. If I now turn on the DC load without reporting the loads measurements to the DBUS, it will discharge the battery. Or differently put, the charge current seen by the BMS/battery will be reduced by the current draw from the DC load.

When I report the measurements of the DC load correctly to the DBUS, the charge current drops for a short moment and the MPPTs regulate it back to about 10A, compensating the DC load. So this seems to work properly I think, but only as long as we are in bulk/absorption, not float.

Are there any ideas what could go wrong or what I might be missing? All measurements from the BMS and DC load should be very precise. They have been carefully calibrated with proper lab equipment and use high quality components. So I would not expect to find the issue there.

Any input is highly appreciated. I can take screenshots of my configuration if you let me know what you need.

Many thanks,
Josi

I got same issue, for my second inverter, so i just add Inventor DC current to charge limit. I have dummy bms it is not connected to Venus os, only to home assistant.

I believe this is not really the same issue as your bms and dc load (the other inverter) are not reporting any data back to the Victron system. So naturally, it will not know about it and therefore probably ignore it.

Adding the discharge current of the dc load to the charge current limit is also no solution in my case. During the charging process, the current draw from the dc load seems to be respected and compensated for correctly. The issues starts when the battery is fully charged and we are in float state. Then the battery starts to discharge below the float voltage until the bms allows for bulk charge again.

Yesterday one more idea came to mind. When the battery is considered fully charged and we are in float, the bms will request a charge current limit of 0A. Since the dc load is reporting its current draw I assumed the system would compensate for it, but maybe that’s not the case.

Once I find time I try to flash a testing firmware to the bms that doesn’t set the charge current limit to 0 and see if that changes anything. But this would be a behavior I would actually not expect.