capacity estimation coupled with SOH estimation, Li-Ion cell

Goodmorning,
I'm trying to evaluate the state of health of a Li-Ion cell comparing the estimated results with the experimental data. In order to do this, I'm using the Capacity estimation block coupled with the SOH block (capacity based). I used the SOC estimation block as input for the capacity estimator and the parameters of the battery were set using Battery (table-based) block, in which I also set the capacity fade using the equation option already implemented in the block.
I'm not able to find reliable results because the capacity increases during the charging phase and decreases during the discharge, in such a way that the SOH oscillates from 1 to 0.6 or even to 0 after few cycles. Instead, using the SOH estimation based on the resistance increase I can obtain reliable results. I would like to compare the results using both methods.
I kindly ask what can be wrong in the estimation of the capacity or if the problem is in something else.
Thank You in advance,
Irene

21 Comments

Hi @irene giusti, could you please share the model and any additional details so that I can reproduce the issue on my end and offer insights to address the issue.
Hi @akshatsood, you can find attached the files. I have added a 'Mean' block in order to remove the oscillations which come from the 'Capacity estimation' block, but I'm not sure it's the correct choice. Thank You.
Hi @irene giusti, thank you for sharing the files. To be on the same ground, I would like to confirm that SOH estimated from the below section of model is far from expected.
While, for the below segment of mode, estimated SOH is in line with the expected value.
Please correct me if I am wrong in understanding the question.
the SOH estimation based on the resistance increase works if you set in the battery characteristics the fade only in the resistance. The problem is that it's almost impossible to find experimental results about the internal resistance increase during life cycle; instead I have results regarding capacity, from which I created a lookup table (fade_percentage_cap).
The SOH (capacity based) oscillates from 1 to 0 because the capacity estimation oscillates between 1.5 and 8. Trying to solve the problem, I added the 'mean' block so now my question is: has it a physical meaning or not? Is it normal that the estimated capacity oscillates in such a way? or is there a problem in the set-up?
The approach to estimate the State of Health (SOH) based on resistance increase is indeed viable when battery degradation primarily manifests as an increase in internal resistance. However, the challenge of scarce experimental data on resistance changes over the lifecycle makes this method less practical. Your strategy to construct a lookup table using capacity fade data is an alternative, as capacity metrics are more readily available.
The oscillation of the SOH from 1 to 0 due to the capacity estimation fluctuating between 1.5 and 8 suggests that there may be an issue with the setup or the model itself. Normally, you would expect the capacity to decrease gradually, not oscillate, as the battery degrades. The inclusion of a 'mean' block seems to be an attempt to smooth out these fluctuations, but it's crucial to consider whether this averaging has a physical basis or if it merely masks the underlying problem.
It is not typical for the estimated capacity to oscillate so widely, and it could indicate that the model or the input data is not accurately capturing the battery's behavior. This could be due to incorrect assumptions in the model, or other factors. This requires a more detailed investigation and I would share any updates I will have during the investigation.
I really appreciate, thank you
Did you get a chance to go through this MATLAB Answer, it seems to address a similar issues pertaining to SOH. Kindly go through it and let me know if it helps in address the issue.
Yes, thanks to that answer I resolved the problem I had related to SOH based on resistance increase, now the model works setting only the conditions of resistance fade. Going on I realized that it was not easy to find data about the internal resistance in order to validate the model, so it will be easier to analyse the lifecycle referring to capacity degradation.
Hi @irene giusti, glad to know that. I am moving this discussion to the "Answers" section so that it helps someone out facing a similar issue as yours.
I am reaching out regarding the model you shared for State of Health (SoH) estimation. Unfortunately, I am using MATLAB 2018b, and it seems that your model is not compatible with this version, as I am unable to open it in Simulink.
Could you please provide a version of the model that is compatible with MATLAB 2018b? If that is not possible, could you suggest a method to view and use your model in this version?
Thank you in advance for your assistance.
Please use "Upgrade Advisor" to make the model compatible to your current release.
I'm currently working with MATLAB 2018b and encountered an issue when trying to open the Simulink model you sent me. The model was created with MATLAB 2023b, which makes it incompatible with my version.
I also wanted to mention that the Upgrade Advisor tool does not allow me to downgrade a model to an earlier version, like MATLAB 2018b. It can only be used to upgrade models to a newer version, so it doesn't resolve the issue in this case.
To move forward, could you please:
  1. Export the model from MATLAB 2023b by selecting File > Export Model To > Previous Version and choosing MATLAB 2018b?
  2. If certain blocks (like the SOH Estimator block) are not compatible with MATLAB 2018b, could you suggest an alternative solution or provide a compatible SOH estimation model?
This would greatly help me continue with my project. I appreciate your assistance in advance !
Thank you very much, I will check out this model.
I would like to request @irene giusti Simulink model for estimating the state of health (SOH) based on capacity and resistance, compatible with MATLAB version 2018b. Could you kindly provide it?
Thank you in advance.
Please note that I have provided you with the model that OP shared with me in our earlier conversation.
Yes, I am looking for the correct model to estimate the SoH (State of Health) based on capacity degradation. The problem is that I don't have experimental results on degradation. I only have data for voltage, current, and SOC (State of Charge), but I can calculate the variation in capacity by integrating the current.
Therefore, I would like a model that can estimate SoH based on capacity. I tried using the model you shared, but it didn't work. I would appreciate feedback on this issue, but I didn't understand how the problem was corrected.
Could you help me find a model that can estimate SoH based on capacity?
Please note that the "SOH Estimator" was introduced in the R2023b release, which is why you are encountering this issue in your current release, R2018b.
Yes, I understand that. However, is it possible to create a model to estimate the SoH in version R2018b? If so, do you have a model you could suggest, or what alternatives or methods could be used?
Best regards,

Sign in to comment.

 Accepted Answer

akshatsood
akshatsood on 5 Feb 2024
Edited: akshatsood on 5 Feb 2024
I understand that you are observing a difference in the estimated data and experimental data. On investigating the files shared and understanding the requirements highlighted in the question, I put forward the following observations
  1. The approach to estimate the State of Health (SOH) based on resistance increase is indeed viable when battery degradation primarily manifests as an increase in internal resistance. However, challenge of scarce experimental data on resistance changes over the lifecycle makes this method less practical. Your strategy to construct a lookup table using fade data is an alternative, as capacity metrics are more readily available.
  2. The oscillation of the SOH from 1 to 0 due to the capacity estimation fluctuating between 1.5 and 8 suggests that there may be an issue with the setup or the model itself. Normally, you would expect capacity to decrease gradually, not oscillate, as the battery degrades. The inclusion of a 'mean' block seems to be an attempt to smooth out these fluctuations, but it is crucial to consider whether this averaging has a physical ground or if it merely masks the symptoms of an underlying problem that needs to be addressed.
  3. It is not typical for the estimated capacity to oscillate so widely, and it could indicate that the model or the input data is not accurately capturing the battery behavior. This could be due to incorrect assumptions in the model. This requires a more detailed investigation and I would share any updates I will have.
Further, I would request you to go through the following MATLAB Answer, it seems to address a similar problem pertaining to SOH. Do let me know if it helps in resolving the problem.
I hope this helps.

1 Comment

Thank You for the answer, I will investigate in order to find the error in the battery model settings

Sign in to comment.

More Answers (0)

Categories

Products

Release

R2023b

Asked:

on 26 Jan 2024

Commented:

on 23 Sep 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!