??? 07/09/09 06:22 Read: times |
#166898 - How fast? How many bits? How stable input signal? Responding to: ???'s previous message |
You will never get a solution that is guaranteed to be monotonic when switching range. You can affect the amount of error, so you can affect the maximum jump (up or down) you may suffer when switching range. But it will never be zero. Even if you measure a constant current you will see that noise will make the last bit(s) if the reading jump up and down.
If you look at the datasheet of an ADC, you will see that the ADC may have a nonlinear error representing several ticks. This is an nonlinear error that you can reduce by a calibration curve (not just ax+b). But each range shift will move your location on the ADC curve. And depending on measurement current, your shunt resistors may not stay at constant temperature, unless you have them in tempered oil. Another issue here is how fast you must be able to make a reading, and how fast the current may change. Measuring a value that changes means that you must either have a sample-and-hold circuit or have a fast ADC in relation to the signal. And fast also means that it reduces your opportunities to perform multiple measurements and average them to reduce noise. Another issue - how big steps does a range-change represent? A factor 10 as in a normal DMM, or a factor 2 or something else? Yet another issue is that when you switch range, the steps in your data capture will be correspondingly much larger. That means that a 1-bit noise will jitter your value to a larger degree. |