This is an old revision of the document!
PID regulators is a bit more difficult to explain and understand. They use more system resources so often the control curve is preferred if the system is low on resources.
I'll try a simple explanation first: If the temperature (Control variable) gets below setpoint, the regulator will increase the heating (Output variable) The bigger the difference, the faster the output will change.
In a basic PID regulator, there's 3 variables, proportional gain (P or P-band), integral gain (I or I-time) and derivative gain (D)
You can use 3 methods, P, PI or PID
A P-regulator, will measure the “error” from ( setpoint - control variable ), if setpoint is 23 and control variable is 20, the “error” will be 3. It will then take the output variable and add the error. If the output was 0, after the calculation it will be 3. Thus the P regulator, as seen in below picture as blue, will never reach it's setpoint.
On Wikipedia there's a lot of information about this regulator, but I will highlight one thing from there, a pseudo code examble.
loop: error := setpoint − measured_value proportional := error; integral := integral + error × dt derivative := (error − previous_error) / dt output := Kp × proportional + Ki × integral + Kd × derivative previous_error := error wait(dt) goto loop
With a little help from this guy I was able to put together 3 live test simulations of P, PI and PID regulators. Theese simulations open out side this wiki, so you have to press back button to get back here. What you can do is change the control variable and adjust parameters accordingly.
TIP: Change control variable slowly to simulate a change in temperature or pressure.
Discussion