Simulation
How to run the simulation
Time Domain:
Frequency Domain:
Proportional-Integral Control : Inductive Load Example
The system above contains a proportional-integral controller driving an inductive load. For example, the load could be a motor winding or an MRI gradient coil.
The proportional-integral controller sets the output voltage of an amplifier.
The amplifier applies voltage across a coil L with parasitic resistance R.
Notice that for constant current refences, the steady-state current error is zero, even if the parasitic resistance R is non-zero (proportional controllers almost always have steady-state error, see this article : Proportional Controller: Theory and Demo).
The Proportional-Integral Controller
Quick Facts and Features:
The controller consists of two paths:
In very crude terms, one could say that the proportional path tends to react very quickly on error and the integral term tends to integrate the error such that the controller eventually produces control output that drives the current error to zero.
Now a bit more theory:
The Web-based simulator allows one to check the controller transfer function independently - see the figures below.
The plant transfer function is very simple:
Hence:
What can be observed about the load?
A simple perturbation of the load corroborates the findings above:
The design of control systems is typically done open-loop. Why is that? Dynamics are easier to see with open-loop. Let me elucidate.
With open-loop characteristics, there are two stability factors immediately available:
When the feedback loop is closed, the loop-gain below the corner frequency is 0 dB. That is, the system follows the command without any error below the corner frequency.
The open-loop transfer function can be easily achieved by breaking the feedback path:
Based on the figure above, the phase margin (when the open-loop gain is 0 dB or 1) is a bit above 70 degrees (phase margin is calculated as 180 + phase at gain = 0 dB). This will result in a slight but likely tolerable overshoot. See the Time-domain section below or simply run the simulation.
To obtain the closed-loop transfer function, simply place the perturbation output after the current command and the perturbation input at the output of the load transfer function (default locations).
The system responds to a step command in approximately 100 ms, which suggests ~10 rad/s closed-loop bandwidth.
A small overshoot (~7%) can be observed as well.
The plant pole is located at -10 rad/s.
The compensator is:
The ratio of Ki/Kp must be 10. If that happens, the resulting open-loop system transfer function is that of a first-order system.
Say we desire the cross-over frequency to be 100 rad/s. Hence:
And:
And indeed, this is the case:
See the open-loop transfer function - notice that the phase delay is 90 degrees (until very high frequencies where the simulation accuracy starts to decline).
The closed-loop corner frequency is 10 rad/s, as predicted:
The following figure shows an alternative form of proportional-integral controller. Algebraically, both the original and the alternative forms are equal. However, the break frequency of the compensator in its alternative form is directly set by the integral gain as is shown in the Bode plots below (20 rad/s).
See the Textbooks and Journals for Power Electronics and Motor Controls article.
Further Reading
In MatLab, DSPs, and FPGAs.
.
The fundamentals of signal flow.
Introduction to dynamic systems.
It is all sine waves.