Hi,
On 06/10/2017 09:59 PM, Poul-Henning Kamp wrote:
--------
In message <017ac7d5-751b-4084-a3b3-e5132509c...@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.
A proper DAC is clearly called for.
PWM is worst possible waveform, as it puts highest amplitude to the
lowest frequency etc, thus it has a 6 dB/Oct roll-off. I once decided to
move the spectrum components around so that the MSB has the highest
frequency and LSB the lowest. With a simple one-pole filter this creates
overtones of even amplitude. I used this to cram a few more bits out of
a DAC, with really good result.
The sigma/delta approach is even better in doing this, even if my
approach gets similar results, with a fairly crude approach.
Cheers,
Magnus
_______________________________________________
time-nuts mailing list -- time-nuts@febo.com
To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.