Build a DC electronic load  - Page 1
Forum section: electronics / beginners

author: Eazy
author_rank: Newbie
timestamp: November 13, 2022, 01:38:07 pm
content: Hello guys,I need to build a DC electronic load, but my electronic skills are not very good to understanding what I will do.I have done some researches, but I don't know how to select components.Here is the specs that i need: 28Vdc and 6A. but it doesn't really matter for now.I have already watched the Eevblog video of doing an electronic load, and found lots of documents.Before going further on how control my DC load I need to understand the differences between the basic op amp follower (saw on Eevblog video) and this op amp with resistor and cap (see attachment).In the basic op amp follower I undersand that the op amp outpout will try to follow the V+ voltage by doing the comparison with the feedback on V-.On the attachment file, the resistors and capacitor added are to compensate the capacitor of the mosfet. But now the op amp doesn't look like a follower but an integrator, am I right?

author: MikeK
author_rank: Super Contributor
timestamp: November 13, 2022, 01:57:31 pm
content: I think Dave had a video some years ago about building an electronic load. That would be good to at least familiarize yourself with the idea.EDIT: It's EEVblog #102.

author: Eazy
author_rank: Newbie
timestamp: November 13, 2022, 02:14:14 pm
content: Thank you for your answer.I have already watched this video (as I said in my first post, but I haven't mentionned the video number).It was a good start, but after some researches, I have found a "upgrade" schematic" with resistors and capacitor, into the op amp feedback, which are there to reduce the oscillation of the output op amp due to the capacitor of the mosfet (If i understood). But with that added, is the op amp still in follower? Because for me it looks like an integrator.

author: magic
author_rank: Super Contributor
timestamp: November 13, 2022, 02:32:17 pm
content: Well, yes, it's an integrator, but you have to look closely at what it is integrating: the current through R3, or alternatively the voltage across R3.The integrator will keep IN- equal to IN+, by slewing the output up when R3 conducts to the right (R1 voltage too low) and down when R3 conducts to the left (R1 too high).The circuit will stabilize when R1 voltage equals IN+. So it is a follower.

author: blackdog
author_rank: Frequent Contributor
timestamp: November 13, 2022, 03:02:22 pm
content: Hi EazyC1 ensures that the phase margin remains good.R2 and the MOSFet input capacitor makees that the signal from the opamp output is delayed to the -input of the opamp.This delay should not be too large, if the delay becomes too large, and exceeds 180 Degrees then the opamp will generate.Many circuits on the Internet do not sufficiently take this into account.But at least you have C1 in your circuit!The high frequencies now have a short path through C1 to the inverting opamp input and helps the phase margin to be goodYes, you can say that C1 forms and integrator with the resistor R3.The point is to leave the high frequencies sufficiently outside R2 and the MOSFet to keep the circuit stable enough.A good starting point is to choose the filter corner for C1 and R3 around 30KHz and this can be done with R1 of 4K7 and C1 of 1nF.This 30KHz is not a fixt value, the properties of the MOSFet vary at different Gate voltages and the current through the Drain.So the combination of R3 and C1 must be such, that the whole circuit is always stable, but not more!It is a beginner's mistake to make C1 to large!It is also important to know if you want to use the DC Load only, or for DC or e.g., modulate it as well.So with modulation you have a Dynamic Load and then you want wide frequency responce.C1 should then be just large enough to always be stable at different loads and also the best frequency response.The next step is the sense resistor value and the offset value of your opamp to be used.It seems attractive to take the sense resistor value nice and small,but as I mentioned above, you have to take into account the offset voltage and drift of the opamp you're going to use.The offset voltage/drift of the LM324 or the LM358 is not so good.Modern opamps are a lot better at that, and the opamp you're going to use should be able to go to "0" with its inputs.A modern opamp is e.g. the Texas Instruments OPA140 Series, has a reasonably low offset voltage and is also reasonably fast so that if you choose to modulate the DC Load,so that it can become reasonably fast.There is much more to tell about this type of circuit,but with a little searching you can also find a design byJay_Diddy_Bon this forum.Even LT SPice files he has made available, so you can experiment extensively with this.It is going a bit too far to go explain all this now, I would first test for a basic DC Load, use an LM324 or an LM358 IC and a Sense resistor of 1-Ohm.At 1V on the + input of the opamp, there will then be 1-Ampere running through the Drain of the MOSFet.Do some testing with this, see/measure what the limitations are with this setup.Another tip, take a MOSFet in a large case, these have a low thermal resistance.A commonly used MOSFet is the IRFP150 for this type of application.You want a MOSFet that can dissipate quite a lot of power and has low thermal resistance, not to mention low Gate capacitance.Kind regards,Bram

author: Eazy
author_rank: Newbie
timestamp: December 03, 2022, 05:41:44 pm
content: Hello guys,sorry about the long response delay...Thank you both of you, it hepled me to understand the effects of each components, even if sometimes it still a bit consufing.After some simulation with LTspice and reading of some topics here is my new schematic below.And here is my explanation:R4 and R5 are here to share the power to dissipate with the mosfet. As I want to do a 6 amps electronic load for 28Vdc, at 3 amps mofset and resistors will share half of the power.R2 is to delay and limited the current of the mosfet capacitance.C1 for the phase maring,.R7 is here to discharge C1, i'am not sure of this. But as my opamp is in an integrator configuration, I needed to put one.R9 is here because if I don't put one the opamp will oscillate.And I put an opamp amplifier to avoid noise in my low signal feedback.At the beginning I was focused on the integrator opamp, that was a bad idea, I need to understand the purpose of each component.But I'm still looking to choose the rigth value, but I don't know how do that.Blackdog told me about frequency, but I don't understand where is the frequency, as my input is a "straight dc voltage".Maybe it is at the opamp output, but how to determinate that?

author: pqass
author_rank: Super Contributor
timestamp: December 03, 2022, 06:16:51 pm
content: Your original design should work. That's what I did. See:https://www.eevblog.com/forum/testgear/example-of-why-people-say-you-sholdnt-use-mosfets-in-parrallel-as-dummy-load/msg4251337/#msg4251337And also see reply #17 for the performance waveform with 2kHz (0 or 5A) input. In your original schematic, for my implementation I've chosen: R2=100R, R3=1K, C1=10U (this is likely too large yet can keep up with 2kHz input!).Also, see Kerry Wong's many CC loads here:http://www.kerrywong.com/2013/03/08/constant-current-dummy-load-in-an-hdd-cooler/

author: magic
author_rank: Super Contributor
timestamp: December 03, 2022, 06:45:47 pm
content: This circuit is DC, but the unpleasant reality of DC circuits is that they also contain AC noise and transients (like turn-on, turn-off, pot adjustment, etc), which is why they need to be somewhat well-behaved at all AC frequencies within the circuit's bandwidth to avoid oscillation.R7 is not required. It could be required in other circuits to allow U2 to set its inverting input DC level (C1 is open circuit for DC), but U2's inverting input DC level is already determined by Vshunt voltage (or Vshunt amplified by U1). So leave R9 and remove R7. As-is, R7 only adds a small error, because it pulls up the inverting input higher than Vshunt. The inverting input should be equal to Vshunt, so that U2 can make Vshunt equal to the noninverting input, which is the whole point of this circuit.The important thing about R9 and C1 is their time constant, or corner frequency. At ~160kHz reactance of C1 is about equal 1kΩ. For lower frequencies and DC, C1 has high impedance and little influence on U2 inverting input voltage. The circuit works like you would expect - Vshunt voltage appears at the inverting input of U2 and if it's less than the noninverting input, U2 pulls the MOSFET gate up until enough current flows that Vshunt equals the noninverting input.At frequencies above 160kHz, things change. C1 has lower impedance than R9, so little movement of U2 output can "cancel" larger changes in Vshunt voltage while the inverting output stays substantially constant and equal to the noninverting input. This is where U2 starts to behave like integrator. This aspect is not very important, some people simply pretend that at high frequencies "C1 is a short circuit" and "overrides" the usual feedback path. No matter how you explain it, the ultimate point is that U2 doesn't respond strongly to high frequency noise in Vshunt voltage to avoid instability. If necessary, the time constant of these components cane be increased.U1 and amplification of Vshunt is rarely useful. Here, it's the same kind of chip as U2, so its noise properties and offset voltage error are the same. A better idea to improve accuracy is to simply increase the value of the shunt resistor. Then you get "amplification" for free, without noise and offset voltage.3V supply to the LM358 may be not enough to turn-on many MOSFETs.

author: Vovk_Z
author_rank: Super Contributor
timestamp: December 03, 2022, 07:33:59 pm
content: I agree withmagic, and may add:1) There is no need for U1 amplifier. You can only increase noise with this additional amplifier but not decrease it.2) 0.1 R shunt is too much for 6 A rated current (that's 3.6 W!).3) For 6 A rated current you may use 0.02 R or 0.025 R or 0.033 R or 0.05 R shunt. If you don't want to buy a 'special' low tempco shunt resistor it can be made of any 0.1 R 'usual' 1-2 W resistors. 0.1-0.12 VDC at the shunt is enough for LM358/258 to work fine. Even a 0.01-0.015 R shunt may work fine.4) With C1 = 10 nF and R2 = 10-47 R LM358/258 is typically stable with IRF250/350/450.

author: magic
author_rank: Super Contributor
timestamp: December 03, 2022, 08:14:59 pm
content: 6A from 28V supply is 168W. A single MOSFET can't take that much, so it is a good idea to add series resistors to move power dissipation elsewhere. Probably easier than combining multiple FETs. That's the point of R4/R5 and R1 could also be increased.But you are right that its power dissipation is quite crazy, so a high power resistor is necessary or a few in parallel. The importance of resistor tempco depends on what sort of accuracy is expected.Quote from: Vovk_Z on December 03, 2022, 07:33:59 pmC1 must be specified in combination with R9, otherwise its effect is unknown.OP already found that with a direct connection instead of R9, C1 doesn't help at all, which is not surprising.

author: Vovk_Z
author_rank: Super Contributor
timestamp: December 03, 2022, 10:56:49 pm
content: I typically use R9 = 1k.1k value I guess is in consensus with both accuracy and reliability. Too large (10k) worsens accuracy and too small (10-100 R) worsens reliability.

author: Avelino Sampaio
author_rank: Frequent Contributor
timestamp: December 04, 2022, 07:43:47 am
content: Quote from: Eazy on December 03, 2022, 05:41:44 pmYour answers are in this thread:https://www.eevblog.com/forum/projects/dynamic-electronic-load-project/

author: MathWizard
author_rank: Super Contributor
timestamp: December 07, 2022, 07:58:36 am
content: Quote from: Eazy on December 03, 2022, 05:41:44 pmI bought some cheap TO-220 sized mosfets thinking I'd make small units, that would add together, up to 1000W DC load. For now I gave up tho, because I could barely get 15W into a mosfet, just on 1 heatsink with fans, that was from a big stereo....without the MOSFET frying.Then I tried some big steel plates I had, and they are useless, the heat just didn't speed away fast enough to be useful at all (and I fried more mosfets)So OP if u haven't made anything like this before, just getting things like low ohm sense resistors, you'd be surprised how many of them it takes, just to keep their temperature and max power down.28V*6A=168W, so that will need good heatsinks/fans, and lots of mosfets I would guess.

author: Doctorandus_P
author_rank: Super Contributor
timestamp: December 07, 2022, 08:58:44 am
content: Yesterday I saw the front page of an adjustable resistor "arduino" project in Silicon Chip.It is a fairly simple project with just a bunch of resistors, Mosfets to switch them, an ADC and some uC to control it all.I did not like the low resolution (I want better than 1 Ohm up to around 20 Ohm and also a bit higher power).So that got me thinking on the track of: If I wanted to build something like that, how would I do it...After a few iterations and price comparisons for resistors, it seemed that 5W resistors are around the sweet spot for dissipation per Euro.Using power resistor (mounted to a bigger heatsink both for stability and extra dissipation) makes it very simple and extremely robust, and it can also be easily made compatible with AC testing, for example for audio power amplifier or motor driver testing.Such resistors also have no "stability problems" such as an adjustable current sink has, and apart from the inductance of the resistors and wiring themselves there are very little abberations, which makes it easier to rely on the results you see of measurements with this thing.The simplicity also makes it an ideal beginners project. You could even make it with just mechanical toggle switches and no electronics at all.At the moment it's not a finished project, just some preliminary musings, but it may be an option for you to consider something similar.I've added all info I have so far, and you're free to (ab) use it in any way you can conceive.With a few lines of python you can also create a list of resistances for all possible switch positions:Code:Res= 320for Num in range( 1, 400):print( str(Num) + "\t" + str(Res/Num))