[time-nuts] uC ADC resolution (was: Poor man's oven)
phk at phk.freebsd.dk
Sat Jun 10 15:59:10 EDT 2017
In message <017AC7D5-751B-4084-A3B3-E5132509C180 at n1k.org>, Bob kb8tq writes:
>You may well use a custom set of control parameters for the warmup phase.
The easiest way to avoid overshoot is to use a properly damped PI(D),
which is _exactly_ the same thing you want once you are out of the
warmup phase, so why bother with two different code paths ?
But related to this is the question of output/heater resolution.
While it is tempting to use a PWM output, it is a recipe for noise
injection, and I would not even try it.
Delta-Sigma strategies for spreading the noise-spectrum are
interesting, but will not save you if the required heater power
ends up being a small rational fraction (1/2, 1/3, 1/4 ...) of the
So a proper DAC is called for.
I wonder if a "4-20mA" DAC like the AD5421 is a usable programmable heater ?
 It is relevant to point out that, as *always* the 'I' term
should not be enabled until the P(ID) *output* is no longer clamped.
Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG | TCP/IP since RFC 956
FreeBSD committer | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.
More information about the time-nuts