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

battery_params: increase default empty cellvoltage to 3.6v #19700

Merged
merged 1 commit into from
May 24, 2022

Conversation

MaEtUgR
Copy link
Member

@MaEtUgR MaEtUgR commented May 23, 2022

Describe problem solved by this pull request

Based on multiple reports the battery is used down too low with the default parameters. I analyzed logs and observed this happens consistently when the cell voltage is properly load compensated using the current measurement. The default load compensation before #19429 was very inaccurate and resulted in an unpredictable estimate. After that pr enabling current based load compensation by default if there is a usable current measurement and the battery is within expected tolerances of the default internal resistance the compensation is pretty good and 3.5V is clearly too low for an empty compensated cell voltage (the value is good for an uncompensated empty voltage under load). That was seen in various logs where the compensated cell voltage was already dropping fast after 3.6V.

Example:
image

Describe your solution

Increasing the default low cell voltage to the useful linear range of a healthy LiPo battery with current-based load compensated cell voltage readings. Since #19429 is enabled by default with a valid current reading.

Describe possible alternatives

A clear and concise description of alternative solutions or features you've considered.

Test data / coverage

This value was found based on calculations from existing logs where the pilot relied on the voltage based battery estimation with a healthy battery and useful current measurments. The default always lead to a quick drop in battery estimate leading to RTL and then Land without much time to react. Also the vehicle was not able to land before 0% battery. See for example:
image

With the higher empty voltage in this pr the load compensated cell voltage is much more on point to harvest the linear range of a LiPo battery. This was also tested and checking how empty the battery was after the flight by recharging it again and comparing with the labeled capacity that estimate was pretty accurate compared to before:
image

Additional context

In case the voltage is not load compensated the vehicle estimates the state of charge a bit too low which is safer than to high especially for a default configuration. We are currently rather on the limit side even if with an uncompensated voltage and that results in fast non-linear drop of state of charge at the end of the battery life. Hence we also need high percentage thresholds for low, critical and emergency battery levels.

Based on feedback that very often the battery is used down too low.
I observed this happens consistently when the cell voltage is properly
load compensated. The default load compensation before #19429 was very
inaccurate and resulted in unpredictable estimate.
After that if there is a usable current measurement and the battery is
within expected tolerances of the default internal resistance the
compensation is pretty good and 3.5V is too low for an empty compensated
cell voltage. That was seen in various logs where the compensated
cell voltage was already dropping fast after 3.6V.

In case the voltage is not load compensated the vehicle estimates the
state of charge a bit too low which is safer than to high
especially for a default configuration.
@MaEtUgR MaEtUgR requested a review from sfuhrer May 23, 2022 15:35
@MaEtUgR MaEtUgR self-assigned this May 23, 2022
Copy link
Contributor

@sfuhrer sfuhrer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Increasing it to 3.6V makes sense to me and I like that for uncompensated setups (where the current is not measured) the default value is even more on the conservative side.
With that change we shift the 0% to a higher battery voltage. That means we enter the voltage drop later on (e.g. at around 10% instead of 20%), and thus reduce the flight time spent in this region, where the vehicle's power is fast deteriorating, the remaining flight time gets unpredictable and the battery can easily take lasting damage.

@MaEtUgR MaEtUgR merged commit 4f34207 into master May 24, 2022
@MaEtUgR MaEtUgR deleted the empty-voltage-properly-compensated branch May 24, 2022 09:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants