TLDR - I solved my problem via the Node-Red flow below, where standard ESS would haunt me with triggering many, many high-voltage-alarms while charging my Pylontech Batteries. Hope this helps someone else.
I've been haunted with high-voltage-alarms from my pack of 6xUS3000C, deployed in late october.
The victron recommended solution did not work for me, as even with voltages below 51.4V and charging slowly, sometimes the alarm was triggered, but the pack would never fill up to 100% SoC or start balancing.
Hence, I decided to try an alternative approach and created a NR flow that
- introduces a "kill-switch", setting the allowed max. charge current in DVCC to 0A, if a cell reaches a Voltage above 3.55V
- will reduce the allowed max. charge current in DVCC in steps, according to the value of the actual imbalance in the stack, as reported by the BMS.
The flow has been activated over the last four weeks now, and with PV intake increasing due to spring coming, the pack has been charged to 100% SoC just fine for many times, without triggering a single alarm.
In fact, for the last 5 days the pack charged fine, with a max imbalance of 25mV (which is below the value of 30mV, from where the BMS would even start balancing). Here the flow never triggered a counter measure, so I assume my pack is now well balanced enough, but I'll keep the flow running just in case.
Here it is:
ESS-NodeRed-Pylontech-avoid-high-voltage-alarms-while-charging.json.txt
With the flow keeping track, there was no need to adjust the charge voltage in DVCC anymore. The pack charged fine up to the victron defined, internal limit of 52.24V for Pylontech batteries, as stated in the documentation.
Note1: This uses MQTT and interaction with my local broker. I am using a bridge to interface with my Cerbo GX. So all mqtt topics, including VRM ID, need to be adjusted/added to suit your local setup
Note2: In my ESS setup, there is no PV via DC (like from a MPPT), only PV via AC-In from my grid-tied inverter.
Note3: This is an empiric approach, where the steps to reduce the max. charge current, according to cell imbalance, might be specific for my pack. I used reports via my TIG Stack setup, to evaluate the best numbers for a given situation.
...these are the values that worked fine for me, configured in the switch node shown above:
- no max. charge current limit, if imbalance is less-or-equal 21mV
- max. charge current limit set to 100A if imbalance is between 22-48mV
- max. charge current limit set to 8A if imbalance is between 49-99mV
- max. charge current limit set to 1A if imbalance is above 100mV
- all else, max charge current limit is set to 25A (which is exact 100mV in this case - rarely used, I've seen the need to top-up some charge sometimes, where 8A and 1A would not be enough)
...maybe I am going to adjust these later on, again. For now, these worked fine for me.
Note4: The Cell imbalance needs to be calculated from the Cell-min and Cell-max Voltage, reported by the BMS. In my setup, this is another flow, that publishes this to another mgtt topic. This is the main part to do this: Node-Red-calc-Cell-imbalance-from-Pylontech-BMS.json.txt ... add it to the main flow, if need be.