Like other control loop feedback controllers, the gradient controller applies an input to a process such that the process output y(t) stays close to the desired setpoint r(t). The gradient controller was developed by Rudolf Polzer in 2013.
Characteristics of a gradient controller
In contrast to common controllers like the PID controller, the gradient controller does not only use the difference between setpoint and process output, but also the time derivative of the process output. Therefore the gradient controller is especially appropriate for a process that behaves similar to an integrator.
Setting a maximum gradient of the process output is at no extra cost. The limiter has to be set to the desired maximum gradient. This may be used for a comfort increase of a speed controller or to reduce the wear of a power drive.
With inactive limiter, the gradient controller is a linear system. Its equation in time domain is then
Its transfer function is
Combining an integrating process with a gradient controller results in a smaller control deviation than with a PID controller, see below.
Gradient Controller of degree two
If not only the first but also the second derivative of the process output has to be limited, a gradient controller of degree two can be used. As with the simple gradient controller, the process output reaches the setpoint value with minimal overshoot.
a and b are the settings of the two limiters and are also the desired limits of the two derivatives of the process output y(t). The constant value of f is for delay compensation. This is necessary because the control loop cannot be built without delay. The optimum setting of f is close to 1.
Step response example of an integrating process together with a gradient controller of degree two, the upper diagram shows the step response y(t) and the lower diagram shows its time derivative y'(t):
A Comparison Between PID Controller and Gradient Controller, both with Integrating Systems
The PID controller is widely used but has its drawbacks when used with mainly integrating systems: overshoot, unsatisfactory distortion feed through and no possibility of direct influence on the resulting gradient of the system output. A controller fulfilling all these requirements, when the controlled system is dominated by an integrator, is the gradient controller.
A comparison between both controllers done with Scilab and Xcos is shown here. The .zcos source file can be downloaded. A simulation with Matlab and Simulink is similar.
The following diagram shows on top the output of the PID controlled system using a black line and below the output of the gradient controlled system using a green line. The green line is obviously closer to the desired rectangular target function. The integrator constant ki of the PID controller is set to a compromise between overshoot and controlling precision. The differentiating constant Kd of the PID controller is set to zero to avoid unnecessary output peaks.
Description of the functional blocks of the gradient controller:
The limiter defines the maximum gradient of the system output. Here it is set to +0.5 and -0.5. The amplification constant ca can be increased to get more controlling speed, but must be limited to avoid oscillations.