Hauptinhalt

fitecmToHppcTestSuite

Estimate parameters of battery equivalent circuit model from HPPCTestSuite object

Since R2025a

Description

equivalentCircuitModel = fitecmToHppcTestSuite(myFitECM,myHppcTestSuite) estimates the parameters of a battery equivalent circuit model (ECM) for several hybrid pulse power characterization (HPPC) tests inside an HPPCTestSuite object, myHppcTestSuite, 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 series of hybrid pulse power characterization (HPPC) profiles 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 to load the required HPPC data obtained for a BAK 2.9 Ah battery cell at 0, 10, and 25 °C. Each 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 the data and store each 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.

load("testDataBAKcells/hppcDataBAKcell0degC.mat")
hppcExp0degC = hppcTest(hppcData,TimeVariable="time (s)",... 
VoltageVariable="voltage (V)",...
CurrentVariable="current (A)",...
Temperature=zeros(numel(hppcData(:,1)),1));

load("testDataBAKcells/hppcDataBAKcell10degC.mat")
hppcExp10degC = hppcTest(hppcData,TimeVariable="time (s)",...
VoltageVariable="voltage (V)",...
CurrentVariable="current (A)",...
Temperature=repmat(10,numel(hppcData(:,1)),1));

load("testDataBAKcells/hppcDataBAKcell25degC.mat")
hppcExp25degC = hppcTest(hppcData,TimeVariable="time (s)",...
VoltageVariable="voltage (V)",...
CurrentVariable="current (A)",...
Temperature=repmat(25,numel(hppcData(:,1)),1));

Create a data container for the three HPPCTest objects by using the hppcTestSuite function.

hppcSuite = hppcTestSuite([hppcExp0degC;hppcExp10degC;hppcExp25degC]);
disp(hppcSuite.SuiteSummary)
    TestID                      Test                      Temperature    NumPulses
    ______    ________________________________________    ___________    _________

      1       1×1 simscape.battery.parameters.HPPCTest         0            18    
      2       1×1 simscape.battery.parameters.HPPCTest        10            18    
      3       1×1 simscape.battery.parameters.HPPCTest        25            18    

Fit the HPPC data of the HPPC suite to an equivalent circuit model by using the fitecmToHppcTestSuite method of a FitEquivalentCircuitModel object. The fitecmToHppcTestSuite function fits the HPPC data to the ECM object specified in the ECM property of the FitEquivalentCircuitModel object.

myFitEcmObject = FitEquivalentCircuitModel;
equivalentCircModel = fitecmToHppcTestSuite(myFitEcmObject,hppcSuite)
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.0250 0.0250 10 0.0125 100]
                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 fitecmToHppcTestSuite method returns an ECM object with estimated fitted parameters from all the identified profiles inside the HPPCTestSuite object.

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.

Sequence of hybrid pulse power characterization (HPPC) tests stored inside an HPPC test container suite, specified as an HPPCTestSuite object.

Output Arguments

collapse all

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

Version History

Introduced in R2025a