Resistance measurements on the Javelin
Pyrotom
Posts: 84
My application for the Javelin requires measuring small resistance values (0-200 ohms) with reasonable accuracy. I'm not really an electronics expert, but I think I understand this reasonably well. The resistance measuring circuit in chapter 9 cannot be used as shown for low resistances because the voltage divider created by the 220 ohm resistor and the device under test will never let the voltage on the capacitor rise to above 2.5 volts.
So I moved the 220 ohm resistor to be in series with the value to be measured, thus still protecting against a short to ground, but letting the capacitor discharge. This works, but the total resistance is low enough that the 1 uF capacitor charges so fast that the RCTime count is not high enough to get any precision on my measurement. So I switched to a 68uF tantalum capacitor. Now I get high enough counts to get the precision I need, and all would seem happy.
The problem is repeatability. If I run the test 20 times, about 15 or so of the counts will be quite consistent, but the others will be off (usually low) by quite a bit. Why is this happening? Is there anything I can do about it (other than taking a lot of measurements and throwing out the outliers, which I'm reluctant to do because it really slows things down, and I need to check a whole lot of values)? Am I on the right track at all for measuring small resistance values?
So I moved the 220 ohm resistor to be in series with the value to be measured, thus still protecting against a short to ground, but letting the capacitor discharge. This works, but the total resistance is low enough that the 1 uF capacitor charges so fast that the RCTime count is not high enough to get any precision on my measurement. So I switched to a 68uF tantalum capacitor. Now I get high enough counts to get the precision I need, and all would seem happy.
The problem is repeatability. If I run the test 20 times, about 15 or so of the counts will be quite consistent, but the others will be off (usually low) by quite a bit. Why is this happening? Is there anything I can do about it (other than taking a lot of measurements and throwing out the outliers, which I'm reluctant to do because it really slows things down, and I need to check a whole lot of values)? Am I on the right track at all for measuring small resistance values?
Comments
regards peter
I uploaded the circuit as resistance.gif using the Attachment manager - I hope that it works!
You know that Vadc = (adcvalue/256)*VCC
Substituting in your formula gives
Runknown = 100*adcvalue/(256-adcvalue); no division by zero possible (adcvalue = 0-255)
For adcvalue = 128 (0.5*Vcc) you get of course Runknown = 100.
regards peter
You can increase the 10K resistors to 22K giving the same
accuracy·as with 100 ohm and 10K resistors.
regards peter
Runknown = ((110*adcvalue)/(256-adcvalue))*2;
Then you don't need to shift.
regards peter