I'm on voltage dividers circuits for reading some sensors that changes their resistance (force sentive resistor).
With my tester (with input scale set on 200K ohms) I read 23 if sensor is not touched and 65 if the sensor is touched at maximum.
Now, I'm trying to read it with a microcontroller and with a 220 ohms resistor (red red brown) i read values from 7 (not touched) to 1 (touched). With a 1000 ohms (brown black red) i read values from 40 (not touched) to 15 ( touched).
I would like to get the best from this sensor and this microcontroller (it could read analog values from 0 to 1023) and I want to calculate the best resistor for get the best result and the biggest range of values i can.
Can someone point me out?
Best Answer
Ah, I once wrote an absolutely fantastic answer :-) for that!
I found that you get the maximum output range if the series resistor is equal to
\$ R_S = \sqrt{R_{MIN} \times R_{MAX}} \$
You'll have to admit that this just looks beautiful. So for your sensor that would be
\$ R_S = \sqrt{23 k\Omega \times 65 k\Omega} = 39 k\Omega\$
If you feed the resistive divider with the ADC's reference voltage you'll get readings of 380 and 640 for 23 kΩ and 65 kΩ, resp. That's a range of 260 discrete values, or a 0.4 % resolution. You can't get better than that without amplification or a higher voltage difference across the resistive divider.
Note that using the same supply for the divider and the ADC's reference the reading is completely independent of voltage variations!