DC dummy load circuit calibration - Page 1
Forum section: electronics / beginners

author: VEGETA
author_rank: Super Contributor
timestamp: May 11, 2018, 09:02:44 pm
content: Dear friends,I want to create a dummy load which can handle 30v\5A which is going to be based on IRILZ44N mosfet (or several ones in parallel on the same heatsink) with LM358 op-amp and 10-turn pot. I don't have models for them thus I used similar parts. If I let the input voltage for opamps be 5v, it won't let me get the 5A maybe due to the opamps are not rail to rail. I hoped I could achieve this project with only a USB 5v input supply or something.Circuit simulation in LTspice and it works perfectly, but the only thing left for me is to make the calibration potentiometer. ((attached below))To make it easier for you, I have 2 potentiometers (modeled as a resistor divider because I don't know how to model a pot in ltspice) in the schematic: one for increasing op-amp gain and the other for decreasing it... because the 1 ohm power resistor might be 1.05 or 0.95 for example.My goal of this thread is to make it only one potentiometer to do the job of both situations.I have seen many schematics like this one:http://www.openhardwarehub.com/projects/73-Simple-DC-Dummy-Loadbut when I try the same circuit (with increasing op-amp gain pot) in ltspice it will solve the problem when the resistor is less than 1 ohm and it cannot do the opposite since it is in non-inverting amplifier configuration. I don't know if it works for them or not, but I need it to work in LTspice to guarantee it works on final circuit which I am gonna make the PCB for it.calibration method is easy as you expect:1- turn the 10-turn pot to 0 then turn on the dummy load.2- adjust the pot to output exactly 1v then turn off the dummy load.3- connect a power supply with say 5v and put the multimeter in ammeter configuration in series with it... while connected to the dummy load.4- turn on dummy load... now current could be off a little bit due to resistor tolerence.5- adjust the calibration potentiometer to make the multimeter display exactly 1A.You can try adjusting the resistor around the 1R value and then play with positive and negative pots to get the idea.Looking forward to your replies!best regards,

author: Ian.M
author_rank: Super Contributor
timestamp: May 12, 2018, 10:56:48 am
content: Just tagging in on this topic so I get notified when you update.I'll need a bit of thinking time before I give a proper reply to your questions above.Lets get started by finding datasheets for the parts:IRILZ44N isn't easily found on Google apart from this topic, but there's a datasheet here:https://www.hifituning24.de/downloads/irliz44n.pdfLM358 is trivial to find - its so popular Sparkfun has the datasheet -https://www.sparkfun.com/datasheets/Components/General/LM358.pdfIt looks like the MOSFET can pass 70A (pulsed) with 5V gate drive. However with only 3V drive you'll be lucky to get 20A (datasheet Fig. 3), and below that it rapidly drops off to under 2A at 2V, also becoming highly temperature dependant.Its difficult to find a spec for the LM358's output swing at V+=5V, however the specs for V+=30V indicate it will at best reach 2V under the rail with 3V under being typical, and the internal schematic on page 20 of the datasheet shows a 100uA current source feeding the base of a Darlington pair (Q5, Q6) which is consistent with that, so with a 5V supply you'll be lucky to get over 2.5V out and will never get more than 3V out. Conclusion: to get more current you need a better OPAMP - maybe a low voltage one with rail-to-rail inputs *AND* output.The openhardwarehub project you linked above seems a bit dubious - it vastly over-complicates the MOSFET current sink with two OPAMPs in the control loop, then compounds the stupidity by paralleling the MOSFETs (apart from their individual 100R anti-parasitic oscillation gate resistors) which is likely to result in thermal instability and current hogging.All that is needed is a simple single OPAMP feedback loop - control voltage to +in, and feedback from top of Rs to -in. The current then becomes Vctrl/Rs. This can easily be calibrated by using Rs under 1 ohm and feeding in Vctrl via a potential divider so that it can be reduced to get a calibration of 1A per volt. 0.1R for Rs would be a good choice, with a nominal 10:1 potential divider to keep the voltage drop across Rs low. Its desirable to avoid sudden current increases if the wiper of the calibration preset makes poor contact, so the preset should be wired with its wiper tied to one track end as a variable resistor not as a potentiometer, and it should be in series with the upper limb of the divider. 20K fixed + a 10K preset, with a lower arm of 2K7 gives you about +/-18% adjustment range either side of 10:1 so is a good place to start.Trying to make the circuit work accurately right down to 0V in, 0A sunk with a single supply requires a *VERY* good rail to rail OPAMP. If you can offset the ground by even a single diode drop so the OPAMP has a -0.6V negative rail, it will let you use a lower spec OPAMP. If you use your LM358, a 9V supply split to give -1V and +8V rails will guarantee it will be capable of at least 0V to 5V gate drive swing.If you are using multiple MOSFETs, each should have its own drive OPAMP and Rs to get stable even current sharing. The potential divider for Vctrl to in+ can be shared by all the OPAMPs.

author: VEGETA
author_rank: Super Contributor
timestamp: May 12, 2018, 11:37:05 am
content: This is the resistor that I have ordered:https://www.aliexpress.com/item/5pcs-RX24-1R-1-Ohm-50W-Aluminum-High-Power-Resistor-Metal-Shell-Case-Heatsink-Resistance-Resistor/32724995615.html?spm=a2g0s.9042311.0.0.MERq4Git is 1 ohm not 0.1 so I cannot use 0.1, cannot wait another month. So I've got to think about doing it with 1R. I forgot to mention that the panel meter current shunt will be before the Rs so it will add a little bit to it. Panel meter itself will need calibration too.I tried voltage divider on the positive input of the opamp, but as I said, I need a method to work for 1R resistor.I can add a diode to make -0.6v, it is easy.I can make an op-amp for each mosfet but I cannot give them shunt resistor for each one. I guess this is gonna be fine since the gate voltage of each one is gonna be exactly what it needs regardless of others.

author: Ian.M
author_rank: Super Contributor
timestamp: May 12, 2018, 12:45:27 pm
content: The problem with Rs of 1 ohm is the voltage drop across it when passing 5A will be 5V. You'll need at least 0.5V Vds drop across the MOSFET, which will limit the minimum working voltage for the load to 5.5V. Also, you need enough gate drive to be able to reach 5A. 3V Vgs will probably do it unless you are unlucky and the MOSFET has a higher than expected Vgs threshold voltage. Therefore the OPAMP output must be able to reach +8V with respect to the load circuit 0V, which means for a LM358, you'll need a 12V control circuit supply, and its impossible to design a 5V supply version, even with a perfect rail-to-rail input & output OPAMP.Unfortunately you do need separate Rs resistors for each MOSFET to avoid current hogging. Looking at Fig. 3 of the MOSFET datasheet, below about 20A Id, Id will *INCREASE* with temperature due to gate threshold voltage shift. This means that if one MOSFET draws slightly more current, it will get hotter and draw even more current until it is drawing the majority of the current the load is set for, or 20A, or it fails due to excessive dissipation, whichever comes first. You might get away with adding extra 0.1R resistors in series with each individual source pin, but it would be better to have completely separate source resistors. Therefore I suggest you don't try to parallel MOSFETs until you have ordered a few 0.1R resistors. Due to the lower resistance, you don't need such expensive power resistors - 3W ceramic will be fine for a max current of 5A per MOSFET.Accepting these disadvantages, the circuit below should work. MOSFET and OPAMP substitutions are the same as the sim you posted.The R2:R3 divider 'taps down' the voltage across Rs so that you can use a similar divider feeding the OPAMP +in to calibrate it. The Vbe multiplier Q1, R1, R7 acts as a crude shunt regulator to allow you to set the negative rail anywhere between -0.7V and -2.1V, and R8 feeds it >40mA so it doesn't collapse when the OPAMP tries to slew the gate rapidly negative. You could probably increase R8 if you need to save power - worst case with a 1K gate resistor the OPAMP can draw about 10mA so 680R would leave some safety margin.I wouldn't go below 1K on the gate resistor - it will limit the fault current into the OPAMP otput if the MOSFET fails. Similarly the 1K R2 protects the OPAMP -in.Refinements for a practical circuit: Add decoupling from both OPAMP rails to Gnd, a Schottky diode from V- to GND, cathode to Gnd so V- can never be dragged more than 0.3V positive, and a 10K resistor from the OPAMP output to Gnd to hold the MOSFET off if the control circuit isn't powered. A 10A fast fuse in series with the MOSFET drain would be a good idea - it wont save the MOSFET, but should prevent anything too nasty happening to the rest of the circuit.N.B. the 12V control circuit PSU *MUST* have a fully floating output.

author: VEGETA
author_rank: Super Contributor
timestamp: May 12, 2018, 01:34:16 pm
content: My trial is in attachments. TBH, I did it correctly before you post your circuit (which is better overall than mine) but with 12v supply as you mentioned. My original goal was to run this thing from 5v USB (not necessarily from labtop but from wall adapter 5v), now I need to find a way to make 5v to 12v amplification from gelly bean parts. I needed this thing to be as simple as possible, like Dave's one. However, Dave's one is not precise due to no calibration.I didn't understand what is the floating part of the 12v supply? If I connected 12v wall adapter or say 5v wall adapter + boost converter to it... would it be floating?I know floating means no ground connection... so what does that leave us with?Do you know any straight forward way to make this 5v usb to 12v supply?BTW: I have ordered these boost converters:https://www.aliexpress.com/item/5pcs-lot-MT3608-DC-DC-Adjustable-Boost-Module-2A-Boost-Step-Up-Module-with-MICRO-USB/32834245300.htmlI guess they will work if we connect 5v to them then adjusted the pot.After all this, if we make it 0.1R power resistor... will we get away with just 5v supply from wall adapter?

author: Ian.M
author_rank: Super Contributor
timestamp: May 12, 2018, 02:12:04 pm
content: The 12V supply output must be floating (i.e. no connection from its 0V to mains supply ground) *BEFORE* you connect it to your circuit, (obviously it wont be floating while its connected). If it isn't floating, the bias circuit for the V- supply to the OPAMP will be shorted out, and you'll have problems getting the gate voltage low enough to control the MOSFET current right down to 0A.If you redesign with 0.1R Rs resistors and a true rail-to-rail input & output OPAMP, you'll have no problems running the control circuit from a 5V USB PSU. I'd be *VERY* cautious about actually running it from a PC USB port as the PC will introduce mains ground on the USB 0V rail, and if there are any mistakes in your load circuit wiring, you risk putting tens of Amps through the USB 0V, which will almost certainly burn out your PC motherboard.That boost converter module advertisement is almost entirely bogus - there is no sign of a microUSB connector, or a LM2577 and it wont do 2A. However assuming it is actuallyMT3608based with a genuine IC, and they haven't skinped on the inductor, it should have no problems doing a 5V to 12V (or even 15V) boost with up to 200mA load current. If you wire a floating 5V USB PSU between load Gnd and OPAMP V- to supply the OPAMP with a -5V negative rail and use the boost module set for +15V output (with respect to V-) to supply the OPAMP V+ at +10V it should work nicely with your existing OPAMP and load resistor.

author: VEGETA
author_rank: Super Contributor
timestamp: May 12, 2018, 02:44:38 pm
content: Quote from: Ian.M on May 12, 2018, 02:12:04 pmI saw this one which seems simple:https://www.eevblog.com/forum/beginners/derpy-load-is-this-dummy-load-design-any-good/What do you think about it?____I tested the simpler version of just 5v usb input without any negative bias, and it works fine up to say 1.8A as it does not go to 2A (only 1.95A).How about I do the simplest version first then try make a better one ((attached))? this one will have only the panel meter as an output so you only need to calibrate it against a multimeter, so no need to make 1v per 1a since no measurement are taking place.Even our v3 seems to draw 21mA from the 12v supply. So I thought first to get 2x9v batteries in series to give 18v (could reach 12v after long operation dropout) but I remembered that 9v batteries have crappy capacity so what do you think? remember that this should be very simple design as much as possible.One other method that I tried is doing +9v_gnd_-9v by using the two 9v batteries. Our v3 circuit worked, even simpler without any diode or 2n2222 config and the 1k||1k resistors. battery current shows 0.8mA which is kinda nice! I guess this would be good without the panel meter (draws about 15-20mA approx.)...

author: Ian.M
author_rank: Super Contributor
timestamp: May 12, 2018, 03:16:18 pm
content: 9V PP3 batteries are $EXPEN$IVE$ if you need more than a few mA for very long. For a battery powered solution, I'd use an 8x AA battery holder for a 12V pack for the V+ rail and a separate single cell AA holder for the V- rail, which should be able to maintain 5A Id down to 1.2V per cell, for about 50% usage of the total battery capacity. Use a low quiescent current 5V regulator to provide a stable voltage to your current set potentiometer. If you want to be able to drain the batteries dry, use a boost module with its output set to 10V (with the input lower) to keep the V+ rail high enough as the batteries discharge.However one major advantage of going for a 12V wallwart powered dummy load is it makes it very easy to use PC heatsinks and fans for the MOSFETs, which is a cheap way to get the full rated dissipation out of your MOSFETs.

author: VEGETA
author_rank: Super Contributor
timestamp: May 12, 2018, 03:24:45 pm
content: what about the panel meter? it will eat the batteries quickly.I think for now I will make a simple version of using the 5v USB wall adapter to make it go to around 1.5A. Then think about a better way to make a better one.as for heatsink, I have this one:https://www.aliexpress.com/item/2-x-Black-Aluminum-Radiator-Heat-Sink-Heat-Sink-40-x-40-mm-x-11-mm/32811370283.html?spm=a2g0s.9042311.0.0.6cHUhpit is 2 heatsinks not just one... I guess one will be enough for 1.5A 30v.

author: Ian.M
author_rank: Super Contributor
timestamp: May 12, 2018, 07:13:29 pm
content: 1.5A 30V with your 1R sense resistor is 42.75W dissipation in the MOSFETs. There isn't a snowflake's chance in hell that one of those heatsinks with passive air cooling could keep the MOSFETs cool enough. Two of them, each with a fan *may* be good enough but you'd have to do some testing to confirm that.I cant comment about the panel meter as you haven't described it other than saying it draws 15-20mA.

author: VEGETA
author_rank: Super Contributor
timestamp: May 12, 2018, 07:31:43 pm
content: Quote from: Ian.M on May 12, 2018, 07:13:29 pmThis is the panel meter:https://www.banggood.com/0_28-Inch-Dual-Display-Red-Blue-LED-Panel-4_5-30V-Digital-Voltmeter-Ammeter-1-100A-p-1093413.html?rmmds=detail-left-hotproducts__1&ID=513878&cur_warehouse=CNOk, then what heatsink is gonna be enough? I meant, what size? I want to order the PCBs with components from JLCPCB and they offer this store:https://lcsc.com/products/Heat-Sinks_441.htmlI could search locally but I am not confident I will find what I want.It is worth mentioning that I will put the project in this box:https://www.banggood.com/Plastic-Electrical-Junction-Box-Instrument-Chassis-DIY-Black-Case-125X80X32mm-p-1141712.htmlSo, I guess determining heatsink size is important because I need to know where to cut for it and mount it.I searched for heatsinks in aliexpress and banggood, but no one tells you the heatsink temperature raise per watt. How can I know then?

author: VEGETA
author_rank: Super Contributor
timestamp: May 12, 2018, 09:02:36 pm
content: I attached the data for the mosfet, what I understand is this:It's junction to case temp increases by 3.3 degrees for each watt dissipated -> say 50W in our case = 3.3x50 = 165 degrees.However, junction to ambient is way too much which I don't understand how to calculate.So in my understanding, we need to dissipate 165 degrees in the heatsink to make the mosfet work better since it has 0.3 derating factor. Does this mean that it's power capability is decreased by 0.3 Watts per degree? that means 0.3*165 = 45.9 -> what does it mean?I will get 2 mosfets to make it better but I need to understand what to do in terms of temperature. I need to understand how stuff works... I hope you can help.

author: VEGETA
author_rank: Super Contributor
timestamp: May 13, 2018, 05:23:36 am
content: I forgot that I bought this one:https://www.aliexpress.com/item/Black-Extruded-Aluminum-Enclosures-PCB-Instrument-Electronic-Project-Box-Case-100x76x35mm/32813597400.htmlWhat about connecting the two heatsinks to it (each mosfet on one heatsink)? Otherwise, my friend has promised to give me big heatsinks... in this case, will they be good with that plastic enclosure?

author: Ian.M
author_rank: Super Contributor
timestamp: May 13, 2018, 01:20:44 pm
content: Although that Aliexpress aluminum project box would be very nice for a lower powered device, its a poor choice when you need to dissipate over 40 watts. Because the only flat sides are the ends, it would be difficult to mount a large enough heatsink to it neatly. You cant just bolt the heatsink to the top of the box and fit the MOSFETs to its interior, you'd actually have to cut an opening under the heatsink so the MOSFETs could bolt direct to it. The 76x35mm end plate size constrains the heatsink size you could mount to the back, and the restricted interior volume would make it difficult to mount a fan cooled heatsink internally.However if the same box with a smooth top or if a taller version with ends large enough to take a CPU heatsink were available they would be very suitable.Lets take a closer look at your IRILZ44N MOSFET thermal data:The same basic information is presented twice in differing formats.The first (highlighted in Tan) is the power dissipation at 25° C and the derating factor. That assumes a heatsink capable of keeping the MOSFET mounting surface under a particular temperature limit. For every degree the mounting surface is above 25° C by, subtract 0.3W from its 45W @ 25° C rating. That's convenient for quick back of the envelope calculations. e.g. if we can keep the mounting surface under 55° C, it can dissipate 45-0.3*30 = 36W, but is a PITA if you actually have or need data for the heatsink.The second, (hilighted in Yellow) is the design data needed for a more formal solution. TJ_maxis 175°C, and the thermal resistance junction to case is RθJCof 3.3°C/W. (Ignore RθJAof 66°C/W - its only applicable if you are *NOT* using a heatsink.)Lets assume a maximum ambient temperature of 45°C (as you have Jordan set as your location), and that we want a 10°C safety margin on TJ_max. That means we can tolerate a temperature rise of 120°C. With an infinite perfect heatsink, perfectly bonded to the mounting surface, that gives us a dissipation limit of 120/3.3 = 36.4W which closely matches the result for 55°C from the first method (55°C = 45°C + 10°C margin), as expected. At this point we already know a single MOSFET cant handle your proposed usage - to get 42.75W dissipation without exceeding TJ_max, you'd need to keep the mounting surface under 33.9°C, with no margin, which is impractical without active cooling - its cheaper to add more MOSFETs.If you can split the power evenly between N MOSFETs, the calculation for the thermal resistance (to ambient) for N separate heatsinks becomes:RθSA= (TJ-TA)/(Ptot/N) - RθJC- RθCSPlug in N=2 , take RθCSas 0.5°C/W (typical for a TO220 screwed down on heatsink compound to an anodized heatsink), other figures as before, and you get an max individual heatsink RθAof 1.8°C/W - which is enough to start searching for heatsinks on and distributor's site that has a parametric search. If you want to put them all on the same heatsink, you need to divide the result for individual heatsinks by N, which would give 0.9°C/W.However, without separate driver OPAMPs and separate source resistors Rs, the power will *NOT* share evenly. Lets guess that it may be out of balance so one MOSFET is taking twice as much power as another and see what that does to the calculations. We only need to calculate for the one that's hogging the power. 120/(42.75*2/3) - 3.3 -0.5 = 0.41°C/WThat's only a 56.7°C maximum heatsink temperature - which may be possible with a big enough heatsink shared between all the MOSFETs, calculating its temperature rise from its RθSAand the *total* dissipation.Heatsinks with RθSAbelow 2°C/W tend to be somewhat pricey and, apart from mass-produced CPU heatsinks, anything below 1°C/W tends to be really expensive, and for anything at all below 0.5°C/W you'll cry when you see the price.

author: VEGETA
author_rank: Super Contributor
timestamp: May 13, 2018, 07:12:52 pm
content: You mentioned that using multiple mosfets could help, I can use up to 4 mosfets. However, only one shunt resistor (1R). I can though use an opamp per mosfet with 100 ohm gate resistor. How about that?a friend promised to get me a big heatsink so I will mount the mosfets and the resistor on it. I cannot use a fan since the project will be powered by 5v USB. I wonder why Dave's design seems way more easier despite the same spec (he has 1.3A and I have 1.5A while 1R is the same).The problem is that I don't have the data for heat sinks (C\W). So one cannot determine if it is enough or not.

author: Ian.M
author_rank: Super Contributor
timestamp: May 13, 2018, 07:32:42 pm
content: As I said earlier, below about 20A your MOSFETS have a negative temperature coefficient for Id- it will increase as they get hotter while Vgs is held constant. That means instability if paralleled, with the possibility of one heating up till it hogs the majority of the current, and if its dissipation is more than its derated rating at the current heatsink temperature, its TJ_maxwill be exceeded and it will fail. There's no certain way round this without separate resistors in series with each MOSFET source. It may appear to work at first, but as the heatsink warms up, it may at any time start thermal runaway, soon followed by MOSFET failure shorting the supply under test. The odds of avoiding thermal runaway are improved if the MOSFETs are very closely matched for RDS_onand gate threshold voltage and you also derate them significantly e.g. each to 50% of the single MOSFET rating.You can use the resistor to test the heatsink. You'll need a high current 5V supply capable of more than 5A. Mount the resistor to the heatsink with a smear of heatsink compound, and apply 5V to it, with an ammeter in series and a voltmeter directly across the resistor. The heatsink should be left in the same orientation as it will be used in in your project. After a couple of hours, measure the heatsink temperature and the ambient temperature, and from the difference and the power input from the resistor, you can calculate its RθSA.

author: VEGETA
author_rank: Super Contributor
timestamp: May 13, 2018, 07:58:52 pm
content: Here are the heatsinks that I got from my friend, what do you think?How about if I mount the mosfets close to each other to make heat the same?I need a solution to make this work, I cannot imagine why Dave's design works perfectly and mine is not despite being the same.

author: Ian.M
author_rank: Super Contributor
timestamp: May 13, 2018, 09:20:24 pm
content: Those are fairly small heatsinks out of a SMPSU. I doubt they'll handle more than about 10W each without excessive temperature rise. Test one with 25W from your 1R resistor run on a 5V supply and see for yourself.Whether or not a particular set of MOSFETs will be thermally stable when directly paralleled is heavily dependent on their characteristics, how well matched they are and how hard you push them. It helps if you start off with MOSFETs designed for linear operation - if there isn't a DC line on the MOSFET's S.O.A graph you'll probably get a nasty surprise if you push it past a small fraction of its rated power even without paralleling.In EEVblog #102, Dave used a singleMPT3055VL, which is rated for DC linear region operation. Unfortunately your IRILZ44N doesn't have a DC S.O.A rating so you are gambling even with only one, before you even consider thermal runaway issues if you parallel them.Seehttps://www.eevblog.com/forum/projects/electronic-load-mosfet-balancing/

author: VEGETA
author_rank: Super Contributor
timestamp: May 13, 2018, 10:04:31 pm
content: I only have the IRIL44Z for now, but I ordered IRL640A which should be here in a week or so.What if I used 4 mosfets with each one at one of those heatsinks? We have around 30*1.5 = 45 watts. Shunt resistor will get 1.5*1.5*1 = 2.25 watts which doesn't need a heatsink (or maybe one of the small radiators mentioned previously).So we are up to 42.75 -> assume 43 watts which means around 10 watts per heatsink, or if 2 heatsinks are used -> 20 watts per heatsink. I will use thermal paste to stick parts together to the heatsink and get the heatsink to be kinda flush to the case.You mention pushing the mosfet beyond its rated power, but I don't think I am doing this. If I used 4 mosfets, with 1.5A maximum... then each one will get around 43/4 =~10 watts. Now, 3.3 *10 = 33 degrees above ambient -> 33+30 = ~ 60 degrees which is nothing especially with a heatsink.How does Dave's mosfet handle 40 watts of power alone?I need a simple solution to build this circuit, while the better version is for another day.

author: Ian.M
author_rank: Super Contributor
timestamp: May 13, 2018, 10:37:00 pm
content: At 10W per MOSFET, you may be OK. However you'd be much safer if you had separate resistors for current sense for each MOSFET, each with its own OPAMP driving its gate. 3x 1R 1/4W resistors in parallel would give you a 0.33R resistor good for 0.75W, or 1.5A 16x 0.33R resistors in groups of four, four MOSFETs and four OPAMPs would let you run at up to 6A at low voltage, dropping to about 1.5A at 30V to keep the individual MOSFET dissipations low enough for reliability.You may wish to consider using an Arduino for monitoring, control and data logging with sensors to monitor the heatsink temperatures, and also to read the load voltage and current so you can program it to shut off the load if its safe ratings are exceeded. However, if you are going to connect it to a PC, I strongly recommend optoisolating the serial data lines between the ATmega CPU and the USB<=>serial chip to avoid any risk to your PC.

author: VEGETA
author_rank: Super Contributor
timestamp: May 13, 2018, 10:39:13 pm
content: Take a look at this one too:This is its schematic:https://raw.githubusercontent.com/frank26080115/DummyLoad/master/Hardware/dummyload.pngIt uses IRFB7430PBF MOSFET which has the DC curve at SAO, like my IRL640A and unlike my IRLI44Z.However, I don't understand the concept here. If the C per W is nearly the same for all these mosfets, how come the ones with DC curve at SOA can work perfectly but the ones that don't have it cannot? I mean even with sharing between 4 mosfets while the other one with DC curve can do the job alone.The problem with IRL640A is that it is not in isolated package like IRIL44Z. So I need to isolate them from each other if I wanna parallel them. I have this:https://www.banggood.com/30pcs-Silicone-Thermal-Conductive-Pads-10x10x1mm-Heatsink-Chip-Compound-Pad-p-1120597.htmlfor the job + the thermal compound (cheap one from Aliexpress).

author: VEGETA
author_rank: Super Contributor
timestamp: May 13, 2018, 11:07:15 pm
content: Also, if I got 4 mosfets with 4x0.33R for each one -> how can I set the global current by 1v per 1a method that I want?I don't want any arduino or MCU for now... just a panel meter with 10-turn pot.

author: Ian.M
author_rank: Super Contributor
timestamp: May 13, 2018, 11:56:10 pm
content: I'll get back to the non-DC S.O.A rated MOSFET failure issue when I've found a good link that explains it. Quick summary: Many power MOSFETs consist of a number of MOSFET 'cells' that are internally paralleled by the metalization on the silicon die. Just like paralelling discrete MOSFETs, the individual cells can suffer from hot-spotting, current hogging and resulting thermal runaway.To get 1A/V from four CC MOSFET + OPAMP circuits combined is very simple. Each has a native response of 3A/V, so the combo gives 12A/V. Therefore all you need is a 12:1 ratio divider for the control voltage, probably with +/-10% trim range via a preset to enable you to compensate it for component tolerances.

author: VEGETA
author_rank: Super Contributor
timestamp: May 14, 2018, 12:26:47 am
content: The 4*0.33 resistor per each mosfet is about 0.0825 ohms =~ 0.08 Ohms. So 1v/0.08 = 12A!However, for 3x1R = 0.33 then yes. but this is gonna composed with 1/4 watts resistors which is terrible... will it handle the required power? perhaps 5x1 ohms resistors is better? this is gonna be about 0.20 ohms\1.25 watts per "branch".^I will try this via LTSpice and let you know tomorrow. I will update the Kicad project too. This way, I will get rid of the power resistor and by doing this anyone will be able to do this project with jelly bean component. I would need to buy more 1R resistors locally though!So now we need the 10-turn pot to have 1v per 1a -> divide that by 5 to get it to work with 0.2R per branch resistor. This means getting a 10k pot after the 10-turn pot and adjust it to be /5. No need for extra accuracy since there is no software or measurement... just a panel meter which is the one to be calibrated. Or I can just put (1k+1k+1k+1k) + 1k to be /5 since no need to trimming. this could work right?How about using one of those heatsinks in the picture for this?Anyway, what about using IRB640A which has a DC curve? can it work?

author: Ian.M
author_rank: Super Contributor
timestamp: May 14, 2018, 12:42:29 am
content: If I was using 0.33R resistors, I'd use three per MOSFET - it comes out nearer 0.1R that way, which is a good value to compromise between dissipation in the sense resistor and enough feedback voltage for good accuracy.Even with 3x 1R 1/4W resistors they can tolerate 0.5A each for a total of 1.5A. If you go for 0.33R 1/4W resistors, each can tolerate 0.87A. In all cases its probably a good idea to derate it a bit as at full current they will run rather hot but they are within their rated dissipation.Another way to handle the 10K multiturn pot would be to put 40K in series with the top end of it so there is only 1V across it. However if you intend to use a voltmeter on the pot wiper for a digital readout of the setpoint, you'll want to put the scaling divider after the pot. You'll probably also want a unity gain OPAMP buffer between the pot wiper and the scaling divider so it doesn't excessively load the pot.

author: VEGETA
author_rank: Super Contributor
timestamp: May 14, 2018, 05:50:45 am
content: Here is a quick trial in attachment.I made 5x1R and op-amp per branch. However, there are still issues like inaccuracy for nearly all ranges. Like if I calibrate it to 1A, the 100mA will be bad.Also, for our LM324 to output 50mV as top max voltage, I guess it is bad since it cannot deal with near rail voltages. If I want 100mA I would output something like 5mV or so! it cannot do that let alone inaccuracy.Smallest current it could output in that simulation is about 40mA when I choose 0.001V. So it is terrible. This is where the benefit of 1R shunt comes in, where you can output 50mV to get 50mA and won't be affected too much by op-amp offset voltage.So what to do now? should we put the divider somewhere else?EDIT:I have attached another diy dummy load, look at the mosfets and how they are balanced.

author: VEGETA
author_rank: Super Contributor
timestamp: May 14, 2018, 11:21:02 am
content: I have tested putting the 1R back and this time put series resistors for each mosfet branch, it worked nice (nevermind the calibration) but I don't know if this will actually make a difference compared to without series resistors.I often see this configuration or something similar but the current feedback is always taken above the final shunt.

author: VEGETA
author_rank: Super Contributor
timestamp: May 15, 2018, 05:35:09 am
content: Here is a newer schematic in attachment, I used 2n2222 with 10k resistor to act as an active adjuster to each branch. If more current gets threw one branch then higher drop voltage happens across 0.2R which turns on the gate which in turns pulls the MOSFET's gate to ground to make it shut down for a moment to regulate current.In the previously mentioned schematic, he used -5v instead of ground but I use ground since there are no negative rail here. What do you think now? should we call it the final circuit?I need to finish this in order to make a PCB for it to complete the project and make a video about it

author: Ian.M
author_rank: Super Contributor
timestamp: May 15, 2018, 09:50:19 am
content: Unfortunately the 2N2222 gate pulldown circuit, although it prevents any individual MOSFET drain current exceeding Vbe/0.2A (about 3.2A) will cause its own share of stability problems. As each MOSFET goes into limiting, the loop gain of the control loop changes, which is likely to result in transient response problems, and the gate pull-down current is drawn from the control circuit, not the load circuit, and passes through the current shunt, so it introduces a small inaccuracy in the measured current. There is also no provision to trim out the OPAMP offset voltage so accuracy (and linearity) at very low current settings is likely to be poor.Returning to the 'classic' circuit where each MOSFET is in its own OPAMP's feedback loop, that disappointed you when you couldn't get good accuracy at low currents, the devil is in the details - unless you are using expensive precision FET input low voltage OPAMPs with guaranteed low offset, rail-to-rail outputs, and input common mode range extending down to fractionally below their negative rail, you *will* need to trim each OPAMP + MOSFET to compensate for the OPAMP offset voltage to get them all to cut off exactly at Vctrl=0V. However its very easy to over-trim, so the best option is to trim them for matching Id at a very low control voltage.I've redrawn your four MOSFET schematic to add the necessary refinements usingLTspice's multiple component and bussed connections notation- basically any part or thick wire with [1:4] in its name represents four separate instances of that component. Where they are connected to a thin wire they are all connected in parallel. When you have run the sim and you click anything with [1:4] in its name you will be asked which instance you wish to probe. Uncomment the.step param rangeto see what it does at different full scale currentsIts using the diode biassed negative rail + a pull-down resistor on each OPAMP output to help the jellybean BJT OPAMPs you are using to have a reasonably good chance of staying in control right down to Vctrl=0V. The 1K trimmers for the offset voltage should go between Vcc and Vee so they have a little negative trim range. You *may* need to reduce Ro[1:4] to 220K if there is insufficient trim range.There is a small interaction between the individual offset trims and the full scale trim - you should re-trim the offsets if you make any large adjustment to the full scale trim.To use the sense resistors in series with each MOSFET source for current measurement and display, you need to average all the source voltages. To do that, tap off each one via a 10K resistor, all going to the in+ of an OPAMP buffer. As the total sense resistance is 1/20 ohm (if considered all in parallel) you'll need to set up the buffer for a gain of x20 to get 1V per A. If you want to go up to 5A, you'll need to use a lower scaling factor for current measurement e.g. x2 for 0.1V per A.

author: VEGETA
author_rank: Super Contributor
timestamp: May 15, 2018, 10:46:01 am
content: Thanks for the info.The circuit now became complicated... I now need multiple pots for many times of calibration, will be hard for others to do it too. You didn't mention the Rs of each branch, is it 5x1R = 0.2R or what?Can't we do it easier? like the last one I posted with some modifications to eliminate the need to calibrate 4 branches. Especially that you seem to require shorting Vgs of each other branch to do so... which will be difficult if i got a PCB done for the project, which I will.You say that I should put 4mV in control voltage then short 3 mosfet gates to ground (or negative rail?), after that adjust it until it has 1mA. Then repeat for other 3... this is after the global trimmer which in turns I don't know how to trim and based on what?QuoteThis is even harder now. Why don't we use our previous method of having all op-amps sense one resistor which is 1R power resistor? then do something about the 2n2222 circuit that you seem to dislike. I found it to be working in ltspice so I got confident, especially that Scullcom guy did it and it works perfectly with him despite using only one op-amp for the 4 mosfets.One other minor problem is using lots of resistor values which I hate, I wanted to just stick with 1k, 10k , and so on. So 220k, 470k are hated. Plus, using 2 caps... couldn't we ditch them?Also, the global trimmer is tricky since V_ctrl is supposed to come from the 10-turn 10k pot. So they will be the next stage after the 10-turn pot.QuoteThe display here is the panel meter which is the 0.005R resistor before all the mosfets. Doing this measurement is a kind of nightmare compared to the straight forward one. Even with averaging there will still be an error. It is good that I am using the panel meter for this project._______Scullcom project uses only one op-amp to drive 4 mosfets, is it better than using 4? Plus, it is AD8630 which is a rail-to-rail input and output so he would not worry about lower voltages like us.However, how far can we go with LM324/358?

author: Ian.M
author_rank: Super Contributor
timestamp: May 15, 2018, 12:30:54 pm
content: Rs for each MOSFET is shown as {1/5} i.e. five x one ohm resistors in parallel.The complexity is the price you pay for demanding accuracy at low currents without being willing to pay for high performance OPAMPs, or 0.1% E192 series precision resistors. Shorting each MOSFET g-s to disable three of them is simple if you include four 0.1" pitch two pin headers to put jumpers on. N.B. with them shorted their OPAMPs will drive a small current (limited by the 1K gate resistors) through your low-side current shunt, so you should measure the 1mA with an external meter in series with the load. The interaction between the overall range trim and individual offset trims is slight. If you roughly set up the range trim with all the offset trims set to 0V at their wiper then trim the offsets, then go back and fine-tune the range it will be plenty good enough.I assume anyone serious has E12 1/4W 5% or better resistors between 1R and 1Meg in stock. If not, you'll have to improvise with series/parallel combos. The six caps (two decoupling + one per OPAMP in the feedback loop) are unavoidable if you want to avoid it oscillating. 100pF is just a best guess for the feedback cap - you'd need to build one MOSFET + OPAMP loop and check what value gives the best step response. In the sim, 820pF looks good, with a critically damped minimal overshoot step response.If you are feeding Vctrl from a 10K pot, you'll need to buffer it with an OPAMP like Dave's design did if you want good linearity. Unfortunately that takes us back to needing very good OPAMPs or a 7V or higher Vcc supply to them if you want a full 0-5V for 0-5A control range.Averaging the voltages across the four sense resistors to get the total current would need some calibration, and possibly compensation for the offset voltage of the buffer OPAMP. However if you were adding a MCU, that could easily be handled in software. In fact if you were using a MCU to generate the control voltage, you could discard the individual offset trim pots and replace them with a single one just to set 0mA at 0mV as linearisation at low control settings could be handled in software. However, as you are using a panel meter, you don't have to worry about all that - your only concern is the panel meter accuracy.If you decide to experiment further with the 2N2222 gate pulldown current limiting idea, to avoid the last digit jumping around as the limiting cuts in and out, you need to locate your panel meter so the gate pulldown current does *NOT* flow through it. e.g. put it between the circuit 0V rail and the negative terminal for connecting the external supply you are testing.A further note - rather than attempting to linearise and calibrate either circuit for very low currents, it is probably preferable to use a fifth MOSFET, OPAMP 10R sense resistor and 5:1 input divider, which gives you a basic sensitivity of 20mA per V, then use a DPDT range switch to apply the control voltage to either the high range four MOSFET circuit or the low range single MOSFET circuit, and switch the unused circuit's input to the negative rail to guarantee its cut-off and not drawing any current. The extra MOSFET can share a heatsink with any of the other ones, and the extra components will certainly be cheaper than the multi-pole precision high current switch that would be required to switch in different sense resistors for the main set of MOSFETS.

author: VEGETA
author_rank: Super Contributor
timestamp: May 15, 2018, 01:02:47 pm
content: You mentioned accuracy at lower current such as <10mA, so I am asking... does it mean we cannot get these currents at all or just some error? like you want 10mA and get 11mA or so?I need to remind you, since I am using a panel meter that means such very good accuracy is not needed. All I need to do is to calibrate the panel meter itself. As long as I can get 1 mA output and read it on the panel meter (supports only 10mA range, so it is 10mA minimum accuracy for the whole project) then I am OK.I told you that I want 1V per 1A which is still valid, but I would not worry too much about accuracy in the < 10mA range since I am using a panel meter. So a rough 1V\1A is nice enough for this project.QuoteI think I will make combos, like 1k||1K = 500. I think this 500 seems to have a relationship with 1v\1a right? I tried to make it 1k and it didn't work.QuoteHow about 1nF for opamp caps and 1uF for decoupling? I guess all ceramic caps will be good enough. I don't have oscilloscope (nor the knowledge) to test such circuits. 1nF seems nice value and a common one, if not, then 10nF or so.QuoteSo only 10-turn pot and that is it.However, 5A is gonna be massive. Like, putting 30v x 5A = 150 W -> 37.5 Watts per branch! No way the heatsink will be able to dissipate that. I think 30v\2A is very nice... 15 watts per branch -> = 0.2*2*2 = 0.8 watts in Rs which is good. If I didn't get a big heatsink (my friend promised one) then it is back to 1.5A.I could just use a voltage divider before the 10-turn pot to make the range. simulation shows 4.3V on Vcc and it will be true since I will use 1N4001\7 diode (-0.7v drop)... then 1k + 1k divider gives 2.15 maximum voltage which means around 64.5 watts maximum in worst case.QuoteNot in this version, probably in future upgrade like Scullcom design. You still didn't comment about it BTW.QuoteI still don't understand why its current will interfere in the circuit. Is there anything else wrong with this method besides this?All I understand is the gate will have a voltage, then if current is increased this voltage will increase which activates the transistor to pull the gate of mosfet down.However, my values are different than original design (he used 47k) but I think the voltage will be Vbe/0.2 but how did you calculate it? I mean, if current makes voltage very slightly more across 0.2R then how does this equal to the amount we need to keep it regulated between all 4 branches? how to determine that?

author: VEGETA
author_rank: Super Contributor
timestamp: May 16, 2018, 08:53:34 pm
content: I've been trying to make a negative rail (using npn with resistors) to make circuit go down to 0A but I couldn't with the 5v rail supply. The positive supply will not be enough to let the op-amp drive the mosfet gate to give 1.5A. Thus, I will keep it at ground potential... Actually even by this, there is some inaccuracy at lower currents but I won't be measuring anything so it won't matter.I am gonna build up the circuit in KiCAD now... If you have any final notes please write them

author: Ian.M
author_rank: Super Contributor
timestamp: May 16, 2018, 11:01:53 pm
content: I suggest you draw up and lay out the circuit as-if your OPAMP is good enough to get enough output swing to support having a negative rail, but build it without the resistor that provides the bias current to the NPN Vbe multiplier, without the Vbe multiplier resistors , without the negative rail decoupling cap and with a wirelink E-C in place of the NPN. That lets you build it for now with a single supply for the OPAMP, but if you manage to obtain a better OPAMP, or decide to power it from a higher voltage wallwart, you can remove the wirelink and fit the parts you left out, to improve the circuit's performance at low currents.Please feel free to post GIFs or PNGs of your PCB layout + final schematic for comment - its much quicker, easier and cheaper to get us to bug-check your design rather than finding out the hard way that the PCB you have ordered has design or layout problems. As its only the two of us currently participating in this topic, you may wish to start a new one for the PCB design to get more opinions.

author: VEGETA
author_rank: Super Contributor
timestamp: May 17, 2018, 06:37:57 am
content: Quote from: Ian.M on May 16, 2018, 11:01:53 pmIt is ok for me to build a final circuit now, then if I want to do a modification I will make an entirely new one. So I will build it as it is.I guess no negative rail for now since it won't work with this op-amp and this circuit as I tested in LTSpice. Your latest simulation worked but since we don't want any complicated calibration stuff, then I don't think I will use it.I will make the PCB schematic and post it here as .png and the whole kicad project too.

author: VEGETA
author_rank: Super Contributor
timestamp: May 18, 2018, 08:01:51 pm
content: Here is the first schematic done in KiCAD.Anything we should change?I remember you spoke about the position of the panel meter current shunt, that we should move it from where it is now. Kindly specify why? I noticed some difference in current between it and the 1R resistor in LTSPICE (in the 1 ma to 10s of uA) so I thought of re-asking you about it.Perhaps putting it under 1R is better?

author: Ian.M
author_rank: Super Contributor
timestamp: May 19, 2018, 12:15:14 am
content: Are you still usingthis panel meter?If so, that schematic will *NOT* work - the meter current shunt *MUST* be on the low side so you need to move it to in series with the Gnd pin of the D.U.T. connector J4. Be very careful of the polarity of its black and green wires - the green CS+ wire needs to go to circuit Gnd and the thick black CS-wire needs to go to J4 D.U.T. Gnd. Its thick red wire goes to the J4 D.U.T. V+ pin.Also if you want the meter to be accurate, as the thin and thick black wires are internally connected, to avoid it displaying its own current consumption, you'll need a separate floating supply for it. I would suggest a 5V to 5V 1W isolated DC-DC converter running from your main 5V rail, with its output connected to the panel meter's thin red and black wires *ONLY*. If you don't mind it showing its own current consumption, connect circuit +5V to its thin red wire and leave its thin black wire disconnected.

author: VEGETA
author_rank: Super Contributor
timestamp: May 19, 2018, 12:28:56 am
content: Yes, I am using that meter.Why it must be on the low side? there is no indication that the current shunt negative terminal is shared with the negative of its power supply... unless I miss something. It says "series connect on the power supply cathode" so is it why it must be on negative side of the power supply?The green wire is actually blue, so it is the I+ and the black is I-. If I put the meter shunt resistance on the negative side under J4 in LTspice it will have a negative current reading... so is this why I+ must be connected to ground and I- to J4 negative? so it could be the returning path of the current from our circuit (1R power resistor) -> to ground -> to J4 negative (which is the supply itself).??The panel meter will draw approx. 15mA but it won't pass through its shunt resistance, so I don't know why you assumed it would affect our reading.Even if it does, we can still calibrate it by its own pot... I guess this will work to zero it out right? I don't like using such dc-dc converters since they are not so common unlike all other project parts.

author: Ian.M
author_rank: Super Contributor
timestamp: May 19, 2018, 12:46:27 am
content: Yes you are missing something:Quote from: banggoodAlso seehttp://files.banggood.com/2018/04/Direct-power-supply.jpgand note the thin black wire is not used in that configuration.In this context, chinglish "series connect on the power supply cathode" translates to "connect in series with the negative terminal of the power supply".'calibrating' out its own current consumption with the display's on-board zero preset is likely to be unsatisfactory as it will vary significantly with the number of segments lit. At best you will be able to get it zeroed at a particular voltage then as the current increases from zero it will be grossly inaccurate at small currents as the number of lit segments changes.If you were using an AC output walllwart, you could power the meter with a quasi-floating supply using a capacitively coupled bridge rectifier. You could also use a pair of opposite half-wave rectifiers to get + and - supply rails for the OPAMP.If you dont have an AC output wallwart, take any old-skool heavy (i.e with a real line frequency transformer in it) unregulated DC one with a nominal output voltage between 9V and 12V, that has a case you can open, and remove its bridge rectifier circuit and any reservoir capacitor, reconnecting ite output wires to the secondary. If it doesn't have a bridge rectifier, stop and ask with photos. If it has any electronics on the primary side of the transformer it isn't suitable for conversion.

author: VEGETA
author_rank: Super Contributor
timestamp: May 19, 2018, 12:54:54 am
content: Ok, how about this?Of course we can use the current adjust pot on the meter to adjust for the 5mOhm resistance of the meter.

author: Ian.M
author_rank: Super Contributor
timestamp: May 19, 2018, 01:12:13 am
content: That will work for the meter, but what's going on with the 2N2222 transistors? With 10K in series with the emitters, they can only cause at most a 10% reduction in gate voltage which probably isn't going to be enough to stabilise it once the MOSFETs are hotAlso, due to differing OPAMP input offset voltages, it will be out of balance from the moment you switch it on.I know you are very attached to the idea of using your high power 1R resistor, but its *really* not helping this design!

author: VEGETA
author_rank: Super Contributor
timestamp: May 19, 2018, 01:15:50 am
content: Quote from: Ian.M on May 19, 2018, 01:12:13 amI thought the transistors would solve the problem, what other value do we need? I really don't understand why 10K gives 10%... thus won't be able to pick the proper value.Ok, then give me a simple solution without the need to calibrate the entire 4 branchesthen I will gladly ditch the power resistor

author: VEGETA
author_rank: Super Contributor
timestamp: May 19, 2018, 01:43:15 am
content: I reverted back to your version without your eternal enemy (1R power resistor), just without the calibration of each branch to get 1v per 1A since we are using the panel meter without measuring stuff.How can this version achieve balancing without the 2n2222 circuit?

author: VEGETA
author_rank: Super Contributor
timestamp: May 19, 2018, 01:57:29 am
content: Here is the schematic after doing what I said above.Strange thing is that the least amount of current that we can get is 36mA even if V_set is 0... this is not what should we have assuming we have the negative rail.

author: Ian.M
author_rank: Super Contributor
timestamp: May 19, 2018, 02:02:50 am
content: There is no simple zero calibration solution if you need a 1A per V wide range linear control voltage input to set the current.If you just want to set the current with a pot, don't care about control linearity at low currents and don't mind say +/-5% uncertainty for its actual full scale range, because it will always be set by reading the current display on the meter, you can use 4x the simple OPAMP + MOSFET circuit, with multiple paralleled 1/4W resistors for each MOSFET's current sense, your 10 turn 10K pot feeding all the + ins and a suitable resistor between the top end of the pot and a regulated positive supply to set an appropriate maximum current.Unless you use better OPAMPs, or don't care if you cant get the current right down to zero, you'll need a negative rail for the OPAMPs, so if you want to run it all off a 5V USB charger you'll need to use a boost module to get enough voltage for the OPAMPs Set the boost module for +12V out, connect the USB charger +5V to circuit ground and you'll have -5V and + 7V rails - perfect for the OPAMPs to give up to 5V gate drive + enough negative swing for full MOSFET cutoff, and the meter will be quite happy running from a +7V rail.The easiest way of trimming to zero current at the bottom of the pot is to offset it a little negative. See attached schematic. Depending on your pot's track end resistance you may need to increase R4 e.g to 10R. For the full scale trim resistor R5, use a fixed resistor + a 10K preset in series.CAUTION - The schematic is designed for a full scale load of about 5A, but your heatsinks wont be good for that with a 30V PSU D.U.T. They would probably be OK if your D.U.T. is under 10VTo avoid difficulty with non-standard models and keep the runtime reasonable, the sim uses an ordinary voltage source to represent one of the DC-DC non-isolated boost converter modules that I remember from your previous topic. Similarly it uses a voltage source to represent the LM317 feeding the 10 turn pot with a regulated voltage. If you want, you could substitute a Zener circuit or a voltage reference instead of the LM317 - just change R5 to get about the same voltage across the pot. R2 is *ONLY* to satisfy the LM317 minimum load requirement. Delete it if using a different way of getting a regulated supply for the pot.Personally, I wouldn't use a USB charger to power it, unless I mounted it internally with no externally accessible USB socket, to remove the temptation of ever powering it from the same USB supply as another device its connected to.

author: VEGETA
author_rank: Super Contributor
timestamp: May 19, 2018, 11:30:31 am
content: Thanks for the update.It got more complicated, I started feeling that the USB input is doing all the evil. However, powering it from a DC jack (12-24v) seems a solution but it would require another wall charger that is not as available as the USB one. I myself have a Chinese laptop charger with adjustable voltage from 12 to 24v.I started thinking about putting two 9v batteries to get 18v from which we could get a negative rail, then make the USB charger to power the panel meter display only. How much would these batteries last?I don't quite understand what you did. We still have a V_ctrl which I suppose it is coming from our 10-turn POT in which it is powered by a resistor divider as I mentioned earlier.However, you put another POT which is RV1 and this one I don't seem to be able to control it. Also, we have R1 and R5 which I assume are variable resistors not pots for trimming. I hoped to get only 10k pots so I guess I can change them.I don't like LM317, it gives extra cost for nothing. I would just put a resistor divider instead, will it work?So we need to make it a bit simpler especially if the 2 batteries thing works fine.

author: VEGETA
author_rank: Super Contributor
timestamp: May 19, 2018, 12:28:01 pm
content: Your version 3 seems nice for 12v input, which I can work with now assuming all these stuff that results from 5v. I've got to make sure it doesn't have the balancing issues. Even version 4 seems easy but without individual calibration

author: Ian.M
author_rank: Super Contributor
timestamp: May 19, 2018, 12:57:25 pm
content: I should have drawn a box round the Vctrl source and labelled it 'Sim only'. All it does is provide a 0% to 100% control input for the wiper position to the symbol for the 10K pot RV1. (The pot model takes an absolute voltage 0 to 1V, as its wiper position.)RV1 represents your 10K ten turn pot that will be the 'master control' to set the current. R1 and R5 are presets - you adjust them ONCE to get zero current at one end of RV1's range and your desired maximum current at the other. However as the value won't be convenient, you'll probably use a fixed resistor + a preset in series, or if you've got a limited selection of presets available , maybe with an extra resistor in parallel to the series pair.As the circuit only needs about 100mA, a laptop charger would be stupid overkill. OTOH 9V batteries will give you nothing but trouble with the voltage change as they discharge causing the set load current to drift. They are great for quick breadboard experiments, but a horrible way of getting even a few mA for long periods unless portability is the major factor. If it weren't for the need to provide a stable regulated voltage to the potentiometer the batteries wouldn't be such a problem, but the 10mA minimum load current needed by the LM317 makes them impractical.My main objection to USB chargers for powering test equipment (apart from the generally high ripple and poor regulation of the cheap ones) is the risk of user stupidity, especially when doing something unconventional like grounding their positive output terminal to get -5V from them. An alternative to mounting the USB charger internally would be to take one with a permanently attached output lead, cut off its USB plug and replace it with a DC power jack. That removes the risk of someone powering the unit from a PC or a multi-output USB charger without even thinking about it.I don't like the LM317 either, but its essential to have a clean well stabilised supply to the control potentiometer. Even though the positive rail is from a regulated supply, the load on it varies considerably and as its a switching supply, there will be a lot of ripple so putting it through a LM317 to clean it up and drop it to a far more convenient voltage for the pot. Alternatively, you could use a Zener fed by a resistor from the positive rail, or even use a forward biassed LED in place of the Zener, which can also do double duty as a power LED. If you can get TL431 shunt regulators locally, that would be great - 2.5V is more than is ideal to feed the pot, but R1 can easily be increased to compensate.Version three powered by 12V will have its own issues - a Vbe multiplier isn't a very good shunt regulator, as its voltage changes significantly with the current through it, and with temperature and I didn't add any parts to ensure the MOSFET can be controlled right down to zero current. Also, the display current ground return goes through the Vbe multiplier, which means neither the negative nor the positive rail will be stable enough to derive the control voltage from by a simple resistor divider.

author: VEGETA
author_rank: Super Contributor
timestamp: May 19, 2018, 02:53:03 pm
content: Here is my more friendly ltspice, changes are:1- Made the 10-turn pot a friendlier version of 2 resistors to make it easier for me to see.2- put 100k fixed upper limit which corresponds to 2.08A maximum current, which is what we want. this could be a pot but I didn't want to get other values than 10k pots and the resistors we use.3- made the zero trimmer 10k pot, but set it to around 1k.4- adjusted the supply options. I ditched the USB completely and put 12v DC jack from laptop\wall charger (the laptop one is 5$). Now we have apporx. 9v positive and -3 negative.5- I kept LM317 for now since there are no better options available. TL431 will need another month to arrive so meh. Plus, I don't know how to use it yet.6- Instead of 120 ohm for LM317, I added an LED to act as power on LED. I guess 1.25v could give us around 10mA without any series limiting resistors.What I need to understand is :1- how can this circuit achieve balancing better that previous methods?2- why now choose 1k as feedback resistor?3- Can we use ceramic only caps in this design? or should decoupling caps be electrolytic?Can we call this the final design?

author: Ian.M
author_rank: Super Contributor
timestamp: May 19, 2018, 04:48:40 pm
content: 1. The balancing is purely due to each MOSFET having its own OPAMP and individual source current sense resistor. The individual MOSFETs are *NOT* in parallel so one cant hog more current - its own feedback loop prevents it taking more than the voltage at its OPAMP's in+ commands.2. I decided to simplify the design, knowing you prefer 1K 10K 100K etc resistor values. It makes little difference except to the -3dB bandwidth enforced by it and the 100pF cap.3. I'd use a mix - ceramic up to whatever value a good quality electrolytic becomes significantly cheaper above. N.B. High K ceramics are very voltage sensitive, with the capacitance dropping as the voltage across them increases. If you run them near their max rated voltage, you only get a small fraction of their nominal capacitance, so you'll need 50V rated ceramics to get anywhere near their nominal capacitance from them.Its not a final design - its taken several steps backwards from the last one I posted.The sim has major problems - you've got 10 Million Amps flowing through that LED you added, and replacing my voltage controlled potentiometer with fixed resistors makes it impossible to do any sort of stability testing. However as an experiment I added a behavioural current source (standard LTspice component 'bi') sinking current from the Vcc rail to Gnd to represent the current drawn by your LED panel meter using the expressionCode:I=20mA+40mA*rand(time*100)which is a current somewhere between 20mA and 60mA randomly changing 100 times a second. The results were horrifically bad - nearly a volt peak to peak of noise on the Vcc and Vee rails, and a lot of breakthrough to the controlled load current which will jump around like a flea with hot feet.The LED issue is just stupid - a real LED wont draw 10mA with 1.25V across it unless you are very very lucky but it certainly wont draw 10MA - thats an artifact of it defaulting to the default diode model because you didn't select a LED. Never the less, its Dumb with a capital D to attempt to drive a LED directly from a low impedance voltage source. If you want to stick a LED in somewhere put it in series with R4, which keeps the Vbe multiplier biassed. You could probably even remove the LM317 and use the voltage developed across the LED to feed the pot*. Here are some LED models for you to sim that with:Code:*Typ IR LED from optocoupler: Vf=1.2V @10mA.model LED0 D (IS=1p N=1.999644 RS=0 BV=6 IBV=10u+ CJO=10p EG=1.424 TT=500n)*Typ RED GaAs LED: Vf=1.7V Vr=4V If=40mA trr=3uS.MODEL LED1 D (IS=93.2P RS=42M N=3.73 BV=4 IBV=10U+ CJO=2.97P VJ=.75 M=.333 TT=4.32U)*Typ RED,GREEN,YELLOW,AMBER GaAs LED: Vf=2.1V Vr=4V If=40mA trr=3uS.MODEL LED2 D (IS=93.1P RS=42M N=4.61 BV=4 IBV=10U+ CJO=2.97P VJ=.75 M=.333 TT=4.32U)*Typ BLUE SiC LED: Vf=3.4V Vr=5V If=40mA trr=3uS.MODEL LED3 D (IS=93.1P RS=42M N=7.47 BV=5 IBV=30U+ CJO=2.97P VJ=.75 M=.333 TT=4.32U)*Typ small White LED: Vf=3.2V Vr=5V If=35mA.MODEL LED4 AKO:NSSWS108TIf you go with this design without resolving the issue with the Vbe multiplier and the meter supply current, I'm washing my hands of this whole project and ignoring this topic. Just in case: Thank you for an interesting technical challenge so far, its been pleasant working with you.* using the voltage across a LED as a reference isn't ideal but if you don't care much about its initial accuracy and stability it works well enough if the current through the LED is near constant. Its even been done in commercial products - e.g. Microchip's original ICD debugger used a red LED as a reference.

author: VEGETA
author_rank: Super Contributor
timestamp: May 19, 2018, 05:52:18 pm
content: After seeing that I obviously won't go with this circuit as it is... but it is good that we came this far.I put the current sink as you mentioned and yes it does ruin the supply for IDK reason.In a panic, this is what I came with as a solution:Suggestion 1:Using 7660.I found it on JLCPCB supplier (https://lcsc.com/product-detail/PMIC-AC-DC-Converters_HTC_TJ7660D_TJ7660D_C126092.html) so they can deliver it with the PCB itself.We could hook the negative of 12v supply to ground which in turns will eliminate all these peaks of noise as I tested. However, we use a simple resistor divider to get approx. 5v or so then feed it to 7660 to get -5v which becomes our negative rail.I think this is very simple if it does not introduce anything else. I knew about this all along but I didn't want to use 7660 since it is not so available to others (even for me now xD).We can simulate the -5v supply easily by making a 5v supply with its positive to ground and its negative is -5v. As for the LED I removed it and installed the 100 Ohm back... Now if i want it I can connect it anywhere else like on the main 12v rail with proper resistor dividers and so on.If we want an extra cost we would use 5v linear regulator 7805 to give 5v and power the LED while at the same time give 5v to 7660.I know 7660 charge pump has switching but I don't think it will affect us here, or will it?How about this?Suggestion 2:use another LM317or better yet 7805 hooked to 12v and the negative of 5v regulator is hooked to ground not to negative rail. Here we can avoid the negative rail all together.Suggestion 3:op-amp rail splitterthis is not even a solution to this design but rather a completely new way to avoid the dodgy negative rail of ours, perhaps it is the cause of all this. I didn't build this yet.___I saw from other designs that they use suggestion 1 since it gives them 12v full voltage while having also -5. Getting that extra IC maybe worth it if the design is working and all these problems are solved. Scullcom design uses suggestion 1.QuoteDon't give up on meeeee! I am trying also xD. Originally I wanted this to finish in a week or so but looks like it took a lot more. I saw Dave's project so simple, also the one from mjlorton so I thought I could do it similarly.I am good at electronics but not too good, that is why you see me asking a lot in details. I work as an instrumentation planning engineer right now so it is a different field.Looking forward to read you opinion about the suggestions above. I hope we can finish it soon.____EDIT:Suggestion 4:put the panel meter across 12v.Meaning from positive (+9v) and negative rail (-3). This way it won't interfere in our dodgy negative rail and ground config.However, I remembered that it must share a common ground with the measuring signal so this suggestion is bad... forget it.___EDIT 2:I tried different resistors and caps with 2n2222 circuit and yet it refuses to work! looks like suggestion 1 is the way to go. getting 7660 is doable and if we are to do so then we would get tl431 to replace lm317 if we want.I need to read your opinion about suggestion 1, if it works or not.I really want to finish the project xD. Don't you?

author: VEGETA
author_rank: Super Contributor
timestamp: May 19, 2018, 07:26:54 pm
content: I have tested the opamp splitter and it did not work! same problem as before.I used 30k with 10k to get 9v and -3v but the same with other values.Here, there are no transistors at all so what is the cause of this error?!

author: Ian.M
author_rank: Super Contributor
timestamp: May 19, 2018, 07:29:38 pm
content: If you use a 7660 charge pump for the negative rail, it needs a good stiff power supply to work well, so don't even think about a resistor divider to power it. You could go back to using a USB charger for 5V supply, but that limits the maximum positive swing of the OPAMP driving the gate and will limit the max current you can get with a decent heatsink. Using a regulator is a far better choice, but I recommend a 9V one as 7660 chips are rated for operation at up to 10V, and 3V headroom is adequate for all common regulators. Then you can use the regulator output for the OPAMP's Vcc supply which will keep all the noise from the LED meter's changing current draw out of the sensitive part of the circuit. That also means you don't need the TL431. You only need a really common 7809 9V regulator - preferably the low current 78L09 variant - or a LM317 + two resistors to set it to 9V.Run the power LED with a series resistor from the regulator output - 1K would be good which will give about 7mA through the LED - plenty bright enough.For 2A max load, you need 0.11V at the top end of the pot, lets say 0.12V to have a little margin to be certain you can reach 2A. Therefore it needs 12uA flowing through the pot. This is a very low current, so the PCB must be cloean and if you mount the pot off-board, please use screened cable to hook it up with the screen connected to ground and the pot body if it is metal, but *NOT* to either end of the track or the wiper. If you feed the pot via a dropper resistor from the +9V regulator output, you'll need 740K in series. 680K and a 100K preset will give you enough adjustment range.For the zero adjust at the bottom end of the pot, as the 7660 output isn't very well regulated, I'd suggest using a 10K resistor and a diode to get a reasonably stable 0.6V-0.7V negative voltage, then using a 10K preset feeding a 10R resistor to divide that by up to 1000:1 to provide the zero adjust.An OPAMP + BJT based rail splitter would be another possible option - if its designed to sink enough current it could cope with the varying supply current of the LED meter. If you want to go down that road, I have some thoughts on the rail splitter design I need to develop in LTspice.What OPAMP splitter are you experimenting with? Schematic please with component values, measured voltages and exact description of the fault.

author: VEGETA
author_rank: Super Contributor
timestamp: May 19, 2018, 08:23:40 pm
content: opamp splitter version below, it does not work.____How about sticking to LM317 with a fixed resistor + 10k pot for adjustment -> put it to 9v. Since 9v regulators are not as available..? Then feed that 9v to 7660 followed by 100uF caps for filtering... and also powering the meter from 9v lm317 connected to circuit ground as well as the power LED (1k series resistor as you suggested). This eliminates all problems on the expense of getting lm317 IC + 7660 IC + one extra 10k pot!^until we could get a better solution if opamp splitter worked.__I will mount the 10-turn pot on the front panel then connect it by wires to the PCB, thus getting a screened cable is an extra annoying step. Is this due to EMI? You remind me of our instrumentation wiring that requires this type of cable but here I want it to be very simple. If this is gonna introduce some error then it is easily offset by the zeroing pot.___getting the 2A will change as you explained since now it is 9v not 1.25 volts... So 740k is a must now and getting 100k pot is also an extra pain but we have to tolerate it.____QuoteI didn't understand. Do you mean ditch the 7660 completely and rely on diodes? like putting 2 in series to get -1.4? but here it will connect to 12v negative which in turns is ground so it won't work unless we put a divider like before which got us in this mess in the first place.

author: VEGETA
author_rank: Super Contributor
timestamp: May 19, 2018, 09:00:02 pm
content: I've been trying these ideas and I came up with this in attachments.I hope this is the final or near final version, since I don't see any of the previous problems so far.I've been able to get 1mA out of it which is fantastic, but you gotta know that current meter resolution is 10mA so we have more accuracy than our meter. It is completely safe!Looking for your response.

author: Ian.M
author_rank: Super Contributor
timestamp: May 19, 2018, 10:49:13 pm
content: A LM317 is quite predictable and you don't need a 10K pot to set it as the exact value of the 9V output voltage is non-critical. Assuming you put the power LED + 1K resistor on the 9V rail, that will draw at least 6mA, assuming the LED Vf is under 3V. Therefore you only need 4mA more to make up the 10mA minimum load requirement for the LM317. The top resistor in its feedback divider always has 1.25V across it so 270R would draw 4.6mA. A 1.5K lower resistor would give an output voltage of 8.2V - near enough to 9V for this circuit. However the reduced voltage means the LED Vf must be under 2.2V or we must decrease its series resistor or we must recalulate for more current in the LM317 divider to meet the 10mA minimum load requirement. Try 220R for the upper resistor which will draw 5.7mA and a lower resistor of 1.2K for 8V out.Feeding 8V to the 7660 will give a negative rail of about -6V to -7V depending on the load on it. That's great for the OPAMP Vee (V-) supply, but its uncertainty is less good for the zero adjustment. If you put a 2K2 resistor from Vee to a small silicon diode (e.g. 1N4148), anode to the Gnd rail, you'll get an approximately -0.6V rail that's ten times more stable than the Vee supply to the OPAMP from the 7660 (neglecting the temperature coefficient of Vf for the diode). Tap down on that with a 10K preset feeding a 10R resistor and its easy to get the few mV of negative bias required to get the MOSFET to zero current cut-off, and avoid fluctuations in the 7660 output significantly affecting the load current.Your latest circuit (#8) has a fatal bug - you've put the panel meter on the output of the 'regulator'. Unfortunately your unrealistic regulator sim as a voltage source is fooling you because it doesn't draw its load current from +12V, so the return current of the panel meter isn't going through the diode that provides the negative Vee rail. Connect the panel meter so it draws from +12V and see how horrible it really is.

author: VEGETA
author_rank: Super Contributor
timestamp: May 19, 2018, 11:06:14 pm
content: Quote from: Ian.M on May 19, 2018, 10:49:13 pmSo what do you suggest to overcome such issues?So far we knew all the resistor values necessary, so how can we solve the panel meter issue? I thought the regulator will solve it but you seem to back down from this idea due to simulation.Yes, simulation shows a bad thing as you said but how can we be sure?If we don't want the current to pass through the diode or the negative rail, then using 7660 is a must. However, you don't seem to like that idea and you are right since I would need to keep re-adjusting the zero point due to the switching of 7660.QuoteIsn't that what I did in #8? or I am misunderstanding you?QuoteOk, so what to do now? I really don't understand why the voltage peaks like this? it is a very low current and we have a high power supply.If we cannot find a solution, then using 7660 is the only way to go as far as I can see. So I am waiting your input since I tried to go around the diode with no use_____________________EDIT:Do you mean like the image?Here I've got 7660 giving -7 and the diode + resistor resulted in around -0.7v which is enough for zero biasing. Then this -0.7 is fed to the 10 + 10k pot as usual for zero adjustment.However, I feed opamp negative rail with 7660 directly.How about that? Now, panel meter goes from 9v directly to ground or better yet from 12v to ground. No diode and no 2n2222.I guess now this issue is resolved, is there anything else?

author: Ian.M
author_rank: Super Contributor
timestamp: May 20, 2018, 01:32:52 am
content: Without a 7660 or some other way of getting a negative rail that doesn't have to carry the return current for the LED meter, the problem is the drastically varying current through the diode or Vbe multiplier that's used to offset the negative side of the 12V supply to get the negative rail. To be reasonably stable, the variation must be no more than 10% of the average.I suspect that most of the meter's supply current goes to light the LEDs. Least current will be with both displays reading 1.1 and most, 88.8. 1.1 has four segments lit and 88.8 has 21 segments lit (ignoring the d.p.) so, assuming 88.8 on both displays is the max 60mA consumption, 1.1 on both probably draws about 12mA. However those will be average currents as its highly likely that it uses multiplexing so it can use a cheap MCU with fewer pins. Rather than needing 42 pins for direct drive it only needs 13 to multiplex 6 digits x 7 segments. That alters the situation considerably - peak current will be when the multiplexing is outputting an 8 digit, and least when it is displaying a blanked leading zero. If there's enough decoupling built into the display it will average out, but it would need about 1000uF to do that, which is a physically large capacitor, and there isn't much room for it so its consumption may well swing between near zero and up to 60mA at the multiplexing refresh rate. To know for sure, power up the display with a 1R resistor in series with its negative supply, and feed its voltage measurement wire from a pot or variable supply so you can easily change the reading. Scope across the 1R resistor and calculate the current fluctuations from the peak to peak amplitude of the scope trace in mV.Yes, your edit above is what I've been suggesting. If you want to continue experimenting while you wait for your parts/board order, you could build a charge pump with a NE555 squarewave oscillator driving a charge pump (2 diodes, 2 capacitors) to do the same job as the 7660. Ideally use a CMOS 555 clone not a real bipolar NE555 as the CMOS ones have rail-to-rail output and will more accurately emulate a 7660. Sim attached.N.B a practical 555 charge pump will have 100uF electrolytic + 0.1uF ceramic decoupling between pins 1 (Gnd) and 8 (Vcc) to handle the very large current spikes when it switches, and should have 0.1uF to ground on pin 5 (CV).

author: VEGETA
author_rank: Super Contributor
timestamp: May 20, 2018, 06:31:38 am
content: It is done then, we'll consider this the final version and I will start modifying the KiCAD project accordingly. Getting 7660 is easy from China so people wouldn't face a problem. I will use 1N4007/1 in the bias negative voltage since it is what I have and what is available to most people.Looks like current fluctuations of the panel meter are accurately assumed to be 10-60mA and yes the panel meter doesn't have a big capacitor but lots of tiny circuitry. We were correct to assume the problem in the diode or Vbe in the first place but looks like it won't be solved in this design as long as panel meter exists. However, I guess if it is not in the design and replaced by LCD character display then it would be better. However, that is for another project.QuoteYes I saw such circuit of using 555 timer but it is just another IC so we are better yet get the 7660 if we want to get another extra IC. Originally I thought we can use the charge pump without switching but that was when I didn't understand the concept behind it.One last issue is the 10-turn POT. I will mount it on front panel, and will put wires from it to the board. I will make it very short so I will put its footprints very close to the front panel. I hope this won't ruin everything, I don't mind few errors that could be removed by zeroing POT though.I will build the project again in KiCAD and will post it here. Thanks for your awesome collaboration so far, gonna be credited in the videos and documentation wherever possible.

author: Ian.M
author_rank: Super Contributor
timestamp: May 20, 2018, 07:33:37 am
content: I suggested the 555 circuit for testing because I expect you to either have a few already or be able to find them locally.I'd still recommend prototyping it before doing the final PCB. Use that 555 circuit to stand in for the 7660. We've had enough nasty surprises that I'm reluctant for you to commit to the PCB design till you've actually had it working. It could be simplified a bit for testing though - only two MOSFETs and a 1A full scale limit. That will still let you see how well the heatsinks cope.Due to the very low sense resistance of only 1/5 ohm per MOSFET, you'll need to put those parts + the OPAMP and its whole feedback loop on protoboard as solderless breadboard will have too much contact resistance. The rest of the circuit should be fine on solderless breadboard.As you are using a metal case, short unscreened wiring to the front panel pot should be OK. Screened wiring would be essential in a plastic case as otherwise any nearby RF sources would be far more likely to cause it to malfunction. The case should be connected to circuit ground.There are lots of improvements that could be introduced but they all add complexity. An Atmega328P controlled version, programmed using the Arduino toolchain, with a LCD, and an opto-isolated serial <> USB PC interface for control and data logging would be interesting, but I agree that the best way forward would be to build this version and get experience using it before designing anything more complex.

author: VEGETA
author_rank: Super Contributor
timestamp: May 20, 2018, 08:45:29 am
content: I will need time to get heatsinks from my friend, so by the time PCBs arrive I will get them together.However, I could try one mosfet + opamp (lm358) with low currents (200mA or so) just to see how stuff works. I don't have enough 1R resistors to begin with if not never since I used lots of them previously so I doubt I still have any left.For 10-turn pot, should I put a wire from its outer body to ground? or from one of the pins to ground? Also, if plastic case is used can't we get away with the same method of connecting the body of pot to ground?The case should be connected to ground? that means i wire from the ground pin or pad to the case itself. I don't know if I could solder it or so.

author: Ian.M
author_rank: Super Contributor
timestamp: May 20, 2018, 09:19:50 am
content: Assuming the pot has a metal mounting bush, if the case is grounded, its body will be as well. If you are testing it loose on the bench, wrap a wire round the mounting bush and clamp it with the nut to ground it.To ground the case, the easiest way is via the PCB mountings if you are using screws for that. For one of the mountings, simply use an internally threaded brass spacer with a serrated spring washer between it and the case, and a Belville spring washer on top of the PCB under the screw to keep it in firm contact with the brass spacer. Use a plated through hole in the PCB with a bare tin or ENIG plated pad both sides larger than the spacer and washer diameters, and within the pad surround the hole with a ring of vias to tie the pads together even if the hole plating gets damaged. For an example look at any PC motherboard.It gets a bit harder if you are sliding the PCB into guides. You'll either need a leaf spring soldered to the PCB, or better, a ground wire with a ring terminal at the case end, bolted down with a serrated spring washer between it and the case.For testing you can improvise the resistor with a long loop of insulated thin copper wire. e.g. 2.4m of 24AWG wire should give you about 0.2 ohms.Fold it in half, and wind it on a cotton reel or similar then tape it in place to make it compact enough to work with. By folding it in half before you wind it, the winding is non-inductive. It will have a horrible temperature coefficient and won't be very accurate, but will certainly do to test the circuit.If you've got thinner wire, you'll need less length. If you know its actual diameter its easy, we can calculate it, but if not, simply rig a LM317 + a 15 ohm resistor in parallel with a 100 ohm preset as a current source, adjust to 100mA, put a long length of the wire in series and measure the voltage drop across the wire so you can calculate its resistance per meter.

author: VEGETA
author_rank: Super Contributor
timestamp: May 20, 2018, 09:32:54 am
content: I will slide the PCB inside the case but for grounding I can connect a cable from PCB ground pad to the inside bottom of the case at a place where I scratch it with a screw driver to remove the anodizing\painting then solder the wire directly. This could be even better than putting a washer with bolt.This is my 10-turn POT:https://www.banggood.com/3Pcs-3590S-2-103L-10K-Ohm-BOURNS-Rotary-Wirewound-Precision-Potentiometer-Pot-10-Turn-p-1061331.htmlSo I screw a small wire to the metal part of it and connect it to circuit ground? that is easy.However, what if we didn't do any of that? what could happen?I mean will it introduce some error in current like not zeroing out? or will it introduce huge amounts like 10s of mA?

author: Ian.M
author_rank: Super Contributor
timestamp: May 20, 2018, 09:52:29 am
content: Soldering to Aluminum alloys is very difficult without special techniques. A bolted connection is usually much easier. If you need a flat surface on the outside of the case, use a countersunk screw, which is usually not too obtrusive.If you don't ground the pot bush, the current will probably jump about when you bring your hand near it to adjust it. 1mV of noise will cause a 20mA fluctuation of the current in the final four MOSFET design or 5mA for a single MOSFET so it would be very difficult to adjust accurately.

author: VEGETA
author_rank: Super Contributor
timestamp: May 20, 2018, 10:26:46 am
content: As you see, the case has no internal screw holes but only front panel ones, so where would I bolt the ground wire? Here we have no choice but soldering unless the back panel screws can do the job without the wire being exposed outside.Actually, back panel should have a cut for the DC jack input which in turns have a ground pin. So I could wire it to the back panel (or even bottom part) the way I told you. I could also try to put a wire from ground pin of DC jack to one of the 4 screws if it works fine. I don't think this anodization can conduct current, does it?as for the pot, I think I can put a wire from the place shown in picture to ground pin... Soldered from both ways since it is easy.I will try without grounding first to see how stuff works, just in case.As for grounding the case, is it necessary? also, it won't be mains earth referenced but only to ground of the circuit itself. So what if we didn't ground it?

author: Ian.M
author_rank: Super Contributor
timestamp: May 20, 2018, 11:07:06 am
content: As the circuit relies on millivolt level signals, any noise capacitively coupled from nearby metalwork is likely to upset its operation. That's the price you pay for a simple circuit with low cost, low-value current sense resistors and a low minimum load voltage. Bonding the case to the circuit 0V rail prevents any disturbance to the circuit when it is touched.Anodising forms a fairly tough insulating layer, but its usually broken in tapped or countersunk holes unless they were formed before the anodising process was performed.You can get washers with solder tags that are big enough to slip over the pot mounting bush to make attaching the ground wire easy. If you cant get one easily, you can always cut one out of thin brass or copper - shim stock or heavy foil or even out of thin tin plated steel, though that's a lot more work to cut. If you sand off the anodizing on the inside of the front panel round the pot hole before fitting the pot, it should ground the front panel well enough.However, personally, I'd drill a hole in the case bottom, countersink on the outside, and sand off the anodising round the hole on the inside then use a countersunk head machine screw, with a serrated washer, a ring terminal for the ground wire and a plain washer and nut to firmly bolt the ground wire to the case bottom, then apply some lacquer to the bolted connection to exclude air and moisture so the serrated washer's connection to the aluminum doesn't deteriorate.

author: VEGETA
author_rank: Super Contributor
timestamp: May 20, 2018, 11:26:44 am
content: I remembered that I have a hand drill! I can use it to make a hole in bottom layer then solder ground wire in it very easily! I just don't make he hole reach the other side but enough to expose the internal aluminum and remove anodizing. As for POT, I would just solder a breadboard jumper wire to it then to ground pin. No need for more complications.I don't get why you need to go outside the case.

author: Ian.M
author_rank: Super Contributor
timestamp: May 20, 2018, 11:47:15 am
content: Good luck with that. Soldering aluminium is *DIFFICULT*. You have to exclude all oxygen from the surface, scrape off the oxide layer (which reforms almost instantly at elevated temperatures in the presense of oxygen) and solder while maintaining an oxygen free environment. Its possible to do that in an inert atmosphere, or under oil (but the oil must have a smoke point significantly higher than your soldering bit temperature), and you may have some success with aggressive flux, a large pool of molten solder + scraping through the solder pool, but it will be very difficult due to the massive heatsinking effect of the large thick case walls.Soldering to the pot bush is *NOT* recommended for plastic body pots as the heat is likely to damage them. Its acceptable for metal body pots - just solder the ground wire to the back near the terminals.

author: VEGETA
author_rank: Super Contributor
timestamp: May 20, 2018, 04:01:06 pm
content: But as you see there is no way to screw something on the main bottom case so I need to get dirty.As for POTs, I didn't quite understand. You don't like soldering its metal part to ground? OK, but the only option left is to put the ground wire under the associated nut\washer while fixing it. I thought solder would be a better connection. What ground and black wire are speaking about?

author: Ian.M
author_rank: Super Contributor
timestamp: May 20, 2018, 05:05:08 pm
content: Quote from: VEGETA on May 20, 2018, 04:01:06 pmLooking at the case again, it looks like there's enough wall thickness in the sides to drill and tap them so you've got threaded holes for grounding screws. Due to poor access you'll have to drill right through and tap from the outside, but it will be easy enough to cut the screws to length and clean up the ends so they are flush with the outside when tightened on a ring terminal + toothed washer from the inside. With a drop of black lacquer paint on the ends, they'll be barely noticeable. I'd add grounding screws to both case halves due to the risk of poor contact beween them. If you've never tapped aluminum before, use WD40 as lubricant and practice on something extruded that doesn't matter. Personally I'd go with M3, but M4 would have a lower risk of breaking the tap off in the hole. The tap *MUST* be held absolutely straight as if it starts on an angle it will cut a 'drunken' thread that will be much weaker as the hole forces the tap into line and part of the initial drunken thread is cut away. It can be helpful to drill a slightly tight guide hole through a block of wood, tap the guide hole and clamp it to the part you are tapping so the tap is held straight and encouraged to advance as it first starts to cut. Seehttps://en.wikipedia.org/wiki/Tap_and_diefor more details.Another method that requires less skill with precision hand tools would be to use self-adhesive copper tape with conductive adhesive. Sand off the anodising round the end plate screw holes on the inside of the end plates and the ends of the two case halves. Stick a strip of tape to the end of the case half, extending a short distance down the inside of the case side, covering the hole the screw will go in, pierce it for the screw and clamp it firmly between the case half and the end plate using the screw. Dismantle again, trim the outside edge with an Xacto knife, and solder your ground wire to the copper tap on the inside of the side. Similarly, stick a strip of tape to the inside of the face plate over the pot hole, cut out the hole with the Xacto knife and solder the ground wire to the tape clear of the mounting bush footprint. If you decide to improvise with copper foil and ordinary adhesive tape, only put the tape to stick down the end of the foil you are going to solder to as its an insulator and mustn't be between the foil and the area round each hole from which you've removed the anodizing.Quote from: VEGETA on May 20, 2018, 04:01:06 pmI said 'back' not 'black'A metal bodied pot usually has a tin plated pressed steel back cover. Because its fairly thin, it doesn't take a lot of heat to solder to - just scrape off any lacquer to expose a small spot of bare metal, tin it then solder the wire to it. OTOH soldering to the bush of your pot would take a *LOT* of heat, which would cook the lubricant and may melt plastic parts of the mechanism or loosen the bush in the body moulding.If you clamp something between the bush and the front panel it needs to be thin and *FLAT*. Trying to directly clamp the wire is likely to make the pot sit at an angle, and due to the small contact area there is a high risk of the wire squishing and the pot loosening. Its much easier with a tag washer even if you have to make it from brass shim yourself.

author: VEGETA
author_rank: Super Contributor
timestamp: May 20, 2018, 11:37:26 pm
content: I have made a new schematic in KiCAD and here it is as .pdf in attachment.Key points to be taken:1- Made maximum current set resistor 750K since it is a standard value which now gives 2.11A as max current, no POT needed.2- Adjusted LM317 circuitry to be 240 Ohms || 1.5K which gives 9.06V but the 1.5K is 1K in series with 1K || 1K.3- Added ICL7660 negative rail generator with our agreed diode + resistor reference which feeds 10K POT and 10R to ground. 10K wiper is V_bias while other pin is not connected since it is in variable resistor configuration.4- Power On diode is now available which takes its current from LM317.5- Panel meter shunt resistor is now connected as it should be.6- Added some caps here and there.7- Labelled power rails correctly. Vdd = DC input, Vcc = 9v, Vee = -9v, V_bias = negative bias from zeroing POT.8- Arranged Op-amps + MOSFETs circuitry in a civilized way (or so I thought) for easier reading.Looking forward to your remarks on the schematic, so I can dig into PCB right away.

author: Ian.M
author_rank: Super Contributor
timestamp: May 21, 2018, 12:10:18 am
content: I haven't spotted any obvious mistakes, but I haven't put hours into checking it.IMHO the modern trend in amateur schematics to make heavy use of net labels instead of drawing the actual interconnections is reprehensible and should be strongly discouraged. At it worst you get schematics that are nothing more than a pinout for every chip with a net label on each pin which are absolutely horrible to trace signals on except in the original schematic editor by hiliting the whole net. Fortunately yours is much better than that.I would break it down into far fewer sections. e.g:Draw straight through from the pot + full zero bias adjustment circuit, then the the current sink section (OPAMP, MOSFET, sense resistors and feedback loop), then paste three more copies of the current sink section below it with I_set as their input. The negative rail generator, positive regulator, DC in and power LED all belong together, which just leaves you with one block for the D.U.T. PSU and meter connections.I don't know if KiCAD has usable hierarchical blocks without having to set up a hierarchical sheet. If it has, it would be preferable to use them rather than having four clones of the current sink section.

author: VEGETA
author_rank: Super Contributor
timestamp: May 21, 2018, 09:08:34 am
content: I will try to re-arrange it if I have the time tonight. In terms of good schematics, can you mention few points to follow?I would rather prefer if you have any last thing or note on the schematic to say it now before digging into PCB. Probably I will wait for another day to be able to work on it.In KiCAD there are global labels and local labels. I've used global since they appear nicer and there is no other schematic embedded within this one. Instead of doing hierarchical schematics, it is better to have just another page right? I still don't know how to do that yet in KiCAD. I don't mean another .sch file but just another page within the same one.

author: VEGETA
author_rank: Super Contributor
timestamp: May 29, 2018, 10:30:42 pm
content: V_load v0.2it is updated schematic as we agreed above, kindly check it out.now it is less-newbie with wiring instead of labels... more organized blocks too.I will consider it final, to begin in PCB soon. Hopefully before Ramadan ends (~ 2 weeks) since I won't do a thing during feast.I still need to know how to define board shape in KiCAD as well as how to know the actual board size which depends on the case itself. I received the case but it is not with me now, I will get back home and then I may be able to measure it using my digital caliper.Aside from that, wouldn't putting some thermal vias help (even a bit) in thermal dissipation? just saying.EDIT: Fixed the PDF.

author: ledtester
author_rank: Super Contributor
timestamp: May 29, 2018, 11:23:11 pm
content: You might be interested in this kit:https://www.aliexpress.com/item/DIY-Kits-150W-10A-battery-capacity-tester-adjustable-constant-current-electronic-load-discharge-Test/32870007246.htmlThe schematic looks very similar to what you are doing (see attachment).Another forum member turned this kit into a completed project. You may be interested in what he and other forum members had to say about it:https://www.eevblog.com/forum/projects/upgraded-lm324-based-150w-72v-10a-electronic-load/msg1506610/Note, also, that the PCB has footprints for both TO-220 and TO-247 MOSFETS - this makes it easy to experiment with different load transistors.

author: VEGETA
author_rank: Super Contributor
timestamp: May 30, 2018, 09:39:50 am
content: Quote from: ledtester on May 29, 2018, 11:23:11 pmSeems like a nice project.However, I don't know how much voltage does the 10-turn POT outputs to LM324 in that project. Our project here has a disadvantage of having low current passing through the POT to negative rail which could result in induced voltage from the environment that affect reading.I couldn't figure out the voltage there, they seem to have TL431 reference (set to 2.5v?) then 22K + 10K pot? If you know please clarify.

author: ledtester
author_rank: Super Contributor
timestamp: May 30, 2018, 05:51:18 pm
content: It's advertised as a 10A electronic load spread out over the four transistors - so 2.5A per transistor.However, you can adjust the resistor values and pot to achieve a different range. In fact, you may need to do this as demonstrated in this video:Also check out his other videos on this project - they are very informative.

author: VEGETA
author_rank: Super Contributor
timestamp: May 30, 2018, 10:19:01 pm
content: I've got a new idea to try to eliminate the shielding if possible, which makes the project immune to RF stuff. It is in the picture below in attachments.Basically, instead of making the 10-turn pot has the 12uA current to set the output (which makes it weak vs RF as Ian said), now it has around 0.2mA of current (or even 2.5mA) which is x100 times better!!The only problem is the divider, how to get the 52R resistor. Maybe we could get away with 47R and then adjust the zeroing pot to make for it... I guess it will work.Waiting your opinion... I hope this really solves that issue or at least makes it weaker.The only downside is that we have to get TL431 to be 2.5v ref (can it be 2v?) and one LM358 op-amp since we need 2 op-amps and this IC has them. These items are very cheap and affordable. Maybe TL431 is not as famous as LM358 but still dirt cheap from China.

author: ledtester
author_rank: Super Contributor
timestamp: May 31, 2018, 05:43:09 am
content: By using a 2.5K resistor you can have the 10K pot tune a voltage between 0 and 2 volts using the TL431 as a 2.5 V reference.I think it's time to actually build sometime and test it to see where the problems are. Then you will have a better idea of where you should spend your time improving on the design.

author: VEGETA
author_rank: Super Contributor
timestamp: May 31, 2018, 06:11:08 am
content: Quote from: ledtester on May 31, 2018, 05:43:09 amYou are correct, I can use 1k + 1k to have 2k resistor -> 2.08A maximum which is a nice margin.My point from the last reply is to propose a solution to RF noise issue. I hope Ian gets some time to give his opinion since I am confident it solved the problem or at least made it less effective.

author: VEGETA
author_rank: Super Contributor
timestamp: June 01, 2018, 09:58:14 pm
content: As for heatsinks, I still didn't get them from my friend but they will arrive soon.I wonder if something like this works:https://alutronic.com/products/heat-sink-pcb-mounting/for-multiple-mounting/69/pr134/75/se/m3?c=1356or one of these for each mosfet:https://www.aliexpress.com/item/5pcs-lot-38x34x12-8mm-TO220-TO-220-heatsink-heat-sink-radiator-for-IC-triode-7805/32622932747.htmlwithout fan cooling? with fan cooling?Let's say one day this project got better and I want to try and make small quantity to sell, then I would need standard heatsinks that I could buy (not cut them).Remember that this is the case:https://www.aliexpress.com/item/Black-Extruded-Aluminum-Enclosures-PCB-Instrument-Electronic-Project-Box-Case-100x76x35mm/32813597400.html?spm=a2g0s.9042311.0.0.27424c4d0tvfpYit is very compact let me tell you but I do like it. That heatsink fits perfectly at the back of this case. If so, then fan cooling might be a good future addition especially if we could move the heatsink inside (get a slightly bigger case).In the mean time, dreams aside... I am getting ready to do the PCB in next week.

author: ledtester
author_rank: Super Contributor
timestamp: June 02, 2018, 04:13:31 am
content: You'll want to use a fan. It will greatly enhance the dissipative ability of the heat sink which means you can use a smaller heat sink.Have a look at how some commercial loads are built:---https://item.taobao.com/item.htm?spm=a312a.7700824.w4004-1173757744.2.51092a79IJ04Xg&id=567150768124That arrangement of heat sink and fan seems to work well.

author: VEGETA
author_rank: Super Contributor
timestamp: June 02, 2018, 06:24:16 pm
content: How about putting 4 heatsinks (to-220 one version) so one per mosfet? putting them near each other (mosfets facing each other) then put a fan at back panel to suck all air out. I guess this is the best I can do for now or the other solution is to put one big heatsink outside which would be ugly.The 4 heatsinks would be inside the case while the fan could be inside or outside. I could make holes in back panel so that air could escape and thus we get a completely enclosed project. I still don't have what it takes to decide since I didn't test anything.According to this project, we would have 15 watts per mosfet which means the heatsink must dissipate 15 watts. I guess these ones linked above can do the job without a fan so with a fan it should be much better.The bummer is that these Chinese ones do not have the temperature coefficient or even a datasheet of some sort!

author: VEGETA
author_rank: Super Contributor
timestamp: June 02, 2018, 07:08:27 pm
content: I found these ones which can fit inside the case:https://www.aliexpress.com/item/High-quality-3010s-30MM-30-x-30-x-10MM-12V-2Pin-DC-Cooler-Small-Cooling/32603431500.htmlPutting 2 of this one should be nice right? they come in 12 and 5v version so I don't know maybe 12v is better. The 0.13A consumption is too much though.

author: VEGETA
author_rank: Super Contributor
timestamp: June 02, 2018, 07:26:58 pm
content: The best one I found is this:https://eu.mouser.com/ProductDetail/Ohmite/FA-T220-64E?qs=sGAEpiMZZMttgyDkZ5WiumlCfl50RTwzVA%252bY4U4BtvA%3dit is 3 degrees per watt which means 3x15 = 45 degrees only. Say ambient is 30 -> 30+45 = 75 degrees without a fan! However they are pricey and I won't find them on Aliexpress so shipping to Jordan gonna be too much.

author: VEGETA
author_rank: Super Contributor
timestamp: June 03, 2018, 01:02:07 am
content: Here is latest simulation after adding 2k resistors to TL431 reference + my new circuitry mentioned above (LM358).I claim that this one solves the RF problem or at least make it less since now instead of 12uA current through our 10-turn POT (which is mounted on front panel), we have around 0.2mA which is more or less same as other designs including Dave's (5v on 10K but I have 2.5v on 10K).I made 52R to standard 47R then re-adjusted zeroing POT to make it exactly 1V per 1A.Looking for Ian's final opinion on this.

author: Ian.M
author_rank: Super Contributor
timestamp: June 04, 2018, 06:30:58 am
content: I'll try and take a proper look at it later today.First impressions:OPAMP U2 isn't needed - take the 1K:47R divider output straight to in+ of the current sink feedback OPAMPsSince you've now got a spare OPAMP, it would be best used in an inverting configuration to generate a precise and stable -0.5V rail for the zero adjust. Use 2x 10K in parallel from the 2.5V reference and 1K for feedback.Edit: I've now had a chance to look at it:I've reworked it, to improve the simulation, and have also used the second OPAMP in the LM358 to generate the zero adjust voltage. Hopefully I've included all the required symbols and models with the sim.I know you aren't particularly fond of my potentiometerVC symbol, however it really is the easiest way of #1 showing the part is a potentiometer or preset, not two fixed resistors, and #2 being able to sweep or step the wiper position, either for a .dc sim or with respect to time in a .tran sim.

author: VEGETA
author_rank: Super Contributor
timestamp: June 04, 2018, 11:28:02 am
content: Here is your modification, I did it quickly though. I tried it on 1.000A and it can be achieved but other values don't work with the same calibration.

author: Ian.M
author_rank: Super Contributor
timestamp: June 04, 2018, 12:11:33 pm
content: I've done a lot of tweaking of the sim this morning to get the full output range, good zeroing, and also to save supply current e.g. the LED + resistor now feeds the TL431 shunt regulator, as that needs about 10mA to regulate well.See attachments to reply #86. You may have to change some resistor values to get a suitable range for the zero adjust - see notes on schematic.By adding one SPDT switch, an input socket, and a 1K resistor and a pair of diodes for input protection, you can control the load from a function generator, or a low pass filtered Arduino PWM which opens up possibilities like automated discharge tests for batteries with datalogging or using it as a constant power or constant resistance load if you monitor the load voltage on an ADC channel.

author: VEGETA
author_rank: Super Contributor
timestamp: June 04, 2018, 06:44:56 pm
content: Quote from: Ian.M on June 04, 2018, 12:11:33 pmGood job re-arranging it, it is better now.############## your POT model ##############I don't hate it but I don't understand it. Now it is obvious to me that it relies on voltage to change resistance. I wish to understand how it is made.############ Zeroing POTs ############I don't quite understand R1 and R3, their values are standard but how they are mixed with RV2 and RV3?What I understand is that RV2 sets the negative offset via op-amp U6 which acts as an inverting op-amp. So it takes the gain set by R1 and R3 and inverts the signal coming from RV2 according to it... is this correct?But here RV2 still what truly changes the result so R1 and R3 are a fixed maximum limit to the offset?Also, RV3 is a bit vague to me, you say it is for making 1V per 1A. I see a divider formed by R10, R11, and RV3 while RV3 is outside op-amp U6 loop. You seem to put it as 100 ohms potentiometer so it is not the same as 10K pots used elsewhere which means I have to get 100R ones just for this.This is the one:https://lcsc.com/product-detail/Precision-Potentiometer_BOURNS_3296W-1-101LF_100R_C83688.html############# TL431 + diode #############Will 10mA be enough for this to work? I mean for the LED it is but for 2.5v shunt regulator output? especially that I would use 2 of 1K in parallel to get 500R instead of 470R since the later one is not used but here.I didn't quite understand D_TL437 thing as it seems to be yet another one of your special models. First, I thought you would put a zener diode as a model for TL431 since it doesn't have an official model. It won't matter much here since it is just a voltage source.################ Function generator ################I guess I will put an opening for it in the back or somewhere not visible since I won't be using it.If someone put more than 2v it would be bad. As for protection diodes, I thought of putting 1N4001/7 since they are available to me and others. As I understand its operation, if input voltage from function generator (or pot for some reason) exceeds 2.5v by 0.7v then diode will conduct. At the same time, it acts as a reverse protection.But this won't prevent someone from putting 3v or so as an input, then I wonder how the circuit will react.##########I will try to update the schematic in KiCAD probably tomorrow with this new update. I guess now we won't worry about RF issue anymore which is a big plus.

author: Ian.M
author_rank: Super Contributor
timestamp: June 04, 2018, 08:51:48 pm
content: First lets consider potentiometerVC.sub, which contains the voltage controlled potentiometer model:Code:* This is the potentiometerVC* _____* 1--|_____|--2* |* 3** 4 - control voltage*.SUBCKT potentiometerVC 1 2 3 4.func w()=limit(V(4),1m,.999)R0 1 3 R={Rtot}*(1-w())R1 3 2 R={Rtot}*w()R2 4 0 10G.ENDSAlthough its set up as voltage controlled, treat the control as a percentage wiper position: 0% -> 100% is represented by 0V -> 1V.All lines starting with * are SPICE comments. The .subckt line defines a component with four pins as a netlist between it and the .ends line. The pins are numbered nodes as shown in the comment. 0 is the universal ground node which isn't explicitly connected to the potentiometerVC symbol.The .func w() line sets limits for the wiper position. Even if you supply an out of range control to the pot (as voltage on pin 4:V(4)), the wiper stays within the track. As SPICE errors if a resistance is zero ohms, and a real pot has some track end resistance so it can never quite reach 0% or 100%, the function limits the wiper range to 0.1% to 99.9%. On a 10K pot that would leave 10 ohms between the wiper and the end pin at the wiper limits.The lines starting R are resistors.R1 3 2 R={Rtot}*w()defines a resistor of value: parameterRtottimes the wiper position, connected between pins 3 and 2. Similarly R0 defines another resistor that decreases as R1 increases, between pins 1 and 3 so that the total resistance of the track between 2 and 3 remains constant atRtot. Finally, R2 is a fixed 10 gigaohm resistor - virtually an insulator, which is needed to stop LTspice discarding pin 4 as an unconnected node.Zeroing circuit:R1 sets the maximum zeroing voltage, currently about +3mV. If in+ of U6 was grounded instead, the maximum zeroing voltage would be zero and the minimum would be set by the max input voltage from the preset RV2 times R3/100K, currently about 10mV, so the range is from +3mV to -7mV. R3 will need to be changed if the zeroing preset doesn't have enough range or is too sensitive. e.g increasing it to 820R would increase the zeroing range to about 20mV, which if R1 is unchanged would give you an adjustment range from approx +3mV to -17mV. Its actually a little more complicated than that, as the voltage on in+ doesn't actually directly add to the zeroing output, but as long as its small and R3 is much much less than 100K, the error due to over-simplifying the OPAMP maths is likely to be less than its offset voltage error.TL431:Sorry about the ****-up on the part number 'TL437' is bogus, it should be TL431.The recommended operating conditions for a TL431 are to have between 1mA and 100mA passing through it. As you can see, the sim shows 9.5mA. The 2.5V reference rail is loaded by 100K||10K||12K, which is about 5K, or 0.5mA. Increasing the LED resistor to 500R wont be a problem.The 'ideal' diode in the sim for the TL431 is to prevent the 2.5V voltage source providing any current to the 2.5V rail. (Not quite ideal as SPCE doesn't like zero or infinite resistances.) I can't really use a Zener there as the characteristic is very different to a TL431, which has a much sharper knee and nearly zero slope above the minimum current.RV3:RV3 + R11 form the lower arm of the divider (with R10) that scale the 0-2V from U5 down to what the current sinks need. You could easily rearrange this section to use a 10K preset. See attached image. If you need a fast step response however, you'll probably need to decrease C1 as well to keep the RC time constant low enough.Function generator:The input is protected against overvoltage by the 1K series resistor R4 and the 1N4148 diodes. Assuming a 1/4W resistor, it can withstand about +/-15V without immediate damage though, as the control voltage will only be clamped at 2.5+0.7=3.2V, the MOSFETs may overheat as it will try to pass 3.2A. Improving the protection to eliminate the possible over-current would make the circuit a *LOT* more complex.I wouldn't recommend substituting 1N400x power diodes as their larger junction capacitance will limit the transient response and their possibly higher leakage current could be a problem. Any small low leakage silicon diodes rated for 50mA to 100mA could be substituted.For the function generator or Arduino connection, you should use at least a four pin connector so you can bring out the source connection from ONE of the MOSFETS and also the drain - that would allow an Arduino to measure the actual voltage and current. The other two pins are current control voltage in and Gnd. It would be possible to use a 0.1" pitch rightangle header, preferably a seven pin one with pin 3 cropped (to avoid mistakes with the jumper or reversing the connector), and put a jumper on it on pins 1 and 2 to couple the pot knob to the buffer OPAMP rather than fitting a SPDT switch. The Arduino would also be able to read the control voltage from the front panel pot. The 7th pin is to provide the +2.5V reference to the Arduino.

author: VEGETA
author_rank: Super Contributor
timestamp: June 06, 2018, 12:15:33 am
content: Putting 100K followed by 10K pot will make the current in the 18uA range which reverts back to original problem, although here it is inside the board not on wiper itself. So keeping the 100R pot seems the sane solution especially that it is kinda common part as well as we'll be getting many parts so this one can be added to them. I just wanna know why you didn't use your POT model for this one? is it because it is a variable resistor not a traditional pot? or a "rheostat"? I see people in designs short the top pin with the 3rd pin (wiper) but I don't know how that is gonna work. For me, I use Pin 1 and pin3 while leaving pin 2 unconnected if I wanna use it as variable resistor.You spoke about R3 and the zeroing range, what do you mean it could be not enough? We need a safe area so that we won't resort to test different values after making the PCBs.voltage at R1 is about 4.5mV not 3mV. So increasing R3 to 1K will make the range even more, like more than 20mV? How can we know if it is enough or not?___Now, after say building it... I guess this is the procedure for calibration:1- make all POTs at 0. 10-turn one is easy but the others are not due to not knowing the direction.2- connect a multimeter as ammeter, adjust 10-turn pot to draw 10mA.3- try to draw 1mA and record 10-turn pot voltage.4- keep lowering it slowly until the point where its voltage is 0, now use zeroing pot to adjust the zero to be at that point. Test it after finishing and repeat until it is spot on.5- adjust 10-turn pot to exactly 1.00V -> use RV3 to make it 1.00A.Then:6- adjust panel meter accordingly since it should be calibrated... it must show exactly as the others.what do you think?

author: Ian.M
author_rank: Super Contributor
timestamp: June 06, 2018, 01:11:02 am
content: Currents in the tens of uA range are much less of a problem when they never leave the PCB (because that pot is a preset) and the layout is carefully arranged to minimise surface leakage and keep high impedance tracks as short as possible. However I agree that you should have a selection of presets. I keep a small stock of plain presets 1... 2... and 5... for all decades between 100R and 1Meg + a few multiturn presets between 1K and 100K.For simulation, its an unnecessary complication to use a potentiometer for a rheostat when a simple resistor will do - either setting its value manually, using a (possibly stepped) parameter, or a behavioural resistor expression likeR=10K*limit(V(wiper),1u,1). However if you are building an actual circuit, and are using a pot or preset as a rheostat, its advisable to link the unused track end to the wiper so it never goes open circuit due to dirt on the track or the wiper skipping slightly as you turn it.For calibration, initially set the presets midrange and the front panel pot at its zero end limit. Connect a 12V supply to the load terminals, either with a current limit set to 2.5A or with enough series resistance to limit the current to 5A if the load is shorted. Measure the current and adjust the zeroing preset until you get about 1mA. Measure the voltage at the wiper of the front panel pot, and increase it till its exactly 1V more than the initial value. Adjust the range preset for a current of 1A. Turn the front panel pot back to zero, check the current and readjust the zero preset to get it under 0.5mA without turning it any further from the 1mA position than you have to. Turn up the front panel pot till there is exactly 2V more on its wiper than at its zero position and carefully adjust the range preset for as close to 2A as you can get. Lock the range preset with a drop of nail varnish (not a metallic colour or black). You may well need to tweak the zero preset later so I would suggest *not* locking that one.The external input should then be calibrated to 1A per volt, though it wont be zeroed. If you want the external input zeroed, the circuit gets more complex and will need separate zero presets for cancelling out each OPAMP offset. IMHO its *NOT* worth it.The zeroing range you need depends on the exact make/model of your OPAMPs (for their datasheet worst case input offset voltage) and the front panel pot's max resistance between the wiper and the zero track end with it turned right to its zero limit. It is calculable but will be a PITA to do so. If initially you don't fit R2 and R6, and put links instead of R1 and R3, that will disable the zeroing circuit so you can make measurements to determine how much zeroing range you need (check the voltage at in+ of the OPAMPS driving the MOSFETs) with the front panel pot at zero and also with it switched to ext input and the ext input shorted to circuit ground) then you can select appropriate resistors and fit them.

author: VEGETA
author_rank: Super Contributor
timestamp: June 06, 2018, 07:58:51 am
content: QuoteSo safest option is using the 100R pot as the original circuit... which is the final choice.QuoteBut then it would take the full range if wiper fails... I will adjust schematic accordingly.QuoteBy "zeroing" you mean RV2?By "range preset" you mean RV3?I will try following up the steps, here it goes:1- RV1 10-turn POT = 0 position = 0R (or nearly).2- I connect the 12v supply as a DUT while having another 12v as DC_jack input.3- Current measured should be in the mA range, now I adjust it to get 1mA at a very low voltage (in mV?).4- I measure the voltage and it is about let's say 2mV (gives 1mA output).5- I adjust the wiper to 1.002V (or should it be at exactly 1.000V?).6- Now I adjust RV3 to get 1.000A (or 1.002A?).7- I return RV1 to 0 position, then adjust RV2 to get about <0.5mA. (what do you mean by "without turning it any further from the 1mA position than you have to"?)8- RV1 Wiper is now say 0.4mV voltage... I change it to 2.0004V (or exactly 2.000?).9- current should be near 2A but I use RV3 to make it 2.0004A (or just 2.000A?)10- adjust panel meter to see the current and voltage as the multimeters.is this correct?I have Aneng 8009 (and 8002) multimeters so I think it would be accurate enough.QuoteI won't include the feature of external input.QuoteI think I will keep your values for now. If I fail to reach 0v then I will think of another way.

author: Ian.M
author_rank: Super Contributor
timestamp: June 06, 2018, 08:10:30 am
content: If you are omitting the external input, you can simplify the range adjustment. Simply turn the front panel pot to max and adjust for fractionally over 2A.For the zero adjustment, its important not to turn the preset past the point at which the load current reaches zero as that will crate a 'dead' zone at the bottom end of the front panel pot's wiper travel, hence my recommendation to initially set 1mA with the panel pot at its zero limit, then tweak the preset till its under 0.5ma - near enough to zero current.

author: VEGETA
author_rank: Super Contributor
timestamp: September 21, 2018, 12:27:39 pm
content: Update: version 0.3I have made the agreed updates for this project, now we have another opamp and tl431.Please check it, now problem of rf noise is no more, and this will be more suitable as a whole.I am in the process of picking an aluminum enclosure and make the pcb.

author: VEGETA
author_rank: Super Contributor
timestamp: November 09, 2018, 01:21:03 am
content: this is probably the final version, hopefully.

author: VEGETA
author_rank: Super Contributor
timestamp: November 11, 2018, 11:35:08 pm
content: Should we adjust it further or proceed in this? I am about to finish routing it.