ESTIMATING BATTERY STATE OF HEALTH AND STATE OF CHARGE

A method of generating a State of Health (SOH) estimate for a battery is disclosed. The method may include charging a battery to a reference point and obtaining a battery cell temperature at the reference point, obtaining an instantaneous impedance of the battery cell based on the battery cell's response to an applied probing waveform, and obtaining a SOH estimate based on the battery cell temperature and the instantaneous impedance. Methods of generating a State of Charge (SOC) estimate for a battery and of determining an amount of remaining device usage are also disclosed.

TECHNICAL FIELD

Embodiments of the present invention generally relate to systems and methods for predicting the state of health of a lithium-ion battery and dynamically adjusting a charging profile based at least in part on the predicted state of health.

BACKGROUND AND INTRODUCTION

Rechargeable batteries are widely used in electrically powered devices such as tools, lawn equipment, mobile computing devices, communication devices, portable electronic devices, household appliances, and electrical vehicles (EVs). Rechargeable batteries are limited by finite battery capacity and must be recharged upon depletion. Because the powered device must often be tethered to an outlet or a charging station during the recharging period, and in some cases may not be used during the recharging period, recharging a battery may be inconvenient to users. In some cases, the recharging period for a battery can last for hours.

High current charging methods have been developed to accelerate charge times. These fast charge systems rely on costly high-power electronics to deliver the required levels of charge current. Moreover, fast charging can lead to battery degradation and reduced battery performance over time. To preserve battery health, high current delivery to the battery is limited at some fixed percentage of charge during a charging cycle and the remainder of the battery charging up to 100% occurs at a slower rate. Thus, existing fast charge methods and systems are complex, inexact, and may still have potential to damage the battery.

It is with these observations in mind, among others, that aspects of the present disclosure were conceived.

SUMMARY

Aspects of the present disclosure include a method of generating a State of Health (SOH) estimate for a battery. The method may include charging a battery to a reference point and obtaining a battery cell temperature at the reference point. The method may further include obtaining an instantaneous impedance of the battery cell based on the battery cell's response to an applied probing waveform and obtaining a SOH estimate based on the battery cell temperature and the instantaneous impedance.

Additional aspects of the present disclosure relate to methods of generating a State of Charge (SOC) estimate for a battery. The method may include receiving, at an initial SOC estimate module, a first time step voltage measurement, a first time step current measurement, and an equivalent circuit model (ECM). Using the first time step voltage measurement, the first time step current measurement, and the ECM, an initial SOC estimation process may be performed to obtain an initial SOC estimate. The initial SOC estimate, along with a second time step voltage measurement, may be provided to an initial potential adjustment module. Using the initial SOC estimate and the second time step voltage measurement, an initial potential adjustment process may be performed to obtain at least one state estimate, wherein the at least one state estimate includes an updated initial SOC estimate. The at least one state estimate, a second time step current measurement, and a third time step voltage measurement may be provided to an extended Kalman filter (EKF) module. Using the at least one state estimate, the second time step current measurement, and the third time step voltage measurement, an EKF process may be performed to obtain a current time step SOC estimate.

Additional aspects of the present disclosure relate to methods for determining an amount of remaining device usage. The method may include obtaining a SOH estimate for a battery within a device, obtaining a SOC estimate for the battery within the device, and obtaining an amount of energy discharge required to use the device. The method may further include determining the amount of remaining device use available given the battery's SOH, SOC, and amount of energy discharge required.

DETAILED DESCRIPTION

Battery longevity and charging speed can be greatly improved by using charge signals that are optimized for a specific type or condition of a battery. Optimizing a charge signal for this purpose may require inputs and measurements from the battery and/or model-based predictions about real-time conditions at the battery. Parameters of the charge signal may be selected based on this information to increase charge speed and/or reduce detrimental processes (e.g., plating and dendrite formation) to increase battery longevity. However, to achieve these beneficial results, highly accurate measurements and reliable predictions of a variety of battery cell characteristics should be obtained. Inexact measurements or predictions may result in reduced efficiency charging and/or damage to the battery being charged.

One battery cell characteristic that is important in determining an appropriate charging signal is battery state of health (SOH). State of health as used herein is defined as the percentage of remaining capacity over the rated capacity. The SOH may be quantified as a percentage between 0-100%. For example, a battery may have a rated capacity of 3,000 mAh. When the battery is new, its remaining capacity is the same as its rated capacity, therefore SOH is 100%. However, after some use, the remaining capacity may drop to 2700 mAh. In this case, the SOH would be 90% as calculated using Equation 1:

As capacity decreases over the life of a battery, changes to the structure or materials within the battery may occur. To minimize damage to the battery, a battery charging profile may be generated or selected to account for these material changes. The SOH metric may correlate with the physical changes within the battery and may thus be used in selecting or generating a battery charging profile that is appropriate for the battery's condition and that prolongs battery life and/or reduces the rate of degradation and/or the rate at which capacity is decreasing.

Another way of determining the SOH of a lithium based cell is by measuring its internal impedance. Some SOH estimation methods may determine impedance by relying entirely on Direct Current Internal Resistance (DCIR) measurements. However, in the SOH estimation method described herein, an instantaneous impedance (represented as variable Z) is used. The instantaneous impedance Z differs from the DCIR approach in that it includes both an internal DC resistance (which can be calculated from DCIR) and a transient complex impedance. FIG. 1 illustrates a plot 100 that shows voltage waveform sections used for DCIR-only in contrast to the instantaneous impedance used herein. The DCIR method typically uses the section of direct drop to calculate internal DC resistance. The instantaneous impedance is calculated from the voltage change including both direct drop as well as the subsequent relaxation.

FIGS. 2A and 2B show plots of instantaneous impedance and DCIR, respectively, over a range of state of charge (SOC) for the same example lithium metal cell. It can be seen that the instantaneous impedance has a larger dynamic range over the SOC range, representing a more comprehensive state of health. In contrast, the DCIR has less variation over the same range of SOC, representing only that the change in resistance may be due to electronic resistances.

In general, internal impedance increases with increasing degradation of the battery cell. Internal impedance is represented by an “instantaneous impedance” value, Z, derived using probing current and voltage waveforms in a time domain. In some embodiments, a time-domain limited secondary waveform or pulse may be used as a probing signal. The duration of the pulse may be selected from a range (e.g., a range from 1-100 seconds). In some embodiments, a unipolar pulse waveform may be used as a probing waveform. The probing pulse may be applied to the battery using a battery charging circuit; however, other configurations are possible. For example, if during regular use of a device powered by the battery, the device load creates a current and voltage waveform similar to, or within tolerance of, a probing waveform, the resulting data may be used to determine the instantaneous impedance without being connected to a charger or specifically delivering a probing pulse. In some embodiments, the device connected to and powered by the battery may include circuitry configured to specifically apply a probing signal to the battery. Over the course of a single charge and/or discharge cycle, probing signals from one or more of the sources (e.g., probing by a charger, probing by application of load on the battery during device use, or probing initiated by circuitry on the device) may be applied to measure instantaneous impedance and/or determine other parameters related to characterization of the SOC and/or State of Health (SOH) of the battery.

FIGS. 3A and 3B illustrate current and voltage, respectively, of an example unipolar pulse waveform used to calculate instantaneous impedance, Z. The calculation is performed using Equation 2, where Vsmooth and Ismooth are smoothed voltage and current, respectively, as illustrated in the reduced variation lines of FIGS. 3A and 3B:

In some embodiments, data from the entire unipolar pulse waveform may be used to calculate the instantaneous impedance, Z. Alternatively, in some embodiments, data from a portion less than the entirety of the unipolar pulse waveform may be used. For example, data from one or more segments of the unipolar pulse waveform may be used to calculate the instantaneous impedance, Z.

Correlating the instantaneous impedance, Z, to an SOH value may be performed using models (e.g., constrained neural network models, statistical models, etc.), tables (e.g., look-up tables having two or more dimensions), equations (e.g., one or more equation describing or approximating a data set, polynomial equations, equation of best fit, etc.), or other data sets that include, or are based on, results of prior battery testing. This battery testing may be referred to herein as “cell characterization,” may occur “offline” in a testing setup rather than during battery use, and may include in-depth analysis of cell materials, physical properties, and responses to various charge, discharge, and/or probing signal profiles. In some embodiments, testing of multiple battery cells may account for various battery temperatures, states of charge, and/or cell ages (e.g., as quantified by number of charge/discharge cycles experienced, amount of expected remaining capacity, etc.). FIG. 4 illustrates test results of four battery cells of different known ages (i.e., new, 90% capacity remaining, 75% capacity remaining, 35% capacity remaining) where impedance was measured over SOC ranging between approximately 0% to approximately 100% at a constant temperature of 25° C. FIG. 5 shows the resulting correlation between instantaneous impedance and remaining capacity. In some embodiments, this correlation may be used to develop an equation, model, or look-up table that can be used to determine remaining capacity based on instantaneous impedance. The remaining capacity may then be used to calculate or estimate the battery's SOH as discussed above with respect to Equation 1.

