LiPo Internal Resistance Meter

Available upgrades since last upload of documentation:

Further information in e-mail.

23.12.2012.

Software upgrade:
The voltage measurement has been made more accurate
by changing the calibration algorithm.


Nagyít Nagyít PDF

PCB top routing layer
Component position drawing on PCB
PCB jumpers on the bottom layer
The above documents describe the first version of the pcb. The final design is modified. Please check the schematic for correct PCB modifications.
Program code in C for Atmel ATMega 8 microcontroller
Video of operation
Video of calibration


This device can be used to measure the internal resistance of Lithium Polymer batteries used in electric RC models. The power consumption of these models is quite high, and the batteries wear out in 100-200 recharge cycle. The internal resistance is a good measurement of the age of the batteries. New cells are below 5mohm, and the ones at the end of their life are above 20mohms. It also depends on the original quality.

The only problem is that I don't know how the internal resistance is defined, so I made my own definition, and I measure that: The battery is fully charged, cell voltage is about 4.2V. The unloaded cell voltage is measured. Than it is loaded with 1ohm for 2.5ms, and the loaded cell voltage is measured. The load current depends on the number of cells (N*4.2V/1ohm) and the time of loading. I experienced that the voltage falls immediately to a low value, than rises again in about 100us. Than falls exponentially to a lowest value in about 2.5ms. Than it remains constant for long enough time to measure all the cells.

In case of a 8 cell battery the voltage is about 33.6V, the load current is 33.6A so the 20W resistor is loaded by 1130W.

Specifications

-          2-8 cell LiPo battery, (tested up to 4 cells)

-          Accuracy of voltage measurement: estimated 1%

-          Accuracy of Rin measurement: estimated 6% due to the accuracy of the load resistance and the RDSon of the FETs.

-          Load time: 2.5ms + Ncells*110us

-          ADC resolution: 16bit

Operation

  1. Connect the battery balance connector to J1, main current connector to J2 and J3.
  2. When the controller boots up "CSEb" appears on the display
  3. Press the button.
  4. The following is looped on the display:
    "C= <number of cells>"
    "ALL=<unloaded total voltage [V]>"
    "C<n>=<unloaded voltage of cell n[V]>"
  5. Press the button.
  6. The following is looped on the display:
    "Curr <test load current [A]>" (calculated from the loaded total voltage and the load resistor value)
    "r<n>=<Internal resistance of cell n [mohm]> (calculated from the loaded and unloaded cell voltage and the load current)

Self calibration

For calibration an accurate 19.0V voltage source will be used that can supply about 500mA current.

  1. Connect all the pins of J1 to the 19.0V source while pressing the button
  2. "CAL" is displayed for 1 second
  3. "dOnE" is displayed when calibration is finished

Known problems

Although the calibration is done at about 2/3 full scale there is about 1% inaccurancy at some voltages.

The PCB is hacked since the last pdf-print!