Li-ion cell Hysteresis Parameter Estimation

35 visualizaciones (últimos 30 días)
Chinmaya
Chinmaya el 5 de Mayo de 2025
Comentada: Chinmaya el 12 de Sept. de 2025 a las 16:46
Hello,
I am currently using 3-RC ECM state equation to Estimate SoC of a li-ion cell. I intend to incorporate a hysteresis component into this model, described by the following differential equation:
I am familiar with Parameter estimation for a 3-RC ECM viz: R0, R1, R2, R3, Tau1, Tau2 and Tau3. I would like to know how to estimate gamma, M (hysteresis components) using the table based battery.
Could you provide guidance or references on setting up a parameter estimation workflow in MATLAB/Simulink that includes the hysteresis component.
I appreciate your assistance in this matter and look forward to your guidance
Regards

Respuesta aceptada

Javier Gazzarri
Javier Gazzarri el 30 de Jun. de 2025
Hello Chinmaya,
In 2025a, Model Based Calibration (MBC) includes a template for ECMs with hysteresis.
To do this, you must use the Battery Equivalent Circuit block or, alternatively, MBC's BatteryEstimSOCT_ECB.slx template as shown in the documentation linked above.
It may be a good idea to design an experiment dedicated exclusively to this end, such as a low C-rate back and forth charge and discharge, as explained in Prof. Plett's paper: (ECE5710-Notes02.pdf, Section 2.4)
Please let me know if you have any questions.
Best regards,
Javier
  1 comentario
Chinmaya
Chinmaya el 1 de Jul. de 2025
Hello Sir,
Thank you for your detailed response.
I had a couple of follow-up questions regarding the experiment. Would performing the charge-discharge cycle at C/2 be acceptable for capturing hysteresis characteristics, or would you recommend using a lower C-rate such as C/3 or C/5 for better accuracy?
Additionally, I’ve attached a sample charge-discharge profile for your reference. Could you kindly confirm if this approach aligns with the recommended test procedure?
Looking forward to your guidance.
Regards,
Chinmaya

Iniciar sesión para comentar.

Más respuestas (2)

Javier Gazzarri
Javier Gazzarri el 1 de Jul. de 2025
Hello Chinmaya,
I'd recommend C/20 or lower. C/5 is still too high to avoid ohmic losses.
Your profile goes back to 100% in the charging direction. I'd recommend the following SOC breakpoints:
100 - 0 - 90 - 10 - 80 - 20 - 70 - 30 - 60 - 40 - 50
In this way you will capture the hysteresis behavior in both directions at all SOCs.
Best regards,
Javier
  1 comentario
Chinmaya
Chinmaya el 12 de Sept. de 2025 a las 7:10
Hello Sir,
Thank you for your guidance earlier.
I have completed the back-and-forth charge–discharge tests at 25°C, 35°C, and 45°C across the following SoC breakpoints:
100 → 0 → 90 → 10 → 80 → 20 → 70 → 30 → 30 → 40 → 50.
Using BatteryEstimSOCT_ECB.slx in CAGE (MBC Toolbox), I populated the following lookup tables:
  • R0, R1, R2, R3, Tau1, Tau2, Tau3
  • Instantaneous hysteresis voltage (M0)
  • Maximum hysteresis voltage (M)
Additionally, I calibrated capacity and the hysteresis rate constant (γ).
However, while running a simple CCCV charging simulation of the battery pack using these parameters, I observed that the SoC does not align with the OCV (screenshot attached: CCCV_Charge_plot).
Based on this, I would like your guidance on the following points:
  1. Can the lookup tables (R0, R1, R2, R3, Tau1, Tau2, Tau3) generated from the back-and-forth charge–discharge data be directly used to populate the Battery Equivalent Circuit block?Or should only the hysteresis parameters derived from this data be used?
  2. Since the back-and-forth charge–discharge data contains both discharge and charge curves, would it be more appropriate to use one of the following templates (which account for current directionality) to generate the complete 3-RC ECM with hysteresis lookup tables?
  • BatteryEstimSOCT_ECBdir.slx
  • BatteryEstimSOCT_ECB_PTBS.slx
  • BatteryEstimSOCT_ECBdir_PTBS.slx
Your guidance on these points will be of great help in resolving the issue.
Best regards,
Chinmaya

Iniciar sesión para comentar.


Javier Gazzarri
Javier Gazzarri el 12 de Sept. de 2025 a las 11:55
Hello Chinmaya,
Thank you for reaching out. Glad to hear about your progress.
1- Slow charge/discharge curves are not adequate for the estimation of the dynamic parameters R0, R1, R2, R3, Tau1, Tau2, Tau3 because the experiment is unable to exercise due to the low C-rate. This kind of test is only useful for hysteresis parameter estimation. Dynamic parameters need to be estimated using dynamic profiles such as HPPC. Here is some guidance on this, but please let me know if you need further explanation: Battery Modeling - MATLAB & Simulink. You can skip to 11m:00s.
2- This is only necessary if your battery responds differently to charge current than to discharge current. You can quickly check that with a quick discharge pulse followed by a charge pulse, making sure you leave some time for relaxation in between. The Battery Equivalent Circuit block can be configured to have different parameters in both directions.
Hope this helps. Please let me know if you have any questions.
Best regards,
Javier
  1 comentario
Chinmaya
Chinmaya el 12 de Sept. de 2025 a las 16:46
Hello Sir,
Thank you for your guidance.
I re-ran the calibration using BatteryEstimSOCT_ECB.slx. This time, I unchecked all the 3-RC ECM parameters (OCV, R0, R1, R2, R3, Tau1, Tau2, Tau3) and populated only the following:
  • Instantaneous hysteresis voltage
  • Maximum hysteresis voltage
  • Hysteresis rate
I have attached the .mat file and relevant snapshots for your reference.
My queries are as follows:
  1. How can I validate the results and confirm whether the calibrated hysteresis parameters are correct?
  2. If the hysteresis parameters are validated, can they be directly used in a Battery Equivalent Circuit block along with the 3-RC ECM parameters (OCV, R0, R1, R2, R3, Tau1, Tau2, Tau3) that I previously estimated from pulse discharge data?
Your insights on this would be greatly helpful.
Best regards,
Chinmaya

Iniciar sesión para comentar.

Categorías

Más información sobre Energy Storage en Help Center y File Exchange.

Productos


Versión

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by