Build a high constant-current battery discharge circuit

I am trying to figure out how to make a circuit that can regulate the current of a discharging battery. Right now I have a setup running where I monitor the amperage (with a shunt) and voltage (with a voltage divider) that uses a resistor and a fan. But as the battery voltage goes down so does the current (because the resistance is always the same). I’m trying to figure out a way to keep the current constant during the entire discharge. Alternatively, constant power during the discharge would work.

The discharge starts with the battery at 8.6V and stops at 5V. It has no problem putting out 100A but I want to regulate the current at 20A. At 20A, the test will last about 5 hours before the battery is discharged.

Does this sound like a project that the arduino can handle given the right components?

It’s “the right components” that are the trick.

Find the correct components and we can probably help you with the Arduino controls.

That’s basically where I am stuck so maybe this wasn’t the correct place to post this question :sweat_smile:

I have been doing a little research and it looks like Mosfet(s) might be the way to go?

I was thinking that e-cig mods with their variable power circuitry would be similar to what I am looking for but finding relevant schematics and component lists has been difficult.

No Arduino is required. There are many simple analog constant current source circuits that will work over that voltage range.

Please describe the load characteristics and state the accuracy and stability required of the 20 Ampere source.

Possibly the hardest part is the nearly 200W of heat that has to be dissipated.

This basic circuit can be adjusted for almost any power level:

You need to size the MOSFET, heatsink and shunt resistor appropriately.

Shunt resistor of 5 milliohm and 3W would give 100mV for 20A load... Be sure to use and understand 4-terminal resistors...

The circuits suggested so far are constant current sources, correct?

The load characteristics have to be such that a constant number of amps is being drawn from the battery (20A is my initial design point).

Accuracy doesn't have to be spectacular, within half an amp or so. (also, adjustable amperage between battery drain tests would be a nice additional feature)

The project is basically life cycle testing to figure out the change in capacity of a li-ion battery over multiple (probably hundreds) of charge/discharge cycles. The arduino comes in handy for automated data logging, alternating between charging and discharging, monitoring temperature, etc.

So the first part I am tackling is the circuit design for getting a constant current (20A) from the battery.

So the first part I am tackling is the circuit design for getting a constant current (20A) from the battery.

See the link in reply #5.