Open wetty opened 1 month ago
Setting for CVL was "min_when_balancing". With this BatteryAggregator switches to the lowest value, which is in my example/Screenshoot the Foat/FloatTransition Value of Akku 1. Akku 2 is still balancing as the delta is 0.024V. So the overall Battery Charge Voltage should be the value of Akku 2. In my case 62.24V (18x 3.45 = 62.1V + 0.14V Drop Off).
So I thing the CVL Setting/Calculation needs something that ignores the Float and Float Transition mode as long as another Battery is still in Bulk or Absorption Mode. Then it should take the lowest value of all the Buld/Absorption Voltages.
Only when all Batteries are in Float Or Float Transition Mode the highest of the Float Voltages should be used.
Can you check if the mode is available in dbus? This is the main issue with trying to implement CVL well, trying to extract the required information over dbus from the bms. Atm I am mainly dependent on /Io/AllowToCharge and /Balancing.
The Mode as string value is available under the battery Info/ChargeMode
Maybe have a look at the same problem from dbus-aggregate-batteries
Does soc happen to be 100% or close to, when charge mode is float or float transition? If I can use soc then this will also work for people who don't use serialbattery.
I have to check whether the soc is really 100%, but normally it should be 100% or at least 99%, as the float transition only starts when the cell difference is under a defined value for a period of time. For example less than 0.010V for 15 minutes when the overall voltage is reached. Hope my batteries will reach 100% tomorow so i can check it.
I've also put a new version, 3.15, in 'main' for you to try. It should exclude any disconnected or floating batteries from the cvl calculation, see where that gets us.
With this version the min_when_balancing seems not to work.
I switched back to 3.14 and min_when_balancing did work again. So it was no config fault.
Try v3.16.
Just installed 3.16 as the batteries were at 99% and one battery was already in float mode. In this case the float one should be ignored and the voltage of the one in bulk mode should be the correct one and not the float one. Setting was min_when_balancing. (currently trying max_when_balancing)
I think that it is not possible to detect the float mode by the soc, as float mode only starts after a defined period of time, when the delta ist below a value and the final voltage is reached (even all parameters can be configured infividually). SOC is mostly => 99 when maybe voltage is reached but Diff is still to hight.
what soc does the floating battery report as?
what soc does the floating battery report as?
As mentioned they were both on 99%
THATS WRONG: Current setting is now max_when_balancing. But it also takes the lowest value Setting was an min. Sorry!
Batteries again both in bulk mode and min_when_balancing. First both were at 99% Shortly after that they were both 100% The higher value of the two batteries was taken. The lower would be correct. Both are not in float or floating mode
Ah, ok. v3.17 excludes batteries where /Info/ChargeMode (if available) contains "float".
One Battery in Float is working. Hope I can get both batteries into float mode. Then they should be not exclude.
I currently did not get the second Akku fully loaded and balanced because of not enough sun. Final Test Result may take a few month until spring :-)
Its not working. Seems that when the second Akku changes to float mode BatteryAggregator excludes both Akkus. The system then reported the Bms Lost Error. Version was 3.17 (updated to 3.18 afterwards)
But in this case both floating Akkus should be included again!
Bulk + Bulk = Bulk Bulk + Float = Bulk Float + Float = Float
Both Akkus where in float mode (18x 3,375V)
I've added debug logging to track what's not working. You can turn on debug in config via https://github.com/pulquero/BatteryAggregator?tab=readme-ov-file#logging or live via dbus with /LogLevel.
Of particular interest will be lines starting "Charge mode for " or "Battery CVL: "
Please include system details:
Hardware:
Setup: DVCC Everything is off except BatteryAggregator as BMS
BatteryAggregator with the described behaviour was Version 3.2 (I have now updated to Version 3.13, but hat not tested again)
I checked the BatteryAggregator Settings after writing this issue and found that cvlMode is on max_always. But I thing non of the cvlMode does handle the scenario correct. I have to test a little bit further.
I have two scenarios for reducing the charge voltage.
Maybe it is a little bit tricky do decide which behaviour is correct. In my case when both batteries are in Bulk or Absorption mode then the minimum of the charging voltages is correct. When both batteries are in float mode, then the lowest voltage is correct. And when one batterie is in Bulk or Absorption and the other one is in float, then the voltage of the batterie in Bulk or Absorption should be correct.