victronenergy / venus

Victron Energy Unix/Linux OS
https://github.com/victronenergy/venus/wiki
551 stars 69 forks source link

systemcalc: Auto recharge does not activate while system is in "slow charge" #1193

Closed izak closed 6 months ago

izak commented 6 months ago

The BatteryLife/ESS engine state machine has a state for Slow Charge. This is entered if the battery has been below MinSoc for more than 24 hours. In that case it will charge the battery at 5A, or some low current, just to prevent damage.

In a system where (always) peak shaving is enabled, it is possible for a system that is in slow charge to still do peak shaving, and then end up discharging rather than charging the battery.

There is also no transition in the state machine from slow charge to (auto-)recharge, which means it is possible to get stuck in this state and completely deplete the battery.

Fix: Add a transition from slow charge to recharge.

mpvader commented 6 months ago

Or remove the whole slow charge feature? What is it for?

izak commented 6 months ago

ESS manual says:

Slow charge: ESS will slowly charge the battery when the SoC has been below the actual SoC limit for more than 24 hours. It will keep slow charging until the lower limit has been reached at which point the system once again switches to Discharge disabled.

As is usually the case with something that started in hub4control 8 years ago, there is no documentation anywhere about what it was for. Always suspected it was for lead acid batteries which don't like to sit idle while at low SOC.

Since auto-recharge does the same thing (although it kicks in at -5% rather than 24 hours), maybe we can indeed drop this.

Either way, it is not a hard fix.

izak commented 6 months ago

Conclusion. Slow charge is an important part of the BatteryLife algorithm.

BatteryLife seeks to increase the minimum SOC of the battery by 5% on each day it does not reach at least 85% SOC. This bump in active soclimit is done when the Discharged state is entered.

The slow-charge mode serves to pull the SOC up by 5%, by increasing the active soc limit, and applying a low charge current on days when there is so little sun that the battery SOC cannot even be raised enough to even briefly get back into self-consumption.

Therefore the answer is not to remove it. The best solution for now is to just add the missing transition to auto-recharge.