Documentation

Field-Oriented Controller

Implement a field-oriented controller model based on indirect or feedforward vector control strategy

Library

Electric Drives/Fundamental Drive Blocks

Description

The Field-Oriented Controller block makes an AC machine-based drive behave like a DC machine-based drive in terms of controlling the torque and the flux independently. For an explanation, see Flux-Oriented Control.

The Field-Oriented Controller model has two operating modes. It generates pulses for either a detailed or average-value inverter.

Detailed Model

In detailed mode, the Field-Oriented Controller block has two types of modulation: hysteresis modulation and space vector modulation (SVM). The figure shows a control schematic for the two types of modulation.

  • The ψr calculation block estimates the motor’s rotor flux. This calculation is based on motor equation synthesis.

  • The Θe calculation block finds the phase angle of the rotor flux rotating field.

  • The abc-dq block performs the conversion of abc phase variables into dq components of the rotor flux rotating field reference frame.

  • The iqs* calculation block uses the calculated rotor flux and the torque reference to compute the stator current quadrature component required to produce the electromagnetic torque on the motor’s shaft.

  • The ids* calculation block uses the rotor flux reference to compute the stator current direct component required to produce the rotor flux in the machine.

  • The flux controller controls the flux dynamics and reduces the steady-state flux error.

  • The magnetization vector unit contains the vector used to create the motor initial flux.

  • The magnetization control unit contains the logic for switching between magnetization and normal operation modes.

Blocks for Modulation with Hysteresis

  • The current regulator is a bang-bang current controller with adjustable hysteresis bandwidth.

  • The dqabc block performs the conversion of the calculated values Ids* and Iqs* into abc phase reference currents. The actual values of abc current components track the reference currents within the hysteresis bandwidth.

  • The switching control block limits the inverter commutation frequency to a maximum value.

Blocks for Modulation with Space Vector

  • The PI blocks are proportional-integral regulators. The calculated values Iqs* and Ids* are compared to the actual values of current components Iqs and Ids, respectively and the current errors are fed to the PI controllers, which generate commanded stator voltage components Vqs, and Vds, respectively.

  • The dq-αβ block converts the commanded stator voltage from rotating dq coordinates into stationary αβ coordinates using the phase angle of the rotor flux rotating field.

  • The Space Vector Modulator block receives the obtained voltage vector Vαβ and generates appropriate switching states vector for control of inverter switching devices.

The SVM unit contains four main blocks:

  • The Sector Selector block is used to find the sector of the αβ plane in which the voltage vector lies. The αβ plane is divided into six different sectors spaced by 60 degrees.

  • The Ramp Calculator block is used to produce a unitary ramp at the PWM switching frequency. This ramp is used as a time base for the switching sequence.

  • The Switching Time Calculator block is used to calculate the timing of the voltage vector applied to the motor. The block input is the sector in which the voltage vector lies.

  • The Gates Logic block receives the timing sequence from the Switching Time Calculator block and the ramp from the Ramp Calculator block. This block compares the ramp and the gate timing signals to activate the inverter switches at the proper time.

Average Model

In average mode, the high-frequency switching actions of the power switches are not represented.

Average mode is similar to detailed mode with hysteresis modulation except that there is no switching control block and the pulses generated by the current regulator are three-level signals (-1, 0, 1) indicating whether the average-value inverter applies a negative, zero, or positive DC bus voltage (Vdc) to the machine during inverter saturation. In detailed mode, the Field Oriented Controller block outputs the actual pulses for the inverter switches.

Parameters

Model detail level

Specify the model detail level to use:

  • Detailed (default)

  • Average

Modulation type

Select hysteresis or space vector modulation. The default is Hysteresis.

Controller Tab

Flux controller - Proportional gain

The flux controller proportional gain. The default value is 100.

Flux controller - Integral gain

The flux controller integral gain. The default value is 30.

Low-pass filter cutoff frequency (Hz)

