FEM-Parameterized PMSM

Permanent magnet synchronous motor defined in terms of magnetic flux linkage

Library

Simscape / Electrical / Electromechanical / Permanent Magnet

Description

The FEM-Parameterized PMSM block implements a model of a permanent magnet synchronous motor (PMSM) defined in terms of magnetic flux linkage. You parameterize the block by providing tabulated data of motor magnetic flux as a function of current and rotor angle. This is the way third-party magnetic finite-element method (FEM) packages usually export flux information. Because of the tabulated form, the flux can vary in a nonlinear way on both rotor angle and current. You can therefore use this block to model PMSM with trapezoidal back-emf profile, sometimes called brushless DC motor, as well as regular PMSM.

The figure shows the equivalent circuit for a wye-connected PMSM. The rotor angle is zero when the permanent magnet flux aligns with the A-phase magnetic axis.

In practice, the flux linking each of the three windings depends on all three currents and rotor angle. Tabulating flux as a function of four independent variables might lead to simulation inefficiency and significant memory requirements to manage the data. The block, therefore, lets you select between the following parameterization methods for flux and torque:

  • 2-D partial derivative data — 2-D table lookup, with options to tabulate in terms of current and rotor angle, or in terms of d-axis and q-axis currents. The first option assumes constant mutual inductance and supports nonsinusoidal back emf profiles. The second option assumes a sinusoidal back emf and captures saturation effects for interior PMSMs (IPMSMs).

  • 3-D partial derivative data — 3-D table lookup, based on direct current, quadrature current, and rotor angle. You provide the flux lookup data for the a phase. The block uses Park transform to map the three stator winding currents to direct and quadrature currents. This method reduces the data complexity, as compared to the 4-D table lookup, and therefore results in improved simulation performance.

  • 4-D partial derivative data — 4-D table lookup, based on the three stator winding currents and the rotor angle. You provide the flux lookup data for the a phase. This model has the best fidelity of the three, but also is the most costly in terms of simulation performance and memory requirements.

  • 3-D flux linkage data — 3-D table lookup, based on the flux linkage data. You can provide the flux linkage data in a variety of formats. The block uses Park transform to map the three stator winding currents to direct and quadrature currents. This method reduces the data complexity, as compared to the 4-D table lookup, and therefore results in improved simulation performance.

By default, all of the block variants implement a wye-wound configuration for the stator windings. The 3-D flux linkage data variant also supports a delta-wound configuration, selectable using the Winding type parameter. When in the delta-wound configuration, the a phase is connected between ports a and b, the b phase between ports b and c and the c phase between ports c and a.

To access these parameterization methods, right-click the block in your model, select Simscape > Block choices, and then select the desired block variant, with or without thermal ports. By default, the thermal ports are not exposed. For more information, see Thermal Ports.

2-D Data Model with Constant Mutual Inductance

In this 2-D flux data model, the flux linking each winding is assumed to depend nonlinearly only on the current in that same winding, plus the rotor angle. In practice, this is a reasonable assumption for many permanent magnet synchronous motors; however, it is less accurate for switched reluctance motors. Given this assumption, the fluxes in the three windings are:

[ϕaϕbϕc]=[0MsMsMs0MsMsMs0][iaibic]+[ϕ(ia,θr)ϕ(ib,θr2π/(3N))ϕ(ic,θr4π/(3N))]

where ϕ(θr,ia) is the flux linkage for the A-phase winding as a function of rotor angle and A-phase current. Θr = 0 corresponds to the rotor d-axis aligning with the A-phase positive magnetic flux direction. Ms is the stator-stator mutual inductance.

For improved numerical performance, the equations implemented in the block actually work with the partial derivatives of flux linkage with respect to current, ϕ(i,θr)/i, and rotor angle, ϕ(i,θr)/θr, rather than the flux directly. If your FEM package does not export these partial derivatives, you can determine them using a MATLAB® script. See the Solenoid Parameterized with FEM Data example model and its supporting MATLAB script for an example of how to do this.

The electrical equations for the block, defined in terms of flux partial derivatives, are:

va=ϕiadiadt+ϕθrdθrdtMs(dibdt+dicdt)+Rsiavb=ϕibdibdt+ϕθrdθrdtMs(diadt+dicdt)+Rsibvc=ϕicdicdt+ϕθrdθrdtMs(diadt+dibdt)+Rsic

where

  • va, vb, vc are the voltages applied to the A, B, and C stator windings.

  • ia, ib, ic are the stator currents in each of the three windings.

  • Rs is the resistance of each of the stator windings.

  • Ms is the stator-stator mutual inductance.

  • ϕ/ia, ϕ/ibϕ/ic are the partial derivatives of flux linkage with respect to stator current in each of the three windings.

  • ϕ/θr is the partial derivative of flux linkage with respect to rotor angle.

The block can automatically calculate the torque matrix from the flux information that you provide. Alternatively, you can set the Calculate torque matrix? parameter to No and directly specify the torque as a function of current and rotor angle. See the FEM-Parameterized Rotary Actuator block reference page for more information.

2-D Data Model with Sinusoidal Back EMF

In this 2-D flux data model, the flux linking each winding is assumed to depend nonlinearly on all stator winding currents, plus it is assumed that the permanent magnet flux linkage is sinusoidal. Interior magnet PMSMs (or IPMSMs) usually fit this assumption well. The equations are:

[ϕdϕq]=[Ld(id,iq)Lq(id,iq)][idiq]+[ϕm(id,iq)]

T=32N(iq(idLd(id,iq)+ϕm(id,iq))idiqLq(id,iq))

