Skip to content

Tuning Sensorless Injection (Amplitude and Frequency) on SOLO

Motion Terminal

Introduction

You enabled zero-speed full-torque sensorless control, and the motor holds position at standstill. Good. But it whines, the estimated angle jitters, or it slips when you load it. Almost always, the cause is one thing: the injection is not tuned well.

This guide shows you how to set the two injection parameters, amplitude and frequency, so the motor runs stable and quiet at zero and low speed. For the full ZSFT concept and how the method works, see our overview of sensorless control. Here we stay practical: what each parameter does, how to tune it step by step, and how to read the symptoms when something is off.

Quick Recap: What Injection Does

At zero speed there is no back EMF, so a normal observer has nothing to track. Injection solves this. The drive adds a small high-frequency signal on top of the control current, then watches how the motor responds. Because the rotor has saliency, a small difference in inductance between the d and q axes, the response carries the rotor angle. The estimator reads that response and recovers the position.

The whole low-speed method stands on this. If saliency is weak or the injection is set wrong, the angle estimate gets noisy, and everything downstream suffers. The amount of usable saliency depends on the motor, which is why high-saliency designs track better at standstill. For background on this, see saliency ratio.

FOC block diagram using the ZSFT sensorless method with high and low-speed estimation

Takeaway: injection probes the rotor saliency to find the angle when there is no back EMF. Tuning it well is what makes zero-speed control solid.

The Two Parameters: Amplitude and Frequency

You control injection with two knobs. They interact, so it helps to understand each one before you start turning them.

Injection Amplitude

Amplitude sets how strong the injected signal is. A stronger signal gives a stronger response from the rotor, which means a better signal-to-noise ratio and a cleaner angle estimate.

But more is not free. The injected current does not make useful torque, so it turns into heat in the windings, and it makes the motor more audible. Set amplitude too low and the estimate gets noisy, because the saliency response drowns in measurement noise. Set it too high and the motor warms up and whines for no benefit.

The right amplitude is the smallest value that gives you a stable, clean angle with margin. On a motor with strong saliency you can run a low amplitude. On a low-saliency motor you generally need more to get the same estimate quality.

Injection Frequency

Frequency sets how fast the injected signal oscillates. The key rule is separation: the injection frequency must sit well above your speed and current control bandwidth, so the controller does not react to it and the estimator can filter it out cleanly.

Frequency has hard limits on both sides. It cannot get close to the PWM frequency, because you need many PWM cycles to resolve each injection cycle. And it should not drop near the control bandwidth, or the loops and the injection start to interfere. A common starting point is a frequency a few times below the PWM frequency and clearly above the control loop. Higher injection frequency usually means less audible noise, since it moves the tone above the most sensitive range, but it leaves fewer PWM cycles per period to resolve the response.

Takeaway: amplitude trades estimate quality against heat and noise. Frequency must stay separated from both the control bandwidth and the PWM rate.

How to Tune Step by Step

Tune in order. Change one parameter at a time and watch the estimated angle and Iq before you move on.

Step 1: Start from Safe Defaults

Begin with the defaults SOLO loads after motor identification. They are deliberately conservative, so the motor should at least hold and turn slowly without faulting. Confirm the motor is mechanically free and that the basics, like pole pairs and current limits, are correct. Do not tune injection on top of a wrong motor setup.

Step 2: Raise Amplitude Until the Estimate Is Stable

Watch the estimated position and the Iq trace while the motor sits at standstill and at very low speed. If the angle jitters or the motor cannot hold, raise the amplitude in small steps. Stop as soon as the estimate is stable and the motor holds firmly under a light disturbance. Do not keep climbing past that point. Extra amplitude beyond a stable estimate only adds heat and noise.

Step 3: Set Frequency to Minimize Noise

With a stable estimate, turn to noise. If the motor whines, raise the injection frequency to push the tone higher, while keeping clear separation from the PWM frequency. Each change, re-check that the angle estimate stays clean. A higher frequency that breaks the estimate is too high. Find the value that is quiet and still stable.

Step 4: Verify Under Load and at Standstill

