LiPo Characteristics Part 3: Internal Resistance

In Part 2 of this series we took a look at how LiPo cells behave electrically over a discharge cycle. There were a few observations (like voltage sag) that can’t be explained by applying Ohm’s Law directly. Internal resistance is a metric that aims to explain some of these properties.

Why is Internal Resistance Important?

It’s important to be able to objectively compare batteries for quality and performance, especially prior to making a purchase. Just about all batteries come with two “C-ratings” printed on them: One for sustained loads, and another for short bursts. The definition of C-rating is “The maximum amount of current that the battery can safely supply”. Unfortunately, that defintion (the word “safely”) is subject to interpretation and in practice doesn’t really mean a whole lot.

In light of this, the RC community has decided that a battery’s internal resistance value is a good metric to use for comparing batteries. However after studying the data, I disagree that internal resistance is useful in this way: At best it’s only part of the story, and at worst it’s misleading or incorrect.

What is Internal Resistance?

LiPo batteries (and all power sources, really) are non-ideal voltage sources. Recall from Part 2 that Ohm’s Law states that when a circuit with load resistance RL is connected to a voltage source with voltage (V), the amount of current (I) that flows through the circuit is V divided by RL.

In the real world, this never quite adds up. There are inefficiencies like loss due to heat, or resistance of the wires itself. Internal resistance is a common idea in batteries used to describe one (or more) of these inefficiencies. The idea is that there’s a resistance inside the battery itself that opposes the flow of current leaving the battery. Here’s what the circuit diagram looks like, modified to include the internal resistance RI. (The arrow through RI indicates it’s a variable resistor: Its value changes due to a number of factors that I’ll discuss later in this article.)

It’s important to keep in mind that there isn’t actually an “internal resistor” inside a battery. Batteries store and release charge through a chemical process that differs from a typical voltage source in several ways. The circuit pictured above is a model that does a pretty good job of approximating all of the electrical properties of the resistances, inefficiencies, and chemical reactions.

Capacitance and Nonlinearity

There’s one glaring flaw with the internal resistor model: it ignores capacitance. A more complete model is a Randles Circuit.

Circuit Model of LiPo Internal Resistance as a Randles CircuitA fully charged capacitor acts like a short circuit, and a fully discharged capacitor acts like an open circuit. When the battery is disconnected from a load, the capacitor begins charging. When a load is connected, the capacitor begins discharging. So, when the load is first connected, RI2 is completely bypassed. As the capacitor discharges, the current begins flowing down both branches and resistance increases. Here’s a look at what the load voltage looks like, starting at the moment the load is connected.

Graph of LiPo load voltage vs time

The voltage drops off rapidly at first due to the capacitance discharging. After some time, the system is in a steady state. The “capacitor” has discharged, the circuit is purely resistive, and the curve becomes more linear. There’s a similar effect as the cell returns to its resting voltage after the load is disconnected.

Graph of LiPo returning to Resting Voltage

I’m not going to get in to measuring this capacitive effect in this post. For now, it’s just a good fact to keep in mind, and it informs how to collect the data required to compute internal resistance. It also informs another potential metric for comparing batteries: responsiveness (for example: how the battery responds to abrupt changes in throttle).

Measuring Internal Resistance

Since the resistor we’re trying to measure isn’t actually a real, single resistor, it can’t be measured directly. Instead, we have to take a few measurements and apply circuit fundamentals to calculate the value. We’ll use two circuit laws to determine the value of internal resistance, using voltage sag and current.

The Math

The first law is Ohm’s Law, which states that the voltage drop across a resistor equals the current times the resistance.

V = I*R

The second is Kirchoff’s Voltage Law, which states that the sum of all voltage drops in a closed circuit must equal zero. Said differently: The voltage of the open-circuit LiPo (VOC) must equal the voltage across the load resistance (VL) plus the voltage across the modeled “internal resistor” (VI).V_OC = V_I + V_L

We can use Ohm’s Law to replace VI with I*RI.

V_OC = (I*R_I) + V_L

And finally, solving for RI yields the following equation for internal resistance:

R_I = (V_OC - V_L) / I

Note: There are actually several more versions of this equation. For instance, Ohm’s Law could also be applied to replace VL with I*RL. However, in my testing I used very small resistances in order to get a fairly high current draw. I don’t have a high precision Ohmmeter (average multimeters don’t measure resistances more precisely than 1 Ohm) so relying on this measured value would introduce quite a bit of error. Voltage and current are simpler to measure accurately. 

The Method

So, in order to calculate internal resistance, we need to measure the voltage of the battery with no load connected (VOC), and then the voltage (VR) and current flow (I) with a load connected. The specific method used to gather this data matters tremendously. There are quite a few resources on websites and YouTube that discuss measuring internal resistance, and I feel most of them make critical mistakes. Here’s the method I came up with:

  1. Attach a fixed load to the battery through an ammeter, with a voltmeter attached at the same time.
    • Common Mistake: Using an arbitrary load. Choice of load size matters. It must be something small, in order to get a reasonable amount of current flowing. I tested a range of ~0.5Ohms through ~3Ohms, and I’ll discuss the impact below.
  2. Leave circuit connected for a fixed, specific duration (I ended up using 20 seconds for my batteries, but a different value may be necessary depending on the battery).
    • Common Mistake: Most tutorials suggest waiting “some time for the voltage to settle”. It’s absolutely critical that the sample duration be a specific value. I’ll discuss why below.
    • Common Mistake: Some tutorial suggest waiting a short period of time, between 1-10 seconds. In practice you probably need to wait longer. Again, see below.
  3. As quickly as possible, note the current draw (I) and load voltage (VL) and disconnect the load.
  4. Wait a fixed, specific duration (I ended up choosing 3 minutes between readings).
  5. Measure the voltage at the battery terminals to get VOC.
    • Common Mistake: Every tutorial I can find puts this step first. However, recall from Part 2 that the resting voltage of a LiPo cell actually decreases as it’s discharged. During step 2, the battery is being discharged, and the resting voltage is getting smaller. The current and load voltage recorded in step 3 corresponds to the VOC after the load is applied, not before.

