# Field-Oriented Control Induction Motor Drive

Implement field-oriented control (FOC) induction motor drive model

## Library

Electric Drives/AC drives

## Description

The high-level schematic shown below is built from six main blocks. The induction motor, the three-phase inverter, and the three-phase diode rectifier models are from blocks provided in the SimPowerSystems™ library. The speed controller, the braking chopper, and the FOC models are from blocks provided in the Electric Drives library. It is possible to use a simplified version of the drive containing an average-value model of the inverter and allowing faster simulation.

 Note   In SimPowerSystems software, the Field-Oriented Control Induction Motor Drive block is commonly called the `AC3` motor drive.

## Speed Controller

The speed controller is based on a PI regulator, shown below. The outputs of this regulator are set points for the torque and the flux applied to the FOC block.

## Field Oriented Controller

The FOC block contains eleven main blocks. These blocks are described below in the Indirect Vector Control Simulink® Schematic.

The ψr calculation block is used to estimate the motor's rotor flux. This calculation is based on motor equation synthesis.

The Θe calculation block is used to find 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 dq-abc block performs the conversion of the dq component of the rotor flux rotating field reference frame into abc phase variables.

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 current regulator is a bang-bang current controller with adjustable hysteresis band width.

The switching control block is used to limit the inverter commutation frequency to a maximum value specified by the user.

The flux controller is used to control the flux dynamics and to reduce 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 used to switch between the magnetization and normal operation mode.

## Braking Chopper

The braking chopper block contains the DC bus capacitor and the dynamic braking chopper, which is used to absorb the energy produced by a motor deceleration.

## Average-Value Inverter

The average-value inverter is shown in the following figure.

It is composed of one controlled current source on the DC side and of two controlled current sources and two controlled voltage sources on the AC side. The DC current source allows the representation of the average DC bus current behavior following the next equation:

Idc = (Pout + Plosses) / Vin,

with Pout being the output power and Plosses the losses in the power electronics devices and Vin the DC bus voltage.

On the AC side, the current sources represent the average phase currents fed to the motor. The regulation being fast, the current values are set equal to the current references sent by the current regulator. A small current is injected to compensate the current drawn by the three-phase load (needed because of the inverter current sources in series with inductive motor).

During loss of current tracking due to insufficient inverter voltage, the currents are fed by two controlled voltage sources. These voltage sources represent the square wave mode and allow good representation of the phase currents during inverter saturation. Each voltage source outputs either Vin or 0, depending on the values of the pulses (1 or 0) sent by the current controller.

## Remarks

The model is discrete. Good simulation results have been obtained with a 2 µs time step. To simulate a digital controller device, the control system has two different sampling times:

• Speed controller sampling time

• FOC sampling time

The speed controller sampling time has to be a multiple of the FOC sampling time. The latter sampling time has to be a multiple of the simulation time step. The average-value inverter allows the use of bigger simulation time steps since it does not generate small time constants (due to the RC snubbers) inherent to the detailed converter. For an FOC sampling time of 60 µs, good simulation results have been obtained for a simulation time step of 60 µs. This time step can, of course, not be higher than the FOC time step.

## Dialog Box and Parameters

### Asynchronous Machine Tab

The Asynchronous Machine tab displays the parameters of the Asynchronous Machine block of the Fundamental Blocks (powerlib) library.

Output bus mode

Select how the output variables are organized. If you select Multiple output buses, the block has three separate output buses for motor, converter, and controller variables. If you select Single output bus, all variables output on a single bus.

Model detail level

Select between the detailed and the average-value inverter.

Mechanical input

Select between the load torque, the motor speed and the mechanical rotational port as mechanical input. If you select and apply a load torque, the output is the motor speed according to the following differential equation that describes the mechanical system dynamics:

${T}_{e}=J\frac{d}{dt}{\omega }_{r}+F{\omega }_{r}+{T}_{m}$

This mechanical system is included in the motor model.

If you select the motor speed as mechanical input, then you get the electromagnetic torque as output, allowing you to represent externally the mechanical system dynamics. The internal mechanical system is not used with this mechanical input selection and the inertia and viscous friction parameters are not displayed.

For the mechanical rotational port, the connection port S counts for the mechanical input and output. It allows a direct connection to the Simscape™ environment. The mechanical system of the motor is also included in the drive and is based on the same differential equation.

### Converters and DC Bus Tab

#### Rectifier Section

The Rectifier section of the Converters and DC Bus tab displays the parameters of the Universal Bridge block of the Fundamental Blocks (powerlib) library. Refer to the Universal Bridge for more information on the universal bridge parameters.

#### Inverter Section

The Inverter section of the Converters and DC Bus tab displays the parameters of the Universal Bridge block of the Fundamental Blocks (powerlib) library. Refer to the Universal Bridge for more information on the universal bridge parameters.

The average-value inverter uses the following parameters.

Source frequency

The frequency of the three-phase voltage source (Hz).

On-state resistance

The on-state resistance of the inverter switches (ohms).

#### DC Bus Field — Capacitance

The DC bus capacitance (F).

#### Braking Chopper section

Resistance

The braking chopper resistance used to avoid bus over-voltage during motor deceleration or when the load torque tends to accelerate the motor (ohms).

