Programmable Electronic Load, 0-5A - Page 1
Forum section: electronics / projects

author: JeanLeMotan
author_rank: Contributor
timestamp: February 21, 2019, 11:29:12 pm
content: Hi,This is my first post here although I've been reading a LOT of topics along the years.A few months ago I needed an electronic load to characterize a CR123A battery used in some temp/humidity sensors with a very low duty cycle. I needed an accurate discharge curve to estimate the battery life more accurately.Since I was also discovering opamps at the time and how magical they are, I decided to have a go at designing an electronic load.This is what I ended up with 2 months later.Specs & features:0-5A (depends on the heatsink and mosfet really)1mA resolution0-30V, can measure also down to -30V1mV resolutionReverse polarity protection4 wire measurementsAutoranging for both V&A using the ADS1115 PGA to get the max resolution/accuracy I can get from that partTemperature sensingFan controlEnergy countingFully programmable: it can execute a programmed sequence of operations and output the data through serialCSV data output on the serial portThe schematic of the analog part is here:https://easyeda.com/jeanleflambeur/electronic-loadThe digital part is not on easy-eda yet but I will put it there. It's pretty simple and it involves an ESP32, a OLED screen, a rotary encoder and momentary switch.I have a 3d printed case as well and the final produce looks like in the attachment pic.The schematic has several blocks:The voltmeter, using a TL071 in as a differential amplifier outputs a 0 - 3.3V for a voltage range of -30 - 30V.The ammeter, using another TL071 in as a non-inverting amplifier with ~5x gain.PWM vref which takes a 0-3.3V PWM signal and low-pass filters it into oblivion for an analog 0-1V. There is an off signal as well here.The load control using the last TL071 with voltage offset trimming so I can get down to 0mA. This takes the shunt and VREF as inputs.The Load section: this is just a mosfet (or 2 but with really basic/non-existent balancing). For now I'm using a IRFB3006 because I had it laying around but I have a pair of IXTP80N075L2-ND on the way from Digikey for proper linear MOSFETsADC: an ADS1115 16 bit adc reads a differential voltage from the voltmeter and a single ended voltage from the ammeter. Nothing special here, just the datasheet filteringThere is some regulation as well as the board needs +/- 12V which I generate from an ebay module from the 3.3V of the ESP32 and that's it.the rest is software which is on github:https://github.com/jeanleflambeur/electronic-loadI know that I don't have any lead inductance protection - I found about that from this forum too late and I'm sure I made many mistakes.This is my first use of op-amps and my 3rd electronics project overall, with the other 2 being fully digital.Right now the load is characterizing my battery running this little program:S0.05 L1 D500 L0 D5000 R1000000Which translates to this:1. Set target current to 0.05A2. Load on3. Delay 0.5s4. Load off5. Delay 5s6. Repeat 1000000 timesThe software supports up to 10 stored programs (completely arbitrary limit) that can call each other.The programming is done from the serial console by just typing the program string directly.There is a calibration menu as well for the voltmeter, the ammeter and the PWM voltage. Unfortunately calibrating it requires access to an bench power supply to generate some test voltages and currents. I think this can be worked around by reworking the calibration section.There are some issues as well:1. The reverse polarity protection MOSFET gets hot when the load voltage drops below 4V and the currents are significant (>1A). I believe this is due to the MOSFET getting down to the linear region and becomes a resistor.2. The max current at low voltages is limited: with the current mosfets, at 1V I can only get 1.4A.3. The 3.3V regulator on the ESP32 I have is not a LDO and when powering the load from USB (the intended way) it doesn't really regulate: there is a drop of around 400mV in a schottky diode on the board, and the AMS1117 doesn't have enough headroom for a stable 3.3V. Since the PWM reference is powered from this regulator, it's unstable. I have some pin compatible LDOs on the way to replace the AMS1117 and solve this.I will appreciate any comments/suggestions/improvements etc regarding the schematic, PCB and software.REV3 topic here:https://www.eevblog.com/forum/projects/jlm-electronic-load-0-30v-0-4a-1ma1ma-resolution/

author: JeanLeMotan
author_rank: Contributor
timestamp: February 23, 2019, 09:33:29 am
content: Well, I guess there's either not a lot of interest in dummy loads, or the topic has already been discussed too much already

