Field Oriented Control of an Induction Motor

In this simulation Field Orientated Control, FOC, of an Induction motor is implemented on PSIM.

There are several important aspects of the simulation:

The power stage, which is characterized by the red traces which includes:

  1. The DC voltage source
  1. The 3-phase inverter
  2. The induction motor model
  3. The mechanical constant torque load

The control stage, which is characterized by the green traces. There are several main aspects of the control circuit:

  1. The initial abc-dqo transformation from the current sensors for the motor
  2. The slip calculation
  3. The generation of theta used by the abc-dqo and dq0-abc transformations
  4. The PI controllers for Id, Iq
  5. The PI controller for speed


The control algorithm has been implemented in the s-domain with analog control blocks.


Theta and Electrical Speed Calculation

The slip is calculated by commanded Iq/Id multiplied by the inverted rotor time constant:

This is then added to the conversion of the sensed shaft speed converted to the magnetic revolutions per second with the RPM to MRS block.

To get MRS, we convert rpm to rad/s and multiply by the pole pairs, which is 3 for this case:


Integrating the addition of these will give theta which is used by the dq transformation blocks. In our simulation theta is being allowed to accumulate and if this was to be implemented with a DSP a resetting integral (0 to 2π), would be needed to prevent memory overflow.

The motor has a very light load in the simulation as a result, the slip, the difference between electrical and mechanical speed, is minimal. At 100 N*m torque load the slip will be ~2%.

DQ Reference Transformation

In this simulation the abc-dqo transformation from the feedback sensors is assuming that the q-axis is lagging the d-axis, a flag can be toggled in the transformation block to have the q-axis lead the d-axis.


Speed Control


The speed of the motor is controlled by controlling Iq. The motor is working in the 1st quadrant with a positive torque and a positive speed. So, a positive speed gives a positive value of Iq; however, Iq from the motor feedback has a negative value in the 1st quadrant so gain block P14, resolves this sign issue.