howdy. i am using salvaged SVHS tape as a potentiometer. for this question, please pretend i am talking about an especially high resistance potentiometer (greater than 2000k).
i am looking to get this pot down to a much more reasonable resistance spread for use with the arduino. i googled this and found this website:
i have not yet been able to test this, but i wanted to know if doing this type of thing would result in a linear down-step of the potentiometer whose resistance i am lowering? it is linear to begin with, will it be linear after the conversion? i'm away from my lab so i can't test this.
Newk:
what is the maximum resistance the analog inputs can read from?
i have seen examples of 10k potentiometers all over, is that what it needs to work?
The datasheet recommends a source resistance of 10K or less for the analog inputs, however it gives the input resistance as 100Mohms typical. This means that you can get away with much more than 10K if the input you are measuring does not change very fast. 1750K should be no problem. However when using a source resistance greater than 10K, you are liable to get unstable readings which depend on what other analog inputs you have read recently, because of the time that the internal sample capacitor take to charge through the source resistance. There are a number of ways to avoid this, any one of the following will do:
Call analogRead twice on the pin with the high source resistance, and use the second reading. This is the simplest but slowest method. If the source resistance is more than about 200K then I recommend putting a delay between the two calls as well.
Modify the analogRead code in wiring_analog.c. Look for the lines:
// without a delay, we seem to read from the wrong channel
//delay(1);
and insert a delayMicroseconds(...) call at that point. I have found that a delay of 10us works well for source resistance of up 100K, and a little over 100us is sufficient for a source resistance of 1M. I normally use a modified version of this file that allows me to insert a configurable delay that this point.
Before calling analogRead, switch the multiplexer to the required channel, then do the delay as in the previous solution, then call analogRead.
Connect a capacitor of about 10nF between the analog input pin and ground.
This whole thread seems misguided. If you are using a potentiometer to measure the position of the wiper by putting 0V at one end and 5V at the other then adding a parallel resistor is nonsense. It only increases the current taken from the 5V supply with no other effect.
You could add a parallel resistor from the wiper to ground, but the device becomes highly non-linear, so you won't get the result you want.
The correct answer is use the analog inputs as is, add a 10nF capacitor from wiper to ground, and it will just work - the 10nF will have a low enough impedance to drive the ADC without any need to double-read or delay.