In addition to correlating instantaneous impedance to remaining capacity, testing may be performed during the cell characterization process to facilitate the mapping of instantaneous impedance to a charge cycle number and to a number of remaining cycles. A battery's charge cycle number may be used to select or generate a charging profile for the battery and may be used to estimate the number of charge/discharge cycles remaining before the battery's End of Life (“EOL”) is reached. The EOL value as used herein may refer to a minimum remaining capacity threshold. For example, a battery may reach EOL when it has reached 70% of its rated capacity remaining. While an EOL of 70% remaining capacity is given here as an example, the selected EOL value may vary and, in some embodiments, may be selected based on the type of device the battery is powering. For example, selected EOL values for batteries powering electric vehicles, medical devices, and smart phones, for example, may be different.

FIG. 6 illustrates a correlation between instantaneous impedance and number of cycles remaining for a battery. In some embodiments, an equation, look-up table, or other model may be developed for use in determining or estimating a number of cycles remaining for a battery based on an instantaneous impedance input. Notably, the correlation between instantaneous impedance and number of cycles remaining may vary based on the specific charge profile being used.

The internal impedance of lithium-ion batteries is sensitive to temperature; therefore, temperature effects may be considered in the process of estimating SOH, EOL, remaining cycles, and other metrics using instantaneous impedance, in various embodiments. FIG. 7 shows instantaneous impedance as a function of state of charge at a range of temperatures. It can be seen from the graph in FIG. 7, and more explicitly from the impedance vs. temperature graph of FIG. 8, that impedance decreases with increasing temperature.

Because cells of different ages have different capacities, using SOC as a reference point to make impedance measurements does not guarantee that the cells are measured in a similar condition. Instead or additionally, the open-circuit voltage (“OCV”) value may be used as a reference point for instantaneous impedance measurement. In some embodiments, a value between approximately 20% of the OCV value and approximately 80% of the nominal voltage range for a battery cell may be selected as a reference point. A look-up table may then be built by taking temperature and instantaneous impedance as inputs and performing interpolation.

Referring to FIG. 9, a block diagram is shown that describes steps of a method 900 for estimating SOH for a battery cell. At Step 902, a battery cell is charged to a reference point. In some embodiments, the reference point may be an OCV value (e.g., 3.7V). At Step 904 a cell temperature, T, is obtained. The temperature T may be obtained by direct measurement or through the use of a cell temperature model. As discussed above, many battery cell performance metrics are dependent on cell temperature and thus, obtaining an accurate temperature measurement may enhance obtaining accurate correlated metrics. At Step 906, a probing waveform is applied to the battery cell. In some embodiments, the probing waveform may be a unipolar pulse probing waveform having a specified duration and charge rate magnitude (e.g., duration ranging from approximately 1 second to approximately 10 minutes and charge rate ranging from 0.1 C-5 C or higher, depending on the maximum charge rate of the battery cell); however, other types of probing waves, durations, and charge rate magnitudes may be selected depending on the battery cell, temperature, or other variables. In one specific example, a 20 second 1 C unipolar pulse is applied.

Using data obtained while applying the probing waveform of Step 906, an instantaneous impedance, Z, is obtained at Step 908. At Step 910, the measured cell temperature and instantaneous impedance may be used as inputs to a look-up table that correlates temperature, instantaneous impedance, and SOH. Using data in the SOH look-up table, a SOH estimate is obtained at Step 912. At Step 914, the measured cell temperature and instantaneous impedance may be used as inputs to a look-up table that correlates temperature, instantaneous impedance, and EOL. Using data in the EOL look-up table, an EOL estimate (e.g., in terms of number of remaining cycles, percent of rated capacity remaining, etc.) is obtained at Step 916.

In addition or as an alternative to determining an EOL estimate, an amount of available use time of the battery before depletion may be determined using one or more of the SOC estimate, the SOH estimate, and an instantaneous and/or average energy discharge required for an application. This information may be provided to a user of a product (e.g., by display in a user interface, display in a digital gauge, or otherwise) powered by the battery so that the user can determine if sufficient capacity remains in the battery to complete a task or if recharging should be performed. For example, a user may see that only 15 minutes of use time remains on their battery-powered tool before recharging is needed and may determine that this is a sufficient amount of use time for completing a project before recharging. In some embodiments where the demands of a specific task or application performed by a device are known, the number of remaining tasks that can be completed based on the battery's SOC and/or SOH may be provided. For instance, in a battery-powered nail gun, the instantaneous and/or average energy discharge to shoot a nail may be known. This information, along with battery SOC and/or SOH may be used to determine how many nails may be placed with the nail gun given the battery's SOC and/or SOH before recharging is needed and may be provided to a user via a display, audio cue, haptic feedback, or other on-board or peripheral user interface.