A setup that looks fine unloaded can fail when you push it. Apply your real load and check that the motor holds at standstill and accelerates from zero without slipping or losing the angle. Use the monitor to watch Iq and the estimated position together during a hard start. If the angle slips at the moment torque rises, go back to Step 2 and add a little amplitude. Repeat until the motor starts cleanly under full load.

MATLAB chart comparing encoder and sensorless speed estimation in RPM over time

Takeaway: amplitude first for stability, frequency next for noise, then verify under real load. One change at a time.

Symptoms and Fixes (Troubleshooting Table)

Most injection problems map to a clear symptom. Use this table to go from what you hear or see to the action.

SymptomLikely causeAction
Estimated angle jitters at standstillAmplitude too low, weak signal-to-noiseRaise amplitude in small steps until the estimate is stable
Motor warms up fast, no loadAmplitude higher than neededLower amplitude to the smallest value that keeps the estimate stable
Audible whine at standstillInjection tone in the sensitive rangeRaise injection frequency, keep separation from PWM
Loses angle or slips at start under loadEstimate margin too small for the torque stepAdd a little amplitude, verify with a hard start
Estimate breaks when frequency is raisedFrequency too close to PWM, too few cycles per periodLower the frequency back below the PWM limit

For a wider walk-through of sensorless faults beyond injection, start from the ZSFT setup and work outward.

When Injection Is Not Enough

Injection has a floor. If the motor has very low saliency, the d and q inductances are almost equal, so the response carries little angle information no matter how you tune. Pushing amplitude up just adds heat without fixing the estimate. Motors with low inductance overall are also harder to drive cleanly, which compounds the problem. See low-inductance motors for why.

When you hit this floor, more tuning is not the answer. If your application truly needs full torque from zero on a low-saliency motor, the reliable path is to add a position sensor, such as an encoder or hall sensors, for the low-speed region. Injection is a powerful tool, but it is not magic, and knowing its limit saves you hours.

Takeaway: if saliency is too low, no injection setting will give a clean angle. Plan for a sensor instead of fighting the tuning.

How SOLO Helps You Tune Sensorless Injection

SOLO controllers run the ZSFT sensorless method out of the box, and the Motion Terminal gives you the tools to tune it without guesswork. After motor identification, SOLO loads sensible injection defaults, so you start from a working point instead of zero. You can then adjust amplitude and frequency directly, and watch the estimated position and Iq on the built-in monitor while you do it.

That live feedback is what makes the step-by-step method above practical. You change one value, you see the effect, you keep what works. Try it on a controller that supports sensorless out of the box, like the SOLO UNO, with the SOLO Motion Terminal.

Conclusion

Tuning sensorless injection comes down to two knobs and a clear order. Set the amplitude to the smallest value that gives a stable, clean angle estimate, so you get good signal without wasting heat. Set the frequency high enough to push the noise out of the audible range, while keeping it separated from your PWM and control bandwidth. Then verify under real load at standstill, because that is where a weak setup fails. If saliency is too low to estimate cleanly, stop tuning and add a sensor. The fastest way to dial this in is with the SOLO Motion Terminal, where you change a value and see its effect on the angle right away.

FAQ

My motor whines at standstill, how do I fix it?

A whine at standstill usually comes from the injection tone sitting in a frequency range your ear is sensitive to. Raise the injection frequency to move the tone higher, and check that the estimated angle stays stable after each change. If the whine persists at the lowest stable amplitude, your amplitude may simply be higher than the motor needs, so try lowering it too.

Higher injection amplitude: always better?

No. More amplitude gives a stronger signal and a cleaner estimate, but only up to the point where the estimate is already stable. Past that, the extra current makes no useful torque. It just adds heat in the windings and makes the motor more audible. The goal is the smallest amplitude that holds a stable, clean angle under your load.

What injection frequency should I start with?

Start from the default SOLO loads after motor identification, which is chosen to sit safely between your control bandwidth and the PWM frequency. From there, raise it only to reduce audible noise, and stop before the estimate starts to break. Keeping clear separation from the PWM frequency matters, because you need several PWM cycles to resolve each injection period.

Tags:Motion TerminalSensorlessTuning

Products in this article

SOLO UNO V2

SOLO UNO V2

175.00€

In Stock

Browse all categories

Drive your next innovation today

Discover our High-Performance Motor Controllers, Test Benches, and Services trusted worldwide.