A quick note on how I chose my sample durations in steps #2 and #4: It has to do with capacitance. Essentially, I wanted to be sure I waited long enough for the system to stabilize and exit the nonlinear region of the curve where the capacitance is still having an effect. In the graphs above, you can see this happens somewhere between 10-20 seconds after the load is applied. When the cell is returning to resting voltage, it takes quite a bit longer. These values will be different on each battery, but larger values are generally a good idea. Capacitance also explains the need for consistency in timing. For example, sampling voltage at 1 second vs 5 seconds produces very different values.

The AC Method

There’s another method for measuring internal resistance that involves applying an AC frequency to the battery and observing. This requires specific equipment, and I’d argue isn’t a great test because in RC applications we’re more interested in steady state, high-load scenarios. However, it’s worth knowing about because some LiPo chargers can measure and report internal resistance: I’m pretty sure most of them use the AC method to do so. Here’s are a couple of resources that discuss the concept of the AC test (note: they’re speaking about other battery chemistries and may not apply directly to LiPos, but you can get the idea behind the method):

Internal Resistance Data and Results

I repeated the steps above and computed internal resistance using a handful of different load resistances across a full discharge cycle.

Graph: LiPo internal resistance vs state of charge

Note: The curves fluctuate quite a bit. In Part 1 I mentioned that my measurement tools are lacking in precision. You can see the effect here: more error means more fluctuations in the curve. Keep this in mind and don’t get caught up in the spikes and valleys: We’re interested in trends and relationships across the whole range of data.

Variables Affecting Internal Resistance

Again, there’s not actually a singular source of resistance inside a battery. We’re using a single resistor to model a complex set of chemical, physical, and electrical properties. Not surprisingly, there are many different variables that contribute to change in internal resistance.

Load Size/Current Draw

In the plot above, there’s a clear relationship between the load size and internal resistance. As the load decreases (causing current draw to increase), the overall internal resistance decreases. This appears to hold true across the range of states of charge for all loads tested.

State of Charge

There’s also an apparent fluctuation in internal resistance with respect to state of charge: It starts out high and drops from 100%-80%, remains relatively constant from 80%-20%, and then spikes after 20%.

State of charge is highly intertwined with current draw. Recall from Part 2 that voltage and current decrease as state of charge decreases. The question is whether the change in internal resistance due to state of charge decreasing is the same as the change in internal resistance due to the current decreasing. I came up with the following plot to help visualize this.

Graph: LiPo internal resistance vs current draw and state of charge

Each cluster of data points (color coded) represents a single burn down from 100% to 20% of a single battery at the corresponding load. I added linear trendlines to help with visualization. You can see that in each individual cluster, as current draw decreases (which corresponds to state of charge decreasing), internal resistance decreases. However looking at the overall picture, the trend is the opposite: as current draw increases (as a function of load size), the overall internal resistance increases. Based on this, I conclude that current draw and state of charge affect internal resistance differently, and in fact inversely. It’s interesting that the net effect appears to be a fairly constant internal resistance from 80%-20%. This aligns with the fairly constant voltage sag from 80%-20% we saw in Part 2.

Temperature

Just about all sources agree that temperature affects internal resistance measurement. I didn’t measure the effect of this variable because I don’t have a good way of temperature-controlling a LiPo cell. However, based on my experience with electronics, I’ll hypothesize that temperature has a fairly significant impact on the internal resistance measurements.

Capacity & Cell Count

Other commonly cited variables are battery capacity (mAh) and cell count. The claim is that larger cells have lower resistance. I didn’t measure the effect of these variables either, because there’s no straightforward way to isolate these variable from other battery properties. Later on I might do some experiments with batteries of varying sizes and cell counts to see if I notice any trends, but for now, just keep this in mind as a likely factor in internal resistance.

Long Term Variables

There are a few more longer-term variables that permanently affect (usually increase) internal resistance. They are:

  • Age
  • Usage (wear and tear)
  • Misuse (overcharge, overdischarge, improper storage charge)
  • Physical Damage

These variables factor in to overall battery health. Batteries simply get less efficient over time. They hold less charge, or they don’t hold a voltage as well.

Summary & Application

At the beginning of this post, I claimed that internal resistance is a poor metric for comparing battery quality. The reason, as I hope to have demonstrated, is that it’s very complicated to measure properly. Even if the measurement method and the tools are perfect, reporting a single value as the internal resistance is simply a snapshot across a handful of variables that doesn’t show the full picture. Some tutorials attempt to “normalize” for some of these variables (like current draw) by applying a scaling factor. This doesn’t work because the effect of these variables is nonlinear, and interdependent: there’s no way to isolate them.

Internal resistance can be useful as a snapshot of battery health across the life of the same battery, though, because it’s a relative comparison. Be sure to measure it at exactly the same state of charge under the same load conditions and roughly the same temperature each time, though.

Up Next

In the next post, I’ll discuss some thoughts on ways to compare batteries for quality and performance.

If you’ve got any questions or comments about the content in this article, please leave them below. Be sure to follow @thejumperwire on Instagram, Twitter, or Facebook to be kept in the loop about future posts!

The Full Series on LiPo Characteristics:
Part 1: Introduction
Part 2: Electrical Properties
Part 3: Internal Resistance

3 thoughts on “LiPo Characteristics Part 3: Internal Resistance

Leave a Reply

Your email address will not be published. Required fields are marked *