Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

General PID question 1

Status
Not open for further replies.

famousness1

Aerospace
Jan 20, 2011
4
0
0
US
Excuse my ignorance on the matter, but I just want to double check a concept that is currently being employed.

I have inherited a temperature control system using a PID controller. Basically a Peltier with a temperature sensor mounted on it.
My need is to change the temperature various times (ex. go from 20°C to 100°C to 50°C to 90°C to 50°C...etc) in relatively short time periods.

Right now whenever I change the set point the integrator error term is not being reset and control (ramp time/overshoot) seems more difficult than it should be because it is influenced by the previous set point and the errors associated with it. I have searched around and cannot find much literature on PIDs and multiple step changes, but I would assume the desire would be to have the integrator error reset.

So my question is: Should the integrator error term be reset for each step change, and if not, why? Or point me in the direction of some literature regarding this issue.
 
Replies continue below

Recommended for you

I don't know whether it should or not, but for decades, Honeywell single loop controllers have had a PID-B whose operation is integral-only response to setpoint changes; otherwise, PID-B runs like the regular PID-A. So some thermal control must like an integral only response.

The 1/4 DIN Honeywell UDC 2500/3200 controllers have an optional digital input function where a contact closure on the digital input disables the integral action, presumably by setting it to zero and not enabling any further integration.

I don't know how widely marketed the reset-inhibit function is, but you might see what's available with a digital input option.
 
If you mean reset to integrator to 0 that is wrong.
There are different forms of PID. For temperature control you should look to see if your controller has an option to apply the integrator gain on the error but the proportional and derivative gain on the change in the PV.

I call the form where the P and D gains are applied to the change in PV the I-PD version of PID since the P and D gains are only applied on the negative feed back.

Peter Nachtwey
Delta Computer Systems
 
I agree with Peter. The integrator's value is the only thing holding the temperature at the setpoint when the system is in a stable steady-state where temperature and setpoint are equal. To reset its value to zero on a setpoint change would eliminate a large portion of the PID's output. I also concur with using an I-PD form if that algorithm is available to you.

xnuke
"Live and act within the limit of your knowledge and keep expanding it to the limit of your life." Ayn Rand, Atlas Shrugged.
Please see FAQ731-376 for tips on how to make the best use of Eng-Tips.
 
Thanks for your input, but I must of not been clear in my OP. I am not looking to change the K[sub]p[/sub], K[sub]i[/sub], or K[sub]d[/sub] gain values (although I do have the option to at any point).

If the equation is:

e[sub]p[/sub] = proportional error
e[sub]i[/sub] = integrated error
e[sub]d[/sub] = derivative error

f = K[sub]p[/sub]*e[sub]p[/sub] + K[sub]i[/sub]*e[sub]i[/sub] + K[sub]d[/sub]*e[sub]d[/sub]

All the errors are initially zero.

After the device initially turns on and goes from 20°C (room temp) to 100°C and achieves steady state the e[sub]i[/sub] term still has a value associated with it while the e[sub]p[/sub] and e[sub]d[/sub] terms will be zero (or close to zero).

Now when I change the temperature from 100°C to 50°C. Should the e[sub]i[/sub] term be reset to zero?
 
You may be trying to change the system temperature faster than it can be changed by your control system. I have encountered this issue before on loops which respond slowly to the control (in your case the heating element). The user either makes a large setpoint change or a process upset quickly changes the process value. The user sees a large difference between the setpoint and the process variable but does not see the controlled element rapidly changing. Usually leads to cries that the loop is not tuned correctly or is not working.
 
famousness1 said:
Thanks for your input, but I must of not been clear in my OP.
Your question was clear. You just didn't listen. You don't reset the integrator to 0. Use Excel to simulate a temperature control system using I-PD control and compare it to PID control. Look at how the different terms change. Using Matlab, Scilab, or Matched would be better.

Your equation is wrong.

After the device initially turns on and goes from 20°C (room temp) to 100°C and achieves steady state the ei term still has a value associated with it while the ep and ed terms will be zero (or close to zero).
This is correct.

Now when I change the temperature from 100°C to 50°C. Should the ei term be reset to zero?
No!!!! At 50 degrees C the ei term will steady out at about (50-2)/(100-20) of the ei term at 100 degrees C.
Use the I-PD and proper tuning.



Peter Nachtwey
Delta Computer Systems
 
Here is a link to a directory on controlling SOPDT temperature systems
I am not a process control guy but a motion control guy still I like to cover all the bases.
The Hotrod link is probably the simplest to understand. It uses I-PD. NOTICE THAT THERE IS NO SEPARATE INTEGRATOR TERM!!!
There is one link where I generate a simulation then use some auto tuning techniques to see if the auto tuner will find the same values I used to generate the simulation.

@xnuke, I was a RCO long ago.

Peter Nachtwey
Delta Computer Systems
 
Status
Not open for further replies.
Back
Top