Search code examples
algorithmmathcalculuscontrol-theorypid-controller

Formula for PI-regulation Proportional Integral algorithm


I've been reading this website: http://www.csimn.com/CSI_pages/PIDforDummies.html and I'm confused about the proportional integral part. Here's what it says.

Proportional control

Here’s a diagram of the controller when we have enabled only P control:

Proportional

In Proportional Only mode, the controller simply multiplies the Error by the Proportional Gain (Kp) to get the controller output.

The Proportional Gain is the setting that we tune to get our desired performance from a “P only” controller.

A match made in heaven: The P + I Controller

If we put Proportional and Integral Action together, we get the humble PI controller. The Diagram below shows how the algorithm in a PI controller is calculated.

Proportional Integral

The tricky thing about Integral Action is that it will really screw up your process unless you know exactly how much Integral action to apply.

A good PID Tuning technique will calculate exactly how much Integral to apply for your specific process - but how is the Integral Action adjusted in the first place?

As you can see, the proportional part is easy to understand it says that you multiply error by tuning variable. The part that I don't get is where you get the P and I from on the second part, and what mathematical operation you do with them. I don't have a degree in mathematics or advanced calculus knowledge, so I would appreciate it if you would try to keep it algebra level.


Solution

  • I integral part is just summation also multiplied by some constant.

    • Analogue integration is done by nonlinear gain and amplifier.
    • Digital integration of first order is just:

      output += input*dt;
      
    • second order is:

      temp   += input*dt; 
      output += temp*dt;
      
    • dt is the duration time of iteration loop (timer or what ever)

    • do not forget that PI regulator can have more complicated response

      i1 += input*dt; 
      i2 += i1*dt;
      i3 += i2*dt;
      output = a0*input + a1*i1 + a2*i2 +a3*i3 ...;
      
    • where a0 is the P part

    regulation

    Now the I regulator adds more and more amount of control value

    • until the controlled value is the same as the preset value
    • the longer it takes to match it the faster it controls
    • this creates fast oscillations around preset value
      • in comparison to P with the same gain
    • but in average the control time is smaller then in just P regulators
      • therefore the I gain is usually much much smaller which creates the memory and smooth effect LutzL mentioned. (while the regulation time is similar or smaller then just for P regulation)

    The controlled device has its own response

    • this can be represented as differential function
    • there is a lot of theory in cybernetics about obtaining the right regulator response
    • to match your process needs as:
      • quality of control
      • reaction times
      • max oscillations amplitude
      • stability
    • but for all you need differential math like solving system of differential equations of any order
      • strongly recommend use of Laplace transform
      • but many people also use Z transform instead

    So I-regulator add speed to regulation

    • but it also create bigger oscillations
    • and when not matching the regulated system properly also creates instability
    • Integration adds overflow risks to regulation (Analog integration is very sensitive to it)

    Also take in mind you can also substracting the I part from control value

    • which will make the exact opposite
    • sometimes the combination of more I parts are used to match desired regulation response shape