Frequency

The braking chopper frequency (Hz).

Activation Voltage

The dynamic braking is activated when the bus voltage reaches the upper limit of the hysteresis band (V). The following figure illustrates the braking chopper hysteresis logic.

Deactivation Voltage

The dynamic braking is shut down when the bus voltage reaches the lower limit of the hysteresis band (V). The Chopper hysteresis logic is shown in the next figure.

### Controller Tab

Regulation Type

This pop-up menu allows you to choose between speed and torque regulation.

Schematic Button

When you press this button, a diagram illustrating the speed and current controllers schematics appears.

#### Speed Controller section

Speed cutoff frequency

The speed measurement first-order low-pass filter cutoff frequency (Hz). This parameter is used in speed regulation mode only.

Speed controller sampling time

The speed controller sampling time (s). The sampling time must be a multiple of the simulation time step.

Speed Ramps — Acceleration

The maximum change of speed allowed during motor acceleration (rpm/s). An excessively large positive value can cause DC bus under-voltage. This parameter is used in speed regulation mode only.

Speed Ramps — Deceleration

The maximum change of speed allowed during motor deceleration (rpm/s). An excessively large negative value can cause DC bus overvoltage. This parameter is used in speed regulation mode only.

PI Regulator — Proportional Gain

The speed controller proportional gain. This parameter is used in speed regulation mode only.

PI Regulator — Integral Gain

The speed controller integral gain. This parameter is used in speed regulation mode only.

Torque output limits — Negative

The maximum negative demanded torque applied to the motor by the current controller (N.m).

Torque output limits — Positive

The maximum positive demanded torque applied to the motor by the current controller (N.m).

#### Field Oriented Control Section

Flux Controller — Proportional gain

The flux controller proportional gain.

Flux Controller — Integral gain

The flux controller integral gain.

Flux output limits — Positive

The flux controller maximum positive output (Wb).

Flux output limits — Negative

The flux controller maximum negative output (Wb).

Lowpass filter cutoff frequency

The flux estimation first-order filter cutoff frequency (Hz).

Sampling Time

The FOC controller sampling time (s). The sampling time must be a multiple of the simulation time step.

Current controller hysteresis band

The current hysteresis bandwidth. This value is the total bandwidth distributed symmetrically around the current set point (A). The following figure illustrates a case where the current set point is Is*and the current hysteresis bandwidth is set to dx.

This parameter is not used when using the average-value inverter.

Maximum Switching Frequency

The maximum inverter switching frequency (Hz). This parameter is not used when using the average-value inverter.

## Block Inputs and Outputs

`SP`

The speed or torque set point. The speed set point can be a step function, but the speed change rate will follow the acceleration / deceleration ramps. If the load torque and the speed have opposite signs, the accelerating torque will be the sum of the electromagnetic and load torques.

`Tm` or `Wm`

The mechanical input: load torque (Tm) or motor speed (Wm). For the mechanical rotational port (S), this input is deleted.

`A, B, C `

The three phase terminals of the motor drive.

`Wm`, `Te` or `S`

The mechanical output: motor speed (Wm), electromagnetic torque (Te) or mechanical rotational port (S).

When the Output bus mode parameter is set to Multiple output buses, the block has the following three output buses:

`Motor`

The motor measurement vector. This vector allows you to observe the motor's variables using the Bus Selector block.

`Conv`

The three-phase converters measurement vector. This vector contains:

• The DC bus voltage

• The rectifier output current

• The inverter input current

Note that all current and voltage values of the bridges can be visualized with the Multimeter block.

`Ctrl`

The controller measurement vector. This vector contains:

• The torque reference

• The speed error (difference between the speed reference ramp and actual speed)

• The speed reference ramp or torque reference

When the Output bus mode parameter is set to Single output bus, the block groups the Motor, Conv, and Ctrl outputs into a single bus output.

## Model Specifications

The library contains a 3 hp and a 200 hp drive parameter set. The specifications of these two drives are shown in the following table.

3 HP and 200 HP Drive Specifications

3 HP Drive

200 HP Drive

Drive Input Voltage

Amplitude

220 V

460 V

Frequency

60 Hz

60 Hz

Motor Nominal Values

Power

3 hp

200 hp

Speed

1705 rpm

1785 rpm

Voltage

220 V

460 V

## Example

The `ac3_example` example illustrates an AC3 motor drive simulation with standard load conditions for the detailed and average-value models.

At time t = 0 s, the speed set point is 500 rpm. As shown in the following figure, the speed precisely follows the acceleration ramp. At t = 0.5 s, the nominal load torque is applied to the motor. At t = 1 s, the speed set point is changed to 0 rpm. The speed decreases to 0 rpm. At t = 1.5 s, the mechanical load passes from 792 N.m to −792 N.m. Notice that the results of the average-value model are similar to those of the detailed model except that the higher frequency signal components are not represented with the average-value converter.

AC3 Example Waveforms (Blue : Detailed Converter, Red : Average-Value Converter)

## References

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

[2] Grelet, G., and G. Clerc,Actionneurs électriques, Éditions Eyrolles, Paris, 1997.

[3] Krause, P. C.,Analysis of Electric Machinery, McGraw-Hill, 1986.