WO2020188284A1 - Dispositif et procédé d'estimation d'une quantité de charge d'une batterie - Google Patents

Dispositif et procédé d'estimation d'une quantité de charge d'une batterie Download PDF

Info

Publication number
WO2020188284A1
WO2020188284A1 PCT/GB2020/050729 GB2020050729W WO2020188284A1 WO 2020188284 A1 WO2020188284 A1 WO 2020188284A1 GB 2020050729 W GB2020050729 W GB 2020050729W WO 2020188284 A1 WO2020188284 A1 WO 2020188284A1
Authority
WO
WIPO (PCT)
Prior art keywords
battery
offset error
current offset
runtime
soc
Prior art date
Application number
PCT/GB2020/050729
Other languages
English (en)
Inventor
Andre THUNOT
Original Assignee
Dyson Technology Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dyson Technology Limited filed Critical Dyson Technology Limited
Publication of WO2020188284A1 publication Critical patent/WO2020188284A1/fr

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/36Arrangements for testing, measuring or monitoring the electrical condition of accumulators or electric batteries, e.g. capacity or state of charge [SoC]
    • G01R31/385Arrangements for measuring battery or accumulator variables
    • G01R31/387Determining ampere-hour charge capacity or SoC
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/36Arrangements for testing, measuring or monitoring the electrical condition of accumulators or electric batteries, e.g. capacity or state of charge [SoC]
    • G01R31/382Arrangements for monitoring battery or accumulator variables, e.g. SoC
    • G01R31/3828Arrangements for monitoring battery or accumulator variables, e.g. SoC using current integration
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R19/00Arrangements for measuring currents or voltages or for indicating presence or sign thereof
    • G01R19/165Indicating that current or voltage is either above or below a predetermined value or within or outside a predetermined range of values
    • G01R19/16533Indicating that current or voltage is either above or below a predetermined value or within or outside a predetermined range of values characterised by the application
    • G01R19/16538Indicating that current or voltage is either above or below a predetermined value or within or outside a predetermined range of values characterised by the application in AC or DC supplies
    • G01R19/16542Indicating that current or voltage is either above or below a predetermined value or within or outside a predetermined range of values characterised by the application in AC or DC supplies for batteries
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R35/00Testing or calibrating of apparatus covered by the other groups of this subclass
    • G01R35/005Calibrating; Standards or reference devices, e.g. voltage or resistance standards, "golden" references
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/36Arrangements for testing, measuring or monitoring the electrical condition of accumulators or electric batteries, e.g. capacity or state of charge [SoC]
    • G01R31/3644Constructional arrangements
    • G01R31/3648Constructional arrangements comprising digital calculation means, e.g. for performing an algorithm
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/36Arrangements for testing, measuring or monitoring the electrical condition of accumulators or electric batteries, e.g. capacity or state of charge [SoC]
    • G01R31/382Arrangements for monitoring battery or accumulator variables, e.g. SoC
    • G01R31/3842Arrangements for monitoring battery or accumulator variables, e.g. SoC combining voltage and current measurements

