I have a circuit that allows me to add a load to a battery and measure the voltage, current and temperature of the battery. I am trying to derive what is the best method for measuring the internal battery resistance using the simplest DC load method. In theory that method is not complicated, but the problem is that the results I am obtaining are far from the battery resistance specified in the datasheet and measured by Hioki meter for the same battery. So far, I tried the following method:

enter image description here

  1. I measure open circuit voltage
  2. I apply load.
  3. I wait for 1 second.
  4. I measure the closed circuit voltage.
  5. I disconnect the load.
  6. Calculate the IR with formula: (V_open - V_closed) / (I_closed - I_open).

The result will highly depend on the load application time, as it can be seen in the scope capture graph. Loading the battery for a longer period of time, will make the voltage drop even more. I tried a different method as well in which I take under consideration not the open voltage but the regeneration voltage:

enter image description here

The calculation results are similar and still far from the reference.

I am fully aware of the fact that the plain DC method is not very precise, but based on the fact that my results are ~70 % off (IR is too high compared to the reference), there has to be something I am doing wrong.

  • \$\begingroup\$ Sure, can you elaborate on why is that important? \$\endgroup\$ Jun 2, 2021 at 18:39

1 Answer 1


I don't think your equation is quite right

(V_open - V_closed) / (I_closed - I_open).

"I_open" will always be zero (because it's an open circuit) so why would it be in the equation at all??

IMO The equivalent circuit is as shown below. You have measured V_Open and know R_Load. You also have measured the closed-circuit current.


simulate this circuit – Schematic created using CircuitLab

V_Open = I_Closed * (R_Batt + R_Load)

Solve for R_Batt

Is this closer to what you expect??????

  • \$\begingroup\$ Hi, thanks for the answer. 2 points: 1: I_open != 0, as the measurement circuitryvdraws some current (around 10 mA). 2: R_load cannot be taken under consideration in the ewuation, as the resistance has too high tolerance. The total current (load + circuitry) is measured with high accuracy though. \$\endgroup\$ Jun 3, 2021 at 9:10
  • \$\begingroup\$ If the load draws 10mA, then you're not really measuring "open circuit voltage". What kind of measurement equipment draws 10mA?? That seems a bit crazy. A primary design intent of any measurement device should be to not have any effect on the circuit under test. What you describe fails that horribly! \$\endgroup\$
    – Kyle B
    Jun 4, 2021 at 4:23
  • \$\begingroup\$ What do you mean by "R_load has too high tolerance"? How many of these are you making??? \$\endgroup\$
    – Kyle B
    Jun 4, 2021 at 4:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.