where

  • id and iq are the d-axis and q-axis currents, respectively.

  • ϕd and ϕq are the d-axis and q-axis flux linkages, respectively.

  • ϕm is the permanent magnet flux linkage.

  • Ld and Lq are the d-axis and q-axis inductances, respectively. They are assumed to depend on the d-axis and q-axis currents.

  • N is the number of pole pairs.

  • T is the electrical torque.

3-D Partial Derivative Data Model Using Park Transform

Working with four-dimensional data has both a simulation performance cost and a memory cost. To reduce the table dimension to three-dimensional, the 3-D data model uses Park transform to map the three currents to direct and quadrature currents:

[idiq]=23[cosθecos(θe2π3)cos(θe+2π3)sinθesin(θe2π3)sin(θe+2π3)][iaibic]

In the general case, Park transform maps to direct, quadrature, and zero-sequence currents. However, the zero-sequence current is typically small under normal operating conditions. Therefore, the model neglects the dependence of the flux linkage terms on zero-sequence current, and determines the flux linkage in terms of just direct and quadrature currents plus rotor angle. The flux equation for the 3-D data model is:

[ϕaϕbϕc]=[ϕ(id,iq,θr)ϕ(id,iq,θr2π/(3N))ϕ(id,iq,θr4π/(3N))]

The electrical equations for the block are also defined in terms of flux partial derivatives, similar to the 4-D data model. You can calculate 3-D flux linkage partial derivative data from 4-D flux linkage data using ee_calculateFluxPartialDerivatives.

4-D Partial Derivative Data Model

The flux linking each of the windings is a function of the current in that winding, the currents in the other two windings, and the rotor angle. For full accuracy, the 4-D flux data model assumes that the flux linkage is a function of the three currents and the rotor angle, therefore performing four-dimensional table lookups. The flux equation is:

[ϕaϕbϕc]=[ϕ(ia,ib,ic,θr)ϕ(ib,ic,ia,θr2π/(3N))ϕ(ic,ia,ib,θr4π/(3N))]

where

  • ϕa, ϕb, ϕc are the flux linkages for the A, B, and C stator windings.

  • ia, ib, ic are the stator currents in each of the three windings.

  • Θr is the rotor angle. Θr = 0 corresponds to the case where the permanent magnet flux is aligned with the A-phase stator winding flux.

  • N is the number of pole pairs.

Flux linkage data is assumed cyclic with Θr. If, for example, the motor has six pole pairs, then the range for the data is 0 ≤ Θr ≤ 60°. You must provide data both at 0 and 60 degrees, and because the data is cyclic, the flux linkage partial derivatives must be the same at these two end points.

The torque equation is:

τ=T(ia,ib,ic,θr)

The 4-D data model does not have an option for the block to determine torque from flux linkage. Because of the increased numerical overhead in the 4-D case, it is better to precalculate the torque just once, rather than calculate it every time you run the simulation.

For improved numerical performance, the equations implemented in the block actually work with the partial derivatives of flux linkage with respect to the three currents and the rotor angle, rather than the flux directly. If your FEM package does not export these partial derivatives, you can determine them using ee_calculateFluxPartialDerivatives.

The electrical equations for the block, defined in terms of flux partial derivatives, are:

va=ϕaiadiadt+ϕaibdibdt+ϕaicdicdt+ϕaθrdθrdt+Rsiavb=ϕbiadiadt+ϕbibdibdt+ϕbicdicdt+ϕbθrdθrdt+Rsibvc=ϕciadiadt+ϕcibdibdt+ϕcicdicdt+ϕcθrdθrdt+Rsic

where

  • va, vb, vc are the voltages applied to the A, B, and C stator windings.

  • ia, ib, ic are the stator currents in each of the three windings.

  • Rs is the resistance of each of the stator windings.

3-D Flux Linkage Data Models

The 3-D flux linkage data options let you work with raw flux linkage data exported from your finite-element (FE) motor design tool. This is in contrast to the 3-D partial derivative data options, for which you need to determine the partial derivatives. You can provide flux linkage data in a variety of formats, to support different FE tool conventions:

  • Tabulate DQ-axes flux linkage data or A-phase flux linkage data — Some tools support working with flux linkage resolved into direct (D) and quadrature (Q) axes. An advantage of this approach is that data for rotor angles in the range 0 to 360/N/3 degrees is required (where N is the number of pole pairs). Other tools work directly with A-, B-, and C-phase flux linkages, and for this you can import just the A-phase flux linkage, for which the rotor angle range must be in the range 0 to 360/N degrees. The implicit assumption of importing just the A-phase data is that the B and C phase data is the same except shifted in phase.

  • Tabulate using cartesian or polar current coordinates — Cartesian tabulation implies the flux linkage is tabulated in terms of D-axis current and Q-axis current (plus rotor angle). Alternatively, polar tabulation involves tabulating flux linkages in terms of current magnitude, current advance angle relative to the Q-axis, and rotor angle. The advantage of polar coordinates is that it more naturally reflects the permitted operating currents, thereby avoiding unused table data points.

These conventions result in four Flux linkage data format parameterization options:

  • D and Q axes flux linkages as a function of D-axis current (iD), Q-axis current (iQ), and rotor angle (theta)

  • D and Q axes flux linkages as a function of peak current magnitude (I), current advance angle (B), and rotor angle (theta)

  • A-phase flux linkage as a function of D-axis current (iD), Q-axis current (iQ), and rotor angle (theta)

  • A-phase flux linkage as a function of peak current magnitude (I), current advance angle (B), and rotor angle (theta)

Besides selecting the flux linkage data format used by your FE tool, you have to select the version of Park transform used by the tool. The four conventions are described below and correspond to the four options for the Park’s convention for tabulated data drop-down menu.

Note

