Battery life is a critical factor for IoT devices. In this commentary, Brian Whitaker at Keysight Technologies examines how battery emulation and test software can help you accurately measure battery life and extend the battery life of an IoT device.
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. Therefore, the fact the calculated battery life of IoT devices is often inaccurate is a significant issue 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 a 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, including 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 run time. It is essential to fully understand how a battery responds to these different scenarios and the typical usage patterns of the device to predict battery life accurately.
In addition to varying current drain, battery capacity is variable depending on the average discharge current and usage patterns. In Figure 1, a considerable variation in discharge capacity is visible based on the discharge current level for an alkaline cell.
Further, temperature can affect battery life, which is another critical consideration. Figure 2 shows how temperature can affect the capacity curves of a battery.
The following are additional factors that can lead to a longer computed battery runtime compared to real-world usage:
- Battery models / profiles are not available
- Battery profiles are not generated with accurate device operating conditions
- Current consumption measurements are inaccurate
- Voltage drops, such as when a device shuts down when the voltage reaches a cutoff range, are not considered.
Battery emulation and profiling software is a solution utilised to predict battery life accurately. In addition, emulation software provides insight into current drain to change device designs resulting in longer battery run time.
This article discusses how to use emulation software to achieve these objectives and includes the following topics:
- Profiling batteries through charging / discharging to create unique battery models.
- Emulating charge states to reduce test time, improve safety, and gain insight to extend battery life.
- Visually track the charging and discharging of batteries to determine capacity.
- Cycling batteries to determine capacity loss and battery life reduction.
1. Profiling batteries to create unique battery models
It is important to profile and characterise batteries for several reasons. It is also necessary to understand the amount of energy the battery can store and supply as the battery discharges over time. The open circuit voltage (VOC) and internal resistance (IR) vary as the battery discharges. It is crucial to map these out, so that battery profiles accurately reflect the real-world performance of the battery. Figure 3 is an example of a typical plot.
Also, it is essential to confirm the battery’s performance under specific discharge conditions and operating modes. Parameters that affect the battery behavior include:
- temperature
- load current profiles (constant / dynamic)
- different operating modes, including constant current, power, and resistance
These parameters can affect battery life, so it is vital to create different battery profiles to match specific discharge conditions.
2. Emulating charge states to reduce test time, improve safety, and gain insight to extend battery life
Why use a battery emulator instead of a battery for device testing?
- Create a safer test environment. It is not necessary to charge and discharge batteries when an emulator is utilized. Charging and discharging batteries can become dangerous with repeated cycles.
- Achieve repeatable results. The characteristics of an emulated battery do not vary versus physical batteries, whose characteristics can fluctuate after charging / discharging. They can also vary between different batteries, even if they are the same model.
- Reduce test setup times. Instantly simulate any state of charge (SoC) versus manually draining a battery to the desired level.
A battery emulator works in multiple steps. The first step is loading a battery profile. This profile is the data from a plot of the battery voltage and internal resistance versus the SoC which appears in Figure 3. A battery profile is created by using battery modeling software to measure the profile or by receiving a profile from a battery supplier.
When modeling software is utilised to create a profile, the profile will reflect the current consumption for a specific device which is more accurate than a battery supplier’s generic profile. For example, a generic profile is not helpful if the battery supplier creates the profile based on a constant current draw when the device under test consumes a dynamic current. In Figure 4, a device’s current consumption profile is loaded into a battery profiler. The software repeats the waveform until the battery is completely drained.
The next emulation step is to select the starting SoC and the cutoff voltage. Connect the device to the emulator and start the battery emulation. Battery emulators continuously measure the current, charging or discharging, and dynamically calculate 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 behavior by rapidly emulating a battery at different SoCs. Figure 6 shows insight into a device’s current drain. Measurements are utilised from this analysis to change the design of the IoT device to enhance battery runtime.
3. Visually track charging / discharging batteries to determine capacity
For IoT devices, it is necessary to understand the energy a battery can store and deliver. Battery test and emulation software enables the ability to visually track battery charging and discharging to determine 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. This combination is necessary because a battery cannot be charged at the same rate when it gets close to 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 is utilised to create a current consumption profile generated directly from a device. This capability enables the ability to easily discharge the battery with a profile that closely aligns with the real-world current drain during usage. It is difficult to simulate this using the actual device to perform the battery drain test unless it is operated throughout the rundown test.
4. Cycling batteries to determine loss of capacity and reduction of battery life
Battery performance can decline significantly over a lifetime of charging and discharging. That is why it is vital to simulate battery cycling. Battery test and emulation software is an easy solution for this, but the software needs to support data logging. Also, the ability to create varying charging and discharging profiles for a battery is of real value in a battery test and emulation software solution.
It is possible to combine disparate charging and discharging sequences to simulate complex charging and discharging cycling profiles. Then they can confirm how a battery’s performance degrades over time. Emulation software solutions are ideal for this as they can enable, for example, up to one thousand cycle operations to determine the battery’s ageing effect and reliability under sequence test conditions.
Summary
Current drain and battery run-down testing present many challenges. The manual process of charging and discharging a battery is time consuming, but it is crucial to test-to-test devices at various charge levels as battery characteristics vary.
Furthermore, battery parameters and charge levels must be identical when comparing test results. Achieving this is particularly challenging with physical batteries. Additionally, it can be difficult to determine how long a device can last on a single charge, and often battery life claims do not match reality.
Using an emulated battery can overcome these difficulties. First, a battery model provides a known good reference, boosting trust in test results. Plus, engineers can quickly assess the effect of design or software changes on battery life by instantly transitioning the battery’s charge state. These abilities enable enhanced designs to achieve longer battery life and smaller size.
In addition, a software solution provides the ability to accurately estimate battery life by automating battery rundown using the simulated device current drain. This method is more accurate than using the constant current to drain a battery. Also, the automated process is more straightforward than manually draining a battery through device usage.
Tags: battery, byline, commentary, interviews, IoT, Keysight, opinion, simulation, Tech Focus, technology, testing
Definitely critical in optimising the batteries in IoT devices and power charging in IoT infrastructures. Just surprised that AI is not mentioned … in an era when everybody’s touting AI this and AI that! ;-p
Agreed. The smartphone makers are boasting AI in predicting battery life based on the individual’s battery usage profile etc.