FIG. 10 shows an example plot with data correlating temperature, instantaneous impedance, and remaining capacity. Plots similar to this may be used as look-up tables similar to those discussed in Steps 914 and 916 of the method described with respect to FIG. 9.

To confirm validity of the methods described herein to generate an accurate SOH estimate, SOH measurements were performed for comparison. Temperature ranges were selected between approximately −10° C. and approximately 45° C. and 16 battery cells were used for data collection. FIG. 11 shows a plot comparing SOH predictions to the true (i.e., measured) SOH values. FIG. 12 shows absolute percentage error between the SOH predictions and true SOH for each temperature tested. The maximum absolute percentage of error across all cells and temperatures was below 5%. This result validates the processes and algorithms described herein for generating SOH estimates or predictions.

In addition to estimating SOH and EOL, a State of Charge (SOC) may be estimated or predicted using an adaptive, dual-stage estimator to provide improved accuracy. In the first stage, an Extended Kalman Filter (EKF) may be applied to determine initial states for simplified cell dynamics (e.g., initial potentials, initial SOC). When the EKF SOC estimate converges, an optional second step of the algorithm may begin. In the second step, a coulomb counting method may be applied.

In some embodiments, the EKF is a model-based state estimator, where the model denotes the mathematical structure of the cell dynamics and may be understood as an equivalent circuit model. FIG. 13 shows an equivalent circuit model (ECM) 1300 which may be used to represent the EKF state estimator described herein. The model 1300 is a circuit that includes an open circuit voltage (OCV) Uoc, a resistance R0, and two RC units 1302, 1304 arranged in series. Ri and Ci, where i=1,2 for RC units 1302 and 1304 respectively, represent a resistance and capacitance for the RC units. The output terminal voltage of the cell is represented as voltage Vo. In some embodiments, this model has been simplified to facilitate implementation of the EKF while maintaining the physical current-voltage dynamics.

The dynamics of the ECM may be expressed in three discrete state equations. Equation 3 describes SOC accumulation. Equations 4A and 4B describe evolution of potential over the RC units 1302, 1304 respectively. Equation 5 describes the output terminal voltage for the current-input-voltage-output relationships. The subscript k is the kth step in discrete domain, I is the current input, V is the terminal voltage, Qcell denotes the cell capacity, Ts is the discrete time step, and Ui, τi for i=1,2 are the potentials and the time constants over the corresponding RC units, respectively, where τi=Ri/Ci.

SOC
      
       k
       +
       1
      
     
     =
     
      
       SOC
       k
      
      +
      
       
        
         T
         s
        
        
         Q
         cell
        
       
       ⁢
       
        I
        k
       
      
     
    
   
   
    
     Eq
     .
       
     3

These linear-formed dynamics may be inherently nonlinear in the states due to the fact that all ECM parameters (OCV, R0, R1, R2, τ1, τ2) are variables with respect to SOC, cell temperatures, and cell ages, thereby causing the ECM parameters to change at different charge levels and cell conditions. Thus, an ECM parameter look-up table along the dimensions of SOC, cell temperature, and cell age may be constructed prior to the implementation of the EKF algorithm. In particular, the ECM parameters in Equations 3-5 may be identified by charging a battery cell using unipolar current waveforms at selected SOC values and then adjusting the values so that the calculated terminal voltage in Equation 5 approximates the measured value. This tuning process may occur offline (e.g., through the use of testing data) rather than during real-time charging and discharging of a battery cell during use in a product. Equations are used throughout this discussion to relate ECM parameters to various outputs (e.g., SOC accumulation, first and second potentials, and terminal voltage). One or more of the equations may be constructed as matrices and/or look-up tables in a computer system or may be otherwise approximated to conserve computational time and resources.

FIG. 14A shows a voltage versus time graph of one example of a unipolar current waveform. Such a waveform may be used for SOC ECM identification. FIG. 14B illustrates an identification result for one SOC where the “experiment” data represents the measured terminal voltage under a unipolar charging waveform (e.g., a waveform like the waveform of FIG. 14A) at a selected SOC value and the “prediction” data represents the voltage calculated using the adjusted ECM parameters. FIGS. 15A-F illustrate variables OCV, R0, τ1, R1, τ2, and R2, respectively, as a function of SOC % for a single temperature (e.g., 25° C.). FIGS. 15A-F illustrate that all of the ECM parameters are represented by nonlinear functions along the SOC range. The ECM parameters may be validated by performing a constant current constant voltage (CCCV) test where calculated (e.g., identified) terminal voltage and measured (e.g., experimental) terminal voltages are compared. Such a comparison is illustrated in the current versus SOC and voltage versus SOC plots of FIGS. 16A and 16B, respectively.

