Battery life can contribute significantly to the cost and reliability of the Internet of Things (IoT) infrastructure. While for consumer electronic devices battery life is often a critical purchase consideration, the fact that the calculated battery life of IoT devices is often inaccurate is a significant problem for manufacturers.
One method to measure battery life is to divide the battery capacity in amp-hours by the average current drain in amps, which provides time in hours. However, in the real world this calculation is overly simplistic. In fact, the formula can generate inaccurate results because devices use different power modes like active, sleep and hibernate. Additionally, operating modes such as constant power and constant resistance will draw current from the battery differently and change the battery’s runtime. It is essential to fully understand how a battery responds to these different scenarios and the typical usage patterns of the device to accurately predict battery life.
In addition to varying current drain, battery capacity is variable depending on the average discharge current and usage patterns. Further, temperature can affect battery life, which is another critical consideration.
There are other factors that can lead to inaccurate computed battery runtime compared to real-world usage:
• Lack of accurate battery models and profiles;
• Battery profiles are not generated with accurate device operating conditions;
• Inaccurate current consumption measurements;
• Voltage drops have not been considered; i.e., when the voltage reaches a cutoff range, the device shuts down.
Battery emulation and profiling software can accurately predict battery life. Emulation software also gives insight into the current drain, helping adjust device designs for longer battery runtime.
Profiling batteries
There are several reasons why batteries should be profiled and characterised.; for a start, it can help determine the amount of energy the battery can store and supply as it discharges over time. The open circuit voltage and internal resistance vary as the battery discharges, so it’s crucial to map these out. Parameters that affect battery behaviour over its lifetime include temperature, load current profiles (constant/dynamic), and operating modes, like constant current, power and resistance.
Some may ask why use a battery emulator instead of a battery for device testing? There are several reasons for this:
• A safer test environment. An emulator does not require charging and discharging of batteries, which can become dangerous with repeated cycles.
• Repeatable results. Emulated battery results are more stable than testing a physical battery whose characteristics can fluctuate with repeated charging and discharging, and with varying results between batteries, even if they are the same model.
• Reduced test setup times. The emulator will allow instant simulation of any state of charge (SoC), compared with having to drain a physical battery to the desired level.
A battery emulator works in multiple steps: First is the loading of a battery profile, i.e., the data from a plot of the battery voltage and internal resistance versus the SoC. A battery profile is created with battery modelling software for specific measurements, or supplied by the battery’s supplier. This profile will state the current consumption for a specific battery, which is more accurate than a generic profile supplied by its maker. For example, a generic profile is not helpful if based on a constant current draw when the device under test consumes a dynamic current.
The next emulation step is to select the starting SoC and cutoff voltage. Battery emulators continuously measure current and charging/discharging to dynamically calculate the emulated SoC. The emulator continuously changes its output (voltage and resistance) based on the SoC to conform to the loaded battery profile. If the emulator is discharging, the test ends when the emulator reaches the cutoff voltage.
Deep insight is quickly gained into a device’s behaviour by rapidly emulating the battery at different SoCs. Measurements from this analysis are used to adjust the design of the IoT device for better runtime.
Visual tracking to determine capacity
For any battery-powered device it is crucial to understand the energy a battery can store and deliver. Battery test and emulation software help to visually track battery charging and discharging to determine its capacity.
Software must support both constant current (CC) and constant voltage (CV) modes for charging batteries. As the battery reaches full capacity when charging using CC mode, the software needs to move from CC mode into a combination of CC and CV, necessary because a battery can’t be charged at the same rate when it gets close to its peak voltage or peak capacity.
It is also important for the software to support constant current, constant resistance and constant power modes when discharging a battery. Test and emulation software are used to create a current consumption profile generated directly from a device. This allows to easily discharge the battery with a profile that closely aligns with the real-world current drain during use.
Determining capacity loss and reduction of battery life
Battery performance declines significantly over its lifetime of charging and discharging, which is why it is vital to simulate battery cycling. Battery test and emulation software are an easy solution for this, but the software must support data logging. Also, being able to create varying charging and discharging profiles is of real value.
It is possible to combine disparate charging and discharging sequences to simulate complex charging and discharging cycling profiles, which can confirm the battery’s performance degradation over time. Emulation software easily allows this, up to one thousand-cycle operation, determining the battery’s ageing effect and reliability under sequence test conditions.
By Brian Whitaker, Product Marketing Engineer, Keysight