When looking at logged values for D- and Q-axis currents, keep in mind that for each of these options, the format is converted, as needed, so that internally the FEM-Parameterized PMSM block consistently uses Option 1.

Option 1. Q leads D, rotor angle measured from A-phase to D-axis

This is the Park’s convention used internally by Simscape™ Electrical™ motor and machine blocks. All other options are converted into this format.

  • N: number of pole pairs

  • θr: rotor angle

  • id, iq: D-axis and Q-axis currents

  • ip: Current magnitude = id2+iq2

  • β: Current advance angle = tan1(id/iq)

Corresponding Park transform is

[idiqi0]=23[cos(Nθr)cos(Nθr2π3)cos(Nθr+2π3)sin(Nθr)sin(Nθr2π3)sin(Nθr+2π3)121212][iaibic]

where ia, ib, and ic are the A-phase, B-phase, and C-phase currents, respectively.

Option 2. Q leads D, rotor angle measured from A-phase to Q-axis

  • N: number of pole pairs

  • θr: rotor angle

  • id, iq: D-axis and Q-axis currents

  • ip: Current magnitude = id2+iq2

  • β: Current advance angle = tan1(id/iq)

Corresponding Park transform is

[idiqi0]=23[sin(Nθr)sin(Nθr2π3)sin(Nθr+2π3)cos(Nθr)cos(Nθr2π3)cos(Nθr+2π3)121212][iaibic]

where ia, ib, and ic are the A-phase, B-phase, and C-phase currents, respectively.

Option 3. D leads Q, rotor angle measured from A-phase to D-axis

  • N: number of pole pairs

  • θr: rotor angle

  • id, iq: D-axis and Q-axis currents

  • ip: Current magnitude = id2+iq2

  • β: Current advance angle = tan1(id/iq)

Corresponding Park transform is

[idiqi0]=23[cos(Nθr)cos(Nθr2π3)cos(Nθr+2π3)sin(Nθr)sin(Nθr2π3)sin(Nθr+2π3)121212][iaibic]

where ia, ib, and ic are the A-phase, B-phase, and C-phase currents, respectively.

Option 4. D leads Q, rotor angle measured from A-phase to Q-axis

  • N: number of pole pairs

  • θr: rotor angle

  • id, iq: D-axis and Q-axis currents

  • ip: Current magnitude = id2+iq2

  • β: Current advance angle = tan1(id/iq)

Corresponding Park transform is

[idiqi0]=23[sin(Nθr)sin(Nθr2π3)sin(Nθr+2π3)cos(Nθr)cos(Nθr2π3)cos(Nθr+2π3)121212][iaibic]

where ia, ib, and ic are the A-phase, B-phase, and C-phase currents, respectively.

Calculating Iron Losses

Regardless of the parameterization methods for flux and torque, all block variants use the same iron losses model, which is based on the work of Mellor [1]. Iron losses are divided into two terms, one representing the main magnetizing path, and the other representing the cross-tooth tip path that becomes active during field weakened operation.

The term representing the main magnetizing path depends on the induced RMS stator voltage, Vmrms:

POC(Vmrms)=ahkVmrms+ajk2Vmrms2+aexk1.5Vmrms1.5

This is the dominant term during no-load operation. k is the back emf constant relating RMS volts per Hz. It is defined as k=Vmrms/f, where f is the electrical frequency. The first term on the right-hand side is the magnetic hysteresis loss, the second is the eddy current loss and the third is the excess loss. The three coefficients appearing on the numerators are derived from the values that you provide for the open-circuit hysteresis, eddy, and excess losses.

The term representing the cross-tooth tip path becomes important when a demagnetizing field is set up and can be determined from a finite element analysis short-circuit test. It depends on the RMS emf associated with the cross-tooth tip flux, Vdrms*:

PSC(Vdrms*)=bhkVdrms*+bjk2Vdrms*2+bexk1.5Vdrms*1.5

The three numerator terms are derived from the values you provide for the short-circuit hysteresis, eddy, and excess losses.

Thermal Ports

The block has four optional thermal ports, one for each of the three windings and one for the rotor. These ports are hidden by default. To expose the thermal ports, right-click the block in your model, select Simscape > Block choices, and then select the desired block variant with thermal ports: 2-D data | Show thermal port, 3-D A-phase data | Show thermal port, 4-D A-phase data | Show thermal port, or 3-D DQ data | Show thermal port. This action displays the thermal ports on the block icon, and exposes the Temperature Dependence and Thermal Port parameters. These parameters are described further on this reference page.

Use the thermal ports to simulate the effects of copper resistance and iron losses that convert electrical power to heat. For more information on using thermal ports in actuator blocks, see Simulating Thermal Effects in Rotational and Translational Actuators.

Basic Assumptions and Limitations

This block has the following limitations:

  • For the 2-D data model, the stator-stator mutual inductance, defined by the Stator mutual inductance, Ms parameter value, is constant during simulation and does not vary with rotor angle. This means that the block is suitable for modeling most PMSM and brushless DC motors, but not switched reluctance motors.

  • The 3-D and 4-D data models assume symmetry, so that the flux linkage dependency on currents and rotor angle for windings B and C can be determined from that for winding A.

  • For the 3-D flux linkage data model, you do not provide information about zero-sequence inductance. As a result, the block does not expose its neutral port and machine currents are always balanced.

  • For the 4-D data model, consider memory requirements when fixing the independent parameter values (three currents and rotor angles). The linear interpolation option uses less memory, but the smooth interpolation option is more accurate for a given independent parameter spacing.

  • The iron losses model assumes sinusoidal currents.

Ports

a

A-phase electrical connection.

b

B-phase electrical connection.

c

C-phase electrical connection.

n

Electrical conserving port associated with the neutral phase.

