08-13-2013 05:31 AM
Hi
My goal is to control a temperature via a valve and heat exchanger. I have process variable (temperature) measured from a pipe. This temperature needs to be raised a few degrees with a heat exchanger. So basically I need to control a valve that allows water to flow through this heat exchanger in order to raise the measured temperature to a desired level.
My original plan was to use a basic PID control to operate the valve. However there is about 0.5-1 minute time delay in the temperature sensor after I open the valve thus raising the temperature. This induces a situation where the PID control has the valve fully open during this time delay (trying to get the temperature raising). Then once the temperature starts raising it raises pretty fast. The PID starts closing the valve almost immediately but because of the time delay in the sensor, the temperature overshoots severely. This leads to severe oscillation and in worst scenario to unstable process. I have tried to tune the PID control to "predict" the time delay in order to close the valve well in advance to minimize overshoot but haven't been successful.
I would really appreciate if someone has any ideas how to achieve this type of control with Labview PID functions. I am also wondering if there is a better type of control procedure for this scenario than a PID control?
-Lars
Solved! Go to Solution.
08-13-2013 12:31 PM
This is a very common situation in heater control, and usually PID can be tuned to make it work. How are you doing the tuning? If you're doing it through trial and error, you're unlikely to be successful. For a slow process with time delay I like to use the Cohen-Coon method, or the similar Ziegler-Nichols open-loop method. The idea is that you temporarily remove or disable the PID. Set the valve at a fixed position and wait for the temperature to stabilize. Then, change the valve setting and record temperature data at regular intervals until the temperature is again stable at a new value. Use this data to get initial PID values from the equations provided by the tuning method you choose.
08-14-2013 04:48 AM
The Cohen-Coon method worked for this heater control. Thanks for your reply!
08-22-2013 06:00 PM
If you need better performance than you can get from a well tuned PID controller for a system with a long time delay - then using a model-based control like a Smith Predictor may help. Feedforward can also help in time delay systems if you problem has changing setpoints or measured disturbances.
However, sounds like a well tuned PID has been enough here ...
01-15-2020 10:26 AM
@nathand wrote:
This is a very common situation in heater control, and usually PID can be tuned to make it work. How are you doing the tuning? If you're doing it through trial and error, you're unlikely to be successful. For a slow process with time delay I like to use the Cohen-Coon method, or the similar Ziegler-Nichols open-loop method. The idea is that you temporarily remove or disable the PID. Set the valve at a fixed position and wait for the temperature to stabilize. Then, change the valve setting and record temperature data at regular intervals until the temperature is again stable at a new value. Use this data to get initial PID values from the equations provided by the tuning method you choose.
Would using self-optimization to tune PID values work in this case?