FIG. 17 is a block diagram showing steps of a method for performing an EKF-based SOC estimation. Inputs 1702 to the SOC estimation process include feedback signals that provide current step current Ik and current step voltage Vk measurement information and an ECM parameter look-up table as discussed above. Input 1704 to the SOC estimation process includes prior step current Ik-1. At least a portion of the inputs 1702 (e.g., current step voltage Vk) is evaluated at block 1706 to determine whether the measurement is the first received measurement. If yes, the first current step voltage measurement information is provided to the initial SOC estimation block 1708. The initial SOC estimation block 1708 calculates and outputs an initial SOC value .

The initial SOC value  is intended to provide a rough estimation of SOC to serve as a starting point for following estimation steps that will provide more accurate estimations. The initial SOC value should be close enough to a ground truth SOC value where charging or discharging begins. To obtain the initial SOC value, initial current input I0, initial voltage measurement V0 and the ECM parameter look-up table are provided to the initial SOC estimation module 1708. These inputs are used to calculate an initial OCV estimate  according to Equation 6 below:

In Equation 6,  is the estimated OCV at the initial time step, R0 is the mean value of R0 along the SOC in the ECM parameter look-up table under the current cell temperature and current cell age. The estimate of the summation of the initial potentials over the two RC-units is represented as Û0. The initial potential estimate Û0 may be important in obtaining an accurate estimate of the initial SOC because the initial potential variable may be particularly sensitive to low temperature conditions and cell age. Therefore, a look-up table with dimensions of cell temperature and cell ages is required after the ECM parameters are available. Once the OCV estimate is achieved, the SOC estimate is obtained by correlating OCV to SOC on the OCV-SOC curve in the ECM parameter look-up table.

In some embodiments, initial potential Û0 is determined offline in advance by additional charging simulations. An initial potential estimate Û0 may be determined as follows. For a specific cell age and temperature, at least one CCCV test may be performed to obtain experimental current and voltage data at selected SOC values ranging from 0-100%. Trying one Û0 value, a series of initial SOC estimates are calculated at distinct ground truth SOCs (e.g., 5%, 10%, . . . , 95%, or other steps as required by the accuracy and execution time of the machine), assuming that the initial SOC estimation happens at those points. The initial SOC estimate error  (i.e., the difference between the ground truth SOC and the SOC estimate) may defined by Equation 7 below:

The initial SOC estimate error  may be calculated at all selected ground truth SOCs, where the tested ground truth SOC value is labeled SOC0. An example of SOC error versus ground truth (e.g., actual) SOC is shown in FIG. 18. This plot demonstrates the initial SOC estimate error along the tested ground truth SOC under one initial potential estimate Û0 of 0.045 in this example. Repeating the simulations for several different possible initial potential estimates Û0 gives a series of initial SOC estimation error curves along the tested ground truth SOCs. An example of this is illustrated in the plot shown in FIG. 19 where several initial potential estimates are tested ranging from 0 to 0.065. One way to evaluate or select one of the tested initial potential estimates Û0 is to calculate root mean square (RMS) errors for each of the curves. RMS error for each value of initial potential estimate Û0 is shown in the graph of FIG. 20. Because the goal is to minimize error between the estimated SOC and the actual SOC, the selected initial potential estimate Û0 value may be the one associated with the smallest RMS value (e.g., 0.05 in the example of FIG. 20). In some embodiments, Û0 forms a 2-dimensional look-up table along the cell temperatures and the cell ages. It is one input to the proposed EKF-based SOC estimation algorithm module. The initial SOC value  is saved and is provided to the initial potential adjustment block 1710.