C

Mechanical rotational conserving port connected to the motor case.

R

Mechanical rotational conserving port connected to the rotor.

HA

Winding A thermal port. For more information, see Thermal Ports.

HB

Winding B thermal port. For more information, see Thermal Ports.

HC

Winding C thermal port. For more information, see Thermal Ports.

HR

Rotor thermal port. For more information, see Thermal Ports.

Parameters

Electrical (2-D Partial Derivative Data Variant)

This configuration of the Electrical parameters corresponds to the 2-D Partial Derivative Data block variants, with or without thermal ports. If you are using the 3-D Partial Derivative Data, 4-D Partial Derivative Data, or 3-D Flux Linkage Data variant of the block, see Electrical (3-D Partial Derivative Data Variant), Electrical (4-D Partial Derivative Data Variant), or Electrical (3-D Flux Linkage Data Variant) respectively.

Parameterization

Select the parameterization method:

  • Assume constant mutual inductance - tabulate with phase current and rotor angle — This method assumes that the flux linking each winding depends nonlinearly only on the current in that same winding, plus the rotor angle.

  • Assume sinusoidal back emf - tabulate with d- and q-axis currents — This method assumes that the flux linking each winding depends nonlinearly on all stator winding currents. It also assumes that the permanent magnet flux linkage is sinusoidal. This option is usually a good fit for interior magnet PMSMs (or IPMSMs).

Current vector, i

Vector of currents corresponding to the provided flux linkage partial derivatives. The current vector must be two-sided (have positive and negative values). The default value is [-2, 0, 2] A.

This parameter is visible only if Parameterization is set to Assume constant mutual inductance - tabulate with phase current and rotor angle.

Rotor angle vector, theta

Vector of rotor angles corresponding to the provided flux linkage partial derivatives. The vector must start at zero. This value corresponds to the angle where the A-phase magnetic flux aligns with the rotor permanent magnetic peak flux direction (the direct-axis, or d-axis). The last value, Θmax, must be the rotor angle where the flux linkage pattern peaks again. Therefore, the number of pole pairs is 360/Θmax if Θmax is expressed in degrees. The default value is [0, 20, 40, 60] deg, which corresponds to a 6 pole-pair motor.

This parameter is visible only if Parameterization is set to Assume constant mutual inductance - tabulate with phase current and rotor angle.

Flux linkage partial derivative wrt current, dPhi(i,theta)/di

Matrix of the flux linkage partial derivatives with respect to current, defined as a function of current vector and rotor angle vector. Flux linkage is the flux multiplied by the number of winding turns. The default value is 0.0002*ones(3,4) Wb/A, which corresponds to the special case where stator inductance does not depend on stator current or on rotor angle.

This parameter is visible only if Parameterization is set to Assume constant mutual inductance - tabulate with phase current and rotor angle.

Flux linkage partial derivative wrt angle, dPhi(i,theta)/dtheta

Matrix of the flux linkage partial derivatives with respect to rotor angle, defined as a function of current vector and rotor angle vector. Flux linkage is the flux multiplied by the number of winding turns. The default value is [0, -0.16, 0.16, 0; 0, -0.16, 0.16, 0; 0, -0.16, 0.16, 0] Wb/rad, which corresponds to the special case where stator inductance does not depend on stator current.

This parameter is visible only if Parameterization is set to Assume constant mutual inductance - tabulate with phase current and rotor angle.

Direct axis current vector, id

Vector of d-axis currents corresponding to the provided inductances. The current vector must be two-sided (have positive and negative values). The default value is [-200, 0, 200] A.

This parameter is visible only if Parameterization is set to Assume sinusoidal back emf - tabulate with d- and q-axis currents.

Quadrature axis current vector, iq

Vector of q-axis currents corresponding to the provided inductances. The current vector must be two-sided (have positive and negative values). The default value is [-200, 0, 200] A.

This parameter is visible only if Parameterization is set to Assume sinusoidal back emf - tabulate with d- and q-axis currents.

Ld matrix, Ld(id,iq)

Matrix of the d-axis inductances with respect to current, defined as a function of d-axis and q-axis current vectors. The default value is 0.0002*ones(3,3) H.

This parameter is visible only if Parameterization is set to Assume sinusoidal back emf - tabulate with d- and q-axis currents.

Lq matrix, Lq(id,iq)

Matrix of the q-axis inductances with respect to current, defined as a function of d-axis and q-axis current vectors. The default value is 0.0002*ones(3,3) H.

This parameter is visible only if Parameterization is set to Assume sinusoidal back emf - tabulate with d- and q-axis currents.

Permanent magnet flux linkage, PM(id,iq)

Matrix of the permanent magnet flux linkages with respect to current, defined as a function of d-axis and q-axis current vectors. Flux linkage is the flux multiplied by the number of winding turns. The default value is 0.1*ones(3,3) Wb.

This parameter is visible only if Parameterization is set to Assume sinusoidal back emf - tabulate with d- and q-axis currents.

Number of pole pairs

Number of the permanent magnet motor pole pairs. The default value is 6.

This parameter is visible only if Parameterization is set to Assume sinusoidal back emf - tabulate with d- and q-axis currents.

Calculate torque matrix?

Specify the way of providing the electromagnetic torque data:

  • Yes — The block calculates the torque from the flux linkage information, as a function of current and rotor angle. This is the default option.

  • No — specify directly — Enter the electromagnetic torque data directly, by using the Torque matrix, T(i,theta) parameter.

This parameter is visible only if Parameterization is set to Assume constant mutual inductance - tabulate with phase current and rotor angle. If Parameterization is set to Assume sinusoidal back emf - tabulate with d- and q-axis currents, the equation for torque is explicit in terms of the provided matrices.

