Characterize Battery Health Using Cycler-Based Test Data
Battery health management includes state-of-health (SOH) estimation, remaining useful life (RUL) prediction, and early cycle life prediction. During the design phase, important information about battery design and performance is gathered by using a cell-level battery cycler that performs a specific repeated sequence of charge/discharge/rest operations using a test protocol. The cycling process collects measurements on key quantities such as voltage and current, and key test information like cycle index and step index.
The following figure illustrates a typical test cycle, which in this case is five hours long. The cycle includes a constant-current constant-voltage charge phase and a constant-current discharge phase.
The test data includes a large amount of information that you can use to generate features that give insight into battery health and degradation level. However, to analyze this data in a meaningful way, you must organize, or parse, the data so that you can isolate feature extraction to specific operations during the test, such as cycling phase or constant-current segments.
Predictive Maintenance Toolbox™ provides specialized battery analysis tools that let you perform data parsing and feature extraction automatically on test data.
batteryTestDataParser
, combined withsegmentData
, performs the parsing task and outputs an encapsulated data object that includes measurement data and cycling information.batteryTestFeatureExtractor
, combined withextract
, extracts the features that you specify. These features include standard features such as cumulative values, energy, and kurtosis. You can also specify features such as incremental capacity, for whichextract
computes differential curves.
General Workflow
The following figure illustrates the general workflow, from the input of battery cycler data to the output of the battery feature table.
Collect and preprocess the data.
You must perform this step prior to using the battery analysis tools. Typical data cleaning tasks include discarding
NaN
data and fixing timeline corruption due to computer auto-restarts and to overly long intervals between consecutive data points.
Organize Data
Encapsulate the data by creating a
batteryTestDataParser
object and setting critical properties. Critical properties include the variable names that correspond to the data columns for required values such as current, voltage, and cycle index. You can also specify cycles to exclude, if your preprocessing identified cycles with invalid data.The software ignores data columns that have no corresponding variable-name property.
Use
segmentData
to classify and organize the data by identifying cycling phase, cycling mode, and data validity. UsingsegmentData
is especially useful for identifying problems in the data collection process and identifying cycles to exclude.
Specify and Extract Features
Configure
batteryTestFeatureExtractor
to extract the feature sets that you want.
Use
extract
to extract the specified features from the segmented parser object into a feature table.
In addition to the previous workflow for extracting predefined features, you can
customize feature extraction. For example, once you segment your data, you can use computeDifferentialCurves
independently of
batteryTestFeatureExtractor
and extract
to extract
your own incremental capacity and differential features from the curves.
For an example of this workflow, and of the features you can extract, see Data Analysis and Feature Extraction for Battery Raw Cycling Data.
See Also
batteryTestDataParser
| segmentData
| batteryTestFeatureExtractor
| extract
| computeDifferentialCurves