is an implementation of proportional–integral–derivative controller.
It can be used to reach and hold set point of some process variable.
For example, heat-up an oven to set point = 50°C and hold it at that temperature. Temperature is the process variable in this case.
To do it, the controller calculates correction, that should be applied to a system and assigns correction value to control variable.
In the case of oven temperature control, heater power should be adjusted proportionally to control variable value.
Example configuration that implements above-mentioned scenario:
[Keep oven temperature at 50°C] proportionalGain = 0.1 integralGain = 0.001 derivativeGain = 1 controlVariableMin = 0.0 controlVariableMax = 1 setPointValue = 50 processVariableChannel = Oven Temperature actionName = Pwm dutyCycle = %controlVariable% frequency = 1
derivativeGainare the gains of PID.
controlVariableMaxare used to limit the range, in which control variable can change. In this case control variable can take values anywhere from
setPointValue- is the desired temperature.
processVariableChannelis set to channel
Oven Temperature, which contains near-real-time data from a temperature sensor.
Pwmis executed every time new value of control variable is calculated. (Note: Action
Pwmis implemented by AutoBits Solid State Relay module. PWM stands for Pulse Width Modulation.)
dutyCycleis a parameter of
Pwmaction. Control variable of PID is used as an input.
frequencyis another parameter of
Pwmaction. In this case, PWM frequency is set to 1Hz.