Electronic – PID controller – should terms be completely independant

closed looppid controller

I was under the impression that the P, I and D terms of a PID controller should be calculated independently of each other. That is, they would all use the same error information, but none of the three terms would be affected by either of the other 2.

But I'm looking at the microcontroller code for a turbocharger boost control system, and it appears to take the derivative term into account when calculating the integral term. If the d term is above a certain threshold, then the integral term is set to its full negative value. To me it seems to defeat the purpose of calculating 3 separate terms. This is from a real, working system so I know it functions correctly.

Is that kind of thing typical in PID controllers?

Best Answer

Yes, it's to prevent overshoot. The PID controller output will saturate so driving the integral term to the opposite extreme can prevent a large overshoot.

There are many approaches to this problem.

The basic issue is that the integral term continues to integrate even with the output saturated, but even in an ideal situation with a PID controller there is overshoot which may be undesirable. This is also called "reset windup".