Integrator on PID control Temperature

Thread Starter

Kadav

Joined May 11, 2018
158
Hello i am designing a PID control temperature project , but with the integrator effect , the PID seems to be continuing to function even at set temperature , can you please tell me how you fixed that problem ?
 

MrChips

Joined Oct 2, 2009
30,794
Hello i am designing a PID control temperature project , but with the integrator effect , the PID seems to be continuing to function even at set temperature , can you please tell me how you fixed that problem ?
Your statement is confusing.
When you say "the PID seems to be continuing to function" that means to me that the "PID is working".
Or did you mean to say the the "controller continues to raise the temperature"?

Note that for a simple temperature controller you do not necessarily required PID control. PI control (i.e. without D) will often work well.
 
When you do PID in software, you need to fix 'reset windup'. In an analog controller, max output is the power supply rails. In software, the max output is +-Inf. You can either limit the I term to +-100% or limit the I term to pout-pterm-dterm. pout=P+I+D; That's what I mean by term.

It's pointless to output more than 100%.
 
Last edited:

Thread Starter

Kadav

Joined May 11, 2018
158
Your statement is confusing.
When you say "the PID seems to be continuing to function" that means to me that the "PID is working".
Or did you mean to say the the "controller continues to raise the temperature"?

Note that for a simple temperature controller you do not necessarily required PID control. PI control (i.e. without D) will often work well.
Hello

* I mean that the controller keeps on operating after the set temperature !!

* Why is it not good for the derivative to keep on working . i thaught it is actually important in keeping the track of the future error, so that it doesn't keep on increasing temperature , but apparently its not the case....
 

Thread Starter

Kadav

Joined May 11, 2018
158
If the PID controller keeps on operating after the set temperature is attained that is what it is supposed to do, isn't it?
No because , the PID is a temperature control pid and i set it to 37 deg but when it reaches 37 deg , because of the integrator , it keeps heating and then the integrator starts going negative until it reaches the set temp, but it takes some time
 

MrChips

Joined Oct 2, 2009
30,794
No because , the PID is a temperature control pid and i set it to 37 deg but when it reaches 37 deg , because of the integrator , it keeps heating and then the integrator starts going negative until it reaches the set temp, but it takes some time
I do not understand what is the problem.

The purpose of the integrator is to remove the error between the set value and the actual value. If the integration is negative the controller turns off in order to bring the error towards zero. If the integration is positive the controller turns on the power to raise the temperature. That is my concept of how a PID controller works. I could be wrong.

It may take some time for the temperature to fall if there is no active way of removing the heat.
 

crutschow

Joined Mar 14, 2008
34,408
the PID is a temperature control pid and i set it to 37 deg but when it reaches 37 deg , because of the integrator , it keeps heating and then the integrator starts going negative until it reaches the set temp, but it takes some time
Then you integrator time constant is perhaps not correct.
You many also need more D to stabilize the loop.
 

Thread Starter

Kadav

Joined May 11, 2018
158
I do not understand what is the problem.

The purpose of the integrator is to remove the error between the set value and the actual value. If the integration is negative the controller turns off in order to bring the error towards zero. If the integration is positive the controller turns on the power to raise the temperature. That is my concept of how a PID controller works. I could be wrong.

It may take some time for the temperature to fall if there is no active way of removing the heat.
Then you integrator time constant is perhaps not correct.
You many also need more D to stabilize the loop.
what is an integrator time(like in a bit technical but also simple way ? )
 
I still think you have a classic reset-windup problem. If the output of the controller is +-100%, meaning 100% heating or 100% cooling, if the output is 2000%, it will take a long time to settle.

Sometimes you might not want to do anything when the error is really small.
 
Last edited:
Top