Test Controller, battery test with resistor


Testing capacity and energy in a battery using a resistor and a single DMM with compute connection to perform logging.

    Equipment used
        Calculation of resistor
    Processing the data
Main page

Equipment used


A computer with TestController on it. For my testing I often use cheap laptop computers.


A DMM with computer connected is requires, here I use the Brymen BM257s, it is a good meter, but many other can be used with TestController.


For round cells a battery holder is needed, I use a 4 terminal model, because I have a them. For lower test current any holder is fine.


For a resistor I uses one of my home made resistors boxes build with 25W/50W resistors mounted to the metal enclosure, at 25W the box is around 80C. Again any resistor can be used, as long as it has the desired value and can handle the power (See below).


Because my  battery holder and resistor uses banana plugs and binding posts I can use a test lead with banana plugs and the Brymen test probes can be mounted with a banana plug fitting.


Depending on connections it is usually a good idea to make to test leads with alligator clips.
Check my article about test probes: Test probes and accessories

Calculation of resistor

The value of the resistor is depend on the desired test current, use averageBatteryVoltage/desiredTestCurrent
For a single LiIon cell the averageBatteryVoltage is 3.6V or 3.7V.
Select a resistor near the calculated value.

Then calculate how much power the resistor must handle, use: maximumBatteryVoltage*maximumBatteryVoltage/selectedResistorOhm
For a single LiIon cell the maximumBatteryVoltage is 4.2V
Select a resistor that can handle at least twice the calculated power (Some resistors are above 200C at rated power) and be sure to place it where there is no risk of heat damage.


Some precalculated resistor values. The power is the actual power select a resistor that can handle well above that.



The actual connections to the meter, battery and resistor is very simple. The battery or resistor must not be connected yet, the final connection is first done when starting to log.


Test controller must be installed and have a connection to the meter, for this the meter must be listed in the bottom window.
The computer must also be configured to not go to sleep or shut down after some time.


Next some calculations are needed, they are entered on the Math page. Use the "Add" button a couple of times then click on a field and press F2 to edit it.
Here I have calculated with "1.000" ohm resistor. With resistors below 10ohm it is difficult to get precise measurement without using a 4 terminal ohm meter and I have just used the rated value.


With the formulas entered and check marked it is time to verify everything works: Apply some voltage to the DMM and select the "Current value" tabs. The voltage must show with the same value as the meter. The other values are calculated based on the voltage.
If the DMM value is missing, turn the meter off and rember to hold HOLD down while turning on (Only valid for BM257s)
If other values is missing go back to the "Math" page and correct the formula.


To stop the discharge when the battery is empty and before the battery get dangerous discharged an alarm is needed. Because it is rather important that I do something when it sounds I have selected "Fast until reset", this means when it is started it will continue until I press the "Reset" button on the form, it is a good idea to test the alarm to check the volume. I did also select a visual indication.


With that done I folded up the alarm popup to avoid it hiding part of the main window.


To start logging select the "Log" button in "TestController" and select 1 second (This is a good rate for most logging).
Then connect the battery to the resistor.
I recommend starting TestController first because it is easy to filter the data when finished.
Also remember to enable the alarm!


While logging there are many ways to view the data, here on the chart.


The "Range" shows the total that has been logged. "Current values" can also be used, there the statistic is only for the last part of the data, not for the full dataset.


If you want to keep track of the battery voltage from across the room, using the "Readout" function can give very large digits.

After some time the alarm will sound, disconnect the resistor and stop logging.

Processing the data


Before doing anything go to the "Table" page and save the data. Everything below can be done with either the recorded data or data loaded at a later time. The export function is used when the data needs to be saved in a modified format for other applications.
The math columns can also be added or modified now.


First we want to reduce the data to the actual discharge curve and get rid of any data recorded before or after.
To do this right click in the chart and select "Value", "Search left", "BM257.VoltageDC" and enter 2.8V in the box, a marker will be place on the chart. Right click and select "To last sample".
For the start it may be possible to use "Max. rate", "Fall", "BM257.VoltageDC" (The voltage drops 0.3V when the load is connected). Right click and select "To first sample".
To zoom the data click in one of the boxes and press ENTER.
It is possible to zoom in for a better view of the data, but that will change the two boxes with the display range, i.e. it may be necessary to reenter the values manually after locating them.


Here is the zoomed value. I have been on the "Scales for chart" page and removed the check mark in "Auto includes zero" for the BM257.VoltageDC column.


The "Range" page is good for getting numeric results, press the "To range" button on the chart page to copy the selection to the range page.
The BM267.VoltageDC shows that our test goes from 4.192 volt to 2.803 volt and the average is 3.44 volt. Due to the voltage swing the current varied from 4.19A to 2.80A and the power from 17.57W to 7.86W.
The battery capacity is 2.49Ah (2490mAh)and the energy is 8.59Wh (8590mWh).


Change to the histogram page is can be seen how much time was spend on each voltage. To get the range selection include start from the "Chart" page and press "To hist."


It is possible to export both data and charts directly from TestController. The charts can be exported in any size.
This export was done before I limited the chart to the actual discharge.


Here is another battery.


Testing battery capacity is fairly easy with TestController, a DMM and a resistor. The precision will vary will test current, high current is not very precise when using this setup.
For low current and small batteries the setup is good, just be near it to disconnect the battery when it is empty.

Higher current can be done with two DMM's, i.e. one extra for current, but a even better solution is to use a electronic load (Most electronic loads are not very good at low current).