[time-nuts] Poor man's oven

Attila Kinali attila at kinali.ch
Tue Jun 6 17:36:09 EDT 2017


On Tue, 6 Jun 2017 11:00:57 -0700
Chris Albertson <albertson.chris at gmail.com> wrote:

> >
> > 1) You want the control loop as stable as possible
> > 2) Stability is directly related to controllability
> > 3) The larger the heat flow, the better the controllability
> > 4) therefore the outside temperature should be as low as possible
> 
> 
> I think you are correct but within reason of course.   It is easy to see
> that the extremes can't work. If the internal set point is very close to
> ambient the oven is uncontrollable.  because you only use the first bit of
> the DAC to control the heater and after a few seconds you have overshoot.

You are looking at one minor issue here. Of course, if your control loop
is only of the bang-bang kind, then you will have a hard time to keep
the system parameter stable. But that is easy to deal with if one knows
the overall system.

I was talking about the control therotical "controllability":
https://en.wikipedia.org/wiki/Controllability

For a simple system like an OCXO that is mostly dependent on
thermal mass vs thermal flow (both in and out) which translates
into "delay" between the heating element and the temperature sensor.
A lot of people assume that adding more thermal mass is going to make
the control more stable. But in reality this might make it unstable
(aka cause oscillations) or make the control error larger.
What happens here is that the mass takes time to heat up. During heat
up you can describe it like a (very slow) transmission line. It will
take time until the signal (heat) reaches the other end (center of the mass).
When the heat reaches the sensor, the control electronics will dial the heater
down. But there is still a heatwave traveling inwards, ie the core will get
warmer and warmer. Thus the heater will be dialed down more and more until
it doesn't heat enough. This will cause a cold wave traveling inwards..

Having a larger thermal flow vs mass helps against this problem.
Good thermal conductivity between heater and sensor helps as well.
(that's why you will read often, that the sensor should be placed
close to the heater and not to the quartz)

> The PID algorithm needs something that is slow to change
> compared to the control loop cycle.  So you want a good size thermal mass
> compared to the amount of heat.

The control loop does not need something slow to change. You need to
factor the termal mass, its insulation etc into PID parameters so you
get a stable loop. As I have shown above, if this is not correctly done
you will get oscilations. One way to avoid them, if your physical system
is fixed, is to lower the loop bandwith and thus make the system respond
much slower to changes than the time it takes to conduct the heat from
the heater to the sensor. But this means also that the control loop will
be slow to react to changes in the environment.

There are more sophisticated control loop designs that can handle this
better, eg by using two temperature sensors, one at the crystal and
one at the heater. But designing them correctly is more difficult
than the normal PID loop. 


			Attila Kinali

-- 
You know, the very powerful and the very stupid have one thing in common.
They don't alters their views to fit the facts, they alter the facts to
fit the views, which can be uncomfortable if you happen to be one of the
facts that needs altering.  -- The Doctor


More information about the time-nuts mailing list