Skip to content
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

Open
Robert-Schimanek opened this issue Jul 16, 2024 · 5 comments
Open

[Request] Feature: DPL Stop Discharge if UVP cell is reached #1110

Robert-Schimanek opened this issue Jul 16, 2024 · 5 comments
Labels
enhancement New feature or request

Comments

@Robert-Schimanek
Copy link

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

image

@Robert-Schimanek Robert-Schimanek added the enhancement New feature or request label Jul 16, 2024
@schlimmchen
Copy link
Member

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.

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?

@spcqike
Copy link

spcqike commented Jul 16, 2024

If the setting was added, there should be a cell overvoltage threshold as well

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.

@Robert-Schimanek
Copy link
Author

Robert-Schimanek commented Jul 16, 2024

In my opinion, you should generally avoid operating "around the steep slopes" of the cells.

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... ;-)

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?

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.

Why do you think that cell undervoltage is particularly important to monitor?

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.

@schlimmchen
Copy link
Member

So I tried...

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.

image

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.

@Robert-Schimanek
Copy link
Author

Robert-Schimanek commented Jul 16, 2024

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...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants