high frequency injection (HFI) for sensorless zero speed torque
BLDC motor controllers use the back-emf generated in the winding to estimate rotor position. Back emf is created in the winding only while the rotor is rotating. When the rotor is not moving, no back emf is created, therefore the controller cannot determine the rotor position. Read how back-emf is used in this blog post on sensorless-FOC.
Rotor position estimation using high-frequency injection (HFI) can be performed even while the rotor is at rest. Another name for this technology is saliency tracking.
In this blog article, we will go over some fundamental ideas of HFI.
Saliency in motors
HFI relies on motor Saliency. Saliency is the variation in phase inductance as a function of rotor position/angle. Motors that do not have saliency can not be run using the HFI method.
Saliency is commonly found in I-PMSMS (interior PMSM) rotor configurations. S-PMSM (Surface PMSM) typically lack saliency. When the magnets are embedded deep into the rotor, the air gap reluctance varies with the rotor position. This effect can be observed from the flux density plot as the rotor rotates.
To demonstrate this variation, we use FEMM simulation to estimate the inductance seen by a phase winding as the rotor rotates. The estimated inductance is plotted against the rotor position.
![]() |
---|
Inductance vs rotor position graph. The rotor structure is rotated and inductance is calculated at each step. Plot shows the variation of inductance as the rotor rotates 360 electrical degrees. |
Because the inductance varies with the rotor angle/position, the inductance can be used to estimate the rotor angle. The purpose of the high-frequency-injection is to estimate the inductance in real-time.
The implementation details like the shape and frequency of the injected signal and the signal-processing techniques vary between different manufacturers. But almost all techniques exploit rotor-position dependent inductance.
simulation files used in this blog post are available here
Saliency tracking in action
![]() |
---|
Saliency tracking to drive a BLDC motor at zero and low speeds in sensorless mode. The plot on the screen displays the estimated rotor angle that varies from -180 to 180 degrees. The controller keeps track of the rotor angle even when the rotor is locked. So consistent and reliable operation is possible in low and zero-speed. |