The flux estimation first-order filter cutoff frequency, in hertz. The default value is 16.

Controller output flux saturation (Wb) [Negative, Positive]

The flux controller maximum negative and positive output, in webers. The default value is [-2,2].

Vector control sampling time (s)

The controller sampling time, in seconds. The sampling time must be a multiple of the simulation time step. The default value is 20e-6.

Base​ ​sample time (s)

​The time step used for the simulation, in seconds. The default value is ​2​e-6.

Current regulator hysteresis bandwidth (A)

The current regulator hysteresis bandwidth, in amperes. This value is the total hysteresis bandwidth distributed symmetrically around the current set point. The figure shows a case where the current set point is Is* and the current regulator hysteresis-band width is set to dx.

This parameter is available only when the Model detail level parameter is set to Detailed. The default value is 10.

Maximum inverter frequency (Hz)

The maximum inverter switching frequency, in hertz. This parameter is available only when the Model detail level parameter is set to Detailed. The default value is 20000.

DC bus voltage sensor cutoff frequency (Hz)

The cutoff frequency of the first-order low-pass filter applied to the DC bus voltage measurement, in hertz. This parameter is enabled only in detailed mode with SVM selected. The default value is 50.

SVM switching frequency (Hz)

The fixed inverter switching frequency, in hertz. This parameter is enabled only when the Model detail level parameter is set to Detailed and the Modulation type is set to SVM. The default value is 20000.

d-axis current regulator — Proportional gain

The d-axis current regulator proportional gain. This parameter is enabled only when the Model detail level parameter is set to Detailed and the Modulation type is set to SVM. The default value is 5.

d-axis current regulator — Integral gain

The d-axis current regulator integral gain. This parameter is enabled only when the Model detail level parameter is set to Detailed and the Modulation type is set to SVM. The default value is 100.

q-axis current regulator — Proportional gain

The q-axis current regulator proportional gain. This parameter is enabled only when the Model detail level parameter is set to Detailed and the Modulation type is set to SVM. The default value is 5.

q-axis current regulator — Integral gain

The q-axis current regulator integral gain. This parameter is enabled only when the Model detail level parameter is set to Detailed and the Modulation type is set to SVM. The default value is 100.

Machine Tab

Rotor resistance Rr' (ohms)

The rotor resistance referred to the stator, in ohms. The default value is 9.295e-3.

Rotor leakage inductance Llr' (H)

The rotor leakage inductance referred to the stator, in henry. The default value is 0.3027e-3.

Mutual inductance Lm (H)

The magnetizing inductance, in henry. The default value is 10.46e-3.

Pairs of poles

The number of pole pairs. The default value is 2.

Initial flux (Wb)

The initial flux for the machine, in webers. The default value is 0.73.

Inputs and Outputs

Torque*

The torque reference, typically provided by a speed controller.

Flux*

The flux reference, typically provided by a speed controller.

wm

The mechanical angular speed of the induction machine.

I_ABC

The three line currents of the induction machine.

MagC

This binary signal indicates if the machine is magnetized enough to be started (1) or not (0).

Theta

The phase angle of the rotor flux.

sig*

A vector containing measurement signals:

  • Vmode — A logical value indicating if the mode is magnetization (1) or normal operation (0).

  • we —The electrical angular speed of the rotor flux.

  • iabc* — The three reference currents.

  • pulses* — Two three-level signals (-1, 0, 1) indicating if the average-value inverter applies a negative, zero, or positive DC bus voltage (Vdc) to the machine.

This output is visible only when the Model detail level parameter is set to Average.

Gates

The pulses for the six inverter switches. This output is visible only when the Model detail level parameter is set to Detailed.

Examples

The Field-Oriented Controller block is used in the AC3 block of the Electric Drives library.

References

[1] Bose, B. K. Modern Power Electronics and AC Drives, NJ: Prentice-Hall, 2002.

Introduced in R2015b

Was this topic helpful?