On Nov 5, 9:37*am, "Frank W." <frankw_use...@mailinator.com> wrote:
> Is there a control engineering expert here?
Yes.
> Since all PID temperature controllers have Autotune, there must be a
> solution for this problem.
Some auto tuning algorithms are pretty crude and I think some
companies implement the simplest auto tuning algorithms just to say
they have one. It is a marketing thing. How are the customers to
know the difference? If they knew the difference they wouldn't need
the auto tuning.
> Any ideas?
Turn down the gain for one. It looks like the control output , gray
bar, amplitude is variable and not a simple on/off SSR.
Because the plant responds so quickly to the output I think the PID
update time should be faster but then the lack of resolution
will be a limitation. Using the derivative gain may be handy to but
again the lack of resolution will be a factor.
A tried and true method is the feed forward. If one know how much
control output is require for every temperature then one can compute
the control output and be with a percent or two without even using the
PID gains. The PID gains are just used to correct for errors in the
feed forward predictions.
You should be able to get very close with a feed forward and a
proportional gain. The integrator will simply remove the last bit of
error.
Auto tune works great when the plant matches the model AND the system
is properly excited. If not then auto tune doesn't work so well. Are
the water levels in the boiler constant? If not can the water level
be detected? Obviously the temperature will rise more slow or not as
fast if the boiler is full of water as opposed to being empty.
Does the tuning need to be better for a coffee machine? Manual tuning
should be easy enough.
When I get serious I prefer to make a model of the system. The
excitation requires a few steps in the control output. The steps
should be big enough so the response is clearly more significant than
the noise. The dead time should be clearly visible and the same goes
for the rise time. One can often get the plant gain, time constant and
dead time by inspection. If not then one must log the control output
and the response. Then one fits a FOPDT or SOPDT model to your coffee
machine. I do this using Scilab's optim or lsqrsolve. Then one goes
to the
www.controlguru.com site and uses the IMC, internal model
control, equations there for computing the gains. For a FOPDT
Kc=t1/((tc+dt)*K)
ti=t1
Where:
Kc is the controller gain. It should have units of %output per
degree.
ti is the integrator time constant which is usually in minutes.
t1 is the plant time constant
dt is the dead time
K is the plant gain. This has units of degree per % control output.
tc is the closed loop time constant. tc is made smaller for more
aggressive tuning and longer for more conservative tuning. The value
for tc is dependent on the plant time constant and dead time. The
formula for tc on on the
www.controlguru.com site.
You can see from the equation that the dead time reduces the gain.
Also, if the plant gain changes due to the water level then K will be
a function of water and the controller gain will then be modified as a
function of water level.
Kc=t1/((tc+dt)*K(WaterLevel))
I would start here. Once the plant gain, time constant and dead time
are know there are other options. On the
www.controlguru.com site
there are formulas for adding the derivative time constant td. One
can also implement a Smith Predictor. A Smith Predictor isn't that
hard to implement. The hard part is finding the plant parameters.
I talked to someone else on the phone about making a high end coffee
or espresso machine a few months back. Our product was gross overkill
but would have made a nice research tool.
Peter Nachtwey