Introduction#

Sampled-Data Systems#

Machine drives and grid-connected converters are sampled-data systems, consisting of continuous-time systems and discrete-time systems as well as the interfaces between them [1], [2]. The figure below shows a generic example system. The same architecture is used in motulator.

Block diagram of a sampled-data system

Block diagram of a sampled-data system. Discrete signals and systems are shown in blue, and continuous signals and systems are shown in red.#

The continuous-time system (named mdl in the provided example scripts) is the model of a physical machine drive or grid converter system. The system comprises a power converter along with other subsystem models depending on the application. The continuous-time system may have external inputs, such as a load torque or power fed to a DC-bus of the converter.

The discrete-time controller (named ctrl) contains control algorithms, such as speed control and current control. The reference signals could be, e.g., the speed and flux or voltage and power references. The feedback signal \(\boldsymbol{y}(k)\) typically contains the measured DC-bus voltage and stator/converter currents.

Digital control systems typically have a computational delay of one sampling period, \(N=1\). The PWM block shown in the figure models the carrier comparison, see more details in Converters. The carrier comparison is implemented in the class motulator.common.model.CarrierComparison. If the switching ripple is not of interest in simulations, the carrier comparison can be replaced with a zero-order hold (ZOH).

Space Vectors#

The system models in motulator apply peak-valued complex space vectors, marked with boldface in the following equations. As an example, the space vector of the converter current is

(1)#\[\boldsymbol{i}^\mathrm{s}_\mathrm{c} = \frac{2}{3}\left(i_\mathrm{a} + i_\mathrm{b}\mathrm{e}^{\mathrm{j}2\pi/3} + i_\mathrm{c}\mathrm{e}^{\mathrm{j} 4\pi/3}\right)\]

where \(i_\mathrm{a}\), \(i_\mathrm{b}\), and \(i_\mathrm{c}\) are the phase currents, which may vary freely in time. In our notation, the subscript c refers to the converter-side AC quantities and the superscript s refers to the stationary coordinates. The space vector does not include the zero-sequence component, which is defined as

(2)#\[i_\mathrm{c0} = \frac{1}{3}\left(i_\mathrm{a} + i_\mathrm{b} + i_\mathrm{c}\right)\]

Even though the zero-sequence voltage exists at the ouput of typical converters (see Converters), there is no path for the zero-sequence current to flow if the stator winding of a machine is delta-connected, or the star point of the three-phase system is not connected, i.e., \(i_\mathrm{c0} = 0\). Consequently, the zero-sequence voltage cannot produce power or torque.

The space vector transformation in (1) is implemented in the function motulator.common.utils.abc2complex() and its inverse transformation in the function motulator.common.utils.complex2abc().

References