Internal estimation tables
Requirements:
The BMS shall keep track of each cell internal resitances. In theory, the internal resistance of a cell is dependent of its state of charge, internal temperature, c-rate and charge direction. The internal resistance can be defined as instantaneous R0int or continuous typically measured over 30s (the convergence time is cell dependent and needs to be defined), Rint.
Assumptions:
For simplification purpose, we can assume that the cells in a given pack do not differ significantly in soc nor temperature. We will assume that the internal resistance is the same whether we charge or discharge. In our case, we will charge or discharge depending on the soc. We will only consider a given c-rate. In our case, we can use 0.3C.
Therefore, if we consider only soc and temperature, one can use a 3d-lookup tables, one for Rint and one for R0_int:
Note: the cell internal resistance change over the cell lifetime. To update the above tables, there needs to be an observer. This will be considered at later stage.
Cell characterisation - Table calibration Rint & R0_int
As a reference, the cell datasheet usually provides a value for the cell internal resistance at a given temperature and soc (typically 25 degC and 50%). In order to populate the 3d-lut, one must perform measurements at different soc and temperatures and then interpolate between the measurements.
Temperature range : [0 , 10 , 25 , 35]. (Being close to 0 degC is enough). Soc range : [0, 25, 50, 75, 100]
The 20 measurements points listed above shall be done in the following manner:
- Bring the cell to the desired test condition (desired temp and soc).
- Record the cell voltage with a high accuracy during the experiment.
- Let the cell rest for a least 10min and then record the OCV
- Apply a constant step current I_step of the desired current (0.3C ideally).
- Record the following two parameters: R0_int and R_int as per instructions below.
R0_int is the instantaneous internal resistance: R_0_int = (cellV(t0+epsilon) - OCV) / I_step.
R_int is the continuous internal resistance: R_int = (cellV(t0+30s) - OCV) / I_step.