Torque matrix, T(i,theta)

Specify a matrix of the electromagnetic torque applied to the rotor, as a function of current and rotor angle. This parameter is visible only if Calculate torque matrix? is set to No — specify directly. The default value is [0, 0.3, -0.3, 0; 0, 0, 0, 0; 0, -0.3, 0.3, 0] N*m.

Interpolation method

Select one of the following interpolation methods for approximating the output value when the input value is between two consecutive grid points:

  • Linear — Uses an extension of linear algorithm for multidimensional interpolation. Select this option to get the best performance.

  • Smooth — Uses a modified Akima interpolation algorithm. Select this option to produce a continuous surface with continuous first-order derivatives.

For more information on interpolation methods, see the PS Lookup Table (2D) block reference page.

Stator resistance per phase, Rs

Resistance of each of the stator windings. The default value is 0.013 Ohm.

Stator mutual inductance, Ms

Stator-stator mutual inductance, which is assumed to be independent of both current and rotor angle. The default value is 0.00002 H.

This parameter is visible only if Parameterization is set to Assume constant mutual inductance - tabulate with phase current and rotor angle.

Electrical (3-D Partial Derivative Data Variant)

This configuration of the Electrical parameters corresponds to the 3-D Partial Derivative Data block variants, with or without thermal ports. If you are using the 2-D Partial Derivative Data, 4-D Partial Derivative Data, or 3-D Flux Linkage Data variant of the block, see Electrical (2-D Partial Derivative Data Variant), Electrical (4-D Partial Derivative Data Variant), or Electrical (3-D Flux Linkage Data Variant) respectively.

Direct-axis current vector, iD

Vector of direct-axis currents corresponding to the provided flux linkage partial derivatives. The current vector must be two-sided (have positive and negative values). The default value is [-200, 0, 200] A.

Quadrature-axis current vector, iQ

Vector of quadrature-axis currents corresponding to the provided flux linkage partial derivatives. The current vector must be two-sided (have positive and negative values). The default value is [-200, 0, 200] A.

Rotor angle vector, theta

Vector of rotor angles corresponding to the provided flux linkage partial derivatives. The vector must start at zero. This value corresponds to the angle where the A-phase magnetic flux aligns with the rotor permanent magnetic peak flux direction (the direct-axis, or d-axis). The last value, Θmax, must be the rotor angle where the flux linkage pattern peaks again. Therefore, the number of pole pairs is 360/Θmax if Θmax is expressed in degrees. The default value is [0, 20, 40, 60] deg, which corresponds to a 6 pole-pair motor.

A-phase flux linkage partial derivative wrt iA, dPhiA(iD,iQ,theta)/diA

Matrix of the A-phase flux linkage partial derivatives with respect to current in winding A, defined as a function of the two current vectors and the rotor angle vector. Flux linkage is the flux multiplied by the number of winding turns. The default value is zeros(3, 3, 4) Wb/A.

A-phase flux linkage partial derivative wrt iB, dPhiA(iD,iQ,theta)/diB

Matrix of the A-phase flux linkage partial derivatives with respect to current in winding B, defined as a function of the two current vectors and the rotor angle vector. Flux linkage is the flux multiplied by the number of winding turns. The default value is zeros(3, 3, 4) Wb/A.

A-phase flux linkage partial derivative wrt iC, dPhiA(iD,iQ,theta)/diC

Matrix of the A-phase flux linkage partial derivatives with respect to current in winding C, defined as a function of the two current vectors and the rotor angle vector. Flux linkage is the flux multiplied by the number of winding turns. The default value is zeros(3, 3, 4) Wb/A.

A-phase flux linkage partial derivative wrt angle, dPhiA(iD,iQ,theta)/dtheta

Matrix of the A-phase flux linkage partial derivatives with respect to rotor angle, defined as a function of the two current vectors and the rotor angle vector. Flux linkage is the flux multiplied by the number of winding turns. The default value is zeros(3, 3, 4) Wb/rad.

Torque matrix, T(iD,iQ,theta)

Specify a matrix of the electromagnetic torque applied to the rotor, as a function of the two currents and the rotor angle. The default value is zeros(3, 3, 4) N*m.

Interpolation method

Select one of the following interpolation methods for approximating the output value when the input value is between two consecutive grid points:

  • Linear — Uses an extension of linear algorithm for multidimensional interpolation. Select this option to get the best performance.

  • Smooth — Uses a modified Akima interpolation algorithm. Select this option to produce a continuous surface with continuous first-order derivatives.

For more information on interpolation methods, see the PS Lookup Table (3D) block reference page.

Stator resistance per phase, Rs

Resistance of each of the stator windings. The default value is 0.013 Ohm.

Electrical (4-D Partial Derivative Data Variant)

This configuration of the Electrical parameters corresponds to the 4-D Partial Derivative Data block variants, with or without thermal ports. If you are using the 2-D Partial Derivative Data, 3-D Partial Derivative Data, or 3-D Flux Linkage Data variant of the block, see Electrical (2-D Partial Derivative Data Variant), Electrical (3-D Partial Derivative Data Variant), or Electrical (3-D Flux Linkage Data Variant) respectively.

A-phase current vector, iA

Vector of A-phase currents corresponding to the provided flux linkage partial derivatives. The current vector must be two-sided (have positive and negative values). The default value is [-200, 0, 200] A.

B-phase current vector, iB

Vector of B-phase currents corresponding to the provided flux linkage partial derivatives. The current vector must be two-sided (have positive and negative values). The default value is [-200, 0, 200] A.

C-phase current vector, iC

Vector of C-phase currents corresponding to the provided flux linkage partial derivatives. The current vector must be two-sided (have positive and negative values). The default value is [-200, 0, 200] A.

