-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Request] Feature: DPL Stop Discharge if UVP cell is reached #1110
Comments
I totally agree. The BMS shall only act if something went wrong, not during normal operation. In my opinion, you should generally avoid operating "around the steep slopes" of the cells. @hoschiking Care to join the discussion? The stop threshold should be high enough such that one can expect that no cell drifts too far from the others. This should be the case for a healthy battery. The cells only drift away from each other at the extremes of the voltage spectrum or if individual cells are unbalanced or defective. Hence I am not convinced that this option should be there, as it taunts to use an unreasonable Depth of Discharge. If the setting was added, there should be a cell overvoltage threshold as well. And if we have those, how any other settings that might trip the BMS shall we monitor? Like over- and undertemperature, cell voltage difference, etc. to stop discharging before the BMS intervenes? Why do you think that cell undervoltage is particularly important to monitor? |
thats right. and, further thinking, what shall we do if overvoltage is triggert? can we actively stop the charging? anyway, to have some kind of monitoring and reporting / notification would be great. |
I would like that, but the DTU is not yet capable. As you see 49V/16 equals more than 3 V and thus part of the flat slope. Also, the cutoff occurred at more than 50 V in the last weeks. So I tried... ;-)
In my opinion, such features at the upper end, like a cell overvoltage threshold, are not really necessary, as balancing in most BMS is active at high voltages. Also, the chargers do their safety job at the upper voltage spectrum.
The monitoring of the minimal cell voltage is already happening in the battery stats as I see it. I think a soft stop at cell undervoltage is necessary because Hoymiles is not really designed to be a battery discharger. Currently, there is no measure to detect sudden cell divergence at low voltage in the BMS, DTU, or Hoymiles to initiate a soft discharge stop instead of a BMS cutoff. |
That's good! I would like to add that 3.0625V is definitely not part of the flat slope for my cells, not even for very low discharge rates. My stop voltage is at 51V, i.e., 3.1875V/cell, and I have not yet had the BMS trip before the DPL stopped discharging. I am still not convinced. And confused: What is your cell undervoltage protection (UVP) value of your BMS? Could it be that it is rather high? If the pack voltage is around 49V and 15 cells are around 3.08V on average but one cell is 2.8V, that is quite a substantial (unhealthy) voltage difference already, but should still not trigger the UVP of the BMS, at least in my opinion. What is your load correction factor? Is it too high such that the discharging stops too late? As you can see, I am looking to find issues in your setup to avoid starting to add this and then a whole bunch of additional values to monitor, which I think should not be necessary in the first place. |
My setup has no issue because my DTU stops discharging if the battery voltage is high and if one cell voltage is lower than the specified threshold, as you can see in my fork, for whatever reason... |
Is your feature request related to a problem? Please describe.
Currently, in the DPL, discharge is carried out based on battery voltage or SoC value. Newer LFP cells, in particular, have a very flat voltage curve, and their slopes drop rapidly near 10%. This can cause individual cells to suddenly diverge from the battery pack's unified cell voltages and trigger an undervoltage cutoff at the BMS.
I do not see the BMS as a regulating instrument of my system. The BMS should only be active in emergencies, like a train brake, as afterward, you have to get the system running again with a lot of manual annoyance.
Describe the solution you'd like
I propose that the minimum cell voltage already recorded in the battery stats be used to compare with a threshold and idle the DPL or stop the discharge. The solution shall do a rather simple job: the DPL stops discharge if one cell is lower than the specified cell undervoltage in UI.
I have created a commit to inspire a possible solution in my fork, which can be found here: Commit in my fork.
Describe alternatives you've considered
Another alternative would be to stop the DPL externally via MQTT when a cell undervoltage occurs. However, I would not prefer this due to external dependency.
Yet another dampening measure (not real alternative) is to continuously use active balancing in BMS over the whole voltage spectrum of the cells, but this results in unnecessary wastage, especially for systems with small solar power sources, like balcony-powered ones.
Additional context
The text was updated successfully, but these errors were encountered: