temp control problem

Can someone give me some quick pointers on this?
I have a device which mounts in a furnace and is cooled by compressed air. The compressed air (controlled by a proportional valve) blows on
a block of steel at the hot end of the sensor. This block of steel has a thermocouple embedded deep inside. A simple single input, single output system.
The problem I have is that PID just can't seem to control the temperature well. I always end up with oscillations of at least 10-15 deg F. I have tried autotuning software (Labview PID vi's), hand coded PID based on opto22 control manuals, manual autotuning procedures and even a dedicated Omega CN9000 autotuning temperature controller. None of these do well at all (the Omega was the best but still had wild fluctutations of air flow rate instead of just a constant rate with small corrections).
The system has a long dead time - on the order of about 20-25 seconds between when the air comes on and when the thermocouple detects a change in temperature of the block (thermal capacitance).
Why is this so difficult to control? Is there something other than PID that would better address this problem? Or can someone recommend a procedure I can undertake to better understand the system?
Any help would be greatly appreciated!
Add pictures here
✖
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Darths Jordan wrote:

The two outstanding difficulties are asymmetric control and long and asymmetric thermal lags. The system is far from linear.
The rate of cooling can be controlled at the surface by the amount of air flow, but the heating isn't under your control at all. The rate of change at the thermocouple is only loosely related to the rate of change at the surface, and the time lag between the two temperatures is of the order of the oscillation period you observe. You can solve this, but not with a classical PID. To begin with, you need an additional sensor.
A second thermocouple embedded closer to the surface will allow you to infer rates of cooling. (In controllers for muffle furnaces, some derivative effect can be had by partly withdrawing the thermocouple into the firebrick, thereby moving it closer to the source of heat.)
Model the thermal properties of your block and thermocouple(s). The best results will be had by using the model directly as part of the control program, but it might provide the insight you need to do good control without it.
One observation that might be useful: thermal lag limits the frequency that your thermocouple can produce to very low values. Correspondingly limiting the rate at which the airflow can change might help stability. A second thermocouple closer to the surface will provide not only the gradient information that you need, it will be able to change faster and so make hither control frequencies useful.
Jerry
--
Engineering is the art of making what you want from things you can get.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  Click to see the full signature.
Add pictures here
✖
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Darths Jordan wrote:

Have you yet tried to tune the loop manually?
If you put the air control valve in manual, does the temperature eventually reach an equilibrium temperature that seems to be related to the air flow?
What are the tuning variable units for your controller? E.g. Proportional band or gain, integral gain or time? If time, seconds or minutes? Derivative gain or time?
--
John Popelish

Add pictures here
✖
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
wrote:

yes - open loop seemed to get closest
1. Put the controller in manual mode, set the output to a nominal operating value, and allow the PV to settle completely. Record the PV and output values.
2. Make a step change in the output. Record the new output value.
3. Wait for the PV to settle.
P (Percent) = 80*K*Td/T I (Minutes) = 2.0*Td D (Minutes) = 0.5*Td
Where K = change in output / change in PV T = time constant Td = dead time

yes - it does asymptotically approach a constant value after ~3-4 min

Add pictures here
✖
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Darths Jordan wrote:

Your tuning is pretty aggressive. Start with I=2*process open loop time constant (it will settle slowly, but the integral will not be involved in the problem).
Start with P at something like 100% and work down by multiplying that 70% for each trial. When the output starts to wobble its way to equilibrium, instead of settling from one direction, stop and back up one step. Then start stepping I by 70% factors till the same thing happens to the output. And back up one step.
Then you can see if your estimate for Td is helpful or not. If oscillations occur at a few dead times, you have too much derivative.
--
John Popelish

Add pictures here
✖
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Darths Jordan wrote:

Clearly, the controller's response is too prompt. Slow it down to more closely match the thermal lag from airflow change to sensor response.
Jerry
--
Engineering is the art of making what you want from things you can get.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  Click to see the full signature.
Add pictures here
✖
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Jerry Avins wrote:

I would agree with Jerry that the system is significantly nonlinear - yes even asymetrical, but not critically so - provided that there is always some air cooling present during operation. I have some ideas on how to linearize the relationship between air valve signal and cooling effect. Once this effect is linearized, you can go further.
Jerry's comments on modeling and additional measurements also ring true. If you can't move the present measurement, then without the additional measurement you would remain dependent on high-order feedback control, being always very nervous, if tuned to be accurate under disturbance conditions.
If you implemented separate feedforward compensation based on an additional measurement, you would be able to significantly de-tune feedback control, then maybe PID would be entirely successful.
Design of the feedforward compensation would require additional linearisation of the heat transfer relationship involving furnace temperature and the new measurement. A few simple assumptions on heat transfer modes (with two or three steady-state measurements) would allow a simple model to be implemented to sort this nonlinearity out.
A lot more detail could be filled in - though not likely to be all relevant without knowing more about your specific problem. I would be happy to correspond to solve your problem - either privately, or here.
John Stiekema BSc (Eng) (Mech), GDE (Elec) j dot stiekema at ee dot wits dot ac dot za
Add pictures here
✖
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Just to add a little to much of the sensible advice already given by others:
Darths Jordan wrote: "The system has a long dead time - on the order of about 20-25 seconds between when the air comes on and when the thermocouple detects a change in temperature of the block (thermal capacitance)."
It is important to distinguish between two types of time-delay: 'dead-time' (as mentioned) is a pure time delay, like a transit delay on a conveyor belt; while 'dynamic lag' relates to the exponential response that is characteristic of systems that can be described by differential equations, such as thermal hold-up or capacitance (also mentioned).
If the time delay is primarily one of lag, then setting the integral action time to approximately the value of that lag, then adjusting the proportional gain, is a good starting point (as others have suggested). If, however, there is significant dead-time (transit delay) - which seems unlikely from the description, then a dead-time compensating approach may be needed. However 'significant' in this context means the dead-time exceeding, say, 50% of the time-constant of the dominant lag.
Kelvin B. Hales Kelvin Hales Associates Limited Consulting Process Control Engineers E-mail: snipped-for-privacy@khace.com Web: www.khace.com
Add pictures here
✖
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

------------------------------------------------- Ted Rubberford. 'The Man In The Red Latex Skintight Suit'
Add pictures here
✖
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Mon, 13 Dec 2004 11:40:17 -0700, Darths Jordan

How about trying a watlow F-4 controller with cascade control where you have two thermocouples one embedded and one on the surface . Just a thought.
Add pictures here
✖
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Barr wrote:

Just a guess: shallow embedding will work better than surface mounting. The closer to the surface, the more the effective derivative component. There can be too much of a good thing.
Jerry
--
Engineering is the art of making what you want from things you can get.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  Click to see the full signature.
Add pictures here
✖
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Jerry Avins wrote:

Would that be more related to the life of the thermocouple, than anything else, Jerry?
John
Add pictures here
✖
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
jsp wrote:

Life is an issue I didn't address. Moving a temperature sensor closer to the heat source introduces some "anticipation" into its indication. That's what a derivitive term does, but an actual differentiator introduces more noise. An embedded sensor sees the (leaky) integral of the heating history, and needs either a fair amount of compensating derivative or a limit on the output speed that makes the integration's inherent lag insignificant.
Jerry
--
Engineering is the art of making what you want from things you can get.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  Click to see the full signature.
Add pictures here
✖
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Darths Jordan wrote:

You can try to overcome this delays with a Smith controller, it works well with even long delay times. You will need a model, however.
rgrds, LL
Add pictures here
✖
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.