ESP Logo
 Elliott Sound Products Project 251 

Protected DC Load

© April 2024, Rod Elliott (ESP)

Introduction

A DC load is useful for testing power supplies, but most that you can buy (or build) use a microcontroller, and they end up being quite complex.  This isn't unreasonable, but it means that the construction is a time-consuming and usually quite expensive process.  This is an issue for something that will not be used all that often.  There are also many published circuits that make 'interesting' claims for voltage, current and power capabilities, with many being wishful thinking.  Using a single TO-220 MOSFET or a 2N3055 to handle 10A at 20V or more simply shows that there was no thermal (and little or no electrical) design involved.  10A with 20V is 200W, and that's how much power the MOSFET or transistors has to dissipate.  This is very important for any load, and failure to understand power and thermal transfer will end badly.

Most of the time, a resistor bank is all that's really needed.  Unfortunately, if you have one, it's probably designed to test power amplifiers, and will have 8Ω and 4Ω resistors, so you can get 12Ω and perhaps 16Ω as well.  This is a bit limiting, but if you only test power supplies at irregular intervals it might be enough.  Even a resistive load will require cooling.  Mine uses eight 50W resistors on a substantial heatsink, and it uses a fan for continuous operation at anything over 100W.

Any load that doesn't include provision to limit the maximum power vs. voltage and current will have a short life.  One option that I thought over was to use a microcontroller (Arduino or Raspberry Pi for example) to monitor voltages and provide the over-voltage, under-voltage and over-temperature cutout functions.  However, if you need anything to be adjustable, that means push-buttons and an LCD to display the set values.  Personally, I find push-button interfaces to be really annoying, and having to include an LCD even more so.  Yes, this will provide the illusion of accuracy (people tend to 'believe' that displayed numbers are accurate) and make the end product look 'modern', but code has to be written and debugged, and if the micro fails after 'X' years, a (code compatible) replacement processor board may be difficult to obtain.  I know that you can use pots and the internal ADCs of a micro, but that's a sub-optimal way to control it IMO.  Obtaining an analogue output signal requires a 'decent' DAC, something not available with many microcontrollers.  The circuits shown here are all analogue, and each can be built and tested independently.

There are some aspects to a variable load that can't be simplified without risking damage, but most tests are fairly straightforward.  While it might be 'nice' to be able to control the current in discrete steps or to present an 'interesting' load to the supply, mostly it's not necessary.  One of the first tasks is to identify the tests you'll be doing.  If all you need to do is test batteries (up to around 20V or so), you need constant current so their discharge curve can be plotted.  Whether this is done with a data-logger or manually depends on how many you need to test, and how often.  You also need the load to disconnect when the rated minimum battery (or cell) voltage is reached to prevent damage.

If your tests are for power supplies for audio power amps, a resistive load (the same load used for testing output power) is perfectly acceptable.  For simple unregulated supplies, you're only looking at voltage drop under load and ripple voltage.  There really isn't a great deal more that needs testing.  Long-term tests are generally not useful with 'simple' linear supplies.  If you need data-logging and dynamic testing for laboratory work, you're probably better off buying a commercial load (prices start at over US$1,200 for anything 'decent').

Finally, you may wish to test solar panels to determine the maximum power output (MPP - maximum power point, or MPPT - maximum power point tracking), and this varies with panel voltage and current.  An open-circuit solar panel provides zero power, as does one which is shorted.  There's a 'sweet spot' where the voltage and current are less than the peak, but the output power is at its maximum.

To test these, use a solar panel inverter with MPPT - it's going to be far cheaper than building a load tester to find out, but you still need a load at the output of the inverter.