Rotor angle vector, theta

Vector of rotor angles corresponding to the provided flux linkage partial derivatives. The vector must start at zero. This value corresponds to the angle where the A-phase magnetic flux aligns with the rotor permanent magnetic peak flux direction (the direct-axis, or d-axis). The last value, Θmax, must be the rotor angle where the flux linkage pattern peaks again. Therefore, the number of pole pairs is 360/Θmax if Θmax is expressed in degrees. The default value is [0, 20, 40, 60] deg, which corresponds to a 6 pole-pair motor.

A-phase flux linkage partial derivative wrt iA, dPhiA(iA,iB,iC,theta)/diA

Matrix of the A-phase flux linkage partial derivatives with respect to current in winding A, defined as a function of the three current vectors and the rotor angle vector. Flux linkage is the flux multiplied by the number of winding turns. The default value is zeros(3, 3, 3, 4) Wb/A.

A-phase flux linkage partial derivative wrt iB, dPhiA(iA,iB,iC,theta)/diB

Matrix of the A-phase flux linkage partial derivatives with respect to current in winding B, defined as a function of the three current vectors and the rotor angle vector. Flux linkage is the flux multiplied by the number of winding turns. The default value is zeros(3, 3, 3, 4) Wb/A.

A-phase flux linkage partial derivative wrt iC, dPhiA(iA,iB,iC,theta)/diC

Matrix of the A-phase flux linkage partial derivatives with respect to current in winding C, defined as a function of the three current vectors and the rotor angle vector. Flux linkage is the flux multiplied by the number of winding turns. The default value is zeros(3, 3, 3, 4) Wb/A.

A-phase flux linkage partial derivative wrt angle, dPhiA(iA,iB,iC,theta)/dtheta

Matrix of the A-phase flux linkage partial derivatives with respect to rotor angle, defined as a function of three current vectors and the rotor angle vector. Flux linkage is the flux multiplied by the number of winding turns. The default value is zeros(3, 3, 3, 4) Wb/rad.

Torque matrix, T(iA,iB,iC,theta)

Specify a matrix of the electromagnetic torque applied to the rotor, as a function of the three currents and the rotor angle. The default value is zeros(3, 3, 3, 4) N*m.

Interpolation method

Select one of the following interpolation methods for approximating the output value when the input value is between two consecutive grid points:

  • Linear — Uses an extension of linear algorithm for multidimensional interpolation. Select this option to get the best performance.

  • Smooth — Uses a modified Akima interpolation algorithm. Select this option to produce a continuous surface with continuous first-order derivatives.

For more information on interpolation methods, see the PS Lookup Table (4D) block reference page.

Stator resistance per phase, Rs

Resistance of each of the stator windings. The default value is 0.013 Ohm.

Electrical (3-D Flux Linkage Data Variant)

This configuration of the Electrical parameters corresponds to the 3-D Flux Linkage Data block variants, with or without thermal ports. If you are using the 2-D Partial Derivative Data, 3-D Partial Derivative Data, or 4-D Partial Derivative Data variant of the block, see Electrical (2-D Partial Derivative Data Variant), Electrical (3-D Partial Derivative Data Variant), or Electrical (4-D Partial Derivative Data Variant), respectively.

Flux linkage data format

Select the flux linkage data format used by your FE tool:

  • D and Q axes flux linkages as a function of D-axis current (iD), Q-axis current (iQ), and rotor angle (theta)

  • D and Q axes flux linkages as a function of peak current magnitude (I), current advance angle (B), and rotor angle (theta)

  • A-phase flux linkage as a function of D-axis current (iD), Q-axis current (iQ), and rotor angle (theta)

  • A-phase flux linkage as a function of peak current magnitude (I), current advance angle (B), and rotor angle (theta)

The default value is D and Q axes flux linkages as a function of D-axis current (iD), Q-axis current (iQ), and rotor angle (theta).

Winding type

Select the configuration for the stator windings:

  • Wye-wound — The stator windings are wye-wound. This is the default value.

  • Delta-wound — The stator windings are delta-wound. The a-phase is connected between ports a and b, the b-phase between ports b and c and the c-phase between ports c and a.

Number of pole pairs

Number of the permanent magnet motor pole pairs. The default value is 4.

Park's convention for tabulated data

Select the order and reference angle for the Park transform mapping the given dq data to the three windings.

  • Q leads D, rotor angle measured from A-phase to D-axis — Quadrature-direct transformation with angle measured with respect to d axis.

  • Q leads D, rotor angle measured from A-phase to Q-axis — Quadrature-direct transformation with angle measured with respect to q axis.

  • D leads Q, rotor angle measured from A-phase to D-axis — Direct-quadrature transformation with angle measured with respect to d axis.

  • D leads Q, rotor angle measured from A-phase to Q-axis — Direct-quadrature transformation with angle measured with respect to q axis.

The default value is D leads Q, rotor angle measured from A-phase to D-axis.

Direct-axis current vector, iD

Vector of direct-axis currents at which the flux linkage is tabulated. The current vector must be two-sided (have positive and negative values). The default value is [-200, 0, 200] A.

This parameter is visible only if Flux linkage data format is set to D and Q axes flux linkages as a function of D-axis current (iD), Q-axis current (iQ), and rotor angle (theta) or A-phase flux linkage as a function of D-axis current (iD), Q-axis current (iQ), and rotor angle (theta).

Quadrature-axis current vector, iQ

Vector of quadrature-axis currents at which the flux linkage is tabulated. The current vector must be two-sided (have positive and negative values). The default value is [-200, 0, 200] A.

This parameter is visible only if Flux linkage data format is set to D and Q axes flux linkages as a function of D-axis current (iD), Q-axis current (iQ), and rotor angle (theta) or A-phase flux linkage as a function of D-axis current (iD), Q-axis current (iQ), and rotor angle (theta).

Peak current magnitude vector, I

Row vector of current magnitudes at which the flux linkage is tabulated. The first element must be zero. The adjacent current value should be small relative to the current values at which magnetic saturation begins to occur. This is because derived flux partial derivatives are ill-defined at zero current, and so are calculated at this first nonzero current instead. The default value is [0, 100, 200] A.

This parameter is visible only if Flux linkage data format is set to D and Q axes flux linkages as a function of peak current magnitude (I), current advance angle (B), and rotor angle (theta) or A-phase flux linkage as a function of peak current magnitude (I), current advance angle (B), and rotor angle (theta).

Current advance angle, B

Row vector of current advance angle values at which the flux linkage is tabulated. Current advance angle is defined as the angle by which the current leads the quadrature (Q) axis. The default value is [-180, -90, 0, 90, 180] degrees.

This parameter is visible only if Flux linkage data format is set to D and Q axes flux linkages as a function of peak current magnitude (I), current advance angle (B), and rotor angle (theta) or A-phase flux linkage as a function of peak current magnitude (I), current advance angle (B), and rotor angle (theta).

Rotor angle vector, theta

Vector of rotor angles at which the flux linkage is tabulated. The vector must start at zero. This value corresponds to the angle where the A-phase magnetic flux aligns with the rotor permanent magnetic peak flux direction (the direct-axis, or d-axis). The last value, Θmax, must be the rotor angle where the flux linkage pattern peaks again. Therefore, the number of pole pairs is 360/Θmax if Θmax is expressed in degrees. The default value is [[0, 5, 10, 15, 20, 25, 30] deg, which corresponds to a 4 pole-pair motor.

If Flux linkage data format is D and Q axes flux linkages as a function of D-axis current (iD), Q-axis current (iQ), and rotor angle (theta) or D and Q axes flux linkages as a function of peak current magnitude (I), current advance angle (B), and rotor angle (theta) (that is, if you tabulate D and Q flux linkage data), then the rotor angle vector must have four or more points and a range from 0 to 120/N degrees, where N is the number of pole pairs. If Flux linkage data format is A-phase flux linkage as a function of D-axis current (iD), Q-axis current (iQ), and rotor angle (theta) or A-phase flux linkage as a function of peak current magnitude (I), current advance angle (B), and rotor angle (theta) (that is, if you tabulate A-phase flux linkage data), then the rotor angle vector must have 3n+1 points, where n>=2, and the range must be from 0 to 360/N degrees.

D-axis flux linkage, Fd(iD,iQ,theta)

Matrix of the d-axis flux linkage, defined as a function of the dq currents, and the rotor angle vector. Flux linkage is the flux multiplied by the number of winding turns. The default value is zeros(3, 3, 7) Wb.

If your flux data is given in a different order, you can use the permute function to reorder it. For an example of this reordering, see the associated MATLAB script in Import IPMSM Flux Linkage Data from ANSYS Maxwell.

This parameter is visible only if Flux linkage data format is set to D and Q axes flux linkages as a function of D-axis current (iD), Q-axis current (iQ), and rotor angle (theta).

Q-axis flux linkage, Fq(iD,iQ,theta)

Matrix of the q-axis flux linkage, defined as a function of the dq currents, and the rotor angle vector. Flux linkage is the flux multiplied by the number of winding turns. The default value is zeros(3, 3, 7) Wb.

If your flux data is given in a different order, you can use the permute function to reorder it. For an example of this reordering, see the associated MATLAB script in Import IPMSM Flux Linkage Data from ANSYS Maxwell.

This parameter is visible only if Flux linkage data format is set to D and Q axes flux linkages as a function of D-axis current (iD), Q-axis current (iQ), and rotor angle (theta).

D-axis flux linkage, Fd(I,B,theta)

3-D matrix of d-axis flux linkage values as a function of Peak current magnitude vector, I, Current advance angle, B, and Rotor angle vector, theta. The default value is zeros(3, 5, 7) Wb.

If your flux data is given in a different order, you can use the permute function to reorder it. For an example of this reordering, see the associated MATLAB script in Import IPMSM Flux Linkage Data from ANSYS Maxwell.

This parameter is visible only if Flux linkage data format is set to D and Q axes flux linkages as a function of peak current magnitude (I), current advance angle (B), and rotor angle (theta).

Q-axis flux linkage, Fq(I,B,theta)

3-D matrix of q-axis flux linkage values as a function of Peak current magnitude vector, I, Current advance angle, B, and Rotor angle vector, theta. The default value is zeros(3, 5, 7) Wb.

If your flux data is given in a different order, you can use the permute function to reorder it. For an example of this reordering, see the associated MATLAB script in Import IPMSM Flux Linkage Data from ANSYS Maxwell.

This parameter is visible only if Flux linkage data format is set to D and Q axes flux linkages as a function of peak current magnitude (I), current advance angle (B), and rotor angle (theta).

A-phase flux linkage, F(iD,iQ,theta)

3-D matrix of A-phase flux linkage values, as a function of the dq currents and the rotor angle. The default value is zeros(3, 3, 7) Wb.

If your flux data is given in a different order, you can use the permute function to reorder it. For an example of this reordering, see the associated MATLAB script in Import IPMSM Flux Linkage Data from ANSYS Maxwell.

This parameter is visible only if Flux linkage data format is set to A-phase flux linkage as a function of D-axis current (iD), Q-axis current (iQ), and rotor angle (theta).

A-phase flux linkage, F(I,B,theta)

3-D matrix of A-phase flux linkage values, as a function of Peak current magnitude vector, I, Current advance angle, B, and Rotor angle vector, theta. The default value is zeros(3, 5, 7) Wb.

If your flux data is given in a different order, you can use the permute function to reorder it. For an example of this reordering, see the associated MATLAB script in Import IPMSM Flux Linkage Data from ANSYS Maxwell.

This parameter is visible only if Flux linkage data format is set to A-phase flux linkage as a function of peak current magnitude (I), current advance angle (B), and rotor angle (theta).

Torque matrix, T(iD,iQ,theta)

3-D matrix of the electromagnetic torque applied to the rotor, as a function of the dq currents and the rotor angle. The default value is zeros(3, 3, 7) N*m.

If your flux data is given in a different order, you can use the permute function to reorder it. For an example of this reordering, see the associated MATLAB script in Import IPMSM Flux Linkage Data from ANSYS Maxwell.

This parameter is visible only if Flux linkage data format is set to D and Q axes flux linkages as a function of D-axis current (iD), Q-axis current (iQ), and rotor angle (theta) or A-phase flux linkage as a function of D-axis current (iD), Q-axis current (iQ), and rotor angle (theta).

Torque matrix, T(I,B,theta)

3-D matrix of the electromagnetic torque applied to the rotor, as a function of Peak current magnitude vector, I, Current advance angle, B, and Rotor angle vector, theta. The default value is zeros(3, 5, 7) N*m.

If your flux data is given in a different order, you can use the permute function to reorder it. For an example of this reordering, see the associated MATLAB script in Import IPMSM Flux Linkage Data from ANSYS Maxwell.

This parameter is visible only if Flux linkage data format is set to D and Q axes flux linkages as a function of peak current magnitude (I), current advance angle (B), and rotor angle (theta) or A-phase flux linkage as a function of peak current magnitude (I), current advance angle (B), and rotor angle (theta).

Interpolation method

Select one of the following interpolation methods for approximating the output value when the input value is between two consecutive grid points:

  • Linear — Uses an extension of linear algorithm for multidimensional interpolation. Select this option to get the best performance.

  • Smooth — Uses a modified Akima interpolation algorithm. Select this option to produce a continuous surface with continuous first-order derivatives.

For more information on interpolation methods, see the PS Lookup Table (4D) block reference page.

Stator resistance per phase, Rs

Resistance of each of the stator windings. The default value is 0.013 Ohm.

Iron Losses

Open-circuit iron losses, [P_hysteresis P_eddy P_excess]

Row vector, of length 3, of the open-circuit iron losses due to hysteresis, Eddy, and excess losses, respectively, at the frequency specified by Electrical frequency at which losses determined. The default value is [0.0, 0.0, 0.0] W.

Short-circuit iron losses, [P_hysteresis P_eddy P_excess]

Row vector, of length 3, of the short-circuit iron losses due to hysteresis, Eddy, and excess losses, respectively, at the frequency specified by Electrical frequency at which losses determined. The default value is [0.0, 0.0, 0.0] W.

Electrical frequency at which losses determined

Electrical frequency at which the open-circuit and short-circuit iron losses were measured. The default value is 60 Hz.

Short-circuit RMS current for short-circuit iron losses

The resulting short-circuit RMS phase current when measuring the short-circuit losses. The default value is 95 A.

Mechanical

Rotor inertia

Inertia of the rotor attached to mechanical translational port R. The default value is 0.01 kg*m^2. The value can be zero.

Rotor damping

Rotary damping. The default value is 0 N*m/(rad/s).

Temperature Dependence

These parameters appear only for blocks with exposed thermal ports. For more information, see Thermal Ports.

Measurement temperature

The temperature for which motor parameters are quoted. The default value is 298.15 K.

Resistance temperature coefficient

Coefficient α in the equation relating resistance to temperature, as described in Thermal Model for Actuator Blocks. The default value, 3.93e-3 1/K, is for copper.

Permanent magnet flux temperature coefficient

The fractional rate of change of permanent magnet flux density with temperature. It is used to linearly reduce the torque and the induced back EMF as temperature rises. The value is usually negative. The default value is -0.001.

Thermal Port

These parameters appear only for blocks with exposed thermal ports. For more information, see Thermal Ports.

Thermal mass for each stator winding

The thermal mass value for the A, B, and C windings. The thermal mass is the energy required to raise the temperature by one degree. The default value is 100 J/K.

Initial stator winding temperatures

A 1-by-3 row vector defining the temperature of the A, B, and C thermal ports at the start of simulation. The default value is [298.15, 298.15, 298.15] K.

Rotor thermal mass

The thermal mass of the rotor, that is, the energy required to raise the temperature of the rotor by one degree. The default value is 200 J/K.

Rotor initial temperature

The temperature of the rotor at the start of simulation. The default value is 298.15 K.

Percentage of main flux path iron losses associated with the rotor

The percentage of the main flux path iron losses associated with the magnetic path through the rotor. It determines how much of the iron loss heating is attributed to the rotor thermal port HR, and how much is attributed to the three winding thermal ports HA, HB, and HC. The default value is 90%.

Percentage of cross-tooth flux path iron losses associated with the rotor

The percentage of the cross-tooth flux path iron losses associated with the magnetic path through the rotor. It determines how much of the iron loss heating is attributed to the rotor thermal port HR, and how much is attributed to the three winding thermal ports HA, HB, and HC. The default value is 30%.

References

[1] Mellor, P.H., R. Wrobel, and D. Holliday. “A computationally efficient iron loss model for brushless AC machines that caters for rated flux and field weakened operation.” IEEE Electric Machines and Drives Conference. May 2009.

Extended Capabilities

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

Introduced in R2015b