author: Mazo
author_rank: Regular Contributor
timestamp: February 23, 2019, 10:26:33 am
content: I didn't see accuracy specs or resistor tolerance shown so your diff amp might have a pretty bad CMRR if using 5% ones

author: ogden
author_rank: Super Contributor
timestamp: February 23, 2019, 12:34:54 pm
content: Quote from: JeanLeMotan on February 21, 2019, 11:29:12 pmYou are correct about linear region. Either drop idea of reverse polarity protection or redesign it. In short: add opamp as polarity sense and mosfet drive deviceQuoteYou have 0.1R sense resistor, right? It means that at 5A burden voltage is 0.5V. Do not see any problem. Reverse polarity protection at work here? While you have no good reverse protection - short it while you work on other parts of the design.QuoteJust add proper voltage reference and analog switch or CMOS buffer, powered from it.QuoteYou have no current balancing resistors. It could be so that one mosfet never opens while other have to dissipate all the load. You maybe got ideal pair, others that follow your design may not be so lucky. Other option : you don't know (yet) how your mosfets balance current.

author: JeanLeMotan
author_rank: Contributor
timestamp: February 24, 2019, 09:08:27 am
content: Quote from: ogden on February 23, 2019, 12:34:54 pmIt makes sense, like this the mosfet is always fully switched on/off by the opamp and never in the linear region.Quote from: ogden on February 23, 2019, 12:34:54 pmWhat's even weirder is that this max current at low voltage is influenced by the mosfets used. With other mosfets I got lower current.Isn't this caused by the Id <-> Vds curves in the datasheet?In any case, I remove the reverse polarity protection and see if it's fixed.What would happen to the load mosfets if I apply reverse polarity without any protection?Quote from: ogden on February 23, 2019, 12:34:54 pmAnalog switch or cmos buffer? Gotta look up these ones.Quote from: ogden on February 23, 2019, 12:34:54 pmSo just adding a low value resistor in the source of the MOSFET?I also saw this design that uses a BJT transistor:https://youtu.be/9auu8hH4IPM?list=PLUMG8JNssPPzbr4LydbTcBrhoPlemu5Dt&t=457Thanks a lot for the advice.

author: ogden
author_rank: Super Contributor
timestamp: February 24, 2019, 09:48:13 am
content: Quote from: JeanLeMotan on February 24, 2019, 09:08:27 amFuse or shunt resistor(s) will blow or wires will melt or just nothing. Mosfets will stand because their body diode is specced at 270A, continuous, each. I would rely on fuse and careful use.QuoteCmos buffer: SN74LV1T34Analog switch: SN74LVC1G3157More here:http://www.ti.com/switches-multiplexers/analog/overview.htmlQuoteRight, exactly.

author: Kleinstein
author_rank: Super Contributor
timestamp: February 24, 2019, 11:16:52 am
content: For current sharing it might be better to have a separate OP to drive each MOSFET and thus a separate current regulating loop. Just a source resistor may have to be relatively large if the FETs are not well matched. The separate OPs also have it easier to drive the gate capacity.The TO220 FETs are only useful for low power - there rating is absolutely theoretical. I would not count on more than about 40 W from a TO220 case. The FET given is likely also not good at higher voltage, like more than 12 V - there is a chance of thermal runaway inside the chip.For a low voltage version with a low value shunt, the TL071 is not really a useful choice: it's rather high drift and quite some low frequency noise. The OP27 is much better - as a cheaper alternative an OP07 (slow) or even NE5534 (with offset adjustment and cap for compensation) should be Ok. With offset adjusted at the NE5534 (and most other BJT based OPs) the drift also gets better.

author: exe
author_rank: Unknown
timestamp: February 24, 2019, 04:10:55 pm
content: Looks awesome! Can you please share STL files? I'd like to see how panels are connected as I'm designing enclosure for my PSU.

author: aiq25
author_rank: Regular Contributor
timestamp: February 24, 2019, 08:10:26 pm
content: Someday I would like to build my electronic load, I think I will start off with constant current dummy load though.Here are couple of comments:- What is the reason for wanting 1mA/1mV resolution? By the way, I might be nitpicking but I think you meant accuracy, not resolution.- At 30V/5A your looking at 150W., your going to be dissipating a lot of heat. Assuming 2.5A load on each FET, looking at the Safe Operating Area of the IRFB3006, its only spec'ed for 0.2A for DC operation at 30V. While it is probably okay, just keep it in mind. I don't know if these are any better but I have been looking at ON Semi FDP075N15A or Nexperia BUK755R4-100E. I only have limited knowledge of MOSFET's, so maybe someone else here can here help if I made any mistake. The Nexperia part is not a logic level FET though.- Typically I don't like to use 1Meg Ohm resistors due to noise issues with this high value. Considering lowering these to less than 150k Ohm or put couple in series.

author: JeanLeMotan
author_rank: Contributor
timestamp: February 24, 2019, 09:31:32 pm
content: Quote from: Mazo on February 23, 2019, 10:26:33 amI used 0.1% resistors. Not sure if overkill but they were super cheap.

author: JeanLeMotan
author_rank: Contributor
timestamp: February 24, 2019, 09:35:56 pm
content: Quote from: Kleinstein on February 24, 2019, 11:16:52 amI confirm, I went through a few FETs when stressing the load with >20V and 1-2A. They kept failing short until I learnt what the SOA is.For this reason I ordered the IXTP80N075L2-ND which seem way more appropriate for a load.Quote from: Kleinstein on February 24, 2019, 11:16:52 amI agree, I went for the TL071 because I could get them fast from Amazon (next day delivery) and they were the only ones available with offset trimming.The OP27 since it's almost pin compatible except for the offset trimming - and the schematic/PCB allows it. I will try it once it arrives.Thanks for the advice.

author: JeanLeMotan
author_rank: Contributor
timestamp: February 24, 2019, 09:36:58 pm
content: Quote from: exe on February 24, 2019, 04:10:55 pmSure. I'll actually post the STL source as well in case you want to modify it. I use DesignSpark (free) for modelling.I'll upload it in the next 30 min on github.

author: JeanLeMotan
author_rank: Contributor
timestamp: February 24, 2019, 09:43:36 pm
content: Quote from: aiq25 on February 24, 2019, 08:10:26 pmI wanted to stay away from saying 1mV/mA accuracy as I don't have enough equipment to calibrate for that. With my switching, cheap bench supply and UNI-T multi-meter I'm not sure I can reach that. Factor in the temp coefficients, PWM filtering, lack of ref voltage and everything else I'm probably missing - it seemed unfair to claim that accuracy.But the load can definitely distinguish each individual mV/mA, actually better than that since it has auto ranging and the ADS1115 is 16 bit.Quote from: aiq25 on February 24, 2019, 08:10:26 pmI ordered some linear FETs to replace the IRFB3006. After killing a few of them, I started reading and got to the SOA part and finally understood what it stands for.Quote from: aiq25 on February 24, 2019, 08:10:26 pmDo you think the noise will be that significant? There should be no current flowing through those resistors. What is the cause of the noise?

author: exe
author_rank: Unknown
timestamp: February 24, 2019, 10:34:05 pm
content: Quote from: JeanLeMotan on February 24, 2019, 09:43:36 pmAfaik, mainly thermal noise (https://en.wikipedia.org/wiki/Johnson–Nyquist_noise) for metal film resistors. There are other types of noise, but I can't find a good article on them. So, I assume, if one doesn't use carbon resistors, thermal noise is dominating type of noise for thin-film resistors.

author: aiq25
author_rank: Regular Contributor
timestamp: February 25, 2019, 04:30:57 am
content: Quote from: JeanLeMotan on February 24, 2019, 09:43:36 pmOh ok.Yeah I'm sure the load can distinguish it. For me electronic load doesn't need to be this precise, it does all depends on the application though.I realized now your testing CR123A batteries, yeah you might want this kind of resolution.Quote from: JeanLeMotanWhat part did you end up ordering?Quote from: JeanLeMotanQuote from: exe on February 24, 2019, 10:34:05 pmI'm guessing no, however since your setting 1mV/1mA resolution I would say it could matter. My experience is based on the automotive and test equipment industry where this does matter.

author: MasterT
author_rank: Frequent Contributor
timestamp: February 25, 2019, 04:52:54 am
content: L2 1m - never put inductor in the grounding path.

author: JeanLeMotan
author_rank: Contributor
timestamp: February 26, 2019, 05:58:33 pm
content: Quote from: MasterT on February 25, 2019, 04:52:54 amI copied this from an Adafruit breakout board, I imagined it helps with filtering but maybe I copied it wrong.Not that you mention it it does ring a bell and I've heard/read a lot this phrase "low-inductance path to ground" - so adding an inductance in the ground path seems like the wrong thing to do. But why?In the VCC path it's ok because if blocks high frequency noise from reaching the circuit, but in the ground path it would prevent high frequency noise from ... exiting the circuit?

author: MasterT
author_rank: Frequent Contributor
timestamp: February 26, 2019, 07:46:15 pm
content: Any inductance or resistance in the ground path prevents interferencing AC/ RF noise to leave an IC/ crystal of Si. And this AC/ RF disturbance is gonna to intermodulate in-between with: DC signal at input pins, DC power supply, one couple/ pair of inputs to another and digital bus to analog inputs. I see you put a cap across Vdd and Vss, but there are many ways for interference to find a path inside ADC, including but not limited to capacitive coupling or direct RF injection, and data bus is certainly the most obvious.

author: JeanLeMotan
author_rank: Contributor
timestamp: February 26, 2019, 09:09:17 pm
content: Quote from: MasterT on February 26, 2019, 07:46:15 pmThat makes perfect sense. Thanks a lot!I removed the ground inductor from the schematic and pcb.

author: aiq25
author_rank: Regular Contributor
timestamp: February 27, 2019, 04:33:15 am
content: Quote from: JeanLeMotan on February 26, 2019, 05:58:33 pmIt's interesting Adafruit added it but the supply for the IC does not have it since it's directly connected to VDD and GND, not to the "filtered" pins (i.e. after the inductor). Also not sure if 1uF is needed for your circuit, depends on what the power supply rail looks like though and your layout but I would assume you would be fine with 1uF. I have always put 0.1uF for all IC's and add then in parallel with 1uF when needed. I'm curious, what does your power supply circuit look like? I might have missed it but I don't the schematic for it.

author: Smokey
author_rank: Super Contributor
timestamp: February 27, 2019, 04:46:13 am
content: That looks like a fully baked product with complicated software features and everything. Without having played with it to see how many UI bugs there are, I would say great job. I may venture to guess you are a software developer based on the fact that most hardware guys get hung up on the software part and do a minimal job just to get it working. It looks like you went all the way on the software features. Nice.

author: JeanLeMotan
author_rank: Contributor
timestamp: February 28, 2019, 12:24:26 am
content: Quote from: aiq25 on February 25, 2019, 04:30:57 amI ordered the IXTP80N075L2-ND.

author: JeanLeMotan
author_rank: Contributor
timestamp: February 28, 2019, 12:31:55 am
content: Quote from: Smokey on February 27, 2019, 04:46:13 amYep, software developer here. Wait till you see the menu transitions & animations in real-timeTo be honest it's the hardware part that gets me all excited. Software lacks.. surprises.Thanks for the kind words. It's a hobby after all, we're supposed to have fun

author: Smokey
author_rank: Super Contributor
timestamp: February 28, 2019, 10:23:32 am
content: Quote from: JeanLeMotan on February 28, 2019, 12:31:55 amThe only difference between a hobbyist and a professional is having a product and selling it. It sure looks like you are pretty close to a product here. Take the next step, polish it up, and sell it!

author: aiq25
author_rank: Regular Contributor
timestamp: March 02, 2019, 11:59:29 pm
content: Quote from: JeanLeMotan on February 28, 2019, 12:24:26 amThat should work pretty well.

author: OM222O
author_rank: Frequent Contributor
timestamp: March 03, 2019, 01:13:09 am
content: Quote from: JeanLeMotan on February 24, 2019, 09:08:27 amScully has some great videos detailing the operation, but unfortunately some janky ways of reaching the same meansBest way to achive your desired result is to use a quad op amp, each controlling one mosfet which is connected to a separate source resistor. this way you can:1) drop the power rating of both your fets and resistors -> cheaper parts2) use way less parts -> more space on pcb + cost savingsI would strongly suggest you look into the illusive ADS1219, the bigger brother of ADS1115. also you can use X2Y capacitors for your adc input filter for less noise and higher accuracy. costs almost the same as the ADS1115 modules available on amazon but not as popular, so you should but it from mouser or digikey, but I can get about 100uV accuracy or better depending on the application. you can copy my ADC design from this picture:In terms of mosfets, you can use logic level fets which should give you a better response ... not sure if the 1.4A limit on 1V is caused by the transconductance of the mosfet or not, but it's well worth trying an IRLZ44N. Others have mentioned some high linear SOA IXYS fets which are really expensive in my opinion. you can get better cooling and save cost if you go with 4 cheap fets rather than 1 or 2 expensive ones. also because of higher surface area of separated load, they will be a lot easier to cool (I could get about 20 watts using two passively cooled fets, if you have a fan (which you do) your load capacity will increase drastically) !3D printed case is a nice idea but will soften and loose shape if your load gets hotter than about 60C which the chances are it will! even if you use ABS it's not much better. a good idea would be to make a silicon mold of your printed parts and creating resin castings from them which are a lot more durable!one final note would be to use a proper dac instead of a PWM signal ... it depends on your budget to determine if it's worth it or not but a simple first order RC filter you used has some major flaws. you should preferably use a two stage second order filter if you want any decent settling of the voltage and level of accuracy. I strongly recommend a DAC if you can fit it in your budget.here is a video of an dummy load I made, but it's fully analog as I will be monitoring currents and voltages externally but it was designed for the same purpose of testing battery capacities. you can add the digital parts as you like:Sorry for the quick and lackluster answer, I'm out of time for now. if you want more details I can answer them later. hope you found this useful and good luck with the project!

