Contenuto principale

fitecm

Estimate parameters of battery equivalent circuit model for constant current pulse

Since R2025a

Description

equivalentCircuitModel = fitecm(myFitECM,pulseData) estimates the parameters of a battery equivalent circuit model (ECM) for the constant current pulse, pulseData, and returns an ECM object with the estimated parameters. The function retrieves the ECM object to fit the pulse data in from the FitEquivalentCircuitModel object, myFitECM.

example

Examples

collapse all

This example shows how to fit a single hybrid pulse power characterization (HPPC) profile inside an ECM by using the fitting method of a FitEquivalentCircuitModel object.

Note

This workflow is not recommended. To fit HPPC data inside an ECM, use the fitECM function instead.

Import the package required to use the FitEquivalentCircuitModel object and its methods.

import simscape.battery.parameters.*;

Open the DownloadBatteryData example and load the required HPPC data obtained for a BAK 2.9 Ah battery cell at 25 °C. This data consists of a table with three columns. The columns of the table refer to time, voltage, and current values, respectively.

openExample("simscapebattery/DownloadBatteryDataExample")
load("testDataBAKcells/hppcDataBAKcell25degC.mat")

Store the HPPC data inside an HPPCTest object by using the hppcTest function. The HPPC data is a table, so you must also specify each column name by using the TimeVariable, VoltageVariable, and CurrentVariable arguments. These names must match the names of the columns in the hppcData table.

hppcExp = hppcTest(hppcData,...
    TimeVariable="time (s)",...
    VoltageVariable="voltage (V)",...
    CurrentVariable="current (A)");

Extract the data of a single HPPC profile from the loaded HPPC data and retrieve the information about voltage and current only.

singlePulse = hppcExp.TestSummary.HPPCData{1};
singlePulse = singlePulse(:,1:2)
singlePulse =

  701×2 timetable

      Time       Voltage    Current
    _________    _______    _______

    0 sec        4.1745           0
    0.12 sec     3.9467      -6.075
    0.22 sec     3.8745     -6.1881
    0.32 sec     3.8698     -6.1885
    0.42 sec     3.8671     -6.1867

        :           :          :   

    69.56 sec    4.1156           0
    69.66 sec    4.1157           0
    69.76 sec    4.1157           0
    69.86 sec    4.1156           0
    69.96 sec    4.1158           0

	Display all 701 rows.

Fit the data of this single HPPC profile to an equivalent circuit model by using the fitecm method of a FitEquivalentCircuitModel object. The fitecm function fits the single-profile HPPC data inside the ECM object specified in the ECM property of the FitEquivalentCircuitModel object.

myFitEcmObject = FitEquivalentCircuitModel;
equivalentCircModel = fitecm(myFitEcmObject,singlePulse)
equivalentCircModel = 

  ECM with properties:

                          NumRCPairs: 2
                       NumParameters: 5
                       ParameterList: ["R0"    "R1"    "C1"    "R2"    "C2"]
                    CircuitImpedance: "R0 + 1/(i*w*C1+1/R1) + 1/(i*w*C2+1/R2)"
                     ParameterValues: [0.0428 0.0120 1.0352e+03 0.0132 8.2816e+03]
                ModelParameterTables: [1×1 struct]
            ResistanceSOCBreakpoints: [0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1] (1)
    ResistanceTemperatureBreakpoints: [278 293 313] (K)
        ResistanceCurrentBreakpoints: 1 (A)

Show all properties
The fitecm method returns an ECM object with estimated fitted parameters from the single-profile HPPC data.

Input Arguments

collapse all

Fit equivalent circuit model, specified as a FitEquivalentCircuitModel object. This object contains the data that the fitecm function requires to estimate the parameters of the battery ECM, including the ECM, fitting method, and fitting options.

Constant current pulse that the function uses to estimate the ECM parameter from, specified as a matrix, table, or timetable.

If specify this argument as a matrix, the software assumes that the columns of the matrix refer to time, voltage, and current, in this order.

If you specify this argument as a table or timetable, you must specify each column or variable name.

Output Arguments

collapse all

Equivalent circuit model with estimated parameters, returned as an ECM object.

Version History

Introduced in R2025a