Sensorless FOC – Backward Motion on Startup (Need Help with IPD Integration)
Hello Everyone,
I’m using sensorless FOC to control a BLDC motor with 3-shunt current sensing for closed-loop control. At startup, the motor slightly moves backward before starting to rotate in the correct (forward) direction. I understand this is likely due to the lack of initial rotor position information. There are no position or speed sensors involved—everything is handled via FOC and current feedback.
I verified that 6-step control on the same hardware supports Initial Position Detection (IPD), although I haven’t tested it yet. That said, I am not switching to 6-step control. I want to stay with FOC and retain the 3-shunt topology for current sensing in closed-loop mode.
My questions:
Is there a way to prevent this backward motion using FOC only?
If IPD is the only viable solution, how can I integrate IPD into the FOC framework, using my current hardware setup (STM32F401RE + 3-shunt topology)?
Can I reuse the 6-step IPD logic just for startup, and then transition into FOC with 3-shunt current sensing?
Any guidance, suggestions, or example implementations to help integrate IPD with FOC would be greatly appreciated.
Thank you!
Best Regards,
Manikanta
