For several projects I have been needing a way to draw a precise amount of current from a DC source. This is useful for testing battery capacities, motor controllers, over current protection circuits and stuff like that. My Friend Thomas Scherrer over at webx.dk have a schematics for programmable DC load that I used as a basis my own project.
In essence a operational amplifier controls the current through a load via. a MOSFET transistor to achieve a specific voltage over a sense resistor, thus achieving a desired current.
Thomas’ original circuit the current are set by a potentiometer and the accurate current measured by a current meter connected in series with the load. I did not have a current meter that would accurately cover the current range I needed so I wanted to create a circuit that allowed for calibration at relatively low currents and then being able to linearly extrapolate to higher currents.
I ended up with this circuit. I used IRFZ44 MOSFETs . Thomas mention that using high voltage MOSFETs with much higher ON resistance provides a better and more stable result. The sense resistors were 0.1Ohm 5W types.
The potentiometer is replaced by a 12 bit D/A converter (MCP4921) driven by a precision voltage reference. A microcontroller (Arduino) . A display and encoder sets the current as well as providing a on/off function.
The MOSFETs and sense resistors were mounted on a old CPU cooler and connected to the circuit via. wires.
Finally I made a CNC routed circuit board for the controller.
The Arduino code allow the current to be controlled in steps of 6.25mA with a fill scale current of 25A. In practice the encoder will set the current in steps of 62.5mA (steps of 10) to provide a more practical adjustment speed. The code also display voltage across the load and power dumped into load.
A small offset is needed between the DAC values and the actual output current, in my build it was around 12LSB. Otherwise the current was calibrated by setting the output to 10A and adjusting the R22 trimmer to achieve 10A on a external current meter.