Author Topic: Programmable dummy load  (Read 3191 times)

0 Members and 1 Guest are viewing this topic.

Offline bauto601Topic starter

  • Contributor
  • Posts: 13
  • Country: nl
Programmable dummy load
« on: April 21, 2019, 02:47:48 pm »
Hello everyone,

I am working on a project to design a programmable dummy load to test power supplies, batteries or even (cpu) coolers.

For this i use a fdl100n50f mosfet to dissipate the heat. This mosfet has got a thermal resistance of 0.15*C/W from junction to sink and is specced to work under continuous DC load, not only for switching. It is cooled with a 6 heatpipe 92mm cpu cooler that keeps the case of the mosfet at just under 60 degrees at a 200w load. Adding the thermal resistance of 30*C i get a junction temperature of 90 degrees, which is is specced at a maximum of 150 degrees.

I control the gate of the mosfet using an Arduino Nano. I connected a MCP4725 12 bit DAC to the I2C bus to control the gate voltage. The output of the DAC is directly connected to a LM324 opamp with gain 1 to offset the voltage from the DAC to give an output voltage between around 3.5 to 7.5v. The opamp has been configured with 100K resistors and one 33K resistor.

The feedback to regulate the current going through the mosfet comes from a INA220B 12bit power meter, also connected to the I2C bus of the Arduino. I calibrated it nicely using a Fluke27 DMM. (the old one) At the moment i use a 20cm piece of 15AWG wire to sense the current. I calculated that it would give a 75mv voltage drop at 30A of current. The gain is set to a 80mv range. The current shunt is connected to the high side and the VBUS voltage pin is connected to the high side of the high side current shunt.

All this is fed by an 13.8V laboratory PSU (not a switching one) and a 7805 voltage regulator for the 5V rail. All chips have got 56nf polymer bypass capacitors on the power pins. The 7805 has got a 1000uF 16V low-esr capacitor on the input side and a 1uF polymer capacitor on the output side. I also connected a 10K pull-down resistor and a 56nf polymer capacitor between the gate and the source right at the mosfet.

The software has got the following workflow to control the current:

1. set the desired current (setcurrent)
2. read the real current from the INA220B (mosfetcurrent)
3.
  if setcurrent > mosfetcurrent -> increase the gate voltage by 1 dac value
  if setcurrent < mosfetcurrent -> decrease the gate voltage by 1 dac value
4. set the new dac value
5. wait 5ms.
6. go to step 2

Now i know that a piece of copper wire doesn't give any good accuracy over the whole range, but the precision must be quite good. My problem is that the current swings around for about 1% of the set current. When i look at the readings from the INA220B chip, sometimes the current is a bit lower than set (with a maximum of about -0.5%) and sometimes the current is a bit higher than set (with a maximum of about +0.5%)

I want to make the regulation more precise. I was thinking about upgrading the chips to 16 bit precision chips to decrease the step size of the regulation. I'm also not that happy with the MCP4725 DAC because it has some areas where it is far from linear.

What do you guys recommend to do at this stage? Improve the regulation algorithm, upgrade the cips to 16 bit ones, maybe add some bypass capacitors?

EDIT:
I've added the datasheets of the components:
LM324:
http://www.ti.com/lit/ds/snosc16d/snosc16d.pdf
MCP4725:
https://www.sparkfun.com/datasheets/BreakoutBoards/MCP4725.pdf
INA220B:
http://www.ti.com/lit/ds/symlink/ina220.pdf
« Last Edit: April 21, 2019, 02:49:50 pm by bauto601 »
 

Offline nAyPDJ

  • Contributor
  • Posts: 23
  • Country: us
Re: Programmable dummy load
« Reply #1 on: April 21, 2019, 08:59:29 pm »
Can you provide a schematic? If I'm reading this right, you're driving both inputs of the opamp with your DACs? Might be better have your feedback loop be fully analog.

5ms wait time is pretty long, as well.
 

Offline bauto601Topic starter

  • Contributor
  • Posts: 13
  • Country: nl
Re: Programmable dummy load
« Reply #2 on: April 21, 2019, 09:47:47 pm »
Can you provide a schematic? If I'm reading this right, you're driving both inputs of the opamp with your DACs? Might be better have your feedback loop be fully analog.

5ms wait time is pretty long, as well.

I will make a schematic tomorrow, altough it is a very basic circuit. I am using the following circuit for the opamp:



Where R1, R2 and R3 are 100K resistors. R4 is a 39K resistor. I am using a 4 channel opamp and DAC because i want to scale it up later to 8 channels.

V1 comes straight from the dac, V2 comes directly from the 13.8 laboratory PSU. Maybe V2 needs to be connected to a more stable power source?
 

Offline ocset

  • Super Contributor
  • ***
  • !
  • Posts: 1516
  • Country: 00
