Permanent magnet synchronous machine current reference generator
Simscape / Power Systems / Simscape Components / Control / PMSM Control
The PMSM Current Reference Generator block implements a current reference generator for PMSM current control in the rotor d-q reference frame.
You typically use this block in a series of blocks making up a control structure.
You can generate a voltage reference in the d-q frame by placing this block before a PMSM Current Control or PMSM Current Control with Pre-Control block.
You can implement velocity control by placing this block after a Velocity Controller block.
You can see an example of a full control structure, from machine measurements to machine inputs, in the PMSM Field-Oriented Control block.
The PMSM Current Reference Generator block can obtain the current reference using one of these methods:
Zero d-axis control (ZDAC)
User defined lookup tables
Automatically generated lookup tables
For the ZDAC method, the block sets the d-axis current reference to zero and determines the q-axis current reference using the torque equation:
Tref is the reference torque input.
p is the number of pole pairs.
ψm is the permanent magnet flux linkage.
For operation below the base speed of the synchronous machine, ZDAC is a suitable method. Above base speed, a field weakening controller is required to adjust the d-axis reference.
To pregenerate optimal current references for several operating points offline, define two lookup tables using the user-defined lookup table approach:
nm is the rotor angular velocity.
vdc is the DC-link voltage of the converter.
To let the block create the lookup tables, choose the automatically generated lookup table approach. The block generates the lookup table using two strategies:
Maximum torque per ampere
The selection between the two strategies is based on the modulation factor, which can be computed as follows:
You can generate current references in the constant torque region (occurring below rated speed) by using the maximum torque per ampere (MTPA) strategy.
The direct and quadrature components of the stator current are written in terms of angle and magnitude as:
β is the angle of the stator current vector.
Is is the stator current amplitude.
Using the angle-magnitude variant of the d-q currents, the PMSM torque equation is written as:
To obtain fast transient response and maximize torque with the smallest possible stator current amplitude, MTPA imposes (dTe)/dβ = 0 to the torque equation, which yields
You can generate current references in the above rated speed region by using the field weakening (FW) strategy.
Above the rated speed, the stator voltage is limited by the power converter and the available DC-link voltage. The maximum stator voltage is:
The steady-state voltage equations for PMSMs are
For rotor speeds above rated, the stator resistance is negligible, and the field weakening d-axis current component id_fw is obtained in terms of the q-axis component iq_fw from the vq steady-state equation:
Finally, by plugging the id_fw equation into the PMSM torque equation, the following polynomial is obtained:
The q-axis component is obtained by solving this polynomial.
The machine parameters are constants.
The automatically generated current references introduce latency in the presimulation phase. For medium-power PMSM drives the latency is around 300 ms.
TqRef— Reference torque
Desired mechanical torque produced by the PMSM, in N*m.
wMechanical— Rotor mechanical speed
Mechanical angular velocity of the rotor, obtained via direct measurement of the PMSM, in rad/s.
Vdc— DC-link voltage
DC-link voltage of the converter, in V. For the ZDAC method, this value is used to limit the output reference torque and torque limit. For the lookup table method, this value is used as an input to the lookup tables.
idqRef— Reference currents
Reference d- and q-currents to be given as inputs to a PMSM current controller, in A.
TqRefSat— Reference torque
Reference torque saturated by the calculated torque limit TqLim, in N*m.
TqLim— Torque limit
Torque limit imposed by both the electrical and mechanical constraints of the system, in N*m.
Nominal dc-link voltage (V)— Rated DC voltage
V(default) | positive number
Nominal DC-link voltage of the electrical source.
Maximum power (W)— Rated power
W(default) | positive number
Maximum allowable PMSM power.
Maximum torque (N*m)— Rated torque
N*m(default) | positive number
Maximum allowable PMSM torque.
Sample time (-1 for inherited)— Block sample time
-1(default) | -1 or positive number
Sample time for the block (-1 for inherited). If you use this block inside a triggered subsystem, set the sample time to -1. If you use this block in a continuous variable-step model, you can specify the sample time explicitly.
Current references— Current reference strategy
Zero d-axis control(default) |
Automatically generated lookup-table
Select the strategy for determining current references.
Mechanical speed vector, wMechanical (rpm)— Rotor speed lookup vector
rpm(default) | positive monotonically increasing vector
Speed vector used in the lookup tables for determining current references.
Torque reference vector, TqRef (N*m)— Torque reference lookup vector
[-100, 0, 100]
N*m(default) | positive monotonically increasing vector
Torque vector used in the lookup tables for determining current references.
DC-link voltage vector, Vdc (V)— DC-link voltage lookup vector
V(default) | positive monotonically increasing vector
DC-link voltage vector used in the lookup tables for determining current references.
D-axis current reference matrix, id(wMechanical,TqRef,Vdc) (A)— Reference d-axis current values
A(default) | real matrix
Direct-axis current reference lookup data.
Q-axis current reference matrix, iq(wMechanical,TqRef,Vdc) (A)— Reference q-axis current values
A(default) | real matrix
Quadrature-axis current reference lookup data.
Number of pole pairs— Pole pairs
8(default) | positive integer
Number of permanent magnet pole pairs on the rotor.
Permanent magnet flux linkage (Wb)— PM Flux Linkage
Wb(default) | positive scalar
Peak permanent magnet flux linkage.
D-axis inductance (H)— Inductance of d-axis
0.00024(default) | positive scalar
Q-axis inductance (H)— Inductance of q-axis
0.00029(default) | positive scalar
Stator resistance (Ohm)— Resistance of stator
0.01(default) | positive scalar
Stator resistance per phase.
 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.
 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.
 Carpiuc, S., C. Lazar, and D. I. Patrascu. "Optimal Torque Control of the Externally Excited Synchronous Machine." Control Engineering and Applied Informatics. Vol. 14, Number 2, 2012, pp. 80–88.