Motor Control Tools

PMSM Cheat Sheet

Core PMSM equations: torque, flux linkage, back-EMF and voltage constants in one reference.

Angle, Speed & Poles

Mechanical vs. Electrical Angle

θe = P · θm

θe
Electrical rotor angle [rad]
θm
Mechanical rotor angle [rad]
P
Pole pairs [—]

The electrical angle used in Park/inverse-Park cycles P times per mechanical revolution.

θe is what belongs in cosθ/sinθ for Park and inverse Park — using θm directly is a common bug on multi-pole-pair motors.

Mechanical vs. Electrical Speed

ωe = P · ωm fe = P · nm / 60

ωe
Electrical angular speed [rad/s]
ωm
Mechanical angular speed [rad/s]
nm
Mechanical speed [RPM]
fe
Electrical frequency [Hz]

A higher pole-pair count means a higher electrical frequency (and commutation rate) at the same shaft speed.

Open Electrical Speed

Poles vs. Pole Pairs

P = poles / 2

P
Pole pairs — the value used in every formula on this sheet [—]

Datasheets often quote pole count (always even); every formula here needs pole PAIRS, not pole count.

A common off-by-2× error: plugging in the datasheet's pole count where these formulas expect pole pairs.

Reference Frame Transforms

Clarke Transform (abc → αβ)

iα = ia iβ = (ia + 2·ib) / √3

ia, ib
Phase currents [A]
iα, iβ
Stationary frame currents [A]

Collapses three phase currents (which sum to zero) onto an equivalent two-axis stationary frame.

Amplitude-invariant convention shown (same one used by the PMSM torque equation below) — the power-invariant form scales by √(2/3) instead and changes downstream torque-equation constants.

Park Transform (αβ → dq)

id = iα·cosθe + iβ·sinθe iq = −iα·sinθe + iβ·cosθe

θe
Rotor electrical angle [rad]
id, iq
Rotating (rotor-synchronous) frame currents [A]

Rotates αβ into the rotor's own reference frame, turning sinusoidal steady-state currents into DC quantities a PI controller can regulate.

Consistent with the amplitude-invariant Clarke transform above; must use the ELECTRICAL angle θe.

Inverse Park Transform (dq → αβ)

vα = vd·cosθe − vq·sinθe vβ = vd·sinθe + vq·cosθe

vd, vq
Rotating-frame voltage commands from the current controllers [V]
vα, vβ
Stationary-frame voltage commands, fed to the SVPWM stage [V]

Converts the controller's dq voltage commands back to the stationary frame the inverter actually switches in.

Voltage Equations

PMSM dq Voltage Equations (steady-state)

Vd = Rs·Id − ωe·Lq·Iq Vq = Rs·Iq + ωe·Ld·Id + ωe·λm

Vd, Vq
d/q-axis voltage [V]
Rs
Stator phase resistance [Ω]
Ld, Lq
d/q-axis inductance [H]
λm
Permanent magnet flux linkage [Wb]

The −ωe·Lq·Iq and ωe·Ld·Id cross-terms are why d- and q-axis currents couple through speed — this is what current-loop decoupling on the FOC sheet cancels.

Steady-state form — the transient L·dI/dt terms are dropped. Amplitude-invariant convention, peak Id/Iq/λm.

Open Inverter Voltage

Torque

PMSM Electromagnetic Torque (general, IPMSM)

T = 1.5 · P · [λm · Iq + (Ld − Lq) · Id · Iq]

T
Electromagnetic torque [N·m]
P
Pole pairs [—]
Id, Iq
Peak d/q-axis currents [A]
Ld, Lq
d/q-axis inductances [H]

Total torque is magnet torque plus a saliency (reluctance) term that only exists when Ld ≠ Lq.

Amplitude-invariant (peak-preserving) Park transform convention — a power-invariant transform removes the 1.5 factor.

Open PMSM Torque

SPMSM Simplification

T = 1.5 · P · λm · Iq

T
Electromagnetic torque [N·m]
Iq
Peak q-axis current [A]

Valid when Ld ≈ Lq (surface-mounted magnets) — torque scales linearly with Iq alone; Id contributes nothing.

Open PMSM Torque

IPMSM Reluctance Torque

Trel = 1.5 · P · (Ld − Lq) · Id · Iq

Trel
Reluctance torque contribution [N·m]

Interior magnets deliberately make Lq > Ld, so a negative Id (flux-weakening direction) adds positive reluctance torque on top of magnet torque.

Zero when Ld = Lq — this is the term SPMSM machines lack entirely.

Open PMSM Torque

Back-EMF, Flux Linkage & Constants

Back-EMF

Epeak,phase-neutral = ωe · λm

Epeak,phase-neutral
Peak, phase-to-neutral back-EMF [V]

Back-EMF rises linearly with electrical speed — this is the relation that sets a motor's voltage-limited base speed.

Open Flux Linkage

Flux Linkage from Ke

λf = Ke / P

λf
Permanent magnet flux linkage [Wb]
Ke
Back-EMF constant, referenced to MECHANICAL speed [V·s/rad]

Only valid for one specific Ke convention (peak, phase-neutral, per mechanical rad/s) — most datasheet Ke values need further conversion first.

If Ke is already referenced to electrical rad/s, λf = Ke directly, with no division by P.

Open Motor Constant Converter

Ke / Kt Relationship

Kt = 1.5 · P · Ke

Kt
Torque constant, per peak phase amp [N·m/A]
Ke
Back-EMF constant, peak phase-neutral, per electrical rad/s [V/(rad/s)]

"Kt = Ke" is a myth for 3-phase motors — the true relation carries a 1.5×P factor, and only holds in this exact pairing of conventions.

Datasheet Ke/Kt are usually in different conventions entirely (RMS, line-to-line, per krpm) — convert both to this canonical pairing before comparing.

Open Motor Constant Converter

Thermal & Electrical

Winding Resistance vs. Temperature

R2 = R1 · [1 + α · (T2 − T1)]

R1, R2
Winding resistance at T1 and T2 [Ω]
α
Temperature coefficient (≈0.00393/°C copper) [1/°C]

Winding resistance — and copper loss at fixed current — rises with temperature, which is why hot-running motors draw more I²R loss than their cold-measured resistance predicts.

Linear approximation referenced near 20°C; accuracy degrades over wide temperature spans.

Open Winding Temperature

Electrical Time Constant

τ = L / Rs

τ
Electrical (L/R) time constant [s]
L
Phase inductance (Ld or Lq) [H]

Sets how fast phase current can respond to a voltage step — a slower (larger τ) plant needs a proportionally lower current-loop bandwidth to keep the pole-zero cancellation valid.

Open Current Loop PI