cancel
Showing results for 
Search instead for 
Did you mean: 

Need help with Tuning FOC in StevalESC001

Prof_McGonagall
Associate II

Hi, 
I am using StevalESC001 board and MCSDK latest version to implement FOC on a custom motor.  

I am facing a few issues while testing it with load. I am unaware of what might be the cause of these issues if anyone could direct me towards what might be happening it would be helpful. 

First of all, during the startup motor sometimes starts spinning in anticlockwise direction that too at a very high speed. This behavior is random, I haven't yet identified any pattern into it, and it becomes more frequent when testing with load. I also noticed that sometimes Iq value shown in motor pilot is -10A initial which seems wrong, shouldn't it be 0 initially?

Another issue is with the Actual RPM and the RPM shown in motor pilot, the RPM shown by motor pilot is 300 to 500 more as compared to actual RPM the motor is spinning at. The difference increases as we increase the throttle. Also, motor seems to reach its capacity at only half throttle. It is producing only 600 g of thrust when expected at full throttle is 1kg. It seems to saturate at a 50% throttle and above that there is no change in speed, torque or thrust. Iq fluctuations also increase a lot, and it constantly makes correction, so the motor spins also fluctuate. Overall behavior is very unstable after 500g of thrust and 50% throttle, even the motor pilot starts twitching. All these testing errors are happening when load is applied, otherwise the motor works fine. 
Also, after changing the throttle it is reflected pretty late in the motor. There is noticeable lag into execution. 
I have a hypothesis that there is some issue in Iq and Id calculations due to FOC parameters not being tuned but I am not sure how to tune them. Can someone help me with this?

11 REPLIES 11
federico.rodighiero87
Associate III

some details are needed, what is the feedback here ? hall, encoder, sensorless ?

HW/FW Motor Control Engineer
https://www.linkedin.com/in/federicorodighiero/

Sensorless (observer + PLL) 

federico.rodighiero87
Associate III

then probably startup issues are related to rotor position at startup and alignment 

HW/FW Motor Control Engineer
https://www.linkedin.com/in/federicorodighiero/

That makes sense, but how can I make it right? I have tried making changes into the startup profile section, but the issue still persists. Is there any way to properly tune it? 

federico.rodighiero87
Associate III

what motor is it ?

HW/FW Motor Control Engineer
https://www.linkedin.com/in/federicorodighiero/

It's a BLDC custom motor. 

GMA
ST Employee

Hello @Prof_McGonagall,

Did you use the Motor Profiler tool for your motor? 
A misalignment in speed measurement can result from an incorrect pole pair value.

If you agree with the answer, please accept it by clicking on 'Accept as solution'.
Best regards.
GMA

Hello, @GMA 

Yes, I used the Motor Profiler tool for creating the motor profile and also verified the pole pair value. The issues still persist. 

Hello @Prof_McGonagall,

The sensorless STO-PLL algorithm is based on back-EMF estimation. You mention a speed range of 300 to 500 RPM, which may be too low to allow accurate estimation.
What is the maximum speed of the motor? At this maximum speed, are the estimated speed and measured speed aligned?

If you agree with the answer, please accept it by clicking on 'Accept as solution'.
Best regards.
GMA