Pages: [1]   Go Down
Author Topic: decreasing resistance of pot using parallel resistor? (linearly!?)  (Read 2438 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Full Member
***
Karma: 0
Posts: 153
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:

http://www.projectguitar.com/tut/potm.htm

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.
Logged

0
Offline Offline
Faraday Member
**
Karma: 16
Posts: 2855
ruggedcircuits.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Say your pot (SVHS tape) resistance is Rtape. If you put another resistor Rpar in parallel with it the effective resistance will be:

Reffective = Rtape*Rpar/(Rtape+Rpar)

So, no, it's not linear.

--
The Aussie Shield: breakout all 28 pins to quick-connect terminals
Logged

Rotterdam
Offline Offline
Newbie
*
Karma: 0
Posts: 14
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

i am doing the exact same thing here

my first question is:

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?

then, my second question is:

my selfmade potentiometer needs to be 70cm long which will be 1750k (due to the videotape resistance)
in order to bring it down to 10k i would need:

10 = 1750*Rpar/(1750+Rpar)

my maths have gotten very rusty, how do i calculate Rpar ?
Logged

South Texas
Offline Offline
Edison Member
*
Karma: 8
Posts: 1025
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

2 choices - wire it up and see how it behaves. May work fine for what you need or do some reading on OpAmps and use the OpAmp as a signal conditioner.
Logged

United Kingdom
Offline Offline
Tesla Member
***
Karma: 224
Posts: 6614
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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:

1. 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.

2. 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.

3. Before calling analogRead, switch the multiplexer to the required channel, then do the delay as in the previous solution, then call analogRead.

4. Connect a capacitor of about 10nF between the analog input pin and ground.
« Last Edit: May 01, 2012, 10:46:09 am by dc42 » Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Offline Offline
Newbie
*
Karma: 0
Posts: 26
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

10 = 1750*Rpar/(1750+Rpar)

my maths have gotten very rusty, how do i calculate Rpar ?

I prefer the form 1/Rdes = 1/Rpar + 1/Rtape.

Therefore...
1/Rpar = 1/Rdes - 1/Rtape
1/Rpar = 1/10 - 1/1750
1/Rpar = 174/1750
1 = 174*Rpar / 1750
1750 = 174 * Rpar
Rpar = 1750/174
Rpar = ~10.05 kohm

Note: http://en.wikipedia.org/wiki/Resistor#Series_and_parallel_resistors Shows the forms are the same.  I just find this one easier to do the math with.
Logged

0
Offline Offline
Shannon Member
****
Karma: 206
Posts: 12179
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

[ I won't respond to messages, use the forum please ]

Pages: [1]   Go Up
Jump to: