Batmodel Documentation

A program to automatically generate battery files for ADVISOR from test data.

Tutorial with Sample Files
See plotting and processing of sample files to help you get your battery data in the correct format.

Processing Battery Test Data
Batmodel takes test data, analyzes it, and creates an ADVISOR battery model. Inputs into Batmodel include descriptions of the test(s) along with the data files produced by the battery testing data acquisition systems. The required format of the data files is a header which describes the data underneath it and the actual data (time, current, voltage, temperature, etc.) arranged in columns. The header should either have no spaces or be surrounded by quotes (checking the 'Quotes around header?' box).

Batmodel 2 divides the processing into two sections:

  1. RC Model Processing (most recent ADVISOR battery model)
  2. Internal Resistance - OCV Processing
RC Model Processing
This section processes data for RC battery files.  It is divided into three main sections:
  1. Analyze VOC vs. SOC and Model R & C Parameters for a single temperature. Once analyzed and saved, the results can be viewed without reprocessing. The user can also show Results vs. Temperature. For any number of individually saved Batmodel mat files, the results are plotted.
  2. Create RC model file: Takes one or more analyzed files, along with additional user input, and creates an m file for use in ADVISOR.
  3. Validate Model: Uses a test data set of experimental power request, voltage, and current vs. time to validate the generated model.
The user can also save the current analysis or load a previously saved analysis from the first Batmodel screen.

Internal Resistance - OCV Processing
This section processes data for Rint battery files.  It is divided into two main sections:

Data Format for Batmodel
To generate an ADVISOR RC battery model, two types of tests are performed. These tests, performed at each desired temperature, are:
  1. Open Circuit Voltage Tests to find Voc vs. State of Charge, and
  2. HPPC (Hybrid Power Pulse Characterization) tests, as specified by PNGV Test Procedures.
To generate an ADVISOR Rint battery model, three types of tests are performed. These tests, performed at each desired temperature, are:
  1. Capacity Tests to determine the battery capacity, including residual capacity tests,
  2. Open Circuit Voltage Tests to find Voc vs. State of Charge, and
  3. Current Pulse Tests to find internal resistance as a function of SOC.
Required fields for data processing are Time, Current, Voltage, Amp Hours, and Temperature.

File Specification
The File Specification screen comes up when one of the 'Processing' options (VOC, R & C Params, Capacity, or Rint) from the main screen is picked. Here the user specifies the data files containing the test data. The user may save results as one large file, or as many small files.

Data File Information
Once the test data files have been selected, the user inputs information about the data files in the Data File Information screen. On the bottom left the user is presented with the variables needed for data analysis. The appropriate test data heading is matched to the variable on the left. Specifying the appropriate headings is made easy with popup menus. Data can be converted using mathematical expressions if it is not already in the appropriate units and a sample conversion is provided on the right for the user to confirm that the proper computation will occur.

After all the information is filled in, the Process Data button is selected. For the VOC processing, the analysis runs and displays two results figures. For the 'R and C Params' generation, some more information about the thermal characteristics and voltage limits of the battery is obtained from the user.

Assumed Test Procedures/Results screens
RC Model
The graphs below display the time plots of the variables of interest, e.g. current, voltage and amp-hours. As a data check, the user can see which actual data points were selected for the analysis.




Batmodel2 creates initial guesses for the 5 parameters in the RC model, as described in the battery documentation. It then runs an optimization study based on a ± 10% deviation in these parameters and finds the best fit with the objective to minimize the average voltage error. The optimization algorithm used was 'Direct' from University of Michigan. The figure below shows an example of the voltage (data vs. model) over a single HPPC profile at 71% SOC. The associated absolute voltage error plotted below shows that the average error was 0.52%.

The figure below shows the optimization run for a second case. The bottom graph shows the objective function as it drops with number of iterations. Note that for each iteration, a direction to travel, in terms of the newly set values of the parameters, is chosen. For the first iteration, ~5 simulations were run, and for the last iteration, ~30 simulations were run. In this case, the optimization dropped the average error from 0.182% to 0.145%.

The optimization is performed for each HPPC profile, and the results are presented in the Results figure. From here, the user may edit any one of the parameters. The values for Re, Rc, and Rt vary with SOC in the RC model, but the values for Cb and Cc are constant. The optimization verifies this behavior, as the capacitors are constant across SOC values. The final ADVISOR model uses the average of these capacitor values.





Once battery data is processed with Batmodel2 for various temperatures, the user can plot the parameter variation with temperature and then generate an ADVISOR battery file.

Rint Model
1. Rate vs. Capacity Testing

ADVISOR previously (prior to August, 1999) used this modified form of the Peukert equation:

Equation 1

