[time-nuts] uC ADC resolution (was: Poor man's oven)
csteinmetz at yandex.com
Wed Jun 7 15:25:38 EDT 2017
> Assume me goal is to regulate temperer of an aluminum block to within
> 0.1C, how good must my ADC be? Is an effective 6-bits good enough?
> * * *If I scale the input to the ADC such that it os 1.0C from 0 to 63
> counts then each cunt is 1/64 C which is about 6 times better then my
> allowed error of 0.6 C.
The required number of bits depends on the range it represents -- it is
all about scale, as your second paragraph above seems to recognize.
You are right, 6 bits is enough to represent a 1C span to the nearest
1/64C. But that is not the whole answer. This representation will be
mapped to 64 steps of oven output. If the oven has very little power,
these can be reasonably fine steps -- but recovery from large errors
will be painfully slow. On the other hand, if the oven has normal-ish
power, the steps will be much too large to control the oven temperature
You need both sufficient range and sufficient resolution to accomplish
the task at hand. In reality, 6 bits will be *both* too coarse for fine
control and will also have insufficient range. Experience has shown
that 12 bits (actual, not nominal) is barely to not really enough to do
the job with real crystal ovens if you want fine temperature control
over a useful range of temperatures.
Consider digital audio. 6 bits is plenty to digitize audio to the
nearest 30uV (typical LSB value for CD-quality audio) -- BUT, only over
a 1.9mV range. Actual CD-quality audio requires one to maintain this
same resolution over a range of 2V, which requires 16 bits.
More information about the time-nuts