author: JeanLeMotan
author_rank: Contributor
timestamp: March 07, 2019, 09:23:46 am
content: Quote from: OM222O on March 03, 2019, 01:13:09 amI'm changing the schematic to do just that now. However I need to use OP27 (or TL072) so that I can adjust the offset voltage - as I need to get down to 0 amps. This prevents me from using a quad opamp, unless there are quad opamps with offst adjustment?Quote from: OM222O on March 03, 2019, 01:13:09 amThanks for the hint - I actually searched for a higher resolution cheap I2C ADC but somehow missed this one.I'll consider it for a future revision.Quote from: OM222O on March 03, 2019, 01:13:09 amI did test a lot of logic level MOSFETs and they all died above 12-20V and 1-2A. Their SOA just doesn't go that far.Maybe with proper opamp balanced load between them (as opposed to simply paralleling them) they would be ok.The linear mosfet I went for is ~5 euros on digikey so yes, a bit expensive but definitely cheaper than the time I spent trying out logic level mosfets (and killing them)Quote from: OM222O on March 03, 2019, 01:13:09 amGood point. I'm using PETG which should start softening at higher temps than PLA. Since I have temperature control and a fan I can prevent the load from reaching this temperature.To be honest I don't want to open another chapter - case production. Switching between electronics and software is already confusing enough.Quote from: OM222O on March 03, 2019, 01:13:09 amI spent some time searching for DACs but in the end I settled for a PWM for these reasons:- Higher precision than a (reasonably cheap) DAC. I have my pwm at 18 bits which is overkill, but I'd need a minimum of 13-14 bits for 5A with 1mA precision. If you factor in noise and other issues I think 16 bits become useful.- It's very linear- Relatively easy to filter. With the filter used now I get a few mV of noise which translates in... hmm I just did the math and for a 0.1 ohm shunt, 1 mV represents 10 mA... Not good. I need to measure again, filter more or get a DACThanks for the advice and info!

author: JeanLeMotan
author_rank: Contributor
timestamp: March 07, 2019, 09:26:29 am
content: I'm working on rev2 schematig, incorporating the advice received so far:- Opamp controlled MOSFETs, up to 3 of them (arbitrary limit)- Removed reverse polarity - but will ad it back with opamp control- Added a voltage ref and a CMOS buffer for PWM control - but I will add a DAC if PWM doesn't cut it- +/- 12V generated on board using a cheap module- 3v3 regulation on board so that I need only a 5V input voltage.Here's the WIP schematic:

author: agaelema
author_rank: Contributor
timestamp: March 07, 2019, 04:03:12 pm
content: The use of PWM DAC is very interesting and many (maybe old) programmable voltage references use this technique. I think the biggest tradeoff is the settling time when compared with a conventional DAC.I don't know if I read about this on the forum or some other site, but there are some ways to minimize the ripple without to much affect the settling time.Look at this article:https://www.edn.com/design/analog/4459116/Cancel-PWM-DAC-ripple-with-analog-subtractionI did some simulations onMultisimand the result is very exciting. I also tested on a breadboard and it really works.

author: JeanLeMotan
author_rank: Contributor
timestamp: March 08, 2019, 07:54:24 am
content: I redesigned the reference voltage part using a DAC and eliminating the need for offset trimming in the opamps.What I ended up with is a 16 bit dac with an output of -26mV to 512mV.The negative voltage is created with opamp U9.3, but I'm not sure if there will be issues with this topology. I simulated it and it worked just fine but since it's smth I 'designed', maybe there is something I missed.The schematic is attached with some voltages marked.The other part I redesigned is the load control: this time I'm using a precision quad opamp - OPA4277 - controlling up to 4 mosfets, each with its own shunt resistor. There is another shunt resistor used for the ammeter opamp.Let me know what you think.

author: sundance
author_rank: Regular Contributor
timestamp: March 08, 2019, 09:09:54 am
content: Is there a reason you used Vref as supply voltage (Vdd) for your DAC instead of 3.3V to have a little headroom for the output opamp and to take some load away from Vref?(I am by no means an expert, just curious...)

author: Kleinstein
author_rank: Super Contributor
timestamp: March 08, 2019, 10:04:17 am
content: The low VDD for the DAC is likely not a good idea. In addition to the problems already mentioned it could cause trouble with the interface to the µC, if there are high voltages. So Vdd should be more likely the µC supply with some RC or LC filtering.The amplification and level shift after the DAC does not work this way. The OPs inputs are swapped.The OP4277 is a slightly odd and expensive choice, as it's made for relatively high impedance source. The power stages likely need to be separated a little anyway to have space for the heat sink a quad OP is also odd.Using a parallel / series combination of 0.1 Ohms resistors is prone to add extra copper resistance and thus not really accurate. Also many small resistors close together, especially in SMD form factor have difficulties in getting the heat away. So putting 4 SMD 250 mW resistors may be more like a 500 mW resistor.With presumably the same resistors used, it does not make that much sense to have a separate shunt for the total current. With some care in the layout, one could just combine the average voltage of the resistors at the current regulators. A separate shunt for the total would make sense, if one good quality shunt is used. The power stages could than also use simpler resistors and even simpler OPs, with one more OP to make sure the overall current is right.To really warrant a 16 bit DAC the shunt should be really high quality and not too low in power, to avoid errors from self heating. So for a 5 A total current this could be something like 0.05-0.1 Ohms, good for 10-50 W. So likely a 4 wire shunt with it's own heat sink.It is not unusual to use a shunt only at 1/10 or less of the rated power to limit the heating effect. If one plans using lower currents as well one might consider a choice of 2 shunts, depending on the range.

author: JeanLeMotan
author_rank: Contributor
timestamp: March 08, 2019, 04:06:48 pm
content: Quote from: Kleinstein on March 08, 2019, 10:04:17 amI took that idea from the datasheet of DAC8571:https://datasheet.lcsc.com/szlcsc/Texas-Instruments-TI-DAC8571IDGKR_C60535.pdfQuote from: Kleinstein on March 08, 2019, 10:04:17 amThis is embarrassing. I simulated the thing and then added the schematic in easyeda quickly before going to work.Attached is the corrected schematic.Quote from: Kleinstein on March 08, 2019, 10:04:17 amThe other opamps I considered are:TL071/2 (too noisy?)TL051/2 (is this good enough?)OP27OPA227Which one do you recommend for this? Am I missing any obvious option?Quote from: Kleinstein on March 08, 2019, 10:04:17 amUnderstood. Will try to find better resistors for this.Will reconsider this stage entirely. Can you recommend an existing design for this?

author: aiq25
author_rank: Regular Contributor
timestamp: March 09, 2019, 04:39:25 am
content: I also think you should use a more powerful current sense resistor and not parallel or series too many. It's also better to have power resistors in series to dissipate more heat because at least then if you have a failure you will know since the circuit will be open, versus if it's in parallel and one fails you necessarily won't know (although for this project you can have SW in place to detect and compensate).I have done some high power current sense measurements for work and used these series of resistors from TT (high power version) and Vishay (they are not cheap but can handle tons of power):https://www.mouser.com/datasheet/2/414/LRMA-1528276.pdforhttps://www.vishay.com/docs/30100/wsl.pdfI used two in series, with value greater than 50mOhm. You do have to be careful with the PCB layout to place them right next to each other.Not sure if you aware but resistors have a linear de-rating in power (usually above 70 degC) (as mentioned by others), so take this in account when doing power calculations.For total current measurement you can consider Hall-Effect based current sensor, like the ACS712 (but it can add significant cost).I know it's a popular choice to have four different FET's and op-amps but I think without fast control loops/feedback you can easily run into issues where you will not share the load between different FET's equally. If you oversize the FET's this is not a concern though. This is where the Scully approach differs, I don't know if he's implementation is the correct way but you don't see this issue with a single sense resistor concept.

author: JeanLeMotan
author_rank: Contributor
timestamp: March 09, 2019, 04:47:56 pm
content: After spending one day trying and failing to stabilize a 4 MOSFET load, each with its own balancing opamp and an outer opamp for current control, I gave up and went back to smth simple: a single beefy MOSFET that can do more than 100W continuous: IXTH110N10L2I also fixed the voltmeter. It was using only half the range of the ADC. Now it correctly swings using a differential output amp - so LOAD+ and LOAD- go from 0 to 3.3v in opposite phase for an input voltage of +/- 35V, with an ADC common voltage of 1.68V referenced from the voltage reference.Hope that makes sense.I marked on the schematic some voltages that I think are interesting.For the current shunt I went with 4 big SMD 0.1 ohm resistors in series-parallel. They have a temperature coefficient of 50 ppm/℃ which I think it's good enough for the application. I already layed them out on the PCB with cooling in mind - so they all have big copper pours on both layers, stitched with lots of vias.For the opamp I went with a OP4177 quad as it's cheap and seems pretty good. I need 6 of them in total (7 if I do the reverse polarity with a mosfet) so I really want quads to reduce PCB clutter.The last step is to simulate and compensate the load opamp as the IXTH110N10L2 MOSFET has quite a big gate capacitance of several nF.I will include a SD-card slot on the board together with a ESP32 devkit footprint so that it's all-in-one. The SD card will be used for logging data.Schematic attached (and available here:https://easyeda.com/jeanleflambeur/electronic-load)Questions:Does the biasing opamp U9.3 makes sense? Its purpose is to lower the min voltage a bit to compensate for any voltage offset U9.1 might have. It takes 0 - +2.048V and outputs -102.4mV - +2.048V which is then divided to -26mV - +512mV which should give me a range of 0 to 5A for a shunt resistor of 0.1 ohm.Does the voltmeter differential output make sense? The idea was to use the full range of the ADC which needs +/- 3.3V with a Vcm of 1.65V.Thanks a lot!

author: Kleinstein
author_rank: Super Contributor
timestamp: March 09, 2019, 09:29:10 pm
content: The circuit to generate the 2 inputs is also a little odd, there should be a simpler way with just 2 OP instead of 3.There is a limited use for the negative half of the voltage range. The load circuit is made to work with positive voltages only.So I guess it is OK to just skip the negative voltages and keep the circuit simple and this way more stable.The OP for the offset makes some sense, but here may be a simpler solution: Use an OP to invert the 2 V reference and just add some part of the inverted voltage to the divider. This version is less sensitive to the OPs quality. However the OP for the current regulation is way more important anyway, as the voltage level is smaller by something like a factor of 10.So there are only 2 critical OPs in the circuit: the one to read back the total current and the regulator OP. The others (e.g. reference shift and voltage read back) could be lower grade ones.To combine separate controls for several FETs and a single master regulator could work in a way that the OPs for single FETs do the fast regulation and the master from the common precision shunt only does a rather small, slow correction to the set points for the single regulators.For the slow corrections one could get away with the already amplified signal and thus only 1 performance critical OP.So one could have a combination like an OP27, ADA4528 or OPA209 for the shunt amplification and than RC4558, TLE2021 or similar for each MOSFET and the master corrections from after the amplification.Another point to care about is saturation of the load - if the external voltage is too low to allow the set current to flow, the regulator with slew up the gate voltage quite high and would be slow to react if later connected. This could be a problem if the voltage source is connected with the load already on. This could be unintentionally by a poor contact. After saturation there could be high current spike - possibly even damaging or blowing the fuse.One way to protect against this would be to disable the load, if the voltage is too low (e.g. < 0.5 V). Alternative one could turn down the current on low voltage. This could kind of set a minimum resistance (should be higher than shunt + 2*R_on) - so the regulation should never go into saturation.

author: Micke
author_rank: Regular Contributor
timestamp: March 10, 2019, 09:07:26 am
content: Related matterDISTRELEC sells IXTQ42N25P - MOSFET N, 250 V 42 A 300 W TO-3P for 3.91 Euro.https://www.distrelec.biz/en/mosfet-250-42-300-to-3p-ixys-ixtq42n25p/p/17111086?queryFromSuggest=trueGood thing is that it has specified DC SOA in the datasheetI am building a precision current sink 0-2A for calibration purposes with this MOSFET, chopper amp LTC1152 and 1R VISHAY VHP-4 current shunt, results from prototyping good so far, 6:th digit in current fluctuate a little

author: JeanLeMotan
author_rank: Contributor
timestamp: March 10, 2019, 11:53:13 pm
content: Quote from: Micke on March 10, 2019, 09:07:26 amThis is great!Ordered 4 of them.Thanks a lot for the hint.

author: JeanLeMotan
author_rank: Contributor
timestamp: March 11, 2019, 12:01:17 am
content: Quote from: Kleinstein on March 09, 2019, 09:29:10 pmYou're right. My initial use-case was to show the negative voltage in red so the user knows the load is connected in reverse. But that is not needed really.I changed the schematic to use one op-amp plus over voltage and reverse polarity protection for the ADC with a zener.Quote from: Kleinstein on March 09, 2019, 09:29:10 pmGood idea. Done.Quote from: Kleinstein on March 09, 2019, 09:29:10 pmMakes sense. I will add this feature in software. Not sure if I can drop the current on low voltage as it's the opamp (U9.1) that increases the gate voltage due to the target voltage drop not being met. So no matter how low I will set the target voltage (so target current), the opamp will keep the gate wide open.This might be an issue with 4-wire measurements as the voltage connection might be solid but the current one (the load) might be broken. I will add permanent sensing of load voltage as well, even when using 4-wire measurement so that I can know the load voltage at all times (hope it makes sense).I changed the schematic and created the PCB. Tomorrow I'm ordering this.https://easyeda.com/jeanleflambeur/electronic-loadThanks for the hints.

author: Kleinstein
author_rank: Super Contributor
timestamp: March 11, 2019, 06:57:54 pm
content: The protection against saturation and thus the gate voltage to slew up all the way is something that should react relatively fast, e.g. within a few 10 µs, depending on the speed of the OP part.For the protection is should be the voltage at the load, not a possible 4 wire connection for an extra voltage measurement.The limitation of the effective resistance of the load, could be some kind of clamp to make sure the set voltage is never high than something like 1/3 or 1/5 of the voltage at the load. So if the voltage is to low one should reduce the set voltage with a kind of precision "diode".

author: JeanLeMotan
author_rank: Contributor
timestamp: May 01, 2019, 10:00:37 pm
content: I finished rev3 of the load, topic here:https://www.eevblog.com/forum/projects/jlm-electronic-load-0-30v-0-4a-1ma1ma-resolution/