Even for a 'basic' load, there are many considerations.  If you only have to test at one voltage and current it's almost too easy, but as a piece of test gear, you'll need some flexibility.  The facilities I recommend are all described below, but you can pick and choose.  Include the things you need (or think you'll need in the future), omit those that you don't need.  While this is fine in theory, some things are simply too important to leave out.  The options are as follows ...

  1. A multiplier circuit to limit the maximum dissipation, regardless of the set current or applied voltage
  2. Pulsed current, and/or complex waveforms to emulate real loads on the supply under test
  3. Thermal protection to switch off the load if the heatsink gets too hot ¹
  4. Reverse polarity protection ¹
  5. Over-voltage cutout (switch off the load if the input voltage is too high) ¹
  6. Voltage and current metering
  7. High voltage capability (up to 200V at 500mA for the suggested MOSFETs) ²
  8. Low voltage cutout for battery discharge testing without destroying the battery ³
¹  Leave these out at your peril!
²  Not catered for in the design described
³  Only needed for battery testing

Most of the options are just that - options.  However, I wouldn't be at all happy without a peak dissipation limiter, as that protects the load even if you accidentally leave it set for 10A with a 40V supply.  For higher voltages (over 50V perhaps), the load should simply shut down.  The multiplier circuit will provide protection, but it has limits.  If you occasionally need to test high voltage supplies, a 'HV' range can be added, with the maximum current limited to a safe value (e.g. 500mA at any voltage over ~60V).  A high voltage cutout is important, as without it, an accident could see the demise of the current sink transistors.  I haven't included a high voltage range in the design shown here, but after reading the descriptions you should be able to work out how to add that if you need it.

Dynamic testing (subjecting the power supply under test to varying current) is possible, by using an external signal source.  There are limits though, because the circuit presented is designed to have better protection than most, so its speed is limited.  It's certainly possible to ensure good high-frequency response, but it becomes difficult when full protection is added.  Because you end up with multiple feedback loops, stability (freedom from oscillation) becomes a challenge.  Even many basic loads (without protection) are fairly slow, because it can be very challenging to design a fast acting current sink designed for high-power operation.

There are terms that you will see in many sections, mostly to do with thermal resistance.  The main ones are ...

K/WThermal resistance, Kelvin / watt (equivalent to °C/W)
TIMThermal interface material
RTH-jc    Thermal resistance, K/W, junction to case (the transistor's thermal pad)
RTH-ch Thermal resistance, K/W, case to heatsink (includes TIM - thermal interface material)
RTH-ha Thermal resistance, K/W, heatsink to ambient (i.e. the temperature next to the heatsink, not in the middle of the room!

The reliability of any electronic device is inversely proportional to its temperature.  The hotter it is, the sooner it will fail.  If the maximum allowable junction temperature (usually either 150°C or 175°C for some MOSFETS), the device may fail spontaneously.  There will be no warning, and the failure will be permanent.  Where possible, try to keep the junction temperature as low as possible, ideally limited to less than 100°C.

While the design intent was for a 100W load with up to 40V input, having tested my prototype thoroughly I can say that up to 150W and 60V is perfectly alright, provided the heatsink is big enough, and the thermal interface between MOSFETs and heatsink is as good as you can get it.  A fan is mandatory, and should run continuously.  The constant-power characteristic of this design is sufficient to protect the output devices with anything up to 60V, with the current variable between 0-15A.  Power limiting will limit current and dissipation once the input voltage exceeds 10V.  Naturally, you increase the power rating at your risk.


MOSFETs Vs. BJTs

The first choice you need to make is the device used as the load itself.  There's a choice between BJTs (bipolar junction transistors) and MOSFETs, and both have advantages and disadvantages.  MOSFETs are easier to drive, but switching types (the vast majority) are not designed for linear applications.  They can be used of course, but they need to be de-rated significantly to ensure reliability.  BJTs need base current, so a driver transistor is required.

A high-power MOSFET will be far cheaper than a high-power BJT, and the only suitable case styles are TO-247, TO-218 or TO-P3 (large format flat-pack).  TO-3 transistors can be used, but they are way too expensive (and they are irksome to mount on a heatsink).  My preference is MOSFETs, and from many experiments I know that choosing a high voltage type means that you get a relatively high 'on' resistance (RDS-on), and that seems to ensure greater reliability when used in linear mode.  If possible, choose a device with the largest thermal pad you can find.  The basic TO-247 package has a thermal pad of 178μm² (13.08 × 13.72mm), which limits the best-case thermal transfer.  Some use a larger thermal pad - up to 235μm², which is better.  Don't even consider any TO-220 package.  With a thermal pad of less than 90μm² there's no way you can extract more than ~25W (continuous) from the case with most thermal interface materials (TIM).

Suitable candidates abound, including the IRFP460 or SiHG20N50C.  There are many more, but a lot only use a TO-220 case which is rubbish for removing a lot of heat.  Make no mistake, there will be a lot of heat - the load simply converts all incoming power into heat, the vast majority of which will be via the MOSFETs.  Just like there's no such thing as a heatsink that's 'too big', you can never have too many transistors/ MOSFETs when you have to dissipate a lot of power.  I used IPW50R140 MOSFETs (now obsolete) because I have quite a few of them that needed a new home.

If you wanted to use BJTs, the TIP35C is an economical option, with a maximum dissipation of 125W, rated for 100V or 25A.  There are others, but the cost gets out of hand fairly quickly.  The circuit described can use MOSFETs or BJTs, but my preference is for MOSFETs.  Of course, you may have 100 2N3055s waiting for a project, and they can be used.  You'll need twice as many than you might think though, as they are definitely 'bottom shelf' transistors.

It's commonly thought that MOSFETs don't suffer from one of the great failings of BJTs - second (or secondary) breakdown.  In theory this is quite true, but they do have a failure mechanism that's remarkably similar, as seen in the SOA (safe operating area) curves provided for most MOSFETs.  This is the reason that I'll suggest that a 280W MOSFET (the suggested IRFP460) be operated at no more than 50W, and preferably less.  Another part of this is thermal resistance!  There are thermal resistances between the die and case, from the case to the heatsink, and from the heatsink to the ambient air.  'Ambient' does not mean the temperature in the room - it means the temperature in the immediate vicinity of the heatsink.  A small point you may think, but it can make a very big difference.

Whatever device you select, it must be derated according to the datasheet, based on the case temperature.  It's fairly common to see figures of between 0.4°C/W up to 1°C/W, depending on the case and the internal construction (thermal resistance is sometimes shown as K/W - Kelvin - there's no difference in real terms).  That means that the power rating is reduced by the derating figure for each degree above 25°C case temperature.  If the case it at 100°C, the maximum power that can be handled is reduced by anything from 30% to 75%, depending on RTH-jc.  The heatsink will always be cooler than the case, because of the thermal resistance between the case and heatsink.

The easiest way to minimise these thermal resistances is to use devices in parallel, so with two the total thermal resistance is halved, and with four it's one quarter.  Then there's the heatsink.  If that's operating at 75°C, I'll leave it to you to work out how much power can be dissipated.  It's far less than you may think.  For a complete discussion of these topics, I suggest that you read The Design of Heatsinks.  It's a complex topic, and very easy to get wrong.

The IXTK90N25 MOSFET (for example) would be ideal for this project, but (and it's a big 'but'), they are expensive.  As in very expensive.  Their SOA extends to DC, and they are specifically designed for linear operation.  This MOSFET is rated for a rather staggering 960W dissipation, but you will never be able to extract that much heat from the case to the heatsink.  The datasheet also shows the forward-bias SOA at a case temperature of 75°C, which clearly shows the derating needed with elevated temperature.  A 'safe' dissipation is up to 400W, but the issue of heat removal is non-trivial, so you need the best possible thermal contact between the MOSFET and the heatsink.  At over AU$55 each, these are probably not an option for most constructors.

An IXTK90N25 has a thermal resistance (RTH-jc) of 0.13K/W, so at 400W dissipation, the junction is 52°C hotter than the case.  When you allow for RTH-ch and RTH-ha it's not quite so rosy.  Even if the heatsink was at 25°C and with 0K/W from case to heatsink, the junction is at 150°C.  This combination is obviously not possible, so 400W (downgraded from the claimed 960W) can't be achieved.  You might get away with 200W dissipation, but you'll pay dearly for the heatsink, and the TIM will be the very best you can get.  Suitable devices as listed below are typically less than AU$6.00 each (with one notable exception).

  IXTK90N25  250V  90A  960W  36mΩ    ( > AU$55 each! )
  IRFP460/ SiHFP460    500V    20A    280W    270mΩ
  IRFP240  200V  20A  150W  180mΩ
  IRFP250  200V  30A  150W  75mΩ
  IRFP260  200V  50A  150W  40mΩ
  STW15N95K5  950V  12A  170W  500mΩ

As a guide, I suggest MOSFETs with a voltage rating of 200V or more, with a rated power of at least 150W.  Aim for a high RDS-on and a TO-247 case is the smallest I'd recommend.  Each MOSFET will be operated at (ideally) no more than 40W at any voltage or current within the design range (0-10A, 0-30V nominal).  There are several MOSFETs that are suitable as shown above, and, if at all possible, choose one that includes DC in the SOA graph.  A multiplier IC is used to limit the current as the voltage increases, maintaining constant power.  The MOSFETs I used are IPW50R140CP, which are fine but they are now obsolete.


Project Description

The general principle for a DC load is simply a programmable current sink.  The current is monitored using a shunt resistor, and that's used as a feedback signal to maintain the preset current regardless of voltage changes from the source power supply.  The circuitry is fairly simple, but we do need to be aware of power dissipation at all times.  A highly simplified circuit is shown below, and this shows the general principles.  The shunt resistor is 0.1Ω for convenience - at 10A that would dissipate 10W, with 1V across the shunt.

As 'Vref' (control voltage) is varied from zero to 1V, the current is set from zero to 10A.  The static conditions for a Vref of 500mV are shown.  The gate voltage for the MOSFET is dependent on the gate threshold voltage and the transconductance of the MOSFET used.  R1 is required to isolate the opamp's output from the gate capacitance, which will often result in oscillation if the resistor is omitted.  The opamp may require additional compensation to maintain stability, with a 'typical' network using C1 and R2.  The opamp must be capable of operation with its inputs at ground potential is a single supply is used.  My suggestion is the LM358 - it's fairly slow, but it's ideal in this role.

fig 1
Figure 1 - Basic Current Sink DC Load

The hardest part of this is limiting the MOSFET power.  With a 5V supply and a current of 10A, the voltage across the MOSFET is 4V (1V is dropped across the 100mΩ current-sense resistor) and the MOSFET dissipates 40W.  The shunt resistor (Rs) dissipates 10W at 10A.  If the voltage is increased to 20V, MOSFET dissipation rises to 190W and it will be impossible to remove that much heat due to thermal resistances (die to case, case to heatsink and finally heatsink to ambient air).  For the suggested IRFP460 (a 280W device), RTH-jc (thermal resistance, junction to case) is 0.45°C/W, so at 190W the junction would be 85°C hotter than the case, and the allowable power dissipation is only around 90W (assuming a heatsink temperature of 25°C and zero thermal resistance from case to heatsink).  Keeping the heatsink temperature at 25°C and zero RTH-ch are clearly impossible, so the situation is even worse than it looks at first.

We need to do two things, 1) limit the absolute maximum power to that which can safely be dissipated, and 2) provide a means to actually enforce that limit.  There are several ways this can be done, but most are cumbersome and/or error prone.  Simple switching is easy, but if the switch is set for (say) 12V and the user applies 40V, the output stage will likely fail due to over temperature.  This can happen even if the heatsink is at near room temperature, due to thermal resistance(s) that are inevitable with any semiconductor.

It's not easy to get the junction to heatsink thermal resistance (RTH-jc+RTH-ch) below 1°/W, and the easiest way to minimise all thermal resistance is to use multiple devices in parallel.  Using two will get you a combined RTH-jh (junction to heatsink) of perhaps 0.7°C/W, and four reduces that to under 0.2°C/W.  Of course you still have to get the heat from the heatsink to ambient as efficiently as possible, and that invariably means a good sized heatsink and fan-forced cooling.  For mounting transistors to the heatsink, the ideal is to bolt the them directly, but that means a 'hot' (as in electrically live) mass of aluminium that's difficult to insulate from the chassis.  You can use a heat-spreader - a large slab of aluminium (copper is much better but harder to work with) to which the transistors are mounted directly, and the heat-spreader is insulated from the heatsink.

The thermal interface must be as good as you can get it.  Don't even consider silicone pads - they're just not good enough!  25μm (0.001") Kapton is good, as is a section cut from an oven roasting bag.  The latter is slightly better than Kapton because it's thinner, but it's very easy to puncture with even the tiniest metal fragment.  Aluminium oxide 'ceramic' washers work very well but may be hard to find.  Use thermal 'grease' to ensure optimum heat transfer.  If you haven't done so yet, read The Design of Heatsinks.

The current-sense resistors should always be the highest practical value that doesn't require high-power resistors.  They are all 5W types that will dissipate about 2W at maximum current.  There's a lot to be said for using a separate drive stage for each MOSFET, as that ensures that the really do draw the same current (they will be different unless VGS is matched for the four MOSFETs).  The opamps are cheap, so it's not a financial burden.  The load devices will almost always MOSFETs these days.  Selecting the right part is tricky, since switching MOSFETs are not designed for linear operation.

If the SOA of any semiconductor is exceeded even briefly, there's a good chance of failure.  It would be nice to calculate the power dissipation with a simple analogue circuit, but that's easier said than done.  One can use an analogue multiplier IC, but they are expensive.  The AD663 is the cheapest, but it's still a costly IC.  There are other options, and these are discussed briefly further below.  Ultimately, the AD633 wins out, and it's well worth the money.

Choosing a MOSFET with the highest possible RDS-on is one way to get a better than average SOA.  Lateral MOSFETs could be used, but they are too expensive.  My device of choice is the IRFP460/ SiHFP460.  It's rated for 13A at 100°C, with a maximum dissipation of 280W.  RDS-on is 0.27Ω, and it can handle a little over 3A with 200V input.  However, that's for a 10ms pulse (DC ratings aren't provided).  The MOSFETs I actually used are IPW50R140CP - 550V, 23A, 190W dissipation, with RDS-on of 140mΩ.  These are obsolete, but I had a tube of them, so they cost me next to nothing.

We can extrapolate the curves for DC, based on the dissipation limit.  On this basis, it should be possible to pass 2.5A at 50V or 1A at 150V (assuming a die temperature of 25°C).  To be safe, it's better to treat the device as being rated for perhaps 50W instead of 290W (IRFP460), and for a useful load, we need at least two MOSFETs.  With those, the total dissipation is around 100W.  For added security, I used four, so for 100W total dissipation, each MOSFET only has to manage 25W.

This where a simple microcontroller might come in handy, not to set the parameters but to act as a multiplier to limit the MOSFET current based on the incoming voltage from the DUT.  Few low-cost microcontrollers have a worthwhile DAC though, so getting an analogue correction signal is made harder than it should be.  Using a PIC may also mean that if it fails (perhaps 20 years after construction), you almost certainly won't be able to replace it.  I have several pieces of test gear that are far older than that, so it's not a silly idea.

It's very important to ensure that the load itself and the device under test (DUT) are protected against reverse polarity.  There are several options, but the method selected uses a relay so there are no additional semiconductors involved.  Any semiconductor device would require a heatsink - even a Schottky diode, and these generally have limited reverse voltage capability.

I built my unit using a separate 'module' for each major function.  This means that each can be tested (and debugged if necessary) independently, making fault-finding a great deal easier.  The only complex module is the current sink, comprising four power MOSFETs, four opamps to drive each MOSFET, and heavy gauge wiring to keep voltage offsets to the minimum.  The multiplier module includes a miniature DC-DC converter, because it needs a negative supply.  Everything else operates from a single +12V supply.


Complex Waveforms/ Pulsed Current

If you do happen to need a pulsed or complex load current waveform, you can use a programmable waveform generator to produce what you need, but mostly a simple ramp, on-off and minimum-maximum current steps are sufficient.  The waveforms should be generated externally, and the maximum current for a test is set with the pot.  Building a suitable waveform generator is not trivial, and dedicating the circuit to a single piece of test gear doesn't make sense.

The idea of having a microcontroller along with a keypad and LCD with multiple steps needed to set up the load current doesn't appeal, and it's even sillier (IMO) to have to use a computer with a web interface to set the parameters.  Test equipment should operate 'stand alone', and doubly so if it's not used in a production environment.  Many pieces of test equipment may only be used a few times a year (depending on the tasks being undertaken of course), and operation needs to be intuitive so you don't have to search out the manual and read it before you can do anything.

The option of using an external waveform generator is described in the final design.  The circuit is not designed to be very fast, so rapid load changes are not advised.  Fairly fast changes can be made if the upper current doesn't activate the multiplier.  The filter circuit that's used for the gate of the power-limiter MOSFET prevents high-speed operation when the circuit is limited by the multiplier (see Figures 2 and 3).


Determining Load Maximum Ratings

Having selected suitable MOSFETs, we can look at what the load can handle.  The maximum usable voltage is 200V with a current of 1A (four MOSFETs).  At lower voltages we can draw more current, so with a 12V supply, it's theoretically possible to draw up to 20A.  That's 240W of heat to dispose of!  Some further de-rating is called for, as that's the maximum tolerable, based on initial calculations.  The amount of heatsink needed is quite extraordinary, and fan cooling cannot be avoided.  Note that while 200V or more is possible, this isn't an option I've included here.

On a more prosaic level, a load that can handle 0-10A at up to 40V or so is likely to appeal the most.  This covers most supplies that hobbyists are likely to be working with, and that is also the 'sweet spot' in terms of usefulness and cost.  If the maximum power is limited to around 100W, that means an affordable heatsink can be fitted with a fan and everything should survive.  Adding a high-voltage range is easy if you use the suggested MOSFETs.  Up to 200V is not a problem, but the current must be reduced.  If you really do need 2kW of dissipation your bank balance will suffer, and this is not the design for you.  To stay within reasonable limits, a maximum current of around 500mA at 200V is alright, assuming four MOSFETs.  Each will dissipate a maximum of 25W.  The multiplier must not be used in this mode, as the input voltage will be far too high.

Ultimately it's more sensible to limit the maximum dissipation for 'normal' (low voltage), and it's very rare that any power supply needs to be fully loaded for testing.  Not many DIY projects require power supplies that can deliver hundreds of watts continuously.  Whether you need the ability to test high voltages and/ or high currents (≥10A) depends on the work you're doing, and a straightforward design allows you to adapt it easily.

Ultimately, the thing that limits the amount of power you can dissipate is the heatsink, the thermal interface between the transistor(s) and heatsink and the device(s) used.  Large case transistors/ MOSFETs will always be better than (say) TO220 cases because they have greater surface area.  The thermal interface material you use is important, as is the thermal compound (thermal 'grease').  Mounting pressure is also critical - too high and you risk deforming the transistor, too low and thermal resistance increases dramatically.  Consider using a clamping bar rather than the screw hole provided, as you can get much better thermal contact.  Using multiple transistors reduces the effective thermal resistance from die to heatsink, but only if you distribute the power rather than assuming you can dissipate more.

For short-term power (perhaps a few seconds), you can always dissipate more, but there must be a suitable on-off duty-cycle to keep the average below the maximum your heatsink can disperse.  200W for 1 second then zero for 1 second is an average of 100W.  However, the device's safe operating area must always be considered.  Even a brief excursion into unsafe territory can mean 'the end' for any transistor.

The maximum dissipation you can handle depends on the heatsink and your choice of TIM (thermal interface material).  100W doesn't sound like much until you run tests on a suitable heatsink and fan.  Expecting to keep the temperature rise below 20°C is almost certainly unrealistic, as that requires a heatsink with a thermal rating of 0.2K/W.  The difference between an active load and an amplifier is dramatic, because an amplifier's peak dissipation is intermittent.  A load requires continuous dissipation, and you'll always have a major trade-off between size, cost, and thermal rating.

I tested a very chunky heatsink with a metal-clad resistor at 100W dissipation, and it wasn't possible to keep the temperature rise below 25°C.  That's very good, but you still have to get the heat out of the transistors, so you choice of TIM is critical.  I'd normally use Kapton, but it's too thick (25μm) and It's a real struggle to get the (RTH-cs (case to heatsink thermal resistance) below 0.4K/W.  High-temperature nylon (an oven bag) is only 10μm thick, and I can get down to about 0.16K/W with that.

Under-estimating the difficulty of maintaining a safe working temperature of the transistors is bound to end in tears.  Very few people truly understand thermal design, even though I've covered it in great detail in the article The Design of Heatsinks, on-line since 1999 (with regular updates).  It's not actually complex, but there are many things that can go wrong if you don't understand the terminology and believe the hype that surrounds silicone thermal pads (for example).  There are some that are excellent (phase-change materials in particular), but they're expensive.  Those you buy from hobby suppliers are almost always somewhere between poor and worthless.

The easiest way to reduce the thermal resistance of the transistors is to use more of them.  Using two halves the thermal resistance, four halves it again.  Of course you have the law of diminishing returns, but for a load the 'happy place' will be four MOSFETs.  The less power that each device dissipates means that its temperature rise goes down as does thermal resistance.  If you have a MOSFET expected to dissipate (say) 50W and RTH-jc (junction to case) is 0.5K/W, using two reduces the power to 25W, thus reducing the die temperature rise (with respect to the case) from 25°C to 12.5°C.  Similar reduction will be seen for RTH-ch (case to heatsink).  On the down side, you have to pay for the extra MOSFETs unless you have a stash of them you can draw on.


Multiplier Circuit

The circuit should disallow any attempt to draw more current than the MOSFETs can handle, so if (for example) you set the current to 5A, any input voltage above ~20V should reduce the current.  This can be done reasonably easily with switches or relays, but that's always open to damage if you forget to set everything up properly.  Alternatively, a 'load-line' limiting circuit can be employed that will limit the maximum current based on the applied voltage.  That's the approach I've taken - the power dissipation is limited by the product of voltage and current.

It's possible to employ a system whereby the maximum current is dictated by internal switching that reduces the current sink reference voltage in steps, based on the incoming voltage.  This is a fairly simple approach, but you need enough switching circuits to properly limit the current.  For example (and using the 100W total I've allowed for), if the voltage is 30V, then the maximum current is 3.3A, at 20V that increases to 5A, and at 10V you can get the full 10A.  You need to add an 'over-voltage' detector to guard against higher voltages.  A disadvantage is that if the voltage is 20.1V, the circuit will limit you to 3.3A, assuming exact switching voltages.  The multiplier adds an infinite number of current set-points, and may end up being less complex than the simple switching idea.

When a multiplier is used to determine the power (V × A), we have a fighting chance of not killing the load the first time it's used in earnest.  Unfortunately, analogue multiplier ICs are expensive now (they were never cheap), so to keep costs down an alternative would be 'nice'.  There are a few possibilities, such as a PIC or perhaps an Arduino.  Use two analogue inputs (via internal ACDs - analogue to digital converters) that are multiplied together in software.  The output is then output using an internal or external DAC (digital to analogue converter) that controls the current above a preset power level.  Most low-cost microcontrollers will require external circuitry, especially for the DAC.  You will almost certainly end up spending more for a digital solution, and the PIC still has to be programmed and the code debugged.  I'm not going there.

However, I still consider the multiplier to be the defining feature of this design.  Most of the other circuitry is described elsewhere, but the multiplier is (kind of) unique.  I say 'kind of' because high-end commercial loads will be microprocessor controlled, and they will almost certainly have circuitry to determine the maximum current you can have at any given voltage.  This isn't a linear function, because power is based on the square of the current (for a given apparent resistance), and that requires multiplication to get a final result.  I'm an analogue man, so my solution is analogue.  The idea of including a microcontroller to an instrument such as this just doesn't appeal, and anyone who builds it will learn some very interesting techniques.  They aren't new, but that doesn't make them any less useful.

fig 2
Figure 2 - AD633 Analogue Multiplier (VOut = VIn1 × VIn2 × 2.3)

Rather than the default divide by 10 output, the multiplier is reconfigured to have a gain of 2.3, designed so that less input voltage is needed to activate the power limiting function.  The positions of the two resistors look wrong, but this is the correct wiring for an AD633 to get gain from the output opamp.  If the current is 4A (with four MOSFETs), the voltage across each 330mΩ resistor is 330mV.  With a voltage of 10V, the output from the 'Power Set' trimpot will be around 1.3V (the actual voltage depends on the threshold voltage of the 2N7000 MOSFET (Fig. 3 and Fig. 8).

Using the formula shown in Fig. 2, the output from Pin 7 is only 430mV - not enough to turn on the limiter transistor.  Should the voltage increase to 25V, the output from VR2 is ~3.2V, the voltage on Pin 7 rises to 2.5V, right at the threshold of the limiting transistor.  If the voltage is increased to 30V, the wiper of VR2 will have 3.4V on it, and the multiplier's output will attempt to reach 7.3V (3.4×0.825×2.3), but that turns on Q1, reducing the current to 3.4A (a total dissipation of 102W).  In normal operation, the multiplier's output voltage won't rise above ~2.5V (transistor VGS-on dependent).

Because nothing else needs the -12V supply, it makes sense to co-locate the DC-DC converter on the multiplier board.  You can increase the 10μF caps if you wish, but don't exceed ~33μF as the DC-DC converters have limited tolerance for capacitive loading.  By keeping these two ICs on the same module, the amount of wiring is minimised, with only the common ground and +12V lines needed to other modules.  The DC-DC converters are tiny, but can supply 83mA which is more than the multiplier will ever need (6mA maximum).  You can use the -12V supply for the opamps as well, but there's no requirement for this because the LM358 can operate with its inputs at ground voltage.  As an alternative, you can use a simple inverting charge-pump using either a dedicated IC or a 555 timer.  This will almost certainly use more Veroboard real estate.  The isolated converters are usually around AU$5-7 each from major suppliers.

So, how good is the AD633?  Configured with a gain of 2.3 (effectively 23), the accuracy was (way) better than 1%.  I supplied 1.3V to the voltage input, 825mV to the current input, and measured 2.46V at the output.  It should have been 4.467V, so the error is only 0.28% (including the feedback resistors).  The IC might be expensive, but you get a lot of performance for your money.  While it's better than we really need, the AD633 is still the cheapest analogue multiplier currently available.  This has been the case for some time now.

Beware!  If you use the SOIC (SMD) version of the AD633, note that it uses different pinouts.  You must check the datasheet and wire it accordingly, or it will be an expensive mistake!

Note:  With the arrangement described, the absolute maximum input voltage is 60V (at 1.14A).  If this is exceeded, the multiplier's 'X' input will rise above 10V, and the multiplier will saturate.  This could be changed by having some gain for the current monitor, but that adds another layer of complexity.  For example, if the current monitor has a gain of two, the voltage at the 'X' input is reduced by a factor of two, allowing a higher voltage.  I didn't include this, but you can if you wish.  As it stands, I wouldn't suggest more than 60V anyway, as that's approaching the SOA limit of the MOSFETs I used.

If the current is set to 10A and we apply 30V, the transistors would dissipate 300W.  With a multiplying limiter in place, that can be reduced to something 'safe', which is around 100W for this design.  Should the product of current and voltage exceed that, the limiter will activate.  If we wish to draw 10A at 5V, the limiter won't activate because the power is below the limit (5V × 10A is only 50W).  The total power can be increased by using more MOSFETs and a (much) bigger heatsink.  The multiplier's default divide by 10 output is defeated by the voltage divider from the 'W' output to the 'Z' input and ground.  This causes the final internal opamp to multiply by 23, so an additional gain stage isn't needed.  This arrangement would normally cause the output to saturate (clip), but it can't because it limits the current and prevents the output from continuing to rise.

The AD633 'low cost' 4-quadrant multiplier is a good overall solution.  However, in this context 'low cost' is subjective.  The cheapest version is SMD, and costs around AU$25.00.  For a project that probably won't get a huge amount of use, this is expensive, but it is easy to wire up and will give good results.  There's every chance that the heatsink will cost at least the same, and without the multiplier it would need to be twice as big (and cost twice as much).  Without any SOA limiting, it's almost guaranteed that you'll destroy one or more MOSFETs at some stage.

fig 3
Figure 3 - Current Sink Load With Multiplier

The 220pF cap and 2.2k resistor (C2, R3) are used to ensure stability.  Without them, you will almost certainly see some oscillation on the current waveform.  Depending on the MOSFETs you use, it may be necessary to increase the value of C2 up to around 1nF, possibly a bit more.  Low-level oscillation isn't a major issue, but it does make the current hard to read on a scope if you use modulation.  The 2.2k resistor is especially important, and without it a momentary current 'spike' (for whatever reason) can cause the demise of the opamp.  Thorough testing of each module (as shown in Fig. 8) is essential, as it will be irksome to locate a module that misbehaves when all four are wired together.

The limit should be set for about 25W for each MOSFET (assuming four MOSFETs), and it is trimmed using the pot (VR1, Fig. 2).  You will need to work out the point where Q1 starts to conduct, based on your input voltage and current.  For example, if you apply 20V and set the current for 5A, that's a dissipation of 25W in each MOSFET, 100W for the four.  At this power level, the voltage at the drain of Q1 should be just reduced from the 412mV reference voltage (just under 25W for each MOSFET).  Once the multiplier is set up properly, there is no combination of applied voltage or current (within the design limits) that will cause it to rise much further.  Even if you were to apply 60V input, the circuit will not allow enough current to cause a problem.  The optional over-voltage cutout will disable the circuit from drawing any current if the voltage limit is exceeded.  It's optional only if you know that the maximum input voltage will never exceed around 45V.  A voltage limit is required to ensure that the MOSFETs remain within their safe operating area at all times.

Using a small-signal MOSFET for Q1 ensures better overall control of the power, but it's a nuisance because the gain of the multiplier has to be much higher to provide the gate voltage for Q1 (at least 2.5-3V).  In this design, no additional amplification is needed because it's well within the capability of the AD633. 

It's useful to see just how the multiplier reduces the current to maintain the preset maximum dissipation.  One set of traces shows the current drawn from the supply under test vs. the incoming voltage.  As the voltage increases, the current is reduced when the dissipation limit is reached.  The other set of traces show the output from the multiplier.

fig 4
Figure 4 - Current Vs. Voltage With Multiplier (Typical)

As the limiter transistor conducts, the multiplier's output is maintained at the value needed to reduce the load current, and there's only a few millivolts difference between 20V and 30V (red trace) - 7.8mV to be exact (as simulated).  The output from the multiplier amplifier turns on the MOSFET Q1, which reduces the reference voltage for the current sink.  Since the multiplier literally multiplies the supply voltage by the load current, the result is in watts.  The MOSFET circuit clamps the peak power dissipated by the MOSFET, and the preset maximum is held fairly constant.  The actual voltage at the gate of Q1 depends on its conduction threshold - typically 2.5V, but it can be anywhere between 0.8V and 3V according to the datasheet.  There is a small temperature dependence with Q1.  This works in your favour, so if the whole system is hot, it will reduce dissipation a little.  It's not full thermal compensation though, and that's why the thermal cutout is included.

In Fig. 4 you can see that the multiplier limits the current above 10A with a 10V input (100W total dissipation).  As the current setting is reduced, more voltage can be applied before limiting takes place, which is as you would expect.  At 25% current (2.5A), the multiplier won't affect the current at any voltage up to 40V, after which it becomes active and reduces the current to maintain the dissipation at the maximum you set.

The On/ Off switch does the same as the over-voltage and over-temperature circuits.  It shorts out the reference voltage to the current sources and prevents current flow.  This part of the circuitry is specifically designed to be comparatively high impedance, ensuring that a short only pulls a low current so nothing can be damaged.  The high impedance also means that Q1 doesn't have to pull much drain current (less than 100μA), and almost no current is required from the multiplier.

If you wanted to, you can calculate the total power dissipated, based on the voltage and current at any point.  For example, with 15V applied with current set for the maximum (10A), the actual current is reduced to 6.32A, and the total dissipation is 94.8 watts.  If the voltage is increased to 20V, the current is reduced to 4.9A, a total dissipation of 98W.  Without the multiplier, the 10A setting with a 20V input would result in a dissipation of 200W, well outside what we can dissipate safely.  With 30V input, the current is reduced further to about 3.3A, a dissipation of 99W (instead of 300W!).

The multiplier isn't perfect, but it is more than good enough.  At an input of 5V, the multiplier's output doesn't get to turn on Q1 at all, so the full current is available.  This extends to around 7.5V input, and the multiplier reduces the power beyond that voltage, but only if the current will exceed the maximum allowed.  It's possible to make the power curve much flatter by using a high-gain device for Q1, such as a 2N7000 small-signal MOSFET.  However, that requires far more gain from the multiplier.  An opamp could also be used, but system stability becomes an issue if we aim too high.

Of course the multiplier is optional.  However, if it's omitted it's almost guaranteed that you'll suffer damage if the load is connected to a high voltage (i.e. anything over 12V) when set for maximum current.  You may be extra careful, and it might never happen, but never underestimate Murphy's contributions to electronics (and engineering in general).  At some point it's almost certain that a mistake will be made, and unless you spot the problem quickly it may be too late.  The biggest contribution to failure is the internal thermal resistance of the MOSFETs (RTH-jc) that means the die will be far hotter than it should be ... well before the heatsink gets hot enough to trip the over-temperature circuit.

Setup of the multiplier is quite simple.  Apply 25V from an external power supply, and advance the current set pot (VR1) until the current is about 4.5A (a total dissipation of 112W).  Adjust VR1 on the multiplier board until the current drops back to 4A.


'Alternative' Multipliers

One idea for a DIY multiplier is shown in Project 213.  It's not precision, but it's more than good enough to play around with for audio.  Regrettably, it's not suitable for this application because its inputs aren't ground-referenced.  The general idea for a log/ antilog multiplier is shown in the article Analogue Maths Functions in Fig. 4.2.

The article shows how a multiplier can be built using a few basic opamps and some transistors.  I was originally going to publish a discrete design here but decided against it because getting it right is just too difficult.  The example linked above is basic, but getting even passably matched transistors with decent thermal tracking is too hard to do well enough for it to be useful.  The transistors are critical, and they have to be matched for Vbe and hFE.  They must be thermally matched, requiring some ingenuity to ensure that they are all at the same temperature.  All-in-all, there's too much that can go awry with 'simple' log/ antilog amplifiers.

The only sensible option is to use an AD633, with the SMD version being a little cheaper than through-hole.  The circuitry will most likely be built using Veroboard, so use an SMD to DIP adapter (cheap as chips from eBay).  Note that the pinouts for the SMD version are different from those for the DIP (most unusual!).  Any other 'solution' is likely to end in tears.

It might seem like a good idea to use a VI (voltage & current) limiter as seen in many power amplifiers.  While this can be done (and it's cheap to do), there is no way to get it to maintain a preset power level, so performance of the load is seriously compromised.  The limitations become apparent as the voltage increases, and rather than limiting the power, the protection circuit will turn off the load if the voltage exceeds a preset maximum.  There are various ways that the circuit could be tweaked to get a passably sensible voltage vs. current characteristic, but you'd end up with far more parts for a circuit that still won't work very well.

The (J)RC4200 (originally from Fairchild, but now JRC) is a cheap analogue multiplier IC, but I've not used it so I can't say whether it would work in this application.  I have few doubts that it can be done, but rather inconveniently, all inputs and outputs are current rather than voltage, and it operates from a single negative supply, with a positive supply required as a reference voltage.  It will need an output opamp to convert its (negative) output current to a positive output voltage, and it requires many more parts to get high performance (low error).  I really don't think it's worth the trouble.  It's not available from any of the major distributors as it's obsolete, but eBay has them aplenty if that inspires any confidence.


Thermal Protection

None of this will work unless the heat can be removed from the transistors (or MOSFETs).  A very short burst of 100W (each) may not do much harm, but if it's sustained, the magic smoke will escape.  To counter this, a thermal sensor is needed.  The idea is to disconnect the load if the maximum heatsink temperature is exceeded.  We can add a controlled fan, but for a load it's probably better if the fan runs continuously.  Remember that the heatsink could be up to 60°C cooler than the junction due to the thermal resistance from junction to heatsink, so the maximum heatsink temperature is quite low.

A 10k NTC (negative temperature coefficient) type was chosen because they are readily available and low-cost.  With 10k at 25°C, the resistance will be about 3.6k at 50°C, and I'd aim for no more than that (it's better to err on the safe side).  These devices are not precision parts though, so the sensing circuit requires an adjustment to set the trip temperature.  The resistance falls with increasing temperature, and a simple opamp comparator is used to sense the resistance.  It has hysteresis to ensure that the load doesn't cycle on and off quickly when/ if the set temperature is reached.

fig 5
Figure 5 - Thermal Cutout Circuit

If the preset temperature threshold is exceeded, the load is turned off.  Including hysteresis means that it will need to cool to below the threshold before it turns on again.  The circuitry is very straightforward, but the positioning of the sensor is critical.  It must be close to the transistors, and embedded into the heatsink.  To ensure good thermal contact, the sensor thermistor should be held into the heatsink with epoxy or thermal 'grease'.  Alternatively, you can buy them on a small mounting lug, typically with a 3mm mounting hole.  A thermistor is the easiest way to get a good voltage range with temperature.

Consider that a heatsink rated for 1°C/W is not small, but with 100W dissipation it will be at 100°C above ambient.  If we assume the ambient temperature to be 25°C (almost always a bad assumption), the heatsink will run at 125°C.  Something larger is obviously needed, and even when dissipating only 100W, we need the heatsink to remain as cool as possible.  You could be looking at a very large heatsink, even with fan cooling.  0.25°C/W is not unreasonable, and even with that, the heatsink will be at 50°C (25°C ambient) with 100W of dissipation.  It gets harder as you try to dispose of more heat.  With the heatsink at 50°C, the transistor dies will be at around 110°C, assuming a total of 2°C/W thermal resistance.  If that's reduced to a total of 1°C/W (which will be surprisingly hard to achieve), the dies will be a lot happier (around 80°C).  The thermal cutout should be set for no more than 60°C.  Setting the temperature requires that you heat the thermistor and a calibrated temperature probe to the same temperature (70°C), then set VR1 slowly until the output of U1A goes high.

It's quite clear that fan cooling is unavoidable, and that a thermal cutout is a non-negotiable requirement.  High-power computer CPU 'coolers' (heatsinks) often use heat-pipes to extract the heat from the CPU, but they have a very small thermal 'pad' that's not suitable for mounting transistors.  A 'traditional' heatsink with two or more fans may get you there, but it won't be small or cheap.  The fan(s) must blow air onto the heatsink in such a way that maximum turbulence is created.  The turbulent airflow is essential to ensure that air at the heatsink's surface is removed efficiently.


Reverse Polarity

The final piece of this little puzzle (which is situated right at the input of the load) is reverse voltage protection.  There are many possibilities, but a relay is a reliable, low-cost solution.  No heatsink is needed (as would be the case with a MOSFET), and the load simply cannot connect to the supply if the voltage is reversed.  A diode is not appropriate because it will dissipate 10W or more at maximum current.  A Schottky diode is certainly usable, but they have a limited reverse voltage.  If you are 100% certain that you will never need to test anything over ~40V or so, a Schottky diode rated for 16A or so is appropriate, and it will dissipate about 5W at 10A.  This requires a heatsink, but nothing too demanding.

40V or so is limiting though, and very bad things will happen if a higher voltage is accidentally connected with reverse polarity.  With the scheme shown here, the minimum supply voltage is about 1.5V.  Below that, there's not enough input voltage to switch Q1 and thence the relay.  A relay doesn't need a heatsink at all, and can withstand at least 250V reverse voltage without a problem.

The relay contacts are never expected to break the current (that's done by turning off the MOSFETs), so contact arcing will not be an issue.  The relay contacts must be rated for at least 10A.  A SPST (single-pole, single-throw) normally open relay is all that's needed, with a typical coil resistance of around 270Ω.

fig 6
Figure 6 - Reverse Polarity Protection

The detector is a high-gain transistor to allow a low detection threshold.  D1 ensures that reverse polarity doesn't cause reverse breakdown of the transistor's base-emitter junction.  An opamp could be used, but that would need quite a few additional parts.  A small-signal MOSFET could also be used, but it would require 3V or more input before the load would connect.  That's unacceptable for many tests.  Once it's activated, the relay will remain on until the input voltage is reduced to below 1.5V.  It may seem 'old-school' to use a relay, but this is the simplest way to provide reverse polarity protection without needing a heatsink or any power semiconductors.

An 'indeterminate' state is possible if the input voltage is around 0.8V or so, but this is unlikely to cause a problem because it's lower than any sensible input test voltage.  A negative input of any voltage cannot trigger the relay, because the voltage at the base of Q1 would be negative (down to around -0.65V), and the voltage at the base must be greater than +0.65V before the collector can go low, turning on the relay.  This is about as simple as you can get, while being able to detect a low input voltage.  A high-power MOSFET could be used instead of the relay, but that would require more circuitry to drive it, the intrinsic diode can create a bypass path, and it would need a heatsink.  The relay eliminates any ambiguity.  The contacts will never have to break the load current, and they will remain closed for as long as voltage is available at the input (above 0.8V or so).


High/ Low-Voltage Cutouts

A high voltage cutout is useful just to ensure that the load isn't subjected to voltages above your intended maximum.  The high voltage part of the circuit below has a nominal cutout voltage of 42V, but that can be adjusted.  While the multiplier will ensure that the dissipation is kept within limits, it's better not to rely on that alone.  If you choose to include a high voltage range, the high voltage detector can operate a relay to switch in the parts needed to limit the maximum current if the input voltage is above the maximum.  While I've shown it fixed at 42V, it can be set for anything you like by changing one resistor (or you can use a 20k trimpot in place of R10).  Strictly speaking, if you include the multiplier you don't need a high-voltage cutout, but you must not exceed the maximum design input voltage (or around 40V).  If the voltage goes above ~45V, the voltage input to the multiplier IC will exceed 10V (the maximum sensible input voltage), and no further multiplication can take place.

If you're testing batteries, you must be able to set a minimum voltage to prevent over-discharge.  Failure to include this will result in dead batteries as they can be discharged well below their rated minimum voltage.  There's nothing hard about the cutoff circuit, but working out (and setting) the minimum voltage could be a bit of a chore.  All that's needed is a comparator that's set for the lowest allowable voltage, but to set it will require a variable external supply.  With the input voltage at the required minimum, you carefully adjust the pot until the load is disconnected (by turning off the MOSFETs).  The point where they turn off is indicated by the current falling to zero.

fig 7
Figure 7 - High/ Low Voltage Cutouts

For the low voltage cutout, VR1 is used to set the voltage, which sets a reference voltage derived from the regulated 12V supply.  The 50k resistor is simply two 100k resistors in parallel, and assumes that the 12V supply is exact.  The range needed depends entirely on the type(s) of battery you'll be testing, so it needs to cover the full range of typical cell configurations and battery chemistry.  With the values shown, the range is from 2V to 23.5V.  There's no easy way to display the cutout voltage, so it's set by using an external supply, with the voltage set for the desired cutout voltage.  The pot is then adjusted until the load just turns off.  The range between 'connected' and 'disconnected' is deliberately fairly large, so the input voltage has to be increased quite a bit before it will reconnect.

The low voltage disconnect has unidirectional hysteresis, intended to minimise instability at the cutoff voltage.  This is necessary when testing batteries, as the voltage will rise when the load disconnects.  The hysteresis creates a 'lockout' that prevents the load from re-connecting.  The hysteresis varies a little depending on the pot setting.  When set for 23V, you need an input of 27V before it will re-connect (increase the value of R6 to reduce hysteresis).  The voltage range can be altered by changing the value of R1.  The function can be disabled with a switch (Sw2) that opens the connection between U1A and Q1.  As shown, it will work with up to six Li-Ion cells in series (22.2V nominal).

The high voltage cutout uses an almost identical circuit, but wired to be the opposite of the low voltage cutout.  It will turn off the load if the voltage exceeds 40V.  The voltage at Pin 5 will normally be lower than that on Pin 4 (6V), so the output is low.  When the input increases to 40V, Pin 5 exceeds that on Pin 4, and the output of U1B goes high.  If the output of either U1A or U1B is high, Q1 is turned on, shorting Vref to ground, and thus disabling the load by turning off the current sources.  Like the under-voltage cutout, the circuit has hysteresis to prevent it from turning on and off when the voltage is at the threshold.


The Final Design

None of the necessary functions require a microprocessor.  Not because they are especially difficult, but to ensure that if the unit develops a fault in 10 years time it can be fixed easily.  Few current micros will be available after that time, and no-one wants to build something that can't be fixed if it fails.  Adding a micro is often equivalent to adding (un)planned obsolescence.  The multiplier ICs have been with us for many years, and they're unlikely to suddenly go away (but they will get more expensive).

The current is adjusted with a pot, ranging from zero to 10A (the 10A limit is adjustable).  If at all possible, use a multi-turn pot, as that will allow much better control of the current.  If you want to be able to pulse the current, use an external generator to provide the waveform and current range you want.  The recommended input level is up to ±100mV.  If the current tries to exceed the limit preset by the multiplier, the latter will restrict the current to the 'safe' power dissipation limit.  There will be excursions of higher current with fast switching, but they should be within the SOA of the MOSFETs.  However, with modulation frequencies over 100Hz, the multiplier will limit the average power, not the peak power, so care is needed at all times.

Using four MOSFETs and limiting the total power to around 100-120W means that it will be close to impossible to destroy the MOSFETs.  This doesn't mean that they won't fail though - nothing is ever completely foolproof.  For this reason, a fuse is essential, and it provides one final level of security.  Should a MOSFET fail, it will become short-circuit, and that may damage the supply under test.

In the drawing, the multiplier is just shown as a block.  The reverse polarity, high/ low voltage cutouts and thermal cutout are not shown, but are as shown in the respective drawings.  Note that there's no protection for external modulation that exceeds the recommended 100mV (peak) maximum, so it's up to the user to ensure that this isn't exceeded.  The multiplier still provides protection by limiting the maximum power dissipated, but it would be unwise to apply a 10V modulation signal (for example).  Note the heavy ground connecting each module to VR2 and the incoming negative supply from the DUT.  You don't want the resistance of the ground connections to influence the current sinks.

The 'Control' section will typically be mounted on (or next to) the current control pot. 

fig 8
Figure 8 - Complete (Simplified) Circuit Of The Load

The current sinks are repeated four times, each with its own opamp on a piece of Veroboard, taking the input (Vref. +12V and ground, and each MOSFET 'module' has two specific connections (gate and source) with the positive input, Imon and ground terminals common to all four.  Alternatively, you can build 2 modules, with an opamp and 2 current sinks on each.  Four MOSFETs in all, with each limited to 2.5A or 25W.  This combination means that the input reference voltage is nominally 825mV for a load current of 10A.  I've tested using a 1V reference (12A maximum, or 120W total), but I would suggest that is the maximum you should attempt.  Depending on your heatsink and fan, this might only be suitable for short tests.

The exact voltage needed for a given current is found with Ohm's law.  V = R × I, so for 2.5A through 0.33Ω, the input voltage is 825mV.  There will always be a small error due to opamp input offset voltage, but it should normally be no more than a few millivolts.  The tolerance of the 330mΩ shunts will also introduce a small error.  The reference voltage can be adjusted to get exactly 10A at full scale, but these deviations from the 'ideal' are neither here nor there, as you'll have meters to show the input voltage and load current.

The current sense (shunt) resistors should not be mounted on the heatsink.  Ideally they will be subjected to at least some airflow, but if they're on the heatsink that's even more heat that has to be removed.  Each 330mΩ resistor will dissipate a maximum of 2W with a 10A total current.  The four separate circuits ensure that each MOSFET contributes equally, allowing better heat transfer and lower internal (die) temperature at maximum dissipation.  Each opamp requires some additional compensation due to the MOSFET, provided by the 2k2 resistor and 220pF cap (R2A..D and C2A..D).  C1A is only needed once if the two dual opamps are on the same board.

If the modulation option is included, be careful!  Up to 100mV p-p is appropriate, but it must be applied at a voltage and current setting that won't activate the multiplier.  The current waveform is measured with a scope connected to the 'Imon' (current monitor) connector (typically BNC).  ±100mV modulation will cause ±1.2A current change (2.4A from minimum to maximum).  Should the positive modulation cause the multiplier to reduce the current, the resulting current waveform will not be a pretty sight.  The multiplier is deliberately set up to be fairly slow, and if it's active the current waveform you measure will be nothing like it should be.  The current waveform is monitored from the 'Imon' terminal, and it will have an output that's determined by the shunt resistors.  With 330mΩ shunts,the output is 82.5mV/A.  If you wanted to, you could use an opamp to amplify that to (say) 1V/A, but I don't think that's necessary for general usage.

fig 9
Figure 9 - Suggested Current Sink Connections

The layout above is intended as a guide, so you can see the connections between parts.  All high-current connections need heavy gauge wire, which will ideally be solid (use three x 1mm tinned copper wire twisted together).  This is self-supporting, but you may need to include stand-offs or some other means to ensure that everything stays exactly where it's supposed to be.  The two dual opamps are easily mounted on a small piece of Veroboard that can be attached to the main ground or separately mounted, depending on your preference.  The leads to/ from the opamps to the gate and source of each MOSFET should be kept as short as possible, preferably less than 50mm.

The MOSFET gate resistors and zeners need to be close to the gate pin, no more than 10mm.  The 2.2k feedback resistors should be close to the opamps, with the 220pF caps connected directly between pins 1 & 2/ 6 & 7.  Note that you must never connect the current sink module to voltages with the Vref input disconnected.  The 100k resistor shown at the input is not included in Fig. 8, but I recommend that it be included.  It won't prevent the module from conducting if the Vref input is disconnected, but it will prevent the MOSFETs from all turning on fully.


Power Supply

The power supply is most easily derived from a regulated AC-DC plug-pack, which can be internal or external.  Unfortunately, everything except the multiplier uses a single supply, so a -12V supply has to be included.  This is easy if you use an isolated 12V DC-DC converter (e.g. B1212-1W, AM1SS-1212SJZ, etc.), as shown in Fig. 2.

fig 10
Figure 10 - Power Supply Details

C1 and C2 should be as close to the pins of the 78L05 as possible to prevent oscillation.  You can add 100nF ceramic caps in parallel with each capacitor if you wish, but they will make no difference.  Likewise, feel free to use more than 10μF.

There's no high-current circuitry in the power supply, because the total +12V current draw is less than 70mA, even with the relay activated.  You will need to test your switchmode supply though to ensure that it is switching normally with the light load.  Many use a 'skip-cycle' process at low current to minimise no-load losses.  This greatly increases the supply noise, and there will often be noise within the audio band.  If that's the case, you may need to add a resistor to pull enough current to ensure that the supply is functioning normally.  See Small Power Supplies Part III (section 6.1) for more information and audio captures of the noise generated by a typical SMPS at light load.  This is unlikely to cause any problems with this design.

To give you an idea, one that I tested made a very audible growling noise at no load (AC coupled from the output to the input of my bench amplifier), increasing to a whistle at 12mA and a squeal at 50mA.  Until the load was increased to just under 1W (about 80mA) noise was clearly present, but with a 1W load it was no longer audible.  Expect the same from most SMPS, particularly new ones that have been designed to meet energy performance criteria imposed by governments in most countries.  It's an unfortunate fact that government regulations almost never consider the consequences of legislation imposed to make our lives 'better'.  These consequences are unintended, but are inevitable when 'expert' opinion is only obtained from people who don't work with audio-frequency products.


Metering

The easiest way to measure the voltage and current is to use an off-the-shelf meter module.  These are available fairly cheaply, and are a better proposition than using analogue meters (which will be far more expensive).  A more-or-less typical meter is shown below.  I used a 4-digit meter because I had it available, but most are 3-digit, which is perfectly alright.  The meter wire colours haven't been shown, because they may vary from those used on my meter.  The info you need should be provided by the supplier.

There are restrictions with these meters that you need to know about.  There's an internal shunt for 10A models (it's external for higher current), and it's earth/ ground referenced.  That means that the meter has to be outside the main current-controlled circuit, so the common (aka ground) of the current sink is not the same is the input from the supply under test.  It's a relatively minor point, but if the shunt (and its wiring) is included in the feedback circuit there will be some inaccuracy.

fig 11fig 10b
Figure 11 - Suggested Meter (Voltage And Current)

Most of these meters have three wires for meter power, ground and voltage sense, and you must get the right wire for the supply.  Most meters will be damaged if the power lead is connected to anything over 30V (it may be less with some).  A common scheme is red for the meter power, yellow for voltage measurement, and black for ground.  Current measurement is via two thicker wires, with red as positive and black as negative (the negative terminal of the supply under test).  It's important that the current sensing is outside of the current sensing feedback loop.

Fig 12A - Front View
Fig 12B - Rear View

The above shows a couple of pix of my prototype load (mouse-over to see a larger image).  Yes, I know it looks like a mess, but there are three separate boards for the load itself, the multiplier and the under-voltage and thermal cutouts.  The latter isn't visible in the photos.  I didn't include the option for modulation, and given the heatsink (which is chunky but not overly large - 80mm square), I limited the power to 100W.  It will handle 150W happily enough, but the thermal cutout will operate repeatedly.  It's been tested at 60V DC input, and (as expected) the multiplier limits the maximum current to 1.7A (2.5A for 150W dissipation, which was tested thoroughly as well).  You can probably see that the two pots are 10-turn types.  The meter is 4-digit, but is not particularly accurate.  This is a shame, as I was hoping that it would be better than it has proven to be.  Of course it was fairly cheap, so the inaccuracy is not unexpected.

I used double-sided blank PCB material for construction, which meant that joins could be soldered.  The power supply is a switchmode module, 'liberated' from most of its enclosure and hard wired to the IEC socket.  Everything else is either on Veroboard or 'sky-hooked' using thick copper wire for all current-carrying connections.  The reverse-polarity relay is visible just below the meter module.  There is a cover for it, so it's completely enclosed when that's installed.  Without the cover it's a bit 'wobbly', but it's rock-solid with the cover installed.


Conclusions

This is a very comprehensive circuit, and it provides better protection than most you may come across.  It has fairly high-precision, and if the metering module is accurate then you can expect good results.  There are simpler ways to limit the dissipation, but you'll be spending quite a bit for the MOSFETs and the heatsink, so the AU$20-odd extra for the multiplier will go (almost) un-noticed.  As a bonus you get to play with a real multiplier, and that's not something to take lightly (and yes, I am serious).  Not many people will have ever used one, so the opportunity shouldn't be missed.

A seemingly simple circuit quickly gets out of hand the moment you start looking at current over about 1-2A.  Expecting a simple design to work at higher current is asking for trouble, especially if the input voltage is likely to be over 12V or so.  Naturally, I could have left out the multiplier, but the risk is too great.  A range switch that automatically reduces the maximum current at higher voltages is one technique, but if the switch is on the wrong setting and you apply 45V to the input, expect smoke!

Lower power is generally safe, but it's also very limiting.  You may lament the fact that the design featured can only manage 4A with a 25V input, but you need to consider just how often you will need any more.  Of course you can adjust the multiplier to get more current, but only if you increase the number of MOSFETs and the size of the heatsink.  This can get out of hand very quickly, but if that's something you really need, then the circuit is easily modified.

The somewhat 'modular' nature of the design means that you can adapt it for what you require.  If you will be testing power supplies rated for 1kW, then this circuit (with additional MOSFETs and a much bigger heatsink) can handle it.  Your selection of suitable MOSFETs is important, and be prepared to use more of them than you thought you'd need.  My unit uses four IPW50R140CP MOSFETs for 100W (very conservative), so by extension you'll need 30 of them for 1kW.  Disposing of 1,000W is not trivial, so expect a large heatsink with powerful fans.  You'll pay dearly for the heatsink, not to mention the extra MOSFETs and wiring.

Of course, a lot depends on whether that 1,000W is at 5V or 100V.  The SOA curve for the IPW50R140CP indicates that each should be able to handle 2A at 100V (for maybe 100ms), but switching MOSFETs are designed for switching, and using them in linear mode is a gamble unless you test thoroughly, then test some more.  Operating them as conservatively as possible is the only way you'll get away with linear operation, especially at elevated voltages and temperatures.  The heatsink and thermal management are critical.

I quite deliberately set an arbitrary limit of around 40V maximum input, but of course you can apply more if you modify the over-voltage circuit.  The multiplier will maintain the maximum dissipation to something that is hopefully 'safe', but the MOSFETs may be stressed beyond reasonable limits.  I wouldn't exceed 60V as an absolute maximum with the design shown and with four MOSFET 'modules'.  You may wish to push everything harder, but just be aware that increased stress means a greater likelihood of failure.


References

This project was inspired by Kimpián Tibor who contacted me by email.  This implementation is very different from the one he made, but I quickly discovered two things ... 1) there seem to be a lot of people interested in building a DC load, and 2) very few designs that I saw had any form of protection against excessive dissipation.  My solution may be considered over the top, but remember that if your load fails, it may take the power supply under test with it!

Most of the circuitry is well known and there are examples everywhere, so specific references are rather pointless.  The use of a multiplier to limit the dissipation regardless of applied voltage appears to be unique, as I saw nothing that even came close.  A similar process is almost certainly implemented with commercial microprocessor-based designs, but that was either glossed over or not disclosed in any I looked at.

Thermal Conductivity of Metals - (Engineering Toolbox)
Mathematical Functions In Electronics - Using Analogue Circuits - (ESP)
The Design of Heatsinks - (ESP)

 

HomeMain Index projectsProjects Index

Copyright Notice.This article, including but not limited to all text and diagrams, is the intellectual property of Rod Elliott, and is © 2024.  Reproduction or re-publication by any means whatsoever, whether electronic, mechanical or electro-mechanical, is strictly prohibited under International Copyright laws.  The author (Rod Elliott) grants the reader the right to use this information for personal use only, and further allows that one (1) copy may be made for reference while constructing the project.  Commercial use is prohibited without express written authorisation from Rod Elliott.
Change Log:  Page Created and © Rod Elliott April 2024.