[time-nuts] uC ADC resolution (was: Poor man's oven)

Poul-Henning Kamp 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[1].

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
full scale.

So a proper DAC is called for.

I wonder if a "4-20mA" DAC like the AD5421 is a usable programmable heater ?

[1] 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 mailing list