2025-11-07 12:27 AM
Hello,
While testing FOC operation using Hall sensors in MCSDK, I encountered an issue that I’d like to discuss.
When attempting low-speed BLDC control (around 100-200 RPM) with FOC, the electrical angle updates discontinuously at 60-degree intervals, as shown in the graph below. If I first apply a high-speed/high-torque command so that HALL can interpolate the electrical angle and then switch to low-speed control, the problem is resolved. However, this approach becomes challenging when the motor is under heavy load.
Is there any method or idea to make the motor run smoothly at low speed directly from a standstill without going through this intermediate process?
Additionally, it seems that in 6-step control, users can only specify a speed reference. Is there any way to set a current (torque) reference without modifying the core MCSDK code? If this feature is not currently supported, I’m curious whether there are plans to enable 6-step control via current reference in the future(in case someone from the development team sees this post).
For reference, the evaluation board used is EVSPIN32G4NH, MCSDK version is 6.3.2
Motor parameters:
Thank you.
2025-11-10 7:21 AM
Low-speed control of FOC with a Hall sensor is a known issue; more advanced algorithms are needed to solve it.
2025-11-16 4:47 PM
Thanks for your reply! I’ll need to think more about the algorithm for low-speed situation.
2025-11-17 6:33 AM
Hello @Hak,
For FOC use case, did you try tuning the Speed Sensing Config. Hall Sensor parameters? Using following settings could improve low speed behavior.
2025-11-20 12:24 AM
Hello @GMA
Thanks for your reply!
As you suggested, I tuned the Hall sensor parameters and tested them, but the low-speed behavior was almost the same. Below is a graph showing the electrical angle and the reference Q current during the test period.
Do you have any suggestions for other methods I could try to address this problem?
Thank you in advance.
Hak
2025-11-24 10:05 PM
@Hak wrote:Thanks for your reply! I’ll need to think more about the algorithm for low-speed situation.
If you find anything or develop new algorithm, can you please share it?
Thanks.