Referring back to FIG. 17, subsequent input information (e.g., current and voltage measurements) is received by the SOC estimation process. This time, the determination at decision block 1706 is “no” and the process moves to a second decision block 1712. At least a portion of the subsequent measurements (e.g., current step voltage Vk) is evaluated at block 1712 to determine if it is the second received measurement. If yes, the second current step voltage is provided to the initial potential adjustment block 1710. In addition to receiving second current step voltage and initial SOC estimate  as an inputs, the initial potential adjustment block 1710 receives or otherwise accesses the initial potential estimate Û0. Although the summation of the initial potentials (e.g., Û1,0 and Û2,0) over the plurality of RC-units can be roughly estimated, the specific value for each potential is still unknown. In fact, an accurate estimation of the initial potentials Û1,0 and Û2,0 is not required in a standard EKF state estimation procedure discussed with respect to block 1714 in further detail below. However, the quantities of Û1,0 and Û2,0 do affect the update of  for the 2nd time step at the initial potential adjustment block 1710. A random choice of Û1,0 and Û2,0 (e.g., Û1,0=Û0 and Û2,0=0, or reverse) may lead to a large distance between  and , which may lower the quality of the EKF state estimation. Instead, an algorithm may be used to iteratively adjust the distribution of Û1,0 and Û2,0 so that the difference between  and  can be limited within some pre-defined value or be close as much as possible to that value otherwise.

FIG. 21 shows an algorithm workflow 2100 for determining values for , Û1,0 and Û2,0. When the 2nd time step of the SOC estimation algorithm (e.g., the workflow illustrated in FIG. 17) starts, the initial SOC estimate , along with the initial potential estimates Û1,0 and Û2,0 are sent to this initial potential adjustment block 1710. In some embodiments, the initial potential estimates Û1,0 and Û2,0 may be initialized as

Applying the ECM parameters, the 2nd time step inputs I1, V1 and the last time step input I0, a standard EKF procedure can be implemented to obtain the state updates for the current time step: , Û1,1 and Û2,1. The SOC update error e is defined by Equation 8:

If e is greater than some pre-defined boundary parameter (e.g., 1% in the example workflow of FIG. 21), an update will be applied to the initial potential estimates according to the Equation Set 9:

In Equation Set 9, a is some user-defined initial potential update step; if e does not violate the error update boundary, the algorithm provides the outputs , Û1,1 and Û2,1. Notably, the design of Equation Set 9 ensures that the summation of Û1,0 and Û2,0 equals Û0. In practice, the user may set a limitation to the loop iteration to save computation cost. For example, if the update error e continues to trigger the potential update, the iteration may be stopped when a selected iteration number is reached. In this case, the updated Û1,0 and Û2,0 corresponding to the minimum e are selected, based on which, the state updates , Û1,1 and Û2,1 will be determined after one additional EKF estimation procedure.

Referring back to FIG. 17, the initial potential adjustment block 1710 provides as outputs first and second initial potentials Û1,1 and Û2,1 associated with the first and second RC units of the ECM discussed with respect to FIG. 13. The initial potential adjustment block 1710 generates updated estimated cell dynamics states (e.g., updated SOC estimate  and updated potential estimates Û1,1, Û2,1) by using an EKF procedure. The three estimated states , Û1,1, and Û2,1 output from the initial potential adjustment block 1710 may be used for further EKF procedures. The initial  estimate may also be a stand-alone output of the SOC estimation process.

Beginning with the third received voltage measurement (e.g., where decision blocks 1706 and 1712 are both answered “no”), feedback measurements are directed to an EKF module 1714. EKF module inputs include Ik, Vk, Ik-1 and the last-time-step-state-estimate (e.g., as denoted by the k−1 subscript) , Û1,k-1, Û2,k-1 for k≥2. The EKF module 1714 then updates the state estimates , Û1,k, Û2,k for the current time step. At each time step k, the EKF module outputs the SOC estimate . The EKF module continues to operate until internal states of the EKF converge.

The EKF procedure may be a standard EKF process. The EKF process may use the current time step inputs Ik, Vk, the last time step current input Ik-1 and the last time step state estimates , Û1,k-1, Û2,k-1. After one or more iterations, the EKF generates and provides as outputs the updated state estimates , Û1,k, Û2,k for the current time step. An important step in the EKF algorithm is the state prediction, which takes advantage of the last state estimates and the cell dynamics model of Equations 3-4B and predicts the states for the current time step without estimation trust weighing. This procedure, along with the final state estimation weighing, is the fundamental frame of the EKF and can be simply expressed by Equation Set 10:

In Equation Set 10, {circumflex over (x)}k-1|k-1=[ U1,k-1 Û2,k-1]T is the state estimate for the last time step, {circumflex over (x)}k|k-1=[ Û1,k|k-1 Û2,k|k-1]T is the state prediction based on the information of the last time step state estimates, {circumflex over (x)}k|k is the state estimate for the current time step, and KK is the Kalman gain for the current time step. {circumflex over (V)}k|k-1 is the predicted voltage output simply based on the information of the last time step, which may be calculated using Equation 11:

Equations 11 and 12 represent the dynamics of Equations 3-4B except that all states are replaced by the predicted states. While these equations are able to provide a predicted voltage output {circumflex over (V)}k|k-1, other means for obtaining a predicted voltage output may be used. For example, statistical models or neural networks may be used instead of or in addition to the equations to achieve similar results.

The standard EKF procedure may not be applied to the end of charging/discharging. Instead, this algorithm can be terminated at some point to save computation costs for more practical implementations. In some embodiments, the standard EKF algorithm ends when the predicted SOC  converges and approaches within a selected error threshold of the SOC estimate  at some time step k. Since  is an internal state of the EKF, the procedure is also referred to as the internal state convergency. To clarify the idea, an SOC prediction error may be defined according to Equation 13:

Therefore, the EKF iterative procedure can be terminated once ep≤λ, where λ>0 is a user-defined constant parameter. One example of this procedure can be viewed in FIG. 22. FIG. 22 illustrates an iterative EKF process occurring over time where convergence of the internal state is observed after only a few iterations.

In some embodiments, the degree to which to states converge may be a selected or predetermined threshold. Referring back to FIG. 17, the degree of convergence may be evaluated in a third decision block 1716. If the convergence is sufficient, a current time step SOC estimate SOCK may be output from the EKF module. In some embodiments, the EKF module may continue to run as additional feedback signals are received and subsequent updated current time step SOCK estimates may be provided. However, to reduce demand on processing and other resources in the system, some embodiments may optionally include the use of a coulomb counting module 1718. In such embodiments, a current time step SOC estimate SOCK may be output from the EKF module and provided to the coulomb counting module 1718. The coulomb counting module may then take over updating the current time step SOC estimate SOCK as additional feedback signals are received. Using a coulomb counting approach to update a current time step SOC estimate based on the estimate received from the EKF module may provide reliable estimates while minimizing processing and resource demand. Coulomb counting module 1718 calculates an SOC estimate based on an accumulation of charge. In some embodiments, Equation 14 is used to calculate the current time step SOC estimate:

Coulomb counting module outputs the current time step SOC estimate .

Referring to FIG. 23, a block diagram of an example computer system 2300 is shown, where the computer system 2300 includes one or more computing units that may implement various systems and methods discussed herein. The computer system 2300 may be part of a controller, may be in operable communication with various implementation discussed herein, may run various operations related to the method discussed herein, may run offline to process various data for characterizing a battery, and may be part of overall systems discussed herein. The computer system 2300 may process various signals discussed herein and/or may provide various signals discussed herein. For example, battery measurement information may be provided to such a computer system 2300. The computer system 2300 may also be applicable to, for example, the controller, the model, the tuning/shaping circuits discussed with respect to the various figures and may be used to implement the various methods described herein. It will be appreciated that specific implementations of these devices may be of differing possible specific computing architectures, not all of which are specifically discussed herein but will be understood by those of ordinary skill in the art. It will further be appreciated that the computer system may be considered and/or include an ASIC, FPGA, microcontroller, or other computing arrangement. In such various possible implementations, more or fewer components discussed below may be included, interconnections and other changes made, as will be understood by those of ordinary skill in the art.

The computer system 2300 may be a computing system that may execute a computer program product to execute a computer process. Data and program files may be input to the computer system 2300, which reads the files and executes the programs therein. Some of the elements of the computer system 2300 are shown in FIG. 23, including one or more hardware processors 2302, one or more data storage devices 2304, one or more memory devices 2306, and/or one or more ports 2308-2312. Additionally, other elements that will be recognized by those skilled in the art may be included in the computer system 2300 but are not explicitly depicted in FIG. 23 or discussed further herein. Various elements of the computer system 2300 may communicate with one another by way of one or more communication buses, point-to-point communication paths, or other communication means not explicitly depicted in FIG. 23. Similarly, in various implementations, various elements disclosed in the system may or not be included in any given implementation.

The processor 2302 may include, for example, a central processing unit (CPU), a microprocessor, a microcontroller, a digital signal processor (DSP), and/or one or more internal levels of cache. The processor 2302 may include a memory for permanent or temporary storage. There may be one or more processors 2302, such that the processor 2302 comprises a single central-processing unit, or a plurality of processing units capable of executing instructions and performing operations in parallel with each other, commonly referred to as a parallel processing environment.

