ADC resistor divider questions
photomankc
Posts: 943
I have been looking to build myself an expansion board for the RaspberryPi that delivers a few needed extras for my robot project. One subsection that I wanted to add was a bank of ADC inputs. Found a pretty nicely documented project that used the MCP3424 and went ahead and decided to pick up a few on my last DigiKey order. The circuit presented in that project though made stop to pause today. The ADC uses an internal 2.048V reference for the conversion process. The original project circuit uses a voltage divider [10K/6.8K] to make the inputs into a 0-5V range instead of the default 0-2.048V.
Ok cool. Except it made me stop and think. Lots of analog sensors are in effect voltage dividers that vary one resistance in response to some physical input. My understanding of resistor networks is not that good, but on paper it seems to me that feeding one voltage divider with another is not going to get the results you expect just looking at the sensor output voltage range. The final circuit really becomes more complicated with series resistance added at the top of the divider and parallel added across the original divider.
I'm thinking that by making that input a more friendly range it has limited the use of those inputs. I'm considering forgoing that and leaving them as-is but that means that it's up to the user circuit to get whatever the voltage range is down to 0-2.048V which is a bit of pain to use.
Am I over thinking that or would that in fact create voltages that would be different than expected if you just considered each divider separately?
Ok cool. Except it made me stop and think. Lots of analog sensors are in effect voltage dividers that vary one resistance in response to some physical input. My understanding of resistor networks is not that good, but on paper it seems to me that feeding one voltage divider with another is not going to get the results you expect just looking at the sensor output voltage range. The final circuit really becomes more complicated with series resistance added at the top of the divider and parallel added across the original divider.
I'm thinking that by making that input a more friendly range it has limited the use of those inputs. I'm considering forgoing that and leaving them as-is but that means that it's up to the user circuit to get whatever the voltage range is down to 0-2.048V which is a bit of pain to use.
Am I over thinking that or would that in fact create voltages that would be different than expected if you just considered each divider separately?
Comments
You could have both the "as-is" inputs and have a couple that have a specified voltage range, say 0-5V and 0-24V using built in voltage dividers (heck even with a 24V range, you have precision down to 92µV!)
The technical way of saying this is that you realize an ADC with an input resistance of 4k is less useful than one with near-infinite input resistance. The cure is an opamp
in follower-mode on each input to drive the dividers. For 24V that's a bit harder as a 24V capable rail-to-rail opamp might be quite hard to find.
But if all your sensors have a low output impedance its less important (a lot these days have a built-in opamp output stage).
But you can do it after the voltage divider and get good results. And then you can have the easily accessible low voltage opamps. I would even say it would be better after the voltage divider because a lot of ADCs put a small load on the input, which can affect readings if you have too much resistance in the voltage divider. Also the frequency that the ADC reads each channel can affect the reading if there is too much impedance.
Hope that helps a bit.
FF
The datasheet usually lists "input bias current" rather than input resistance. Input voltage error = source resistance x input bias current + input offset voltage (roughly speaking).
[ and output noise figure is likely to be an issue too ]