Measure internal resistance of a cell

I made a device to check capacity that has two resistors and a mosfet in series connected to a li-ion cell.
With that working nicely Ive moved onto adding an IR measurement.

I am sampling the voltage from the cells positive terminal.
The second resistor (and probably the mosfet but less-so) may be causing problems with my formula for calculating IR though.

My method of calculating IR is:

  • measure cell voltage at rest
  • turn on mosfet
  • measure cell voltage at load
  • turn off mosfet
  • current = voltUnderLoad / 4.3;
  • voltDrop = voltAtRest - voltUnderLoad;
  • ir = voltDrop / current;

The problem is, i never get close to accurate results.
The mosfet’s resistance can hopefully be measured once and taken into account when displaying the result.

Does anyone have suggestions to modify the formula?

Thanks

Capture.PNG

Your picture shows two analog inputs. Which one are you using to measure voltage? How do you determine that your Internal Resistance calculation is giving inaccurate values?

If you are using a proper logic-level MOSFET then the resistance should be negligible.

Review your circuit theory. For the circuit shown below, Rint = R1*((V-Vout)/Vout).

You don't need two resistors to measure the internal resistance.

Rint.png

Rint.png

The internal resistance can be measured and calculated for multiple loads, to find out whether it's linear.

My apologies! Its been a while since I've looked at this project and i got mixed up when writing this (derp), ive edited above.

The two voltage sample points are used for the capacity check function. I am only using the one connected to the cell positive terminal.

The second resistor is only there to limit the current draw to about 800mA.

The mosfet is not a logic level (IRF3205 iirc) so there is increased resistance, no clue what or how to calculate such low resistances with the equipment i have.

Ive manually checked my cells IR using this tutorial: 18650 Li-ion Internal Resistance Explained & Measured - YouTube
With the correct values ranging from 90mΩ to 150mΩ, the arduino always displays around 500mΩ consistantly

The mosfet is not a logic level

That error needs to be corrected before this project can proceed.

It should but i just havent gotten around to it. As it is, its functioning perfectly by closing fully and opening enough. Do you think that it might be the cause of the inaccuracies though?

The IRF3205 is 0.008Ω fully open
My soon-to-be replacement logic level mosfets are 0.200Ω fully open

Would the IRF3205 really have a significant increase in resistance (compared to the other) at 5v?

Measure it and see, using your multimeter.

The problem is, i never get close to accurate results.

I don’t see where you have quoted ANY results. How do you know the correct result?

stephenryan2525:
The IRF3205 is 0.008Ω fully open

My soon-to-be replacement logic level mosfets are 0.200Ω fully open

An IRF3205 is more like 0.1ohm with 5volt at the gate (see the graphs in the datasheet).

Maybe you have choosen the wrong one (is it a secret?).
Leo..

jremington:
Measure it and see, using your multimeter.
I don't see where you have quoted ANY results. How do you know the correct result?

Unfortunately none of my multimeters are reliable with readings below 10 ohms
I said above that ive measured my cells manually using a method described i the youtube video linked. 90mΩ to 150mΩ are my accurate results, and they fall in line with the higher resistance cells being the ones that have been older/abused more.

Wawa:
An IRF3205 is more like 0.1ohm with 5volt at the gate (see the graphs in the datasheet).

Maybe you have choosen the wrong one (is it a secret?).
Leo..

Ah well 0.1Ω is better than the logic mosfet isnt it?
Im sorry but is what a secret?

stephenryan2525:
My soon-to-be replacement logic level mosfets are 0.200Ω fully open

Common TO-220 logic level mosfets are 0.05ohm or less with 5volt gate drive.
So which one have you ordered.
Leo..

Wawa:
Common TO-220 logic level mosfets are 0.05ohm or less with 5volt gate drive.
So which one have you ordered.
Leo..

Ah, the logic level mosfets i have are RFP12N10L

Poor choice.
Why a 100volt Vds mosfet for a 4volt battery.
30volt mosfets have a much lower Rds(on) than 100volt mosfets.
Leo..

Good news. Just found some IRL2203N's hidden away, 0.007Ω @ 5v. (Thanks for the advice)

However, if the current mosfets have a 0.100Ω resistance, and im getting readings of 500mΩ on my cells, swapping the mosfets should only bring the readings down to around 400mΩ so still far beyond the level of accuracy im looking for.

Would there be any other reason for this?

You can measure voltage and current, so that the MOSFET resistance is unimportant for the calculation.

If you want to measure Ri of a battery, then layout/wiring/grounding is equally important.
Every wire/connection has some resistance. A breadboard e.g. shouldn't be used.
Post a picture of the setup.
Leo..

DrDiettrich:
You can measure voltage and current, so that the MOSFET resistance is unimportant for the calculation.

An INA219 breakout board could be used for that.
Leo..

I apologise for the god-awful illustrations and the rats nest wiring.

The bottom trace is the common ground and im using voltage dividers beside each 1 ohm resistor to reduce the voltage readings for the arduino 1.1v reference

EDIT: My images keep 'failing security checks' so heres the link: Imgur: The magic of the Internet