IPMSM MTPA, Field Weakening and MTPV Current Trajectory
Find id and iq references from Ld, Lq, magnet flux and inverter limits. Explore MTPA, field weakening, MTPV and the torque–speed and power–speed envelopes.
This IPMSM MTPA calculation answers a drive-control question: with known d-axis and q-axis inductances, magnet flux linkage and inverter limits, which id and iq references deliver the greatest positive torque as speed rises? It works from electrical drive parameters, without rotor geometry. Control engineers can use it to investigate current-reference schedules; students can see how the current circle and voltage ellipse determine the torque–speed envelope.
Enter Ld and Lq as phase inductances and magnet flux as peak phase flux linkage. The convention is the amplitude-invariant Park transform: the dq current magnitude equals the peak sinusoidal phase current. Convert a phase RMS current rating by multiplying by √2. The voltage input is available fundamental line-to-neutral peak voltage, after any reserve you want for current regulation. Linear space-vector PWM ideally provides Vdc/√3; sinusoidal PWM provides Vdc/2. Enter phase resistance at the intended winding temperature. Setting resistance to zero reproduces the classical voltage ellipse model.
Set the peak current ceiling, the permitted magnitude of negative d-axis current and the top speed to investigate. The negative-id ceiling represents an externally supplied demagnetization restriction; the calculator cannot determine it from inductance and flux alone. The speed sweep stops at the earlier of your top speed and the finite electrical zero-torque cutoff, if one exists. Press play to move the operating point and voltage ellipse. The current references are solved directly at the selected speed, while the smooth envelope uses 301 solved speed points.
Below base speed, the full-load command stays at the MTPA point. Above it, field weakening introduces more negative id so the voltage remains within the inverter limit. When maximum torque occurs inside the current circle, the command follows MTPV. Depending on resistance and the current and demagnetization ceilings, MTPV may be absent or may be followed by another constrained region. The control-region result identifies the active constraint.
These are maximum-positive-torque references, not a part-load torque controller. The blue curve also shows the MTPA locus from zero current to the low-speed current ceiling; the orange and green curves show the speed trajectory. Power is electromagnetic torque times mechanical speed, before friction and windage losses. No fixed constant-power plateau is imposed.
This tool does not simulate FOC transients, PWM ripple, regeneration, saturation maps, cross-coupling inductance, iron losses, DC-bus power limits or rotor mechanical strength. A dash for electrical cutoff means the ideal constant-parameter model has no finite electrical cutoff; it never establishes a permissible mechanical speed. A dash for MTPV entry means no unconstrained MTPV region was found in the investigated span. Validate any deployed id iq reference schedule against measured motor maps, inverter voltage reserve and the motor supplier’s speed and demagnetization limits.
How it is calculated
The steady-state amplitude-invariant dq model is
The current circle is and the exact resistance-inclusive voltage ellipse is . These equations follow Sanz et al. (2019), §§2.1–2.3, and Eldeeb et al. (2017), §§II–III. The numerical solution and drawing are original.
For , the stable closed form
includes the equal-inductance limit without dividing by saliency. At standstill, ; the d-axis ceiling clips the optimal angle if necessary. Base speed solves the voltage quadratic at this low-speed current pair.
At each speed, the section of the voltage ellipse provides the feasible d-current interval. For each candidate id, a quadratic gives the positive voltage-limited iq; the current circle supplies the other iq bound. The smaller bound is used, and 38 golden-section iterations maximize torque over id. The positive torque objective is log-concave over this interval. This solves field weakening and MTPV without imposing constant power or assuming every motor reaches MTPV. Constraint re-entry is retained. Entry speed is refined by bisection with a 10⁻⁵ relative current-slack criterion.
Maximum electrical speed is found on iq = 0 by maximizing over the permitted negative-id interval. If flux cancellation is accessible and , no finite electrical cutoff exists. With zero resistance and incomplete cancellation, this reduces to , .
Assumptions
Balanced three-phase sinusoidal IPMSM; positive mechanical speed and positive motoring torque; Lq ≥ Ld, including the equal-inductance limit. Constant phase Ld, Lq, magnet flux and operating-temperature resistance. The d-axis aligns with magnet flux; id ≤ 0 and iq ≥ 0. Current and voltage are fundamental phase peaks. The independent current and negative-id ceilings are supplied by the user.
Where it applies
Steady-state maximum-torque envelope only. Excludes saturation, cross-coupling inductance, harmonics, iron losses, inverter nonlinearities, bus power limits, thermal duty, friction, windage and transient voltage headroom. Use the available fundamental voltage after reserving control margin. Converted power is before mechanical losses. Flux cancellation can remove the ideal electrical speed limit; mechanical, bearing and inverter-frequency limits still apply. The finite cutoff is a zero-torque limiting speed, not a useful loaded operating point.
The envelope is solved at 301 speeds; no interpolated solution is used for the animated current command. The voltage ellipse has 721 drawing samples. Sharp constraint transitions are physical. The diagram shows the upper, motoring half of the current circle in coordinates normalized by Imax. MTPV entry is the first region with both current ceilings slack in the sampled speed span and is numerically refined; a narrower region than one speed interval can be missed by the entry marker, although the selected-speed optimization remains valid.
Sanz motor A gives 1.483 N·m against the listed 1.48 N·m nominal rating. At 1800 rpm and a 6 V bus, this constant-parameter model gives 0.573 N·m against the paper's reported 0.56 N·m simulation. Motor B gives 3.358 N·m against a listed nominal 3.3 N·m. Checks explicitly allow these small model/rating differences; the equations are not fitted to the reported values.
References
- Morimoto, Takeda, Hirasa and Taniguchi (1990), Expansion of operating limits for permanent magnet motor by current vector control considering inverter capacity, IEEE TIA 26(5), 866–871. https://doi.org/10.1109/28.60058
- Jahns, Kliman and Neumann (1986), Interior Permanent-Magnet Synchronous Motors for Adjustable-Speed Drives, IEEE TIA IA-22(4), 738–747. https://doi.org/10.1109/TIA.1986.4504786
- Sanz et al. (2019), Analytical Maximum Torque per Volt control strategy of an IPMSM with very low battery voltage, IET Electric Power Applications 13(7), 1042–1050. https://doi.org/10.1049/iet-epa.2018.5469 — open manuscript: https://zaguan.unizar.es/record/84350/files/texto_completo.pdf
- Eldeeb, Hackl, Horlbeck and Kullick (2017), On the optimal feedforward torque control problem of anisotropic synchronous machines: Quadrics, quartics and analytical solutions, arXiv:1611.01629v5. https://arxiv.org/abs/1611.01629
- MathWorks, PMSM Constraint Curves and Their Application, Motor Control Blockset documentation (accessed 2026-11-01). https://www.mathworks.com/help/mcb/gs/pmsm-constraint-curves-and-their-application.html
Inputs
| Input | Symbol | Unit | Default |
|---|---|---|---|
| d-axis inductance | L_d | mH | 0.5 |
| q-axis inductance | L_q | mH | 1.2 |
| Magnet flux linkage Peak phase flux linkage, using the amplitude-invariant Park transform. | psi_m | Wb | 0.08 |
| Phase resistance Use the winding resistance at operating temperature; set zero for the classical lossless model. | R_s | ohm | 0.03 |
| Pole pairs | p_pairs | 4 | |
| Peak phase current limit Multiply a sinusoidal phase RMS rating by √2. | I_max | A | 250 |
| Peak phase voltage limit Available fundamental line-to-neutral peak: Vdc/√3 for linear SVPWM, before your control reserve. | V_max | V | 200 |
| Negative d-axis current ceiling Positive magnitude of the permitted negative id; obtain the demagnetization limit from the motor supplier. | I_dmax | A | 250 |
| Top speed to investigate | n_top | rpm | 16000 |
| Speed sweep Percentage of the feasible speed span; press play to move the operating point. | sweep | 45 |
Results
With the default inputs above, the calc gives:
| Result | Value |
|---|---|
| Selected speed | 7,200 1/min |
| Command id | -205.57 A |
| Command iq | 50.35 A |
| Control region | MTPV |
| Available electromagnetic torque | 67.63 N·m |
| Converted mechanical power | 50.99 kW |
| Peak phase current | 211.64 A |
| Peak phase voltage | 200 V |
| Base speed | 1,946 1/min |
| First MTPV entry in sweep | 4,976 1/min |
| Speed range | No finite electrical cutoff |
| Characteristic current | 160 A |
It also shows: Zero-torque electrical cutoff, 1/min.
Checked against sources
Each case below was calculated by this calc and agrees with the value from its source (within the tolerance where one is shown).
Published motor A nominal torque
Source: Sanz et al., IET Electric Power Applications 13(7), 2019, Table 1: nominal current 49.5 A and nominal torque 1.48 N·m. The table value is rounded.
Inputs: d-axis inductance = 0.06 mH; q-axis inductance = 0.096 mH; Magnet flux linkage = 0.0047 Wb; Phase resistance = 0.0375 Ω; Peak phase current limit = 49.5 A; Negative d-axis current ceiling = 55 A; Peak phase voltage limit = 3.464 V; Top speed to investigate = 5,000 rpm; Speed sweep = 0; the others as above.
| Result | Source | This calc |
|---|---|---|
| Low-speed torque limit | 1.48 ± 0.01 N·m | 1.483 N·m |
Published low-voltage torque at 1800 rpm
Source: Sanz et al., 2019, section 3 and Fig. 9: 6 V battery, 1800 rpm, simulated maximum torque 0.56 N·m. Vdc/√3 is used. The constant-parameter steady-state model gives 0.573 N·m, 2.4% higher; 0.02 N·m absolute tolerance admits this published simulation/model difference without changing the physics.
Inputs: d-axis inductance = 0.06 mH; q-axis inductance = 0.096 mH; Magnet flux linkage = 0.0047 Wb; Phase resistance = 0.0375 Ω; Peak phase current limit = 49.5 A; Negative d-axis current ceiling = 55 A; Peak phase voltage limit = 3.464 V; Top speed to investigate = 1,800 rpm; Speed sweep = 100; the others as above.
| Result | Source | This calc |
|---|---|---|
| Available electromagnetic torque | 0.56 ± 0.02 N·m | 0.5732 N·m |
Published motor B nominal rating
Source: Sanz et al., IET Electric Power Applications 13(7), 2019, Table 2: 63.64 A nominal current and 3.3 N·m nominal torque. The ideal constant-parameter electromagnetic torque is 3.358 N·m, 1.75% higher than the listed nominal rating. This is a rating sanity check with 0.07 N·m absolute tolerance, not an exact worked-example match.
Inputs: d-axis inductance = 0.1286 mH; q-axis inductance = 0.173 mH; Magnet flux linkage = 0.00435 Wb; Phase resistance = 0.04 Ω; Pole pairs = 7; Peak phase current limit = 63.64 A; Negative d-axis current ceiling = 60 A; Peak phase voltage limit = 5.196 V; Top speed to investigate = 3,000 rpm; Speed sweep = 0; the others as above.
| Result | Source | This calc |
|---|---|---|
| Low-speed torque limit | 3.3 ± 0.07 N·m | 3.358 N·m |

Responses