ESS, DVCC, CAN Bus (JKBMS) - Who takes control, what is actually relevant?

Hi,

I’m trying to fully understand the control mechanism of my intended setup. It is quite simple - AC Coupled Battery Storage:

MP2 GX, with a DIY LiFePo4 Batter, using a JKBMS with CAN connected to the GX device.
Nothing is connected on ACout.
There is a Grid Meter in my house installation.
There is a PV System (completely independent to this victron setup) on the AC In.

My goal is to have a 0 feed in system.

Now I don’t completely understand the Victron configuration. Here are some questions, you might be able to help me:

  1. When DVCC is disabled, does my battery still communicate with the Victron setup?
  2. When DVCC is enabled, my understanding is, that the BMS of the battery is leading the way → Telling the Victron the target charge voltage and the momentary current limit.
    While discharging, it is also telling the current limit for discharging.
    So this means, the complete “charge logic” (float, absorption, …) is being handled by the BMS.
  3. When configuring the ESS Assistant, it does prompt for a Sustain voltage and the Dynamic Cut of Voltages.
    While i do understand these values, I’m asking myself: Are they still relevant, when DVCC is enabled? Or are they being ignorred? Just used as fallback, if the CAN communication is interrupted? Or are they ALSO considered, meaning either the BMS tells the Victron to stop, or the Dynamic cut off does trigger.
  4. Same question for the values in VEConfig in the “Charger” tab.

How would the ideal configuration look like? IMHO, using the BMS as the master is the ideal way, since it has ALL information on the battery. And this will avoid in the best possible way, that a Cell undervoltage protection will disconnect the BMS completely.
I mean, when having big imbalances in the cells, it might be possible, that the low voltage value of the victron is not being reached. So if the Victron is the Master, it will continiue discharging and at some point, the BMS will disconnect due to the first cell beeing too low.
If the BMS would be the master, the BMS would have told the Victron already at some cell low voltage warning value to stop, without the need to go to the hard disconnect.

Hope you get my questions and can help me or point to some sources.

Hi @myvictronguy

Good questions, and a topic I have been meaning to write on for a while.

Disclaimer - this is a work in progress, and likely will be updated as I receive corrections for more precise wording from my colleagues. Eventually I will put this info into a manual or otherwise official spot and only then can it be considered canonical fact.

But for now;

When DVCC is disabled the battery will still communicate with the Victron, however the BMS will only send the information to the GX and log it. The Victron system will NOT take the next step of interpreting those values, and will not control the charging processes or parameters of the other Victron equipment.

There are some cases where it is not possible to disable DVCC when the battery manufacturer has specified that it is required for the battery. Then it is “Forced on”.

When DVCC is enabled, the BMS passes the Charge Current Limit (CCL), Charge Voltage Limit (CVL) and the Discharge Current Limit (DCL). These are the main control parameters used by the Victron system to control the charging and discharging of the overall system.
It is not totally accurate to say that the BMS is controlling the charge logic, only so far as those values, which are then interpreted by the Victron system.
But indeed the BMS is leading via those values.

As a crude analogy, the Victron GX is hands on the wheel driving the car, and the BMS is in the back seat yelling faster, slower, stop, stop!
If the BMS stops communicating, the Victron system will still be in charge of the process, but will usually stop any charging until communication is re-established.

Dynamic Cut Off values are still relevant when DVCC is enabled. In most cases if a manual value is set, then the more conservative value will be used (if it comes from either manual setting or via the BMS → DVCC).

DVCC is additional data to the charging process, it does not overrule all other values. If a lower charge current limit is set somewhere else in the Victron system (on a specific MPPT, or Inverter Charger) then that limit will be respected, even if the battery gives a higher CCL value.

This is very important because the battery only knows itself and gives the user no control, and there may be other constraints on the rest of the system that need individual configuration. There are many many places where you can set these kinds of values, all with specific reasons for doing so. This is one of the complexities, but also powers of the Victron system.

That said it should work quite well out of the box in most cases.

Custom values aren’t just used as fallback. There is no fallback either(**) the actual behaviour if CAN communication is interrupted is that devices will mostly stop charging entirely and report an error (BMS not found, eg Error #67 for MPPTs).

The answer and behaviour is the same for VEConfigure and the MultiPlus as it is for VictronConnect and the MPPTs.

(**) - The caveat here is that I heard of a case where an installer incorrectly connected the BMS-Can cable and the system never saw that a BMS was connected. This wasn’t obvious to them at the time of installation. Then the manual values they entered into their chargers WERE used as some kind of fallback, but only because the system had never seen the BMS so the flags to disable charging if it was disconnected were never set.

The source documentation for DVCC is located here - 12. DVCC - Distributed Voltage and Current Control

5 Likes

Awesome reply, thank you so much. Also, I can’t understand, how i didn’t find that chapter in the manual. Maybe a hint/link in the ESS documentation to this chapter might be helpful for futher users.

You helped me a lot, clearing up ambiguities.

If I wanted to victron don’t shut down for a under voltage, I simply could set all the dynamic cut off values quite low (e.g. 30V in a 16s system = 1.875V cell), which should never be reached.

Same for the Sustain voltage, If I don’t want that sustain feature to be used, simply set it to low values.

I really have to say, the Victron eco system is quite complex. I’ve an electrical engineering degree and would describe as quite tech savvy. But man, did all that victron eco system cause some confusion to me.
But I get it, you can’t have a flexible “fit it all” system, without it being complex. And you guys try to put everything in some documentation, what again leads to much documentation, easily overlooked.

But good job on this forum, and thanks again!