[sdiy] some more thermo chamber servo loop stuff...
Czech Martin
Martin.Czech at micronas.com
Mon Jun 2 15:27:06 CEST 2003
Over the weekend I could allmost complete the thermo chamber
controll circuit and tuning.
The Metex sample caturing software is invaluable for tracing
such slow movements. E.g.: the natural frequency of the heat chamber is
arround 0.01 Hz...
I also built a 11 step switch for 10, 15, 20, 25, ... , 60 deg C
plus a vernier pot with 5 deg range. I have made some provisions
to make this circuit very accurate and repeatable.
Now it is easy to repeat the same step response over and over again.
I've built also an electrical analoguous circuit that will model
the heat equations. It contains a current source (positive only)
as heat source two resistors and capacitors as heat resistance and
capcacitance and a fixed voltage source as ambient temperature.
I will publish the exact circuit later on.
Since most parameters are from estimations it can not be too ecxact.
But the basic behaviour is very well captured.
Simulation can offer a very substantial speed up.
Going from 25C to 60C in the real world will take 10min,
a simulation might get away with 1min (if it converges...).
One thing that is salient is the parameter dependency of the
chamber. If the temperature is low, it is very difficult to cool
down. If it is high, it is difficult to heat.
So a cut and try approach will not be able to cover all situations
without large over/undershoot.
Any undershot causes much problem, because the chamber will get
stuck in this situation for a long time, until natural
cooling will care...
It is therefore very clear that a heater only circuit can step up,
but has severe problems stepping down. Above 10C difference
to ambient this up/down problem is getting better.
A good thing to remember when building heated (ovenised)
circuits. A lot of the reported problems with heat control
can be caused by these simple facts.
The experiments at 2deg above RT (25C) and 55deg above RT
showed, that a PD (proportional + differential) controller
is a good start. In fact, since the gain is about 2000,
it behaves more like a nonlinear switching controller most
of the time. If the temperature is only 2C away, it becomes
linear.
I should mention that raising temperature will give more
and more temperature fluctuation. The reason is (I think)
that the chamber walls mutually differ in temperature and
also from the heater block temperature. Together with the
turbulent air stream this will cause "chaotic" temperature
variations up to 0.026 deg C peak. Also the sensor might
give more noise at elevated temperature. This is no
problem for the P part, but the D part will cause the
well know effect of roughness. Therefore I decided to
filter with 0.1 Hz bandwidth. A solid heat body will
of course not have turbulence problems.
It is very critical NOT to have any I (integral) part active
during the nonlinear phase. The reason is simple:
PID theory assumes linearity, this nonlinear phase will simply
overdrive the I part, and it will take a long time to recover,
with awfull overshot.
So I tested a swichable I part, which is reset during nonlinear
region and will be active only in linear region.
This was much better. Depending on the temperature setting,
it still would have some overshot.
I am looking for very little overshot. I want that once the
temperature difference enters some delta T, I must be sure that it will stay
there and not shoot out on the other side of the delta T hose.
Or: the temperature error should always get smaller and should not
oscillate.
Experiment shows that enabling the I part a bit later will improve
the behaviour very much. This can be interpreted as less I part
weighting. Looking closer to the curves I have measured the best
controller strategy now looks like:
Have a PD controller all of the time. It must not show any overshot.
This is pretty fast, but will give up to 1 degree error in the
higher ranges. This error depends on environment, voltage etc.
It is not predictable. Therefore:
Look if the controller works linear (perhaps
inside +-7V). If this is the case and if the differential
part is lower then some threshold (say 2V), activate the I
part (i.e. disable capacitor short). This will remove the
remaining error completely. Since the charging of the I part
starts in linear mode and when the system has lost most of
it's verve the overshot is almost invisible.
This is self adjusting in a way: the monitoring of
system speed (D part) will control when I part sets in.
Next I will finish the controller case and try out
the system with lower temperatures, i.e. 10C in the
peltier cooler I have bought.
I think this thing will be a good working tool when I return
from vacation in July.
I'm really looking forward to torture some transistors
or expo circuits in the chamber... ;->
m.c.
More information about the Synth-diy
mailing list