Current Drift
My home-made constant current load can (according to my Keysight 34461A) draw a constant current that varies by less than 1mA. At the moment the calibration is off so it always draws 1mA more than it should (but I don't care).
I noticed that when drawing 1A the reading taken by the lab supply varies by as much as 5mA, Similarly when the lab supply is in current limit, the output current will vary by the same amount roughly.
On my board I have the PTC fuse right next to the shunt. I thought this could be heating up the shunt and throwing the readings off. I attached a thermocouple to the shunt and the temperature did vary with load but by no more than a degree C. I removed the PTC and replaced it with a wire for now to see if this changed anything and it did a little although as the shunt resistor is rated at 20ppm/C it should effect it much at all.
With the dummy load set to draw 1A I measured the voltage on the shunt resistors and got this graph:
The 25uV variation equates to about 2.5mA on the reading and 250ppm if the temperature is only varying by 1 degree.
With the supply set to limit the output to 1.5A, here is the output current over time
So it is varying by 6mA which is way more than my 1mA budget.
Thermoelectric Effect
The thermoelectric effect is where a small voltage is generated across a metal junction as a result of the temperature of the metal. The heat is effectively converted directly into voltage.
I found out that for some metals this can be as much as 10uV/C. Given I am only seeing 25uV changes this could well be down to this effect.
The metal strip resistor I am using is a Welwyn OAR3 but unfortunately the datasheet doesn't specify the thermoelectric coefficient.
Hunting for a Solution
My first thought was that if I increase the resistance from 10m Ohms to say 50m or 0.1 ohms then the thermoelectric effect will be greatly decreased as a proportion of the overall voltage. The downside is that then the resistor has a much greater voltage drop but also consumes much more power.
I ordered some other size resistors and began experimenting with the circuit in LTSPICE - mostly to ensure I had the calculations correct for the feedback resistors on the op amp that measure the current.
While fiddling around I noticed that with 50m or 0.1 ohm that when the system went into current limit the output would oscillate - in fact the current measurement would oscillate. I messed around trying to add compensation and slow things down but the only thing that would change the situation was to reduce the output capacitance but that effects the voltage stability.
I considered just living with the problem and calibrating the system for the steady state current with the assumption that it could take 20s to get there. This seemed a real shame as the rest of the system was just so precise. For example I measured the voltage on the current sense resistor in current limit mode and it varied by no more than 2 or 3 microvolt over a short period. The current control loop is *really* impressively good.
Better Shunt Resistors
So then I went looking for some better current sense resistors. There are four terminal surface mount ones but the ones with lower temperature co-efficients also tend to be lower power. Many of these specify a thermoelectric voltage of 2 or 3 uV per degree C.
I found these ones from Vishay which are outstandingly good but not cheap ($10USD from digikey in single quantity). They have 2ppm temperature co-efficient, less than 0.05uV/C thermoelectric voltage. They have 4 wire sensing and are generally totally kick-ass all round.
I will probably have to spin a new board before I can test these however.
No comments:
Post a Comment