Flux-Based PMSM
Flux-based permanent magnet synchronous motor
Libraries:
Powertrain Blockset /
Propulsion /
Electric Motors and Inverters
Description
The Flux-Based PMSM block implements a flux-based three-phase permanent magnet synchronous motor (PMSM) with a tabular-based electromotive force. The block uses the three-phase input voltages to regulate the individual phase currents, allowing control of the motor torque or speed.
Flux-based motor models take into account magnetic saturation and iron losses. To calculate the magnetic saturation and iron loss, the Flux-Based PMSM block uses the inverse of the flux linkages. To obtain the block parameters, you can use finite-element analysis (FEA) or measure phase voltages using a dynamometer.
By default, the block sets the Simulation
Type parameter to Continuous
to use a continuous
sample time during simulation. If you want to generate code for fixed-step double- and
single-precision targets, considering setting the parameter to
Discrete
. Then specify a Sample Time, Ts
parameter.
To enable power loss calculations suitable for code generation targets that limit memory, select Enable memory optimized 2D LUT.
Three-Phase Sinusoidal Model Electrical System
The block implements equations that are expressed in a stationary rotor reference (dq) frame. The d-axis aligns with the a-axis. All quantities in the rotor reference frame are referred to the stator.
The block uses these equations.
Calculation | Equation |
---|---|
q- and d-axis voltage | |
q- and d-axis current | |
Electromechanical torque |
The equations use these variables.
ωm | Rotor mechanical speed |
ωe | Rotor electrical speed |
Θda | dq stator electrical angle with respect to the rotor a-axis |
Rs, Rr | Resistance of the stator and rotor windings, respectively |
iq, id | q- and d-axis current, respectively |
vq, vd | q- and d-axis voltage, respectively |
Ψq, Ψd | q- and d-axis magnet flux, respectively |
P | Number of pole pairs |
Te | Electromagnetic torque |
Transforms
To calculate the voltages and currents in balanced three-phase (a, b) quantities, quadrature two-phase (α, β) quantities, and rotating (d, q) reference frames, the block uses the Clarke and Park Transforms.
In the transform equations.
Transform | Description | Equations |
---|---|---|
Clarke | Converts balanced three-phase quantities (a, b) into balanced two-phase quadrature quantities (α, β). | |
Park | Converts balanced two-phase orthogonal stationary quantities (α, β) into an orthogonal rotating reference frame (d, q). | |
Inverse Clarke | Converts balanced two-phase quadrature quantities (α, β) into balanced three-phase quantities (a, b). | |
Inverse Park | Converts an orthogonal rotating reference frame (d, q) into balanced two-phase orthogonal stationary quantities (α, β). |
The transforms use these variables.
ωm | Rotor mechanical speed |
P | Motor pole pairs |
ωe | Rotor electrical speed |
Θe | Rotor electrical angle |
x | Phase current or voltage |
Mechanical System
The rotor angular velocity is given by:
The equations use these variables.
J | Combined inertia of rotor and load |
F | Combined viscous friction of rotor and load |
θm | Rotor mechanical angular position |
Tm | Rotor shaft torque |
Te | Electromagnetic torque |
Tf | Combined rotor and load friction torque |
ωm | Rotor mechanical speed |
Power Accounting
For the power accounting, the block implements these equations.
Bus Signal | Description | Variable | Equations | ||
---|---|---|---|---|---|
|
|
| Mechanical power | Pmot | |
PwrBus | Electrical power | Pbus | |||
| PwrElecLoss | Resistive power loss | Pelec | ||
PwrMechLoss | Mechanical power loss | Pmech | When Port Configuration is set to
When Port
Configuration is set to
| ||
| PwrMtrStored | Stored motor power | Pstr |
The equations use these variables.
Rs | Stator resistance |
ia, ib, ic | Stator phase a, b, and c current |
isq, isd | Stator q- and d-axis currents |
van, vbn, vcn | Stator phase a, b, and c voltage |
ωm | Angular mechanical velocity of the rotor |
F | Combined motor and load viscous damping |
Te | Electromagnetic torque |
Tf | Combined motor and load friction torque |
Lookup Table Memory Optimization
The data for the Corresponding d-axis current, id and Corresponding q-axis current, iq lookup tables are functions of the d- and q-axis flux.
To enable current calculations suitable for code generation targets that limit memory, select Enable memory optimized 2D LUT. The block uses linear interpolation to optimize the current lookup table values for code generation. This table summarizes the optimization implementation.
Use Case | Implementation | |
---|---|---|
d- and q-axis flux aligns with the lookup table breakpoint values. | Memory-optimized current is current lookup table value at intersection of flux values. | |
d- and q-axis flux does not align with the lookup table breakpoint values, but is within range. | Memory-optimized current is linear interpolation between corresponding flux values. | |
d- and q-axis flux does not align with the lookup table breakpoint values, and is out of range. | Cannot compute an memory-optimized current. Block uses extrapolated data. |
The lookup tables optimized for code generation do not support extrapolation for data that is out of range. However, you can include pre-calculated extrapolation values in the power loss lookup table by selecting Specify Extrapolation.
The block uses the endpoint parameters to resize the table data.
User Input | Extrapolation |
---|---|
Ports
Input
Output
Parameters
References
[1] Hu, Dakai, Yazan Alsmadi, and Longya Xu. “High-Fidelity Nonlinear IPM Modeling Based on Measured Stator Winding Flux Linkage.” IEEE® Transactions on Industry Applications 51, no. 4 (July/August 2015).
[2] Chen, Xiao, Jiabin Wang, Bhaskar Sen, Panagiotis Lasari, and Tianfu Sun. “A High-Fidelity and Computationally Efficient Model for Interior Permanent-Magnet Machines Considering the Magnetic Saturation, Spatial Harmonics, and Iron Loss Effect.” IEEE Transactions on Industrial Electronics 62, no. 7 (July 2015).
[3] Ottosson, J., and M. Alakula. “A Compact Field Awakening Controller Implementation.” International Symposium on Power Electronics, Electrical Drives, Automation and Motion, July 2006.
Extended Capabilities
Version History
Introduced in R2017b