Re: Programmable dummy load
« Reply #3 on: April 21, 2019, 10:24:02 pm »
Yes sorry but I also think this sounds like a job better done with analog…you are wanting to adjust the current to whatever value?
In that case I would set up an analog error amplifier, (an op amp integrator) and simply adjust the reference voltage into it, as the way of adjusting the current.
By all means have the DAC give the reference voltage that’s required
 

Offline nAyPDJ

  • Contributor
  • Posts: 23
  • Country: us
Re: Programmable dummy load
« Reply #4 on: April 21, 2019, 11:30:30 pm »
Take a look at the schematics this person used, and see if you can draw inspiration:

https://www.eevblog.com/forum/projects/programmable-electronic-load-0-5a/msg2216673/#msg2216673
 

Offline ocset

  • Super Contributor
  • ***
  • !
  • Posts: 1516
  • Country: 00
Re: Programmable dummy load
« Reply #5 on: April 22, 2019, 10:24:01 am »
Quote
I am working on a project to design a programmable dummy load to test power supplies, batteries or even (cpu) coolers.
Beware that if you want to do feedback loop testing on the psu as it is feeding into the dummy load....some dummy loads act like a large capacitance  on the output, and thus change the dynamics of the feedback loop.

I remember at one place, a smps didnt have that much capacitance on its output, and it was noticeable that most of the output ripple current  of the SMPS was going through the electronic dummy load…(instead of through the output capacitors) this is going to effect the feedback loop dynamics…which you may not want.

Also, imagine you want to do a “no load to full load” transient response test on a PSU……if you do this with a electronic  dummy load which uses a controlled fet as the load, then the results of the transient  response test may not be valid…(unless of course your actual load in the field is a controlled fet, but this is unlikely).
For example, with a electronics load, when you do sudden no load to full load test, you may well end up with less undershoot/overshoot than if you do it with a switched resistor bank  type load.
*******************************
Be wary, because Many off-the-shelf electronics loads effectively have a capacitance, and this effects the  transient response results, because the output capacitor of an SMPS is a feedback loop parameter.

So unless you can prove that the amount of capacitance of the electronic load doesn’t effect your transient testing results, you cannot use the electronic load for SMPS transient response testing…and instead you should just use power resistors switched in/out with FETs.
*************************************************
Also, please address the following......

"Slew rate of an E Load for a SMPS transient test."

Page 9 of the pdf..

AN038 by Richtek:
 “DC/DC converter testing with Fast Load Transient”
https://www.richtek.com/Design%20Support/Technical%20Document/~/media/AN%20PDF/AN038_EN.ashx

......shows that very often, an E load doesn’t have sufficiently high slew rate (di/dt) to be able to properly do a transent test on an SMPS.
As you can see from page 9, it says that the Step Load rise time  should be much faster than the SMPS response time. The SMPS response time in the case shown, is 0.22/fc
(where fc is the crossover frequency).
So the load step rise time should be much faster (say five times)  than the SMPS response time.

*************************************
Generally speaking for fast transient testing of SMPS, mosfet switched resistor banks are often more useful than E Loads.

You get what you pay for with electronic loads, the good ones have near zero input capacitance, the others, well they need some bus capacitance for stability...
« Last Edit: April 22, 2019, 10:58:24 am by treez »
 

Offline bauto601Topic starter

  • Contributor
  • Posts: 13
  • Country: nl
Re: Programmable dummy load
« Reply #6 on: April 22, 2019, 12:33:14 pm »
Quote
I am working on a project to design a programmable dummy load to test power supplies, batteries or even (cpu) coolers.
Beware that if you want to do feedback loop testing on the psu as it is feeding into the dummy load....some dummy loads act like a large capacitance  on the output, and thus change the dynamics of the feedback loop.

I remember at one place, a smps didnt have that much capacitance on its output, and it was noticeable that most of the output ripple current  of the SMPS was going through the electronic dummy load…(instead of through the output capacitors) this is going to effect the feedback loop dynamics…which you may not want.

Also, imagine you want to do a “no load to full load” transient response test on a PSU……if you do this with a electronic  dummy load which uses a controlled fet as the load, then the results of the transient  response test may not be valid…(unless of course your actual load in the field is a controlled fet, but this is unlikely).
For example, with a electronics load, when you do sudden no load to full load test, you may well end up with less undershoot/overshoot than if you do it with a switched resistor bank  type load.
*******************************
Be wary, because Many off-the-shelf electronics loads effectively have a capacitance, and this effects the  transient response results, because the output capacitor of an SMPS is a feedback loop parameter.

So unless you can prove that the amount of capacitance of the electronic load doesn’t effect your transient testing results, you cannot use the electronic load for SMPS transient response testing…and instead you should just use power resistors switched in/out with FETs.
*************************************************
Also, please address the following......

"Slew rate of an E Load for a SMPS transient test."

Page 9 of the pdf..

AN038 by Richtek:
 “DC/DC converter testing with Fast Load Transient”
https://www.richtek.com/Design%20Support/Technical%20Document/~/media/AN%20PDF/AN038_EN.ashx