Definitions

  • the present disclosure relates to estimating an amount of charge of a battery.
  • An amount of charge of a battery may be represented as a state of charge (SoC) of the battery.
  • SoC of the battery may be defined as the available capacity of the battery, Q available , expressed as a percentage of the nominal, rated capacity of the battery, or the maximum capacity after cycling, Q max .
  • the terms“charge” and“capacity” and“Q max ” and“C max ” are generally used herein interchangeably.
  • SoC estimation techniques are generally used by battery management systems (BMSs) to improve battery performance and/or to inform any connected subsystems of the amount of available capacity remaining. Accurate SoC measurements are difficult to achieve in practice since SoC cannot be measured directly. Instead, SoC measurements are evaluated as a function of other parameters and techniques.
  • a known technique for estimating SoC is Coulomb-counting.
  • Another known technique for estimating SoC involves estimating SoC based on open circuit voltages (OCV).
  • a method of estimating an amount of charge of a battery comprising:
  • a processor configured to perform a method according to the first, second or third aspect of the invention.
  • an electronic device comprising a processor according to the fourth aspect of the invention.
  • a computer program comprising instructions which, when executed, cause a method according to the first, second or third aspect of the invention to be performed.
  • a seventh aspect of the present invention there is provided computer- readable medium comprising instructions which, when executed, cause a method according to the first, second or third aspect of the invention to be performed.
  • Figure 1 shows schematically an example of a system
  • Figure 2 shows schematically another example of a system
  • Figure 4 shows a flowchart of an example of a main product loop
  • Figure 5 shows a flowchart of an example of an SoC algorithm routine
  • Figure 6 shows a flowchart of an example of start-up routine
  • Figure 7 shows a flowchart of an example of power-down routine
  • Figure 8 shows a flowchart of an example of mode-change routine
  • Figure 9 shows a flowchart of an example of a current offset error estimation routine
  • Figure 10 shows a flowchart of an example of a maximum capacity estimation routine
  • Figure 11 shows an example of a graph illustrating several runtime estimation parameters for a 40W, single-cell discharge
  • Figure 12 shows a flowchart of an example of a runtime algorithm main routine
  • Figure 13 shows a flowchart of an example of an end-of-discharge (EOD) estimation routine
  • Figure 14 shows a flowchart of an example of a nominal estimation routine
  • Figure 15 shows a flowchart of an example of an EOD predicted resistance recalibration routine
  • Figure 16 shows a flowchart of an example of a voltage differential runtime routine
  • Figure 17 shows schematically an illustration of a voltage differential runtime procedure
  • Figure 18 shows a flowchart of an example of a thermal differential runtime estimation routine.
  • Examples described herein relate to practical battery SoC estimation and runtime estimation algorithms. Such algorithms may be used with a range of battery-operated products.
  • the terms “battery-operated products”, “battery-operated electronic devices”, “products”, “electronic devices”, and“systems” are generally used herein interchangeably.
  • the SoC estimation and runtime estimation algorithms implement subroutines which intelligently and iteratively modify estimation parameters and dynamically evaluate systemic errors. This level of adaptability enables the algorithms to compensate for errors.
  • the errors may relate to product behaviour and/or battery degradation rates. More stable and accurate estimation values may thereby be provided over the lifetime of the product.
  • the present disclosure includes separate sections relating to estimating battery SoC and runtime values, features from these separate sections may be combined. For example, some parameters used in the example runtime estimation algorithms are described in relation to the example SoC estimation algorithms. As such, the battery SoC and runtime estimation algorithms may, in some examples, be used together. In other examples, the SoC and runtime estimation algorithms are used
  • Examples described herein provide accurate SoC and runtime estimations by implementing intelligent methods for incremental improvements to parameter estimations.
  • the SoC algorithm uses a combination of voltage-sensing and current-sensing methods along with self-recalibrating routines to achieve high levels of accuracy.
  • Such self- adaptive methods allow for correction for internal impedance cell variation from transient effects (for example, current rate) and with ageing.
  • the implementation of the SoC and runtime estimation algorithms is simplified, as substantial cell-specific data is not used for successful operation. Further, manufacturing deviations may be compensated by the adaptive nature of the SoC and runtime estimation algorithms.
  • Accuracy and stability of the example SoC and runtime estimation algorithms may be achieved via intelligent functions that adapt estimated outputs according to differences between predicted and observed states of the system. Consequently, the behaviour of the SoC and runtime estimation algorithms is, in examples, different for different products, since the degradation of the battery of a particular product is directly affected by different user-profiles and environmental factors, for example temperature.
  • variations and errors associated with the current measurement integrated circuit (1C) of the printed circuit board (PCB) of the product are estimated through a negative feedback system which aims to minimise accumulated errors within the calculations performed by the algorithms over several iterations.
  • the system 100 comprises a battery data management component 105, denoted“BQ” in Figure 1.
  • the battery data management component 105 may measure voltages, currents and/or temperatures, for example.
  • the system 100 comprises a BMS (battery management system) 1 10, denoted “BMS” in Figure 1.
  • BMS battery management system
  • the battery data management component 105 and the BMS 110 may be implemented using one or more processors.
  • the system 100 comprises internal memory 1 15.
  • the internal memory 1 15 comprises persistent internal memory. Battery estimations may link to the internal memory 1 15.
  • the system 100 implements an SoC algorithm 120.
  • the SoC algorithm 120 performs battery state estimations.
  • the SoC algorithm 120 may use various battery state estimation parameters to perform battery state estimations. Examples of battery state estimation parameters include, but are not limited to, maximum capacity, Q max , initial capacity, available energy, E batt , and current offset errors, l err .
  • the system 100 implements a runtime algorithm 125.
  • the runtime algorithm 125 performs runtime state estimations.
  • the runtime algorithm 125 may use various runtime state estimation parameters to perform runtime state estimations. Examples of runtime state estimation parameters include, but are not limited to, EOD predicted resistances, W eod , and energy loss counters.
  • the SoC and runtime algorithms 120, 125 are constructed in separate class functions. This may facilitate use in future battery-operated products and across multiple platforms.
  • Example communications between the SoC and runtime algorithms 120, 125 and PCB components, along with example data being computed, measured, or stored at each stage, are depicted in Figure 1.
  • FIG 2 there is shown schematically another example of a system 200.
  • the SoC estimation algorithm and/or the runtime estimation algorithm may be implemented in the system 200.
  • the system 200 shown in Figure 2 includes features which are the same as, or are similar to, features of the example system 100 shown in Figure 1 and described above. Such features are indicated using the same reference numeral but incremented by 100.
  • the system 200 comprises a battery pack 230.
  • the battery pack comprises six cells 231. However, in other examples, a different number of cells could be used.
  • the term“battery” is used herein to mean a device that comprises at least one cell.
  • the term “battery pack” is used herein to mean a device that comprises at least one battery. Unless the use would indicate otherwise, references herein to “battery” and “battery pack” should be understood to include both batteries and battery packs.
  • the battery pack 230 comprises a shunt resistor 232. In this specific example, the shunt resistor 232 has a resistance of 1 mW. However, the shunt resistor 232 may have a different resistance in other examples.
  • the system 200 comprises thermocouples 235.
  • thermocouples 235 provide battery temperature readings to the battery data management component 205.
  • a first one of the two thermocouples 235 is coupled to a third one of the six cells 231 and a second one of the two thermocouples 235 is coupled to a fourth one of the six cells 231.
  • the BMS IC 210 implements the SoC and runtime algorithms using data provided by the battery data management component 205.
  • the system 200 comprises a motor 240.
  • the system comprises a user interface PCB (Ul PCB) 245.
  • the system 200 comprises a display 250.
  • the display 250 comprises a 128 x 128 TFT screen.
  • the display may be of a different type in other examples.
  • the Ul PCB 245 determines how data is to be displayed on the display 250.
  • the Ul PCB 245 may apply runtime smoothing and/or data conditioning. In other examples, however, smoothing and/or conditioning may be performed elsewhere in the system or not at all.
  • the example systems 100, 200 shown in Figures 1 and 2 may be provided in a variety of battery-powered products.
  • the battery-powered product comprises a vacuum cleaner.
  • the system comprises a battery pack assembled with 18650 batteries. Each battery has a rated capacity of 2.80Ah.
  • the example SoC algorithms and runtime algorithms may, however, be used with other system designs, PCBs and/or or battery packs. Alterations may be made to the SoC algorithms and runtime algorithms described herein accordingly. For example, initial conditions and/or reference parameters may be adjusted such that stable and accurate estimation results are generated over the lifetime of the product based on properties of the specific product. In examples, runtime estimation errors are only applicable during discharge.
  • the SoC algorithm makes use of some established practices, such as Coulomb-counting and OCV references.
  • OCV references relate OCV values to corresponding SoC values.
  • OCV references may correspond to OCV tables and/or OCV curves.
  • An OCV curve may be used to represent an OCV table visually.
  • the SoC algorithm introduces recalibration routines that iteratively estimate measurement errors and adapt internal parameters to improve future estimations.
  • the SoC algorithm may not involve extensive offline training, as may be the case with artificial neural networks (ANNs), for example.
  • ANNs artificial neural networks
  • the SoC algorithm may not use extensive cell-specific data.
  • EOD predicted (internal) resistance values W eod , cutoff voltages, V cutoff , and maximum capacities, Q max , for example.
  • Systemic current measurement errors may be estimated online.
  • the SoC algorithm may be used with and/or adapted to most commercially- available, rechargeable Lithium-ion cells.
  • the SoC algorithm may be used with and/or adapted to a variety of different battery pack configurations.
  • the SoC algorithm may be programmed and executed on a low-cost microcontroller with a relatively small amount of persistent data.
  • the SoC algorithm may be of low computational complexity and may operate in real-time.
  • the SoC algorithm may use integer values and may not use floating-point arithmetic modules. As such, a lower-cost, quicker, faster microcontroller may be used, compared to floating-point arithmetic modules being used.
  • the present disclosure provides a SoC estimation method which can handle both cell degradation and systemic errors present in practical battery-operated systems, to achieve and maintain accurate estimations over the lifetime of the product.
  • the SoC of a battery pack is generally defined as the available capacity of the battery pack, Q available , expressed as a percentage of the nominal rated capacity of the battery pack, or the maximum useable capacity after cycling, Q max .
  • Capacity is generally expressed in ampere hours (Ah). Capacity may be considered to represent how many amps the battery pack can deliver for one hour, or the amount of electric charge the battery pack stores.
  • the equation for SoC may be generalised as:
  • Coulomb-counting may be used to estimate SoC.
  • Coulomb-counting may provide a relatively simple and practical implementation with respect to both hardware and software considerations.
  • Coulomb-counting suffers from accumulated errors over extended periods of time.
  • the accumulated errors may be caused by current measurement offsets, non- linearities, integration errors, rounding errors, and other noise sources. Such errors may manifest in measured current values, even if the errors are not directly related to current measurement.
  • Coulomb-counting may be implemented by accumulating, or subtracting, the measured amount of current, / measured , through the battery pack as:
  • t f is the final time, when current flow is terminated.
  • the plus sign in the above SoC equation is used in accordance with the convention used herein that during discharge current has a negative value, and during charge current has a positive value.
  • SoC( 0) 100%
  • the SoC algorithm uses a Coulomb counter, DC, and an energy counter, AE.
  • the terms “DC” and “DCoulomb” are used interchangeably herein.
  • the terms“AE” and“AEnergy” are also used interchangeably herein.
  • the runtime estimation algorithm uses the energy counter, AE, and the SoC algorithm does not use the energy counter, AE.
  • the Coulomb counter, DC, and/or the energy counter, AE are calculated from an approximate integral discrete function, via the trapezoidal numerical method, from the sampled battery pack current, / measured (t), and power, P measured (t respectively.
  • a sampling time, t s of approximately 250ms is used.
  • different sampling times, t s may be used in other examples.
  • the Coulomb counter, DC, and the energy counter, AE are, in effect, reset after recalibration routines and mode-change routines are executed.
  • Coulomb-counting involves accumulating, or subtracting, the current through the battery pack, / measured as measured by the BMS.
  • the measured current, I measured . is not necessarily the actual current, I actual through the battery pack.
  • the difference may result from various current-measurement error sources, examples of which are provided above.
  • the actual current, I actual may be expressed as the sum of the measured current, / measured and a current offset error, l err , such that:
  • the current offset error, I err may be considered to be an offset applied to the measured current, / measured to account for errors that manifest in the measured current, / measured ⁇ Coulomb-counting is then performed based on the measured current, / measured but adjusted by the current offset error, I err .
  • the current offset error, I err is estimated by the product. This differs from a preconfigured current offset error, I err , being used, where the current offset error, I err , is preconfigured during assembly of the product and is a static value.
  • the current offset error, I err is estimated multiple times throughout the lifetime of the product.
  • Estimating the current offset error, I err can provide more accurate SoC values, than where a predetermined and fixed current offset error, I err , is used or where no current offset error, I err , is used.
  • an assumed current value rather than a measured current value is used when the product is at rest. This is described in more detail below.
  • the assumed current value may be zero, but where the product is left at rest for long periods of time it may be preferably to use a non-zero value.
  • Coulomb-counting is performed more accurately.
  • a “predicted” SoC of the battery pack is obtained based on the Coulomb-counting technique.
  • an“observed” SoC of the battery pack is also obtained by measuring a voltage of the battery pack and using an empirically-established, nonlinear relationship between the measured voltage of the battery pack and the observed SoC. In examples, this involves using an OCV reference.
  • the predicted SoC and the observed SoC are compared. Comparing the predicted SoC and the observed SoC may involve subtracting the predicted SoC from the observed SoC. Differences between the predicted SoC and the observed SoC are used during a current offset error recalibration period to recalibrate the estimation of the current offset error, I err .
  • the current offset error, I err may be estimated such that the differences between the predicted SoC and the observed SoC are minimised.
  • the predicted SoC of the battery pack is obtained based on the Coulomb counting technique and using the estimated current offset error, I err , from the previous current offset error recalibration period.
  • the predicted SoC and the observed SoC during the subsequent current offset error recalibration period are compared, and the estimated current offset error, l err , is recalibrated accordingly.
  • the current offset error, I err is iteratively recalibrated.
  • the estimated current offset error, I err becomes stable after a number of current offset error recalibration periods.
  • the estimated current offset error, I err is then fixed, at least temporarily.
  • the current offset error, l err is estimated during a first recalibration phase.
  • the maximum capacity, Q max is fixed during the first recalibration phase.
  • the SoC algorithm enters a second recalibration phase in which the maximum capacity, Q ma x , is recalibrated.
  • the current offset error, I err is fixed during the second recalibration phase.
  • the second recalibration phase accounts for capacity degradation of the battery pack over time. Since SoC is a function of the maximum capacity, Q max , a more accurate estimation of the maximum capacity, Q max , can lead to more accurate SoC estimation.
  • FIG. 3 there is shown a flowchart of an example of a main product loop.
  • the main product loop includes SoC algorithm and runtime algorithm subroutines.
  • Figure 3 represents a continuous loop, which is run by the product at a target sampling rate.
  • the target sampling rate is 250ms.
  • the SoC algorithm is executed for every state of the product.
  • the states are charging, discharging and resting.
  • the resting state corresponds to the product being switched on but not being triggered.
  • the charging state may correspond to the vacuum cleaner being charged (for example by plugging the vacuum cleaner into a docking station)
  • the discharging state may correspond to the vacuum cleaner being used (for example as a result of a user having depressed a trigger on the vacuum cleaner)
  • the resting state may correspond to the vacuum cleaner being powered up but not being used.
  • the runtime algorithm is only executed during discharge.
  • Coulomb-counting involves integrating current through the battery.
  • the SoC algorithm uses a non-zero, predefined PCB current consumption value, as opposed to a measured current value, when the product is not being charged and remains in the resting state for more than a threshold amount of time.
  • the current drawn by the product at rest is likely to be small compared to the current drawn by the product during discharge.
  • the current drawn at rest may be around 10mA or 20mA (potentially around 100mA), compared to a current level of around 20A to 30A when the product is discharging.
  • Coulomb-counting is still performed during resting even though the current values may be small.
  • the product may be in the resting state for a longer amount of time than when the product is being discharged. Since the Coulomb counter, DC, is based on both current and time, a small current over a long time period can be significant.
  • a 10mA current draw for 30 minutes corresponds to 10% of a current draw of 30A for 1 minute. If the currents are rest were higher, for example 100mA or more, the impact of Coulomb-counting during resting is even more pronounced.
  • the predefined PCB current consumption value is set to zero such that the Coulomb counter, DC, does not account for current drawn while the product is resting, or Coulomb-counting could be bypassed altogether while the product is resting. Although this may simplify Coulomb-counting calculations, inaccuracies would be introduced as some current will be drawn by the PCB when the product is resting.
  • total system current consumptions exceeding a null value are included in the current measurement calculations of the SoC algorithm if they are maintained for more than a predetermined amount of time.
  • current consumptions over 10mA are included if they are maintained for more than thirty minutes. Such consumptions may be maintained as a separate offset variable.
  • the main product loop starts.
  • the product has been switched on and a start-up routine is run.
  • the main product loop progresses to item S3g, where the main product loop ends. If the result of the determination at item S3c is that the product is not charging, then it is determined at item S3h whether the product is resting. If the result of the determination at item S3h is that the product is resting, then, at item S3i, the battery current is set to be the average PCB current draw at rest. The average PCB current draw at rest corresponds to the predefined PCB current consumption referred to above. As such, in this example, when the product is resting, the battery pack current used for Coulomb-counting is an assumed current value, rather than a measured current value. At item S3j, the SoC algorithm runs and the main product loop moves to item S3e.
  • the SoC algorithm routine performs several calculations which are used to evaluate the SoC of the battery pack.
  • the code is executed approximately every 250ms, which corresponds to the target sampling rate in this example. Further calculations are performed when the product is discharging, since the runtime algorithm uses additional parameters to those used by the SoC algorithm.
  • the SoC algorithm also keeps track of the accumulated time used throughout integration, referred to herein as the “accumulated integration time” or the“integration time”. Such integration may correspond to the trapezoidal approximation described above.
  • the accumulated integration time is used to estimate the current offset error, I err .
  • the integration time is the total time over which SoC errors have been accumulated during a particular recalibration period. This may correspond to the sum of all the (approximately) 250ms sampling periods during that recalibration period.
  • the integration time may be used to calculate an SoC value based on Coulomb-counting. This, in turn, is used to estimate the current offset error, I err .
  • the integration time may also be used to check that enough time has passed over which SoC errors have been accumulated, where the SoC errors correspond to differences between predicted and observed SoC values.
  • the SoC algorithm routine starts.
  • Time Delay Current— Previous Time, where Current (Time) is a current time parameter and Previous Time is a previous time parameter. Where the target sampling rate is 250ms, the value of Time Delay is expected to be 250ms. However, in this example, the SoC algorithm routine calculates the time delay parameter, as opposed to setting it as the target value. Calculating the time delay results in more accurate SoC than setting the time delay as the target value.
  • the Previous Time parameter is also set as the current time, Current Time. As such, the value of the Previous Time parameter the next time the SoC algorithm routine runs will be the present Current Time value.
  • the battery pack current parameter, Battery Pack Current is obtained.
  • the Battery Pack Current corresponds to the measured current level, / measured but compensated with the estimated current offset error, I err .
  • the runtime state parameters include the battery pack average voltage (in other words, the average voltage of the cells of the battery pack) and the battery pack voltage range (in other words, the difference between the maximum voltage and the minimum voltage of the cells of the battery pack).
  • the runtime state parameters include a computed battery pack power.
  • the runtime state parameters include temperature values (run through an analog-to-digital- converter) for the battery pack, converted into °C.
  • AE energy counter value
  • DCoulomb corresponds to an accumulated charge, accumulated over the integration time.
  • DCurrent will have a negative sign when the product is discharging and will have a positive sign when the product is charging.
  • Current Capacity therefore corresponds to the initial capacity at the beginning the present recalibration period, minus the total accumulated change in capacity during the recalibration period.
  • the current offset error, l err is static may be determined in various different ways.
  • the current offset error, l err is considered to be static once it has been estimated a predetermined number of times.
  • the current offset error, l err may be considered to be static once it differs from a previously-estimated current offset error, l err , by less than a threshold value. If the result of the determination at item S4i is that the current offset error, I err , is not static, then the integration time is accumulated at item S4j. Accumulating the integration time may correspond to adding the value of the Time Delay parameter to an existing integration time value.
  • the SoC algorithm routine then finishes at item S4k. If the result of the determination at item S4i is that the current offset error, l err , is static, then the SoC algorithm routine finishes at item S4k.
  • the integration time is no longer accumulated. This is because, in this example, the integration time is used to estimate the current offset error, I err . In this example, the integration time is not used to estimate the maximum capacity of the battery, Q max , which, in this example, occurs once the current offset error, I err becomes static.
  • start-up routine is executed when the product is triggered from a shut-down state. This happens only once, when the product is first turned on, for example during product assembly. Persistent data is initialised during product assembly when the battery pack and BMS PCB are joined together. In this example, the start-up routine waits until the battery data management chip is operational so that the battery data management chip can successfully read the battery pack cell voltages. This may correspond to a delay of around one second. In this example, a minimum cell voltage condition of 2.50V is implemented such that the start-up algorithm does not erroneously initialise the persistent data if the BMS PCB is powered up without a battery pack.
  • the start-up routine may identify which cells are being used in the battery pack. Different instances of the core BMS code may be used for different cell types and/or chemistries. However, the production line may check that the BMS code and cells being assembled are matched correctly.
  • the start-up routine starts.
  • an attempt is made to read data from a persistent storage memory location.
  • the start-up routine ends at item S5f. If the result of the determination at item S5e is that the average cell voltage is greater than 2.5V, then, at item S5g, the start-up routine identifies which type of cell is being used in the battery pack and relevant static data for the identified cell is selected.
  • the static data may comprise the maximum capacity, Q max , an OCV reference curve for the cell and/or predicted EOD resistance values, W eod .
  • the start-up routine then proceeds to item S5h, where the start-up routine runs an OCV-to-SoC binary search with linear interpolation and stores the results as SocEstimate.
  • the OCV-to-SoC binary search with linear interpolation corresponds, in general, to looking up the SoC value for a given voltage value. In this example, the given voltage value is the battery pack average voltage obtained at item S5d.
  • the start up routine proceeds to item S5i, where persistent data storage is initialised.
  • the maximum capacity value is based on the nominal initial capacity value of 2800mAh as described above.
  • the persistent data is copied into a temporary persistent data structure.
  • the power-down routine is executed before the product completely shuts down.
  • shut-down is executed after the product has been resting for thirty minutes.
  • the SoC estimation is performed prior to shut-down in view of the turn-on time for the battery data management chip and a target turn-on time for the product.
  • the SoC estimation is later used during product start-up within the mode change routine, with little or no effect on the turn-on time of the product.
  • the power-down routine starts.
  • the power-down routine obtains the battery pack average voltage at item S6d.
  • an OCV-to-SoC binary search with linear interpolation is run and the result is stored as SocEstimation.
  • the temporary persistent data structure is written into persistent storage.
  • the power-down routine ends.
  • the mode change routine evaluates the recalibration steps which should be executed when a specific mode change is detected.
  • a mode change comprises a change from a previous discharge condition to a charge condition or from a previous charge condition to a discharge condition. Resting states that may occur between charging and discharging or between discharging and charging are, in this example, neglected.
  • the mode change routine evaluates the maximum capacity, Q max , when the current offset error, I err , estimation becomes static and when the average cell voltage from the battery pack is above a voltage level threshold. In this example, the voltage level threshold is 4.00V.
  • the voltage level condition means that the SoC algorithm does not perform unnecessary recalibrations when the product is used within its mid-point operating range, i.e. around 3.70V.
  • a similar threshold condition is used for the current offset error estimation, which, in this example, is only computed when the average cell voltage is below 3.15V. If the average cell voltage is below 3.15V, the SoC value would, however, be underestimated.
  • a small SoC offset value is used in conjunction with the estimated SoC value, where the estimated SoC value is computed from the OCV reference curve and binary search function.
  • the SoC offset value may, for example, be +1 %. However, more generally, the SoC offset value, in examples, lies between 0% and +3% SoC.
  • the offset value corresponds to an SoC adjustment value.
  • the estimated SoC value will always be under-valued for this particular condition.
  • the amount of time taken for the voltage of the battery pack to relax to the OCV value increases.
  • the voltage of the battery pack goes to the OCV value more slowly.
  • the OCV reference curves assume that the voltage of the battery pack has relaxed to the OCV value. If the OCV reference curve is used before the voltage of the battery pack has relaxed, the voltage of the battery pack will be less than the OCV value (while the battery is being discharged) and, hence, the SoC based on the measured voltage of the battery pack (i.e.
  • the mode change routine uses the SoC adjustment value to account for the fact that the SoC will be underestimated. In this example, an extra 1 % SoC is added to account for the underestimating.
  • the final SoC offset value may be adjusted to improve estimation performance. For example, the SoC offset value may be based on how long the product has been resting, how much the voltage of the battery pack has changed etc. For example, if the product has not been resting for very long, a higher offset value may be used, as the voltage of the battery pack would be further away from the OCV value.
  • the mode change routine starts.
  • the mode change corresponds to a change from a charging condition to a discharging state. If the result of the determination at item S7b is that the mode change does not correspond to a change from charging to discharging (i.e. if the mode change is from discharging to charging), then the battery pack average cell voltage is obtained at item S7c.
  • an OCV-to-SoC binary search with linear interpretation is run based on the battery pack average cell voltage and the result is stored as SocEstimation.
  • SocEstimation it is determined whether the battery pack average cell voltage is less than 3.15V.
  • SocEstimation Final SoC and the current offset error estimation routine runs.
  • the mode change routine ends. If the result of the determination at item S7b is that the mode change corresponds to a change from charging to discharging, then, at item S7I, it is determined whether the previous voltage is greater than 4.0V.
  • the mode change routine adds the latest difference between the observed and predicted SoC values, denoted, ASoC, to previously accumulated ASoC values.
  • the mode change routine then proceeds to item S7j.
  • the mode change routine is not run as a loop (for example every 250ms), but is executed when a mode change is detected.
  • the current offset error estimation routine evaluates the current offset error, I err .
  • the current offset error, I err is inherently present in the PCB battery pack current measurements at BOL (beginning of life).
  • the current offset error, I err is computed, in this example, by combining (i) the accumulated SoC errors, DSoC err (also denoted herein as “Accumulated AS oC”), observed during the current offset error recalibration period and (ii) the integration time over which the SoC errors have been accumulated, ATime (also denoted herein as “AcclntegrationTime”).
  • the current offset error, I err is calculated as:
  • / err (t i ) is the present estimation of the current offset error
  • I err , I err (t i-1 ) is the previous estimation of the current offset error, I err , from the previous current offset error recalibration period
  • DSoC err is the accumulated SoC error observed during the recalibration period
  • Q max is a static maximum capacity of the battery pack
  • ATime is the accumulated integration time used throughout the Coulomb-counting integration.
  • the current offset error, / err (t i ) is associated with the accumulated SoC error, DSoC err , which is associated with a difference between a predicted SoC of the battery pack (obtained, for example, via Coulom- counting) and an observed SoC of the battery pack (obtained, for example, via OCV reference). Further, in this example the current offset error, / err (t i ) is calculated based on a previously- calculated current offset error, I err (t i-1 ).
  • a predetermined number estimation attempts for the current offset error, I err is performed in order to achieve convergence.
  • the default predetermined number of estimation attempts is seven. However, in other examples, a different value between five and fifteen attempts is used.
  • the present example current offset error, I err estimation is attempted only once enough SoC error has accumulated over time. In this example, this is determined using ATime as a proxy. In particular, it is assumed that enough SoC error has accumulated once ATime exceeds a threshold value.
  • the current offset error, I err is dependent on the value of DSoC err .
  • the current offset error, l err may be adjusted based on the value of DSoC err . For example, if DSoC err is positive, then the current offset error, I err , may be increased and if DSoC err is negative, then the current offset error, I err , may be decreased. The amount of the increase or decrease may be related to the value of DSoC err .
  • the accumulated SoC error observed during the recalibration period, DSoC err , and the accumulated integration time, ATime may be used to determine the size of the adjustment to the current offset error, l err , in some examples, the accumulated SoC error and/or the accumulated integration time are not used. For example, a predetermined adjustment value may be used to increase and/or decrease the current offset error, I err , based on DSoC err .
  • the current offset error estimation routine starts.
  • the accumulated integration time threshold is one hour.
  • the accumulated integration time is denoted Alntegration Time in Figure 8. It is envisaged that the accumulated integration time associated with a charge and discharge will, in practice, generally be at least one hour. If the result of the determination at item S8b is that the accumulated integration time does not exceed the accumulated integration time threshold, then the current offset error estimation routine ends at item S8c.
  • the current offset error estimation routine calculates I err,damped (t i ) Where I err,damped is the average of the previous current offset error, / err (t i ) , and the present current offset error, / err (t i ) ⁇ As such, in this example, / err (t i ) is a preliminary current offset error estimation and I err,damped (t i ) is the current offset error estimation that is stored and used for Coulomb-counting. This introduces an element of damping to the current offset error estimation.
  • I err,damped is the average of the previous current offset error, I err (ti-1), and the present current offset error, / err (t i ) in other examples, I err , damped is a different function of the previous current offset error, I err (ti-1), and the present current offset error, general, non-zero-weighted contributions of both the previous current offset error, and the present current offset error, / err (t i ) may be used to calculate hrr, da e the average value is used, then the non-zero contributions are 50% I err (ti-1) and 5 However, the contributions may be different in other examples.
  • the SoC algorithm adaptively attempts to estimate adaptive parameters relating to current offset errors, l err , and capacity degradations, one-at-a-time.
  • the SoC algorithm attempts to estimate the current offset error first, I err , while assuming a constant battery pack capacity value, Q max .
  • the SoC algorithm attempts to estimate the battery pack capacity value, Q max , in view of capacity degradations, assuming a constant current offset error, l err . Since the capacity of the battery pack, Q max , is known with relatively high confidence at BOL, the SoC algorithm initially attempts to estimate the current offset error, I err , during the first few cycles when the product is initially used at BOL.
  • the impact of differences between the estimated current offset error, I err , and the actual value is greater at lower measured current values, and that impact is compounded by being integrated over a longer integration time.
  • the initial current offset error, I err value may be refined based on the actual error tolerances on the production PCB when these are known.
  • the expected current offset error, l err is likely to be close to the error specified within the datasheet of the production PCB.
  • errors over the lifetime of the product may drift from their initial value, for example after prolonged exposure to high levels of humidity and/or temperatures.
  • the SoC algorithm may operate within its production specification even with small changes to the estimated current offset error, l err , for example where the change is less than 10%.
  • the SoC algorithm may make five to fifteen attempts to recalibrate the current offset error, l err , then use a static current offset error, l err , for a specified number of cycles while the maximum capacity, Q max , is estimated, and then recalibrate the current offset error, I err , for a specified number of cycles while the latest estimated maximum capacity, Q max , is frozen, and so on.
  • the number of number of cycles used for subsequent recalibration of the current offset error, l err may be less than the number of cycles used for recalibration of the estimated maximum capacity, Q max .
  • the maximum capacity estimation routine periodically recalibrates the maximum capacity, Q max ⁇
  • the maximum capacity estimation routine measures OCV values during steady-state conditions before and after an extended discharge or charge period, determines corresponding SoC values, and integrates the current between the OCV measurements:
  • SoC init is the initial, observed SoC estimation value after a mode change is detected.
  • SoC init is obtained by measuring the battery pack voltage at an initial time and obtaining a corresponding SoC value based on the measured battery pack voltage.
  • SoC final is the final, observed SoC estimation when the maximum capacity estimation routine is called.
  • SoC final is obtained by measuring the battery pack voltage at a final time and obtaining a corresponding SoC value based on the measured battery pack voltage.
  • the maximum capacity, Q max is estimated based on the Coulomb counter, DC, data which represents the difference between the predicted amount of charge of the battery at the initial time and the predicted amount of charge of the battery at the final time.
  • the predicted amount of charge of the battery at the initial and final times are based on the now-static current offset error, l err .
  • SoC init - SoC final represents a difference between an observed amount of charge of the battery between the initial and final times.
  • the maximum capacity, Q max is estimated when the initial and final SoC values have been estimated from the OCV-to-SoC reference curve. Using the SoC estimation calculated during runtime through Coulomb-counting evaluates the same maximum capacity, Q max , value. In this example, the computed maximum capacity value, Q max , is averaged out over several estimations. This can provide greater accuracy and robustness than only using a latest estimated value. In this example, the averaging is implemented through a weighting average, where the weighting is based on 3/4 of the previous maximum capacity value and 1/4 of the latest maximum capacity value.
  • the maximum capacity estimation routine starts.
  • the maximum capacity estimation routine determines whether the threshold of DCoulomb > (Max Coluombs/2 ) is met. In other words, item S9d involves checking whether the change in the Coulomb-counter value is more than half of the maximum capacity of the battery pack, Q max ⁇ If the result of the determination at item S9d is that DCoulomb £ (Max Coluombs/2), then the maximum capacity estimation routine proceeds to item S9c.
  • the maximum capacity estimation routine determines whether the change in the maximum capacity compared to the previous maximum capacity, DQ max , is less than a maximum capacity change threshold.
  • the maximum capacity change threshold is Q max / 10. If the result of the determination at item S9g is that the change in maximum capacity, DQ max , is not less than the maximum capacity change threshold, then the maximum capacity estimation routine proceeds to item S9c. As such, significant variations between subsequent maximum capacity estimations may be handled. If the result of the determination at item S9g is that the change in maximum capacity, DQ max , is less than the maximum capacity change threshold, then, at item S9h, the maximum capacity estimation routine updates the maximum capacity value, Q max , and the maximum capacity estimation routine proceeds to item S9c.
  • the SoC algorithm includes adaptive subroutines which attempt to perform online estimations of the capacity degradation over time and analysis of parasitic measurement errors emanating from PCB components and manufacturing variability in order to improve the stability and response of the SoC algorithm over the lifetime of the product.
  • Examples use the Coulomb-counting technique, in which discharge current is integrated over time, so as to calculate percentage battery charge remaining.
  • the SoC algorithm makes adjustments to compensate for errors manifesting in current measurement, and for long-term battery degradation.
  • the SoC algorithm presumes that negligible battery degradation takes place early in the lifetime of the product, and iteratively calculates an offset, I err , to compensate for current measurement errors. After the product has been used sufficiently for iteration of the offset, I err , to have reached a given level of accuracy, the offset, I err , is frozen and is used, in some examples, for the rest of the lifetime of the product.
  • the SoC algorithm periodically recalibrates itself to account for decreasing battery capacity due to degradation, so that remaining charge is not over-estimated.
  • the SoC algorithm differs from, for example, performing a single calibration, to account for current measurement errors, during assembly of a product. Recalibrating the current offset error, I err , during use of the product provides more accurate, ongoing, estimation.
  • the iterative nature of the current offset error calculation has been described above in accordance with some examples. Battery degradation calibration, the damped nature of the iteration of the current offset error, l err , and the point in time at which the offset, I err , is frozen and the SoC algorithm begins accounting for battery degradation have all been described in detail above.
  • Various measures are provided in relation to estimating an amount of charge (e.g. SoC) of a battery.
  • a current offset error, I err associated with a difference between a predicted amount of charge of the battery and an observed amount of charge of the battery is calculated.
  • the estimated current offset error, I err is indicative of an error in a measured amount of current, / measured ⁇
  • the amount of charge of the battery is estimated using the estimated current offset error, l err .
  • the amount of charge may be expressed as an SoC value or otherwise.
  • the battery may be in the form of a battery pack comprising a plurality of cells, or otherwise.
  • the predicted amount of charge may be based on Coulomb-counting.
  • the observed amount of charge may be based on a measured voltage at rest and OCV reference.
  • Using the estimated current offset error, I err to estimate the amount of charge of the battery may provide a more accurate estimation of the amount of charge of the battery than if no current offset error, I err , is used, or if a preconfigured current offset error, I err , set during assembly is used.
  • the calculating of the current offset error, / err (t i ), is based further on a previously-calculated current offset error, I err (ti-1).
  • the current offset error, l err is calculated iteratively, based at least in part on the previously-calculated current offset error,
  • the predicted amount of charge of the battery is based on the previously-calculated current offset error, I err (ti-1).
  • the current offset error, / err (t i ), which is associated with the predicted amount of charge of the battery, is also based on the previously-calculated current offset error, / err (t i ) ⁇ Calculating the current offset error, / err (t i ) , ,n this way may provide more stable estimations than if only one estimation of the current offset error, I err , is used.
  • the calculating of the current offset error, I err,damped (ti ) comprises: (i) calculating a preliminary current offset error, / err (t i ), based on the difference between the predicted amount of charge of the battery and the observed amount of charge of the battery, and (ii) using non-zero-weighted contributions of both the preliminary current offset error, / err (t i ) and the previously-calculated current offset error, I err (ti-1), to calculate the current offset error, Ierr,damped (t i ) ⁇
  • the current offset error may correspond to the damped current offset error value, I e rr,damped (fi ), described above. This provides stability to the current offset error estimation.
  • the predicted amount of charge of the battery is based on the previously- calculated current offset error, I err (ti-1) .
  • the predicted amount of charge of the battery is obtained using Coulomb-counting which involves using a previously-calculated current offset error, I err (ti-1), from a previous recalibration period.
  • the estimating of the current offset error, l err is based further on a static maximum battery capacity, Q max ⁇ More accurate estimations of the current offset error, I err , may be obtained in this way, compared to estimating both the current offset error, l err , and the maximum battery capacity simultaneously, Q max .
  • the estimating of the amount of charge of the battery is based further on the static maximum battery capacity, Q max .
  • the amount of charge of the battery may be expressed as an SoC value, using the static maximum battery capacity, Q max , and the determined available capacity, Qavaiiabie ⁇
  • the predicted amount of charge of the battery is based on an amount of current measured during an integration time.
  • the predicted amount of charge of the battery may be based on observed current measurements.
  • the calculating of the current offset error, I err is dependent on the integration time being greater than an integration time threshold.
  • the current offset error, I err may be evaluated when sufficient SoC errors have accumulated. This may, in turn, increase the accuracy of the current offset error estimation, I err .
  • the calculating of the current offset error, l err is based further on the integration time. This can provide for more accurate current offset error estimation. Using the integration time enables the size of the current offset error estimation, I err , to be determined more accurately.
  • the calculating of the current offset error, l err is in response to detecting a change-of-mode from discharging to charging. Errors based on the current offset error, I err , can thereby be accumulated during charging state such that SoC errors may be determined and accumulated at a higher voltages, where voltages are closer to OCV voltages.
  • the predicted amount of charge of the battery and the observed amount of charge of the battery are calculated in response to detecting a change-of-mode from charging to discharging.
  • the predicted and observed amounts of charge are calculated when the voltage is relatively close to the OCV value. This, in turn, provides a more accurate observed amount of charge of the battery than if the observed amount of charge was calculated at a lower voltage, further away from the OCV value.
  • the change-of-mode from discharging to charging is prior to the change-of- mode from charging to discharging.
  • the SoC accumulation may be based on the current offset error estimation.
  • the estimated current offset error, l err is set as a static current offset error, I err , in response to a trigger event. It has been identified that the estimated current offset error, I err , settles close to its actual value after a relatively small number of cycles. Setting the estimated current offset error, l err , as opposed to carrying on estimating it, provides more efficient processing. Further, inaccuracies in the static current offset error, l err , may be accounted for during the second recalibration phase.
  • the trigger event corresponds to current offset error calculation having been performed a predetermined number of times. It has been identified that the current offset error, l err , may effectively be fixed once it has been estimated a predetermined number of times. This provides a relatively efficient mechanism for switching from the first recalibration phase to the second recalibration phase.
  • an estimated maximum battery capacity, Q max is calculated based on: (i) a change, DC, in a predicted amount of charge of the battery between first and second times, the change in the predicted amount of charge of the battery between first and second times being based on the static current offset error, I err , and (ii) a difference, SoC init - SoC final , between an observed amount of charge of the battery between the first and second times. Degradation of the battery may be taken account in relation to estimating the maximum battery capacity, Q max ⁇ This can, in turn, lead to more accurate estimations of the amount of charge of the battery.
  • the calculating of the estimated maximum battery capacity, Q max is dependent on a voltage of the battery being above a voltage level threshold. This may enable more accurate estimations of the maximum battery capacity, Q max , to be obtained when the voltage at rest is closer to the OCV value, compared to estimation being performed at any voltage level.
  • the observed amount of charge of the battery is based on an OCV reference look-up. Relatively accurate determinations of the observed amount of charge of the battery may thereby be obtained. This, in turn, improves the accuracy of the estimation of the current offset error, l err .
  • the observed amount of charge of the battery is caused to be stored in persistent memory in response to detecting a power-down condition, and the observed amount of charge of the battery is retrieved from the persistent memory in response to detecting a start up condition. This may improve performance in terms of responsiveness to user input.
  • Various measures are provided in relation to estimating a current offset error, I err , associated with errors manifesting in current measurements in an electronic device, and using the current offset error, l err , to estimate an amount of charge of a battery comprised in the electronic device.
  • I err a current offset error
  • l err a current offset error
  • more accurate estimations of the amount of charge of the battery may be obtained based on observed usage, compared to not using a current offset error, I err , or using a current offset error, l err , that is preconfigured at the point of assembly.
  • a processor of an electronic device comprising a battery estimates, during a first recalibration phase, a current offset error, l err , based on a static maximum capacity, Q max , of the battery, sets the estimated current offset error, I err , as a static current offset error, I err , and estimates, during a second recalibration phase, a maximum capacity of the battery, Q max , based on the static current offset error, I err .
  • Long-term accuracy of the estimations of the amount of charge of the battery may thereby be achieved, by estimating the current offset error, l err , during the first recalibration phase and then estimating the maximum capacity, Q max , to account for long-term degradation of the battery.
  • Battery pack runtime estimations are typically inaccurate or behave unpredictably after ageing when a considerable amount of capacity fading of the battery pack has occurred.
  • a battery pack runtime estimation algorithm may relate Coulomb counter data for the battery pack to the remaining runtime.
  • most battery-operated systems extract energy at constant power, that is at a variable current rate, so such runtime estimations are unlikely to be reliable.
  • the example runtime algorithms described herein build on top of the SoC framework described herein.
  • the runtime algorithm employs an energy-balance equation.
  • the energy-balance equation relates to the useable energy, E batt , of the battery pack and the observed discharge power of the battery pack, P batt .
  • the runtime algorithm incorporates adaptive and self-calibrating routines to improve the estimation accuracy and stability of the runtime algorithm over the lifetime of the product.
  • the routines are adaptive in that the example runtime algorithm transitions from one type of estimation (for example, energy-based) to another type of estimation (for example, voltage gradient).
  • the routines are self-calibrating in that parameters used to estimate the remaining runtime are recalibrated. Such recalibration may improve accuracy of subsequent runtime estimations made by the product.
  • runtime estimation is based on an energy- balance equation whereby the remaining runtime is extracted (or“estimated”) by combining the usable energy, E batt , of the battery with the observed discharge power, P batt
  • the useable energy, E batt is estimated by derating the maximum energy of the battery pack, E max , using an end-of-discharge (EOD) predicted resistance value, W eod .
  • EOD end-of-discharge
  • the maximum energy, E max is calculated from an OCV reference average, OCV avg , and the maximum available capacity, Q max .
  • the OCV reference average is the average voltage of the cells in the battery pack, which serves as an OCV reference.
  • the EOD predicted resistance value, W eod varies according to the discharge power of the product.
  • regular updates of estimation parameters are handled through the SoC framework described above. Examples of such estimation parameters include, but are not limited to, the maximum capacity, Q max , and current offset error, I err .
  • a runtime estimation based on voltage gradients at lower SoC values is used to refine predicted values, for example of the EOD predicted resistance values, W eod , and to correct for errors emanating from the SoC estimation parameters.
  • a runtime estimation based on thermal gradients at higher temperatures is used when a thermal cut-off condition occurs before a minimum cutoff voltage, V cutoff , is reached.
  • the runtime algorithm is based on an energy-balance equation.
  • E max the maximum available energy of the battery pack
  • the useable energy of the battery pack, E batt is approximated by derating the maximum available energy of the battery pack, E max , using a set of power-dependent EOD predicted resistance values, W eod , to generate an estimate of the remaining runtime.
  • the set of EOD predicted resistance values, W eod comprises a plurality of preconfigured EOD predicted resistance values, W eod
  • the runtime algorithm uses one or more of the plurality of preconfigured EOD predicted resistance values, W eod , to estimate an EOD predicted resistance value, W eod , based on an observed discharge power of the product.
  • the preconfigured EOD predicted resistance values, W eod are reconfigured over time.
  • the EOD predicted resistance values, W eod are used to estimate energy losses, E loss , caused by internal polarisation voltages.
  • E loss energy losses
  • a cell in a battery pack experiences a voltage drop as a result of internal resistances.
  • the internal resistances are dependent on the temperature of the cells in the battery pack and the SoC of the battery pack. Internal resistances change over time, in practice, but constant values may be used herein.
  • the constant values may, for example, be the average values over time.
  • the discharge power of the product affects the temperature of the cells in the battery pack. A higher discharge power corresponds to a higher temperature and a lower power corresponds to a lower temperature.
  • the product may be operable in multiple different power modes. For example, the product may operate in a low-power mode, which is associated with relatively low temperatures and relatively high resistance values. The product may be operable in a medium power mode, which is associated with medium-level temperatures and resistance values. The product may be operable in a high-power mode, which is associated with relatively high temperatures and relatively low resistance values, as the battery pack heats up.
  • the remaining runtime is estimated as follows:
  • the runtime algorithm inherits variables and parameters from the SoC estimation framework described above.
  • the runtime algorithm may use persistent data storage and estimation parameters such as SoC values, the current offset error, I err , and the maximum battery capacity, Q max .
  • the runtime algorithm uses the Coulomb counter, DC, and energy counter, AE, variables calculated by the SoC framework described above.
  • the SoC algorithm does not use the energy counter, AE, itself but may nevertheless calculate it for use by the runtime algorithm.
  • the maximum energy of the battery, E max remains constant after the initialisation routine of the runtime algorithm is executed and is recomputed only after a mode- change event is detected by the product.
  • the maximum energy of the battery, E max is dependent on the maximum capacity of the battery, Q max . Such recomputing of the maximum energy of the battery, E max , may therefore occur when the current offset error, I err , is static, for example.
  • the maximum capacity of the battery, Q max is static during a first recalibration phase in which the current offset error, I err , is estimated, and the maximum capacity of the battery, Q max , is then estimated during a second recalibration phase in which the current offset error, I err , is static.
  • the maximum energy of the battery, E max may be approximated by multiplying the maximum capacity of the battery pack, Q max , and the OCV reference average voltage (the average of the voltages of all of the cells in the battery pack), OCV avg , with the number of cells in the battery pack in series, N series , such that:
  • the maximum capacity, Q max is recomputed by the SoC algorithm over the lifetime of the product after, but not before, the current offset error, l err , is static.
  • the maximum capacity, Q max varies according to usage and/or environmental conditions. For example, there may be more degradation at higher current rates. Examples of environmental conditions include, but are not limited to, temperature and humidity.
  • the maximum energy approximation set out above is only used when no mode change events have been detected during partial charge or discharge usage and only when parameters have been reinitialised for a fully-charged battery.
  • mode change events detected upon partial charge or partial discharge conditions modify the OCV reference average voltage, OCV avg , by taking the voltage value from the OCV reference array with an index corresponding to half of the SoC initial value, where the SoC initial value is the SoC value when the mode change is detected.
  • FIG 10 there is shown an example of a graph illustrating several runtime estimation parameters for a 40W, single-cell discharge.
  • the polarisation voltage in other words, voltage drop
  • V D the terminal voltage
  • C D the useable capacity
  • the cutoff voltage, V cutoff of the cell is a specified minimum voltage at which the cell operates. This can be seen in Figure 10, where the 40W curve reaches the cutoff voltage, V cutoff , at a higher SoC value then the OCV curve.
  • the cell will still have some remaining, unusable capacity when it cuts off at the cutoff voltage, V cutoff In the example shown in Figure 10, the remaining capacity corresponds to around 8% SoC.
  • the polarisation voltage, V D , and the useable capacity, C D , of the cell can be expressed as follows:
  • SoC D is the SoC value at which the terminal voltage, V cutoff of the cell equals the cutoff voltage V cutofr of the cell. This equates to the difference between (i) the OCV of the cell, OCV(SoC), and (ii) the voltage drop, V D , equalling the cutoff voltage W eod of the cell. In this situation, therefore:
  • Vcutoff OCV (SoC D ) - v D.
  • the Ohmic resistance, W varies according to various electrochemical phenomena and temperature. Examples of electrochemical phenomena include, but are not limited to, migration and diffusion. Consequently, significant non-linear behaviour will be generated if this resistance value is directly used to estimate the remaining runtime of the battery pack.
  • a more relevant parameter for runtime estimation is the internal resistance at EOD, W eod , which can be predicted for a given power.
  • the polarisation voltage (in other words, the voltage drop) at EOD, V D,eod is given by:
  • I eod is the current at EOD.
  • the current at EOD, I eod may be calculated from:
  • the initialisation routine of the runtime algorithm is executed in response to a mode- change detection event or a power-on event.
  • the initialisation of the runtime algorithm may be included within the initialisation routine of the SoC algorithm or may be separated within a different namespace.
  • the initialisation routine of the runtime algorithm only includes a flag event to notify the system whether or not an EOD predicted resistance value, W eod , has already been updated.
  • the EOD predicted resistance values, W eod are read from the persistent data memory location and are stored in an integer array.
  • the integer array includes three EOD predicted resistance values, W eod , one corresponding to a low power, another corresponding to a medium power and a third corresponding to a high power.
  • the EOD predicted resistance value, W eod for the low power mode is 40W, for the medium power mode is 17W, and for the high power is 10W.
  • These initial EOD predicted resistance values, W eod , of 40W, 17W and 10W have, in this example, been chosen based on experimental data.
  • the initial EOD predicted resistance values, W eod used by the system may be subject to adjustments when the battery pack assembly has been finalised or if a different battery type, chemistry, or size is used.
  • These example initial EOD predicted resistance values, W eod may be found by running the SoC algorithm and runtime algorithm against a set of complete low-, medium-, and high-power discharge profiles.
  • the runtime algorithm automatically recalibrates the initial EOD predicted resistance values, W eod , over each full or partial discharge profile, with their values stabilising to a nominal value after several iterations.
  • the initial EOD predicted resistance values, W eod may be recalibrated, as described herein.
  • FIG. 11 there is shown a flowchart of an example of a runtime algorithm main routine.
  • the runtime algorithm is called upon by the main product loop described above, running at the target sampling rate (for example, 250ms).
  • the runtime algorithm is executed only during discharge. Other methods may be used instead during charging.
  • a runtime feature for a charging regime may use output parameters from the SoC algorithm, for example.
  • the runtime algorithm main routine is only executed when the discharge power is greater than 30W in absolute terms. This is because discharge powers lower than 30W, or approaching zero, may ultimately yield an infinite runtime value (and because in this case the product is designed to deliver more than 30W as a minimum). Other threshold discharge power values could be used, however.
  • the runtime algorithm includes sub-routines which estimate the runtime based on voltage gradients and thermal gradients.
  • the voltage gradients and thermal gradients correspond to variations (or“differential changes”) in voltage and temperature respectively.
  • the sub-routines effectively refine a nominal runtime estimation value, which is based on an energy-balance equation, to increase overall accuracy.
  • the runtime algorithm main routine starts.
  • the initialisation routine runs.
  • the EOD resistance estimation routine evaluates the power mode of the product, denoted “Powerlndex” , in order to recalibrate the appropriate EOD predicted resistance value, W eod , stored in persistent memory. After identifying the power mode and, therefore, the associated EOD predicted resistance value, W eod , the EOD maximum current, I eod , and the EOD voltage drop V D eod , are computed. In this example, the EOD resistance estimation routine also clips the SoC value evaluated by the SoC framework to be within the expected 0% and 100% range, as discussed previously.
  • the final EOD predicted resistance value, W eod (in other words, the EOD predicted resistance value, W eod , that will be used) is, in some examples, linearly interpolated between two known reference EOD predicted resistance values, W eod , via the triangle rule.
  • This enables a reasonable EOD predicted resistance value, W eod , value to be selected when the power is between the baseline values used in the reference EOD predicted resistance value, W eod , array. In this example, this corresponds to power values between the baseline power values of 50W for low power, 250W for medium power, and 660W for high power.
  • the EOD predicted resistance values, W eod associated with the 50W and 250W values are linearly interpolated to give an estimated EOD predicted resistance value, W eod , for the 100W discharge power.
  • the exact value of the reference power values for each power mode may be selected to reflect the main modes under which the product will operate and the data that was used to generate them.
  • the system linearly interpolates the EOD predicted resistance values, W eod , for the two closest power modes to the observed discharge power and selects the closest power mode to the observed discharge power.
  • the EOD predicted resistance value, W eod for that closest power mode is, in examples, then recalibrated as described in more detail below.
  • the EOD resistance estimation routine starts.
  • the product is determined to be in the low power mode and the power index parameter is set to have a value of zero. Processing then proceeds to item S12e where the maximum current at EOD, I eod , is calculated based on the EOD predicted resistance value, W eod , associated with the power index. If the result of the determination at item S12c is that the discharge power is greater than -150W, then, at item S12f, the product is determined to be in the medium power mode, the power index parameter is set to have a value of one and processing proceeds to item S12f.
  • processing proceeds to item S12i at which the maximum voltage drop at EOD, V D eod , is calculated from the maximum current at EOD, I eod , and the EOD predicted resistance value, W eod . Then, at item S12j, the battery capacity loss caused by the EOD voltage drop, V D eod , is calculated. Then, at item S12k, it is determined whether the calculated final SoC value is less than 0%.
  • the final SoC value is set to 0% and the EOD resistance estimation routine ends at item S12m. If the result of the determination at item S12k is that the calculated SoC value is less than 0%, then, at item S12I, the final SoC value is set to 0% and the EOD resistance estimation routine ends at item S12m. If the result of the determination at item S12k is that the calculated SoC value is not less than 0%, then, at item S12n, it is determined whether the calculated final SoC value is greater than 100%. If the result of the determination at item S12n is that the calculated SoC value is greater than 100%, then, at item S12o, the final SoC value is set to 100% and the EOD resistance estimation routine ends at item S12m. If the result of the determination at item S12n is that the calculated SoC value is not greater than 100%, then the EOD resistance estimation routine ends at item S12m.
  • Nominal Runtime Estimation Referring to Figure 13, there is shown a flowchart of an example of a nominal estimation routine.
  • the nominal estimation routine computes the nominal runtime estimation from the final runtime formulation indicated above, namely:
  • the nominal estimation routine starts.
  • the nominal estimation routine calculates:
  • Rated Capacity MaxCapacity x (InitialSoc— DeltaSoc ),
  • RatedEnergy RatedCapacity x (AvgVoltageOcv—
  • the EOD predicted resistance recalibration routine evaluates whether to recalibrate the EOD predicted resistance value, W eod , associated with the current power mode, as indicated by the Powerlndex parameter.
  • recalibration is only performed when the system has identified a voltage cutoff condition and when the runtime estimation is outside a hysteresis error value.
  • the voltage condition corresponds to the minimum cell voltage being less than or equal to the cutoff voltage, V cutoff .
  • the hysteresis error value may be an arbitrary value. In this example, the hysteresis error value is ⁇ 10 seconds.
  • a flag is set to notify the runtime algorithm that the EOD predicted resistance value, W eod , has already been recalibrated.
  • the EOD predicted resistance recalibration method takes the form of a simple increment or decrement change in the base value of the EOD predicted resistance value, W eod , of the associated power mode. Other, more complex methods may be used.
  • the EOD predicted resistance value, W eod is not expected to vary considerably over a relatively small number of cycles, for example over ten cycles. Any significant variations may be associated with errors in the SoC estimation or other stochastic factors such as ambient temperature, humidity, or usage.
  • the EOD predicted resistance recalibration routine may be configured such that the base EOD predicted resistance value, W eod , does not vary by a significant amount as a result of the recalibration.
  • the EOD predicted resistance value, W eod for each power mode may be interpreted as a lump-sum resistance value that intrinsically accounts for the thermal effects on battery performance, such as lower voltage drops and higher capacities.
  • thermal derating methods may, in some examples, not be used for the algorithm. Such methods may add unnecessary complexities.
  • thermal derating involves use of the Arrhenius relationship.
  • an Arrhenius-type derating method may be used, in some examples, when the battery pack operates at subfreezing temperature as the internal resistance of the cells increases exponentially. This leads to a considerable loss in available energy, which may adversely impact the overall accuracy of the runtime algorithm if the thermal derating is not applied.
  • the EOD predicted resistance recalibration routine starts.
  • the EOD predicted resistance recalibration routine ends at item S14c. If the result of the determination at item S14d is that the EOD flag is false, then, at item S14e, it is determined whether the difference between the maximum and minimum voltage of cells in the battery pack is less than 1 0V. If the result of the determination at item S14e is that the difference between the maximum and minimum voltage of cells in the battery pack is not less than 1.0V (which indicates voltage imbalance within the battery pack), then the runtime algorithm EOD predicted resistance recalibration routine ends at item S14c.
  • the EOD predicted resistance value, W eod for the current power mode is incremented by one. Increasing the EOD predicted resistance value, W eod , results in the runtime decreasing, as can be seen from the example final runtime formulation given above (assuming other parameters in the final runtime formulation are fixed).
  • the EOD predicted resistance recalibration routine ends at item S14c. If the result of the determination at item S14h is that the runtime is less than minus ten seconds, then, at item S14i, the EOD predicted resistance value, W eod , for the current power mode is decreased by one and the EOD predicted resistance recalibration routine ends at item S14c. Decreasing the EOD predicted resistance value, W eod , results in the runtime increasing, as can be seen from the example final runtime formulation given above (assuming other parameters in the final runtime formulation are fixed).
  • the EOD predicted resistance recalibration routine may be executed by comparing the nominal run-time value to other run time estimations (for example the voltage differential runtime described below) using the general procedure described above.
  • the voltage differential runtime routine employs a voltage variation (or“differential voltage”) method to compute the remaining runtime when the battery voltage is below a predefined value.
  • the predefined value is 3.00V. It will be appreciated that this predefined value is different from the cutoff voltage, V cutoff .
  • the voltage gradient of the cell with the lowest voltage value in the battery pack (over time) is calculated. In other words, the rate of change of the voltage of the cell with the lowest voltage value is calculated.
  • This is then used, in this example, to compute a runtime estimation value through linear extrapolation. This may be achieved by employing the triangle proportionality theorem in order to compute a remaining runtime estimation value, as illustrated in Figure 16.
  • the method then combines the nominal runtime estimation and the voltage gradient runtime estimations.
  • a variable weight that is linearly proportional to the decrease in observed voltage from the threshold value is applied. This provides a smooth transition between both the nominal and voltage gradient estimations without sudden variations.
  • an example time delay of five seconds between subsequent voltage readings is used in conjunction with a 50 mV minimum voltage difference such that the voltage measurement has decreased sufficiently.
  • the voltage differential routine evaluates different voltage variations of the battery.
  • One example voltage variation is the voltage being less than or equal to a threshold voltage level.
  • Another example voltage variation is the voltage gradient being greater than a threshold voltage gradient.
  • FIG. 15 there is shown a flowchart of an example of a voltage differential runtime routine.
  • the voltage differential runtime routine starts.
  • a voltage sense timer parameter VoltageSenseTimer
  • TimeDelay it is then determined, at item S15d, whether the voltage sense timer parameter is less than zero. If the result of the determination at item S15d is that the voltage sense timer parameter is not less than zero, then, at item S15e, the Weight_l and Weight_ 2 parameters are calculated and the runtime is calculated as:
  • Runtime ( Runtime x Weight_l + V oltageRuntime x Weight_2)/100.
  • V oltageRuntime ( Delay x
  • the runtime algorithm employs a thermal differential runtime estimation if the battery pack thermal cutoff condition occurs before the minimum voltage cutoff, V cutoff , is reached.
  • the thermal differential runtime estimation routine is similar to the voltage differential routine in that a similar delay is used to record two subsequent temperatures.
  • the thermal differential runtime estimation routine is executed when the temperature of the battery exceeds 50°C and when a positive thermal gradient is computed, in order to avoid any unnecessary code execution.
  • the variable weight used in the voltage differential routine is not present within the thermal differential runtime estimation routine as the thermal variations of the cell exhibit a highly damped response when compared to the voltage variation of a cell.
  • the thermal differential routine evaluates different temperature variations of the battery.
  • One example temperature variation is the temperature exceeding a threshold temperature level.
  • Another example temperature variation is the thermal gradient being greater than a threshold thermal gradient.
  • the thermal differential runtime estimation routine starts.
  • the value of the Temper atureHigh parameter is set as the maximum of the measured temperatures of the cells of the battery pack.
  • the thermal differential runtime estimation routine ends at item S17f. If the result of the determination at item S17e is that the thermal runtime is less than the runtime, then, at item S17g, the runtime is set as the thermal runtime and the thermal differential runtime estimation routine ends at item S17f. If the result of the determination at item S17c is that the maximum temperature of the cells of the battery pack is above 50°C, then, at item S17h, the value of the thermal sense timer parameter is decremented by the value TimeDelay and it is then determined at item S17i whether the value of the thermal sense timer parameter is less than zero.
  • a practical runtime algorithm is provided which operates atop the SoC framework described above and incorporates an additional self-calibrating subroutine which attempts to estimate the EOD predicted resistance values, W eod , of the battery pack over the lifetime of the battery pack.
  • the runtime algorithm introduces voltage and thermal differential routines that may improve the final runtime estimation value.
  • the voltage and thermal differential routines may ultimately introduce a degree of non-linear behaviour into the system.
  • Analysis of the response of the runtime algorithm to different environmental conditions (for example, different ambient temperatures) and power modes over an extended cycling period has also been provided herein. Results have demonstrated that the runtime estimation is achieved with varying degrees of linearity for all experimental data. A perceived runtime acceleration or deceleration up to ⁇ 30% may be encountered.
  • the runtime estimation algorithm has a ⁇ 30 second runtime error at high power levels, a ⁇ 45 second runtime error at medium power levels, and a ⁇ 60 second runtime error at low power levels. In examples, a discharge runtime resolution of one second is attained.
  • the battery pack is discharged at a constant power (i.e. varying current).
  • a motor of a vacuum cleaner may be run at constant power.
  • Calculating remaining runtime using SoC from a current-counting technique such as Coulomb-counting) would be inaccurate.
  • runtime calculations use an energy balance equation, where the remaining runtime equals the available energy divided by the discharge power. The resulting remaining runtime value may be displayed to the user.
  • the runtime algorithm begins to calculate, in parallel, an expected runtime based on the rate of change of voltage (referred to herein as the“voltage gradient”) of the battery pack.
  • the runtime algorithm then adjusts the expected or“nominal” runtime calculated using the energy balance equation, based on the runtime calculated from the voltage gradient, to produce the runtime value displayed to the user.
  • the runtime algorithm monitors the temperature of the battery and interpolates the estimated time until the battery will reach a safety cut-off temperature.
  • the product displays the time until thermal cut-off as the expected runtime.
  • examples described herein provide a runtime algorithm which transitions from using an energy balance to using a voltage gradient. The gradual nature of the transition from energy balance to voltage gradient, and the temperature-based override features have also been described.
  • Various measures are provided in relation to estimating a remaining runtime of a battery.
  • a first runtime estimation based on an estimated useable energy of the battery is obtained, a second runtime estimation based on a variation of a voltage of the battery is obtained, and an estimated remaining runtime of the battery using both the first and second runtime estimations is calculated.
  • the first runtime estimation may, for example, be obtained using an energy-balance equation.
  • the second runtime estimation may, for example, be obtained based on the voltage being less than or equal to a threshold voltage level and/or a voltage gradient of the battery exceeding a voltage gradient threshold. As such, more accurate estimations of the remaining runtime may be obtained, particularly as the battery reaches a cutoff voltage.
  • the first runtime estimation is obtained based on a discharge power of the battery. As such, accuracy of the runtime estimation may be enhanced.
  • the discharge power may be an observed discharge power.
  • the useable energy of the battery is estimated by derating an estimated maximum available energy of the battery with an estimated energy loss, the estimated energy loss is based on a predicted internal resistance of the battery at an end-of-discharge, and the predicted internal resistance of the battery is dependent on the discharge power of the battery.
  • accuracy of the runtime estimation may be enhanced by factoring in internal resistances at EOD.
  • the estimated maximum available energy of the battery is based on an estimated amount of charge of the battery at the end-of-discharge. As such, accuracy of the runtime estimation may be enhanced by factoring in an estimated amount of charge at EOD.
  • the predicted internal resistance is selected from a plurality of power- dependent predicted internal resistances based on the discharge power of the battery. As such, accuracy of the runtime estimation may be enhanced by using a predicted internal resistance matched with operating conditions
  • the predicted internal resistance is updated. This can lead to increased accuracy of subsequent runtime estimations.
  • the updating of the predicted internal resistance comprises increasing the predicted internal resistance in response to the estimated remaining runtime of the battery being greater than the observed remaining runtime of the battery. This can lead to increased accuracy of subsequent runtime estimations.
  • the updating of the predicted internal resistance comprises decreasing the predicted internal resistance in response to the estimated remaining runtime of the battery being less than the observed remaining runtime of the battery. This can lead to increased accuracy of subsequent runtime estimations.
  • the estimating of the remaining runtime of the battery uses non-zero weighted contributions of both of the first and second runtime estimations. As such, a smooth transition may be applied in relation to contributions of the first and second runtime estimations.
  • the contributions are dependent on the voltage of the battery. As such, runtime estimations may be matched to operating conditions.
  • the runtime estimation may be matched with observed influences on remaining runtime.
  • the first runtime estimation is obtained based on an estimated amount of energy of the battery that has already been used. Such examples provide more accurate estimations of the useable energy of the battery and, hence, more accurate runtime estimations.
  • the second runtime estimation is obtained in response to the voltage of the battery being less than a voltage level threshold.
  • the second runtime estimation is more influential at lower voltages. As such, factoring in the second runtime estimation at lower voltages may provide more accurate runtime estimations.
  • the second runtime estimation is obtained in response to a voltage gradient of the battery being greater than a voltage gradient threshold. This may enable extrapolations to be made to predict the remaining runtime.
  • a third runtime estimation is obtained based on a variation of a temperature of the battery, wherein the estimating of remaining runtime of the battery further comprises using the third runtime estimation. More accurate runtime estimations may be achieved by factoring in the temperature.
  • the third runtime estimation is obtained in response to the temperature of the battery exceeding a battery temperature threshold. Processing associated with the third runtime estimation may be triggered when the temperature of the battery is likely to impact the runtime estimation.
  • the third runtime estimation is obtained in response to a thermal gradient of the battery exceeding a thermal gradient threshold. Processing associated with the third runtime estimation may be triggered when the thermal gradient of the battery is likely to impact the runtime estimation.
  • the third runtime estimation is used as the estimated remaining runtime of the battery in response to the third runtime estimation being less than the calculated remaining runtime. More accurate runtime estimations may be achieved by using a more appropriate runtime estimation.
  • an indication of the estimated remaining runtime of the battery is caused to be displayed on a display.
  • Various measures are provided in relation to estimating a remaining runtime of a battery. Both an estimated useable energy of the battery and a variation of a voltage of the battery are used to estimate the remaining runtime of the battery. This can provide more accurate runtime estimations than using one but not the other of the useable energy and the voltage variation.
  • a processor uses an energy balance equation to estimate the remaining runtime of the battery at a first point in time and uses both the energy balance equation and a voltage gradient to estimate the remaining runtime of the battery at a second, later point in time. This can provide more accurate runtime estimations than using one but not the other of the energy-balance equation and the voltage gradient.
  • battery pack power is evaluated from the sum of all individual cell voltages measured by the battery data management chip and multiplied by the effective current flow, which includes an estimated current offset error, I err .
  • the battery pack power is not evaluated directly from the voltage reading of the battery pack in view of higher cumulative errors associated with such readings.
  • the system initiates a resting period of at least 200 seconds before charging the product when conditions from the recalibration routines are met.
  • the recalibration routines are executed at the end of the resting period and before charging occurs.
  • the system checks that the output data from the battery data management chip is not corrupted during start-up, which may occur from previously stored values in the memory of the chip.
  • the battery data management chip maintains a consistent sampling rate. In examples, the sampling rate is between 200ms and 350ms. In some examples, the target sampling rate is 250ms.
  • the battery data management chip calls the SoC algorithm when data is made available. In examples, the target sampling rate is maintained throughout charging, discharging, and resting states.
  • a persistent data structure records the average cell voltage from the battery pack and updates relevant parameters prior to product complete shutdown.
  • the persistent data structure is initialised during the production phase of the product, when the battery pack is assembled onto the BMS PCB and the product is tested or triggered throughout assembly. This may involve a small delay (for example, approximately 3 seconds) for the battery data management chip to become active and ready to measure battery pack cell voltages.
  • the system always attempts to run a recalibration routine, upon detecting a mode change, with the final recorded value of the average cell voltage. In examples, certain conditions should be met for the recalibration to execute fully.
  • the system uses the previously updated values in persistent data for recalibration purposes if the product is triggered during a shutdown state (i.e. a state where the product is completely switched off, including any screen and any other system-level hardware).
  • the recalibration routine occurs within two seconds after product has being triggered from a shutdown state.
  • the system does not attempt to estimate both the current offset error, I err , and the battery pack maximum capacity, Q max , simultaneously.
  • the current offset error, I err is evaluated at the BOL of the product and remains constant after a predefined number of estimation attempts (for example, seven attempts) have been performed.
  • the maximum capacity estimation routine of the algorithm is evaluated throughout the lifetime of the product, but only after the current offset error estimation value, l err , becomes static (in other words, constant).
  • the system is able to identify the cells being used within the battery pack and adjust the initial parameters or references of the algorithms appropriately when the product is first initialised.
  • adjustments for the SoC algorithm include updates to the OCV reference curve and expected capacity range (i.e. minimum, nominal, maximum) of the battery pack.
  • additional adjustments are also made for the runtime algorithm parameters.
  • SoC and runtime algorithm firmware code is stored and executed onto the N248F battery pack BMS board.
  • the Ul screen requests data from the BMS board indirectly through another board to retrieve SoC or runtime information.
  • the parameters associated with both the SoC and runtime algorithms are adapted according to the cell(s) being used.
  • Examples described herein relate to Lithium-ion cells. However, other chemistries may be used.
  • Various different parameters may be modified dependent on the type of Lithium-ion, or other, cell used.
  • the OCV reference curve of the cell may be extracted, for example through GITT (galvanostatic intermittent titration technique) at BOL and a 23°C ambient temperature.
  • GITT galvanostatic intermittent titration technique
  • Such data may be post-processed to generate an array of 101 data points, equally spaced between 0% and 100%.
  • Cell maximum, nominal, and rated capacities may also be obtained, for example as specified by the manufacturer of the cell.
  • the predicted EOD resistances values, W eod may also be obtained for all power modes (for example, high, medium, and low).
  • battery runtime is be estimated when the product is being charged.
  • a smoothing interface is provided between the SoC and/or runtime estimations and Ul screen of the product.
  • the Ul and/or graphics are adapted based on how the output of the algorithm output estimations are to be displayed.
  • the SoC algorithms and runtime algorithms are modified for use with products which do not operate under constant power modes.
  • I err voltage and current offset errors
  • I e rr may not be assumed. In such other examples, the system may account for errors that deviate considerably with one or both of these factors.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Secondary Cells (AREA)
  • Charge And Discharge Circuits For Batteries Or The Like (AREA)

Abstract

L'invention concerne un procédé d'estimation d'une quantité de charge d'une batterie qui consiste à calculer une erreur d'écart de courant associée à une différence entre une quantité de charge prédite de la batterie et une quantité de charge observée de la batterie, l'erreur d'écart de courant estimée indiquant une erreur dans un courant mesuré ; et à estimer la quantité de charge de la batterie à l'aide de l'erreur d'écart de courant estimée.
PCT/GB2020/050729 2019-03-20 2020-03-19 Dispositif et procédé d'estimation d'une quantité de charge d'une batterie WO2020188284A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1903834.8A GB2582346A (en) 2019-03-20 2019-03-20 Estimating an amount of charge of a battery
GB1903834.8 2019-03-20

Publications (1)

Publication Number Publication Date
WO2020188284A1 true WO2020188284A1 (fr) 2020-09-24

Family

ID=66380966

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2020/050729 WO2020188284A1 (fr) 2019-03-20 2020-03-19 Dispositif et procédé d'estimation d'une quantité de charge d'une batterie

Country Status (2)

Country Link
GB (1) GB2582346A (fr)
WO (1) WO2020188284A1 (fr)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112684396A (zh) * 2020-11-20 2021-04-20 国网江苏省电力有限公司营销服务中心 电能表运行误差监测模型的数据预处理方法及系统
CN113240194A (zh) * 2021-06-04 2021-08-10 河北工业大学 储能电池容量预测方法、服务端及计算机可读存储介质
CN114655078A (zh) * 2022-04-12 2022-06-24 东软睿驰汽车技术(沈阳)有限公司 续航里程的确定方法、装置和电子设备
CN114938044A (zh) * 2022-04-26 2022-08-23 阿尔特汽车技术股份有限公司 车辆电池涓流充电时soc的确定方法、装置、设备及介质
CN115219939A (zh) * 2022-09-15 2022-10-21 小米汽车科技有限公司 电池温度预测方法、装置、车辆和存储介质
CN115436809A (zh) * 2022-09-28 2022-12-06 欣旺达电动汽车电池有限公司 电池容量估算的方法、电子设备及存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021117074A1 (de) 2021-07-02 2023-01-05 Audi Aktiengesellschaft Steuereinrichtung und Verfahren zum Anpassen eines Kapazitätswerts einer Batterie
JP2023027446A (ja) * 2021-08-17 2023-03-02 矢崎総業株式会社 蓄電池制御装置、蓄電システム、及び蓄電池制御方法
CN114137346B (zh) * 2021-11-26 2023-09-12 国网湖南省电力有限公司 一种基于数模仿真平台的储能电站电池管理系统测试装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1220413A1 (fr) * 1999-09-09 2002-07-03 Toyota Jidosha Kabushiki Kaisha Appareil pour la mesure de la capacite d'une batterie et pour le calcul de la capacite restante
JP2010130872A (ja) * 2008-12-01 2010-06-10 Panasonic Corp 2次電池の充電制御方法および情報処理装置
WO2011060820A1 (fr) * 2009-11-19 2011-05-26 Robert Bosch Gmbh Procédé et dispositif de mesure de courant, à compensation d'erreur, d'un accumulateur électrique
WO2012098968A1 (fr) * 2011-01-17 2012-07-26 プライムアースEvエナジー株式会社 Appareil pour l'estimation de l'état de charge d'une pile rechargeable
US20160054390A1 (en) * 2014-08-19 2016-02-25 Jian Lin Techniques for robust battery state estimation
DE102016113381A1 (de) * 2015-07-30 2017-02-02 Toyota Jidosha Kabushiki Kaisha Energieversorgungsystem für ein Fahrzeug
EP3327456A1 (fr) * 2016-11-22 2018-05-30 Samsung Electronics Co., Ltd. Procédé et appareil d'estimation de l'état d'une batterie sur la base de correction d'erreur

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002238181A (ja) * 2001-02-13 2002-08-23 Denso Corp 車載バッテリの充電状態検出装置
DE102011075954A1 (de) * 2011-05-17 2012-11-22 Robert Bosch Gmbh Verfahren zum Schätzen eines Ladungszustands
KR101399362B1 (ko) * 2012-11-28 2014-05-30 에스케이씨앤씨 주식회사 전류 적산 오프셋을 이용한 건강 상태 추정 방법 및 장치
KR20150023091A (ko) * 2013-08-22 2015-03-05 현대모비스 주식회사 배터리관리시스템 및 그 운용방법
KR101856367B1 (ko) * 2016-10-17 2018-05-09 현대자동차주식회사 배터리 전류 검출용 전류 센서의 옵셋 전류 측정 시스템 및 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1220413A1 (fr) * 1999-09-09 2002-07-03 Toyota Jidosha Kabushiki Kaisha Appareil pour la mesure de la capacite d'une batterie et pour le calcul de la capacite restante
JP2010130872A (ja) * 2008-12-01 2010-06-10 Panasonic Corp 2次電池の充電制御方法および情報処理装置
WO2011060820A1 (fr) * 2009-11-19 2011-05-26 Robert Bosch Gmbh Procédé et dispositif de mesure de courant, à compensation d'erreur, d'un accumulateur électrique
WO2012098968A1 (fr) * 2011-01-17 2012-07-26 プライムアースEvエナジー株式会社 Appareil pour l'estimation de l'état de charge d'une pile rechargeable
US20160054390A1 (en) * 2014-08-19 2016-02-25 Jian Lin Techniques for robust battery state estimation
DE102016113381A1 (de) * 2015-07-30 2017-02-02 Toyota Jidosha Kabushiki Kaisha Energieversorgungsystem für ein Fahrzeug
EP3327456A1 (fr) * 2016-11-22 2018-05-30 Samsung Electronics Co., Ltd. Procédé et appareil d'estimation de l'état d'une batterie sur la base de correction d'erreur

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TAKEGAMI TOMOKI ET AL: "State-of-charge and parameter estimation of lithium-ion battery using dual adaptive filter", 2017 IEEE CONFERENCE ON CONTROL TECHNOLOGY AND APPLICATIONS (CCTA), IEEE, 27 August 2017 (2017-08-27), pages 1332 - 1337, XP033162685, DOI: 10.1109/CCTA.2017.8062643 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112684396A (zh) * 2020-11-20 2021-04-20 国网江苏省电力有限公司营销服务中心 电能表运行误差监测模型的数据预处理方法及系统
CN112684396B (zh) * 2020-11-20 2024-03-01 国网江苏省电力有限公司营销服务中心 电能表运行误差监测模型的数据预处理方法及系统
CN113240194A (zh) * 2021-06-04 2021-08-10 河北工业大学 储能电池容量预测方法、服务端及计算机可读存储介质
CN113240194B (zh) * 2021-06-04 2022-08-23 河北工业大学 储能电池容量预测方法、服务端及计算机可读存储介质
CN114655078A (zh) * 2022-04-12 2022-06-24 东软睿驰汽车技术(沈阳)有限公司 续航里程的确定方法、装置和电子设备
CN114655078B (zh) * 2022-04-12 2023-12-15 东软睿驰汽车技术(沈阳)有限公司 续航里程的确定方法、装置和电子设备
CN114938044A (zh) * 2022-04-26 2022-08-23 阿尔特汽车技术股份有限公司 车辆电池涓流充电时soc的确定方法、装置、设备及介质
CN115219939A (zh) * 2022-09-15 2022-10-21 小米汽车科技有限公司 电池温度预测方法、装置、车辆和存储介质
CN115436809A (zh) * 2022-09-28 2022-12-06 欣旺达电动汽车电池有限公司 电池容量估算的方法、电子设备及存储介质
WO2024066883A1 (fr) * 2022-09-28 2024-04-04 欣旺达动力科技股份有限公司 Procédé d'estimation de capacité de batterie, dispositif électronique et support de stockage
CN115436809B (zh) * 2022-09-28 2024-04-30 欣旺达动力科技股份有限公司 电池容量估算的方法、电子设备及存储介质

Also Published As

Publication number Publication date
GB201903834D0 (en) 2019-05-01
GB2582346A (en) 2020-09-23

Similar Documents

Publication Publication Date Title
WO2020188284A1 (fr) Dispositif et procédé d'estimation d'une quantité de charge d'une batterie
WO2020188285A1 (fr) Dispositif et procédé d'estimation d'une autonomie restante d'une batterie
US10312699B2 (en) Method and system for estimating battery open cell voltage, state of charge, and state of health during operation of the battery
JP6848144B2 (ja) 二次電池の充電状態を推定するための装置及びその方法
EP3413067B1 (fr) Procédé et appareil permettant d'estimer l'état de santé d'un bloc-batterie
US9869724B2 (en) Power management system
US9063201B2 (en) Battery charge determination
US8639460B2 (en) Apparatus for estimating open circuit voltage of battery, apparatus for estimating state of charge of battery, and method for controlling the same
US9244132B2 (en) Systems and methods for determining battery state-of-health
TWI384246B (zh) 藉電池電壓變化模式估測開路電壓以估測電池電阻特徵之裝置及方法
US10408887B2 (en) Method for estimating degradation of rechargeable battery, degradation estimation circuit, electronic apparatus and vehicle including same
US8643331B1 (en) Enhanced voltage-based fuel gauges and methods
US8660809B2 (en) Method for accurate battery run time estimation utilizing adaptive offset values
EP2851700B1 (fr) Procédé et terminal servant à afficher la capacité d'une batterie
JP5535968B2 (ja) 充電率推定装置、充電率推定方法、及びプログラム
JP6991591B2 (ja) バッテリの充電状態の予測方法
US20140278170A1 (en) State of charge (soc) display for rechargeable battery
CN111289902B (zh) 电池电量状态的预估方法
US9891287B2 (en) Temperature-compensated state of charge estimation for rechargeable batteries
JP2017116518A (ja) 充電式のバッテリの残量検出回路、それを用いた電子機器、自動車ならびに充電状態の検出方法
US10578675B2 (en) Estimation method for battery capacity
CN110967637A (zh) 电池的许用功率估算方法、装置、系统和存储介质
JP2014068468A (ja) 充電制御装置
JP2020125968A (ja) 電池劣化診断装置、電池劣化解析回路及び電池劣化診断プログラム
KR20180082020A (ko) Soc 검출 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20715182

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20715182

Country of ref document: EP

Kind code of ref document: A1