[time-nuts] uC ADC resolution (was: Poor man's oven)
kb8tq at n1k.org
Sat Jun 10 22:45:58 EDT 2017
One of the bigger unknowns in all this is how tight your control point needs to be held
in order that your crystal only sees 0.1C. So far we have sort of assumed that the
control point and the crystal see the same thing. That’s never the case.
If the outside temperature goes from -30 to +70 (100C range), a 0.1 C change would
be a thermal gain of 1,000. A +/- 0.1 C change would be a thermal gain of 500. Both
are pretty respectable numbers for a basic single oven.
It is not at all uncommon to see references to “0.0001C temperature control” (or some
looney number) on ovens that obviously do not have a thermal gain of much over 100.
Yes, those references were a lot more common 40 years ago than they are today. The
take away is that often set point control is much tighter at the sensor than at the crystal.
It is not uncommon for people to ask “what is the control at a constant ambient (room
conditions maybe). The answer is inevitably a very small change. If your room varies
by 1 C and you have a thermal gain of 1,000, the oven changes by 0.001C. If your room
changes by 0.1 C then the oven would change by 0.0001 C. Inevitably the phrase “plus
circuit noise” needs to be added in there somewhere as the numbers get ever smaller.
ADEV is a more common way to look at controller noise than TC.
As I keep pointing out, there are some good papers on all of this. I claim absolutely
no original insight in any of the above.
> On Jun 10, 2017, at 9:11 PM, Hal Murray <hmurray at megapathdsl.net> wrote:
> albertson.chris at gmail.com said:
>> I say "effective" because we can dither the low order bits to gain maybe 6
>> effective bits form 4 real bits (we can filter the switching noise from a
>> low frequency dither)
> It's hard to filter low frequencies and the more bits you gain by dithering
> the lower the filter you need and the closer in the spurs move.
>> Lets say my goal is regulation within 0.1C. After filtering I have 10
>> "good" bits in my ADC. That is 1024 counts. My set point is S.
>> I scale the ADC so that 0 == (S - 0.5) and 1023 == (S + 0.5) This means
>> that each ADC count is 0.001 degree C and within the 0.1C range there are
>> 100 ADC counts.
> That's not enough to describe the system so you can decide if it will meet
> your 0.1C goal.
> You also need to know the sampling rate, the delay time from heater to
> temperature sensor, the PID parameters, and maybe the rate of change of the
> environmental temperature and the delay from the environment to your system.
> ("delay" should probably be transfer function or impulse response but a
> simple exponential is probably good enough.)
> These are my opinions. I hate spam.
> time-nuts mailing list -- time-nuts at febo.com
> To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
> and follow the instructions there.
More information about the time-nuts