The presently described technology in various possible combinations may be implemented, at least in part, in software stored on the data stored device(s) 2304, stored on the memory device(s) 2306, and/or communicated via one or more of the ports 2308-2312, thereby transforming the computer system 2300 in FIG. 23 to a special purpose machine for implementing the operations described herein.

The one or more data storage devices 2304 may include any non-volatile data storage device capable of storing data generated or employed within the computer system 2300, such as computer executable instructions for performing a computer process, which may include instructions of both application programs and an operating system (OS) that manages the various components of the computer system 2300. The data storage devices 2304 may include, without limitation, magnetic disk drives, optical disk drives, solid state drives (SSDs), flash drives, and the like. The data storage devices 2304 may include removable data storage media, non-removable data storage media, and/or external storage devices made available via a wired or wireless network architecture with such computer program products, including one or more database management products, web server products, application server products, and/or other additional software components. Examples of non-removable data storage media include internal magnetic hard disks, SSDs, and the like. The one or more memory devices 2306 may include volatile memory (e.g., dynamic random-access memory (DRAM), static random-access memory (SRAM), etc.) and/or non-volatile memory (e.g., read-only memory (ROM), flash memory, etc.).

In some implementations, the computer system 2300 includes one or more ports, such as an input/output (I/O) port 2308, a communication port 2310, and a sub-systems port 2312, for communicating with other computing, network, or vehicle devices. It will be appreciated that the ports 2308-2312 may be combined or separate and that more or fewer ports may be included in the computer system 2300. The I/O port 2308 may be connected to an I/O device, or other device, by which information is input to or output from the computing system 2300. Such I/O devices may include, without limitation, one or more input devices, output devices, and/or environment transducer devices. In some embodiments, the computer system 2300 includes peripherals and I/O ports to measure signals (e.g., voltage and current) and provide controls for a stimulus to a battery cell.

In one implementation, the input devices convert a human-generated signal, such as, human voice, physical movement, physical touch or pressure, and/or the like, into electrical signals as input data into the computing system 2300 via the I/O port 2308. In some examples, such inputs may be distinct from the various system and method discussed with regard to the preceding figures. Similarly, the output devices may convert electrical signals received from computer system 2300 via the I/O port 2308 into signals that may be sensed or used by the various methods and system discussed herein. The input device may be an alphanumeric input device, including alphanumeric and other keys for communicating information and/or command selections to the processor 2302 via the I/O port 2308.

The environment transducer devices convert one form of energy or signal into another for input into or output from the computer system 2300 via the I/O port 2308. For example, an electrical signal generated within the computing system 2300 may be converted to another type of signal, and/or vice-versa. In one implementation, the environment transducer devices sense characteristics or aspects of an environment local to or remote from the computer device 2300, such as battery voltage, open circuit battery voltage, charge current, battery temperature, light, sound, temperature, pressure, magnetic field, electric field, chemical properties, and/or the like.

In one implementation, a communication port 2310 may be connected to a network by way of which the computer system 2300 may receive network data useful in executing the methods and systems set out herein as well as transmitting information and network configuration changes determined thereby. For example, charging protocols may be updated, battery measurement or calculation data shared with external system, and the like. The communication port 2310 connects the computer system 2300 to one or more communication interface devices configured to transmit and/or receive information between the computer system 2300 and other devices by way of one or more wired or wireless communication networks or connections. Examples of such networks or connections include, without limitation, Universal Serial Bus (USB), Ethernet, Wi-Fi, Bluetooth®, Near Field Communication (NFC), Long-Term Evolution (LTE), and so on. One or more such communication interface devices may be utilized via the communication port 2310 to communicate with one or more other machines, either directly over a point-to-point communication path, over a wide area network (WAN) (e.g., the Internet), over a local area network (LAN), over a cellular (e.g., third generation (3G), fourth generation (4G), fifth generation (5G)) network, or over another communication means.

The computer system 2300 may include a sub-systems port 2312 for communicating with one or more systems related to a device being charged according to the methods and system described herein to control an operation of the same and/or exchange information between the computer system 2300 and one or more sub-systems of the device. Examples of such sub-systems of a vehicle, include, without limitation, motor controllers and systems, battery control systems, and others.

The system set forth in FIG. 23 is but one possible example of a computer system that may employ or be configured in accordance with aspects of the present disclosure. It will be appreciated that other non-transitory tangible computer-readable storage media storing computer-executable instructions for implementing the presently disclosed technology on a computing system may be utilized.

Reference to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the disclosure. The appearances of the phrase “in one embodiment”, or similarly “in one example” or “in one instance”, in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Moreover, various features are described which may be exhibited by some embodiments and not by others.