Main Content

PMSM Field-Oriented Control

Permanent magnet synchronous machine field-oriented control

  • PMSM Field-Oriented Control block

Libraries:
Simscape / Electrical / Control / PMSM Control

Description

The PMSM Field-Oriented Control block implements a field-oriented control structure for a permanent magnet synchronous machine (PMSM). Field Oriented Control (FOC) is a performant AC motor control strategy that decouples torque and flux by transforming the stationary phase currents to a rotating frame. Use FOC when rotor speed and position are known and your application requires:

  • High torque and low current at startup.

  • High efficiency.

Equations

The PMSM FOC structure decouples the torque and flux by using the rotor d-q reference frame. This diagram shows the overall architecture of the block.

In the diagram:

  • ω and ωref are the measured and reference angular velocities, respectively.

  • Tref is the reference electromagnetic torque.

  • i and v are stator currents and voltages and subscripts d and q represent the d-axis and q-axis, and subscripts a, b, and c, represent the three stator windings.

  • θe is the rotor electrical angle.

  • G is a gate pulse, subscripts H and L, represent high and low, and subscripts a, b, and c represent the three stator windings.

You can choose to implement either velocity or torque control with the Control mode parameter. The block implements velocity control exactly as shown in the diagram. The block implements torque control by removing the Velocity Controller block and accepting the reference torque directly.

Assumptions

The machine parameters are known.

Limitations

The control structure is implemented with a single sample rate.

Examples

Ports

Input

expand all

System reference specified as torque reference in N*m or velocity reference in rad/s, depending on the control mode selected.

Data Types: single | double

Measured stator phase currents, in A.

Data Types: single | double

Measured mechanical angular velocity of rotor, in rad/s.

Data Types: single | double

Measured mechanical angle of rotor, in rad.

Data Types: single | double

Measured DC-link voltage, in V.

Data Types: single | double

Output

expand all

Six pulse waveforms that determine switching behavior in the attached power converter.

Data Types: single | double

Bus containing signals for visualization, including:

  • Reference

  • wElectrical

  • iabc

  • theta

  • Vdc

  • PwmEnable

  • TqRef

  • TqLim

  • idqRef

  • idq

  • vdqRef

  • modWave

Data Types: single | double

Parameters

expand all

General

Specify either a wye-wound or a delta-wound parameterization for the reference values of the controller.

Specify either a torque control or velocity control strategy.

Nominal DC-link voltage of the electrical source, in V.

Maximum machine power, in W.

Maximum machine torque, in N*m.

Number of permanent magnet pole pairs on the rotor.

Voltage threshold to activate the power inverter, in V.

Fundamental sample time for the block, in s.

Sample time for the control system, in s.

Outer Loop

Specify the type of the control strategy.

Proportional gain of the PI controller.

Integral gain of the PI controller.

Proportional gain of P controller.

Anti-windup gain of the PI controller.

Select the current reference strategy.

Speed vector, in rpm, used in the lookup tables for determining current references.

Torque vector, in N*m, used in the lookup tables for determining current references.

DC-link voltage vector, in V, used in the lookup tables for determining current references.

Direct-axis current reference lookup data, in A.

Quadrature-axis current reference lookup data, in A.

Safety factor used to compute the maximum allowed phase voltage for current references generation.

Dependencies

This parameter is only visible when Current references is set to Automatically generated lookup-table.

Peak permanent magnet flux linkage, in Wb.

Direct-axis inductance, in H.

Quadrature-axis inductance, in H.

Stator resistance per phase, in Ohm.

Inner Loop

Proportional gain of the PI controller used for direct-axis current control.

Integrator gain of the PI controller used for direct-axis current control.

Anti-windup gain of the PI controller used for direct-axis current control.

Proportional gain of the PI controller used for quadrature-axis current control.

Integrator gain of the PI controller used for quadrature-axis current control.

Anti-windup gain of the PI controller used for quadrature-axis current control.

Prioritize or maintain ratio between d- and q-axis when the block limits voltage.

Enable or disable zero cancellation on the feedforward path.

Enable or disable precontrol voltage.

Specify how to parameterize the machine.

  • Constant parameters — Specify machine parameters that are constant throughout the simulation.

  • Lookup table based parameters — Specify machine parameters as lookup tables that depend on current.

Direct-axis inductance for feedforward precontrol, in H.

Quadrature-axis inductance for feed-forward pre-control, in H.

Permanent magnet flux linkage for feedforward pre-control, in H.

Direct-axis current vector, in A, used in the lookup tables for parameters determination. For constant machine parameters, do not change the default.

Quadrature-axis current vector, in A, used in the lookup tables for parameters determination. For constant machine parameters, do not change the default.

Ld matrix used as lookup table data, in H. For constant machine parameters change only the constant factor, for example, Ld * ones(3, 3).

Lq matrix used as lookup table data, in H. For constant machine parameters change only the constant factor, for example, Lq * ones(3, 3).

Permanent magnet flux linkage matrix used in the lookup table, in Wb. For constant machine parameters change only the constant factor, for example, psim * ones(3, 3).

PWM

Specify the waveform technique.

Specify whether the block samples the modulation waveform when the waves intersect or when the carrier wave is at one or both of its boundary conditions.

Specify the rate at which you want the switches in the power converter to switch.

References

[1] Bernardes, T., V. F. Montagner, H. A. Gründling, and H. Pinheiro. "Discrete-time sliding mode observer for sensorless vector control of permanent magnet synchronous machine." IEEE Transactions on Industrial Electronics. Vol. 61, Number 4, 2014, pp. 1679–1691.

[2] Carpiuc, S., and C. Lazar. "Fast real-time constrained predictive current control in permanent magnet synchronous machine-based automotive traction drives." IEEE Transactions on Transportation Electrification. Vol.1, Number 4, 2015, pp. 326–335.

[3] Haque, M. E., L. Zhong, and M. F. Rahman. "Improved trajectory control for an interior permanent magnet synchronous motor drive with extended operating limit." Journal of Electrical & Electronics Engineering. Vol. 22, Number 1, 2003, p. 49.

[4] Yang, N., G. Luo, W. Liu, and K. Wang. "Interior permanent magnet synchronous motor control for electric vehicle using look-up table." In 7th International Power Electronics and Motion Control Conference. Vol. 2, 2012, pp. 1015–1019.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced in R2017b