where I is current (A), Capacity is battery capacity (Ah), Coeff is a constant coefficient, empirically derived, and Exp is a constant exponent, empirically derived. Again, in the current form of the ADVISOR battery model, Peukert information is not needed.

Batmodel Assumptions with the Capacity Tests

For debugging and for more information, a plot with the points used is shown to the user. In the graph below, the battery was first discharged at 6A, then recharged. The second discharge at 30A allows the battery to rest for 15 minutes, then further discharges it at 6A ('residual capacity test'). The first capacity is the 'Peukert capacity' and the sum of these two capacities is the 'residual capacity.'

The figure below shows a typical output for a Peukert/residual capacity test. The maximum capacity for this battery was ~7 Ah.

2. OCV vs. SOC

NREL performs OCV tests as successive discharges of the battery at 20% SOC increments and one at 10% SOC, and then rest periods of one hour in order to determine the OCV as a function of SOC. These tests were normally run at the C rate, with additional tests performed at lower rates if time permitted.

Batmodel Assumptions with the OCV Tests

Example plots showing evaluation points and results are shown below.

3. Internal Resistance vs. SOC

In ADVISOR, the battery is modeled as an equivalent circuit with no frequency-dependent resistance, as shown below.

The internal resistance (Rint) parameter in ADVISOR is not the same as a static impedence (high frequency) measured with an ohm-meter across a battery’s terminals. ADVISOR’s internal resistance is intended to account for the full voltage drop experienced by a battery from its equilibrium open circuit voltage to the terminal voltage that is seen under load. Rint is assumed to be dependent on both SOC and the direction of current flow.

To determine the internal resistances, a series of pulses of constant current should be applied to the battery, monitoring the voltage response. An example of the voltage response to a current pulse is shown below. V1, V2, and V3 in Figure 2 are easily measured, but Vfuzzy could not be easily measured. A few assumptions about the battery and model are used to determine Vfuzzy. Both the open circuit voltage and the resistance are assumed to be constant over the pulse period such that the DV at the beginning of the pulse is the same at the end of the pulse. Looking at Figure 2, this means that DV=V1-Vfuzzy=V3-V2. The 18 second pulse length was based on two factors: 1) the PNGV Battery Test Manual suggests an 18 second pulse for resistance characterization, and 2) 18 seconds was sufficient time for most of the transient behavior of most cells to die away.

The starting equilibrium voltage of the battery is correlated to SOC, and the effective resistance of the battery is determined according to the following equation:

Equation 2

where V2 and V3 are the voltages shown, and I is the current.

It should be pointed out that although our testing procedure is similar to the PNGV Battery Test Procedure, it is different. Our procedure is in line with the method to provide models for ADVISOR.

Typically, Rint testing at NREL consists of discharge pulses, then constant discharges to take the battery down to a desired SOC, where another pulse is applied. A similar approach is used for charging. If the discharge rate is large enough to drop the SOC, no intermediate discharge is used.

Batmodel Assumptions with the Rint Tests

The figure below displays the results of an internal resistance analysis. Actual data is plotted along with a best-fit model. For convenience and for user manipulation, the curve fit values of resistance corresponding to various SOC’s are displayed on the right portion of the screen. The user can vary the curve fit resistance values with the input boxes on the right side of the results screen and have an automatic update of the average error computed by:

Equation 3

By clicking checkboxes, the user also has the option to plot the resistance data in groups joined by lines where each group has a particular current associated with it. In some battery technologies, internal resistance data can depend substantially on the current being drawn.

The figure below displays the time plots of the variables of interest, e.g. current, voltage and amp-hours. The user can also see which actual data points were selected for the analysis, and which points were discarded due to data quality constraints mentioned above.

Results vs. Temperature
Once battery data is processed with batmodel for various temperatures (and saved as mat files), the user can plot the parameter variation with temperature and then generate an ADVISOR battery file. The plot below shows an example of the capacity data variation vs. temperature.

ADVISOR Model Generation
RC Model
The user can automatically create and ADVISOR battery file once the user has a complete mat file for at least one temperature. The data files used and accuracy/error data from the processing is automatically saved in the header.

Rint Model
The user needs to enter thermal parameters, as well as mass, and minimum and maximum voltage limits for the battery, and coulombic efficiencies at each temperature for the Rint model.

Validation
RC Model
The user can automatically validate an ADVISOR battery file against a set of test data.

First, the user is prompted for ADVISOR RC Battery file.

Next, the user is promped for test data file.

The required format for the test data file is a mat file specifying variables as follows:
 

Variable Description Variable Name
Time (sec) t_data
Power (W) pwr_data
Current (A) current_data
Voltage (V) volts_data
Amp-hours used (A-hr) ah_data
Battery Temperature (C) temp_data

The results are plotted automatically, with voltage error vs. time and average/max values given.

Last revised: 5/30/01, vhj