Sensorless FOC jerks or stalls at start (PMSM/BLDC)
Sensorless field-oriented control (FOC) is great on paper – until the motor jerks, buzzes or refuses to move. If your sensorless FOC does not start, FOC won’t start reliably under load or your BLDC jerks at low speed, this page is for you. We specialise in fixing sensorless FOC problems around start-up, loss of sync, kickback and low-speed torque on PMSM and BLDC drives.
Quick summary – what this problem looks like
- FOC start command is given but the rotor does not move, or moves a few degrees and stalls.
- Motor jerks or chatters at low speed, especially when loaded or on inclines.
- Strong mechanical kickback or reverse movement when sensorless FOC tries to lock in.
- Drive only works in open-loop / 6-step, but FOC won’t start or is disabled in the field.
- System passes lab tests but random customer units show sensorless FOC problems in cold, hot or low-voltage conditions.
Typical symptoms we hear from teams
- “FOC does not start reliably when the motor is already under load.”
- “The motor runs fine above a certain RPM, but BLDC jerks at low speed and makes noise.”
- “We see loss of sync and over-current trips during ramp-up or hill starts.”
- “Sensorless mode works on the bench, but fails with real-world inertia, backlash or gearboxes.”
- “After a brown-out or short power cut, the drive re-starts with harsh transients.”
Why sensorless FOC jerks or stalls at start
Most of these issues come from a combination of algorithm, timing and parameter problems – not from a “bad motor”. Common root causes include:
- Poor start-up sequence: missing or too short initial alignment, open-loop ramp that is not matched to the load, or aggressive current ramps that throw the observer off.
- Observer not locked: sliding-mode observer (SMO), MRAS, back-EMF PLL or EKF does not have enough signal at low electrical speed, so the angle estimate jumps or drifts.
- Incorrect motor parameters: Rs, Ld/Lq, flux linkage and inertia/friction are off, so torque production and angle tracking do not match the real plant.
- Weak low-speed torque: DC-bus sag, current limits, poor MTPA biasing or dead-time effects reduce the actual torque available during lift-off.
- PWM / ADC / current-sensing issues: wrong sampling windows, uncalibrated offsets, noisy shunts / Hall sensors or delays injected by DMA/filters.
- Error recovery gaps: no robust loss-of-sync detection, so the controller “fights” the rotor instead of falling back to a safe state and re-starting cleanly.
What we do for this class of sensorless FOC problems
We turn a fragile sensorless implementation into a robust, production-ready drive that starts smoothly, survives abuse and keeps working across the full operating window. Typical work packages:
- Observer design and tuning: SMO, MRAS / Luenberger, back-EMF PLL or EKF, tuned for your motor and hardware with clear bandwidth vs. noise trade-offs and delay compensation.
- Start-up strategy: clean initial alignment, I–F or V/f open-loop ramp, current-limited start-up and robust handover criteria into closed-loop sensorless FOC.
- Low-speed torque and stability: HFI (high-frequency injection) where needed, anti-cogging feed-forward, better MTPA biasing and ripple-reduction on dq loops.
- Parameter and timing correction: Rs(T) and flux linkage updates, inertia / friction ID, DC-bus feed-forward, PWM / ADC synchronisation and current-measurement calibration.
- Protection and recovery: loss-of-sync detection, stall handling, safe fall-back modes and deterministic restart behaviour after brown-outs or faults.
- Implementation on STM32 / MCSDK: clean integration into your existing STM32Cube / X-CUBE-MCSDK project (HAL / LL), including ISR-safe estimator updates and logging hooks.
Outcomes we aim for
- Safe start-up under load without stall, kickback or random over-current trips.
- Smooth, quiet low-speed operation with stable torque and minimal ripple.
- Reliable restarts after short stops, brown-outs or fault-clear conditions.
- Robust sensorless operation across temperature, DC-bus sag and component tolerances.
- Clear KPIs and pass/fail criteria so you can sign off sensorless mode with confidence.
How we fix sensorless FOC start-up issues in practice
- Baseline and reproduce: we connect to your drive, capture start-ups and low-speed runs, and log currents, voltages, angle estimates and status flags.
- Root-cause analysis: we correlate symptoms (jerks, stalls, loss of sync) with observer behaviour, PWM / ADC timing and motor parameters.
- Redesign and re-tune: we implement improved start-up, handover and observer settings (or a new estimator) that match your motor, inverter and load.
- Validation and hardening: we stress-test corner cases – cold/hot, low DC-bus, high load, repeated restarts – and document the achieved KPIs.
If you already use STM32’s Motor Control SDK, we can either work inside your MCSDK project or provide a minimal HAL / LL code path that drops in cleanly.
Engagement flow
- Discovery (30 minutes) – motor / inverter overview, symptoms, current controller and what “good” looks like for your product.
- Data and baseline – we define a short test script and collect logs of start-ups, low-speed cases and any “FOC won’t start” situations.
- Design and implementation – observer choice, start-up / handover logic, low-speed aids and protection / recovery behaviour.
- Validation – sweeps over speed, torque, DC-bus and temperature; abuse tests (blocked rotor, sudden load steps, hill starts).
- Handover – parameters, code patches, plots and a checklist your team can use in regression tests and manufacturing QA.
What we need from you
- Motor datasheet (pole pairs, Rs, Ld/Lq if known, Ke / Kt) and inverter schematic.
- Current-sensing method (single / dual / triple shunt, Hall, LEM, shunt in DC-link, etc.).
- DC-bus voltage range, PWM frequency, expected speed and torque window.
- Information about load (gearbox, belts, wheels, pumps, compressors, etc.) and start-up conditions.
- Existing STM32 / MCSDK or other FOC project, plus any logs that show sensorless FOC problems.
- Target KPIs, e.g. ≥ 99 % successful starts, no kickback, low-speed ripple ≤ X %, restart time ≤ Y s.
Related services
- FOC (PMSM / BLDC) – start-up & low-speed tuning
- STM32 real-time optimisation – TIM / PWM, ADC, DMA, FPU
- STM32 MCSDK integration – control loops, PWM and ADC synchronisation
- Motor controller problems we fix (hub)
FAQ
Can you fix this on our existing hardware?
In most projects, yes. As long as the motor, inverter and current sensing are adequate,
start-up and low-speed issues are usually solvable in software and parameter space.
Do we need high-frequency injection (HFI)?
Not always. Many drives with SPMSM or BLDC motors can meet their requirements with
well-tuned observers and robust start-up / handover logic. We reserve HFI for
demanding low-speed specs or strong saliency where the signal-to-noise ratio allows it.
Does this only apply to STM32?
STM32 and X-CUBE-MCSDK are our most common platform, but the same principles apply
to other MCUs and FOC stacks. If you have an existing codebase, we can review and work
with that as well.
What if sensorless FOC still does not start in some edge cases?
Then we treat those as explicit KPIs, extend the operating window as far as
physically feasible and document where limits remain – so you have a clear, honest
specification for product management and field engineering.