......shows that very often, an E load doesn’t have sufficiently high slew rate (di/dt) to be able to properly do a transent test on an SMPS.
As you can see from page 9, it says that the Step Load rise time  should be much faster than the SMPS response time. The SMPS response time in the case shown, is 0.22/fc
(where fc is the crossover frequency).
So the load step rise time should be much faster (say five times)  than the SMPS response time.

*************************************
Generally speaking for fast transient testing of SMPS, mosfet switched resistor banks are often more useful than E Loads.

You get what you pay for with electronic loads, the good ones have near zero input capacitance, the others, well they need some bus capacitance for stability...

Thanks for your post! I am not going to build custom power supplies (yet). The purpose for this e-load is mostly testing batteries (capacity for example) and testing ATX power supplies.

Now you may ask, why ATX power supplies? Currently the retro pc scene is growing and people start asking themselves which modern power supplies can still handle heavy 5V loads, which old power supplies are still usable (ageing), can i just use a crap brand with a 5V heavy design? (i'm also a retro hardware collector)

For this, feedback loop testing isn't that important. Almost all ATX psu's are having at least a "good enough" feedback loop. The bigger problem is output noise/ripple, voltage regulation (not turn-on spikes but rather the rms voltage output) and hitting their labeled power numbers. Also the effect of recapping an old ATX PSU is interesting to measure.

I think that for these applications, the mosfets should not be a problem if the feedback loop of de e-load is good enough. It has to be quite a slow feedback loop to prevent the feedback loop on reacting to ripple, but i think that an analog sub-1khz feedback loop might be the way to go here.

Currently, the review websites like JonnyGuru are using SunMoon e-loads also working with mosfets. Now i know that i probably can't even come close to the specs of those e-loads but i do think i can come close enough to at least see if a power supply is suited for it's purpose and look at it's output ripple.

And if you look inside a computer, the first thing you see on the motherboard are, besides the cpu cooler, capacitors that directly connect to the voltage rails of the PSU. So somehow these ATX power supplies don't really care about capacitance on the output of the psu.
« Last Edit: April 22, 2019, 12:45:46 pm by bauto601 »
 

Offline David Hess

  • Super Contributor
  • ***
  • Posts: 17167
  • Country: us
  • DavidH
Re: Programmable dummy load
« Reply #7 on: April 22, 2019, 07:52:55 pm »
For this i use a fdl100n50f mosfet to dissipate the heat. This mosfet has got a thermal resistance of 0.15*C/W from junction to sink and is specced to work under continuous DC load, not only for switching.

That part is not specified linear operation.  If it was, then the maximum safe operating curve would reflect the thermal instability point starting below 70 volts on linear rated parts.  It should still be acceptable at low voltages however.

Quote
It is cooled with a 6 heatpipe 92mm cpu cooler that keeps the case of the mosfet at just under 60 degrees at a 200w load. Adding the thermal resistance of 30*C i get a junction temperature of 90 degrees, which is is specced at a maximum of 150 degrees.

Can a TO-264 case really sustain that power dissipation at a junction temperature of 90C?  I did not think they were much better than TO-3 cases.

Quote
The current shunt is connected to the high side and the VBUS voltage pin is connected to the high side of the high side current shunt.

Placing the current shunt in series with the source of the MOSFET is more conducive to better stability and accuracy.  Stability is better because the extra source resistance makes the transconductance more predictable.  Accuracy is better because there is no common mode voltage swing in the measurement.

Quote
The 7805 has got a 1000uF 16V low-esr capacitor on the input side and a 1uF polymer capacitor on the output side.

A low ESR output capacitor is often a problem with linear regulators but the 7805 with its emitter output is more tolerant than most.  A 10 to 100 microfarad standard aluminum electrolytic is more typical or a solid tantalum of 1 to 10 microfarads.

Quote
Now i know that a piece of copper wire doesn't give any good accuracy over the whole range, but the precision must be quite good.

The physical size required and high temperature coefficient of resistance of copper are usually the problems.

Quote
My problem is that the current swings around for about 1% of the set current. When i look at the readings from the INA220B chip, sometimes the current is a bit lower than set (with a maximum of about -0.5%) and sometimes the current is a bit higher than set (with a maximum of about +0.5%)

I want to make the regulation more precise. I was thinking about upgrading the chips to 16 bit precision chips to decrease the step size of the regulation. I'm also not that happy with the MCP4725 DAC because it has some areas where it is far from linear.

What do you guys recommend to do at this stage? Improve the regulation algorithm, upgrade the cips to 16 bit ones, maybe add some bypass capacitors?

Using an analog feedback loop with a DAC providing the reference will remove one of the converter stages from within the feedback loop.  If the steps are coming from the ADC, that will remove them.  You should still keep the ADC for an independent readout of the actual current.

Doing this allows for slower but higher precision converters to be used without affecting the speed of the feedback loop.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf