Electronics > Beginners
DC dummy load circuit calibration
<< < (19/20) > >>
Ian.M:
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
.ENDS

--- End code ---
Although 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: parameter Rtot times 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 at Rtot.  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.
 
VEGETA:
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?
Ian.M:
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 like R=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.
VEGETA:

--- Quote ---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.
--- End quote ---

So safest option is using the 100R pot as the original circuit... which is the final choice.


--- Quote ---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.
--- End quote ---

But then it would take the full range if wiper fails... I will adjust schematic accordingly.


--- Quote ---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.
--- End quote ---

By "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.


--- Quote ---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.
--- End quote ---

I won't include the feature of external input.


--- Quote ---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.
--- End quote ---

I think I will keep your values for now. If I fail to reach 0v then I will think of another way.
Ian.M:
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.
Navigation
Message Index
Next page
Previous page
There was an error while thanking
Thanking...

Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod