cancel
Showing results for 
Search instead for 
Did you mean: 

MCSDK 6.4.0 Flux weakening problem

YungPin
Associate II

[PN]: EVLSERVO1
[VERSION]: 6.4.0
[TOOL]: MC Workbench
[DETAILS]:

Issue 1
After enabling Flux Weakening, I can achieve higher motor speeds; however, under a constant load the speed sometimes swings dramatically. My observation suggests that the control firmware is repeatedly switching between flux-weakening and base-speed modes, creating abrupt transitions.

Issue 2
With both Flux Weakening and Over-Modulation enabled, attempting to increase the motor speed causes the controller to keep raising the Iq reference instead of decreasing the Id reference. This prevents further acceleration and results in an unrealistically high commanded Iq.


[EXPECTED BEHAVIOR]:
Ensure that the motor operates stably after flux-weakening is enabled—without unexpected speed oscillations—and that it functions correctly when both flux-weakening and over-modulation are activated simultaneously.

[HOW TO REPRODUCE]:
Generate the motor model with Motor Control Workbench and Motor Pilot. Next, use Workbench to create the controller and run tests with flux-weakening and/or over-modulation enabled.

4 REPLIES 4
GMA
ST Employee

Hello @YungPin,

Issue 1: You can change the flux weakening regulator voltage limit threshold. If your use case is near this threshold, it could be the root cause.

Issue 2: We did not investigate such a configuration, as both methods are intended to increase the speed in two different manners. Does the achieved speed with one or the other algorithm fully meet your requirements? 

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

Thank you for your previous assistance. Below are my latest test results and next steps. I would appreciate your advice.


Issue 1 – Flux-Weakening Trigger Threshold
The current Voltage Limit Threshold is set to 98.5 %. I plan to lower it to around 96 % and observe:

  • Whether the drive still oscillates when entering and exiting the FW region.

  • Whether Id_ref reliably returns to zero after leaving FW.


Issue 2 – Maximum Speed and Current Demand

  • With all options disabled, the maximum speed is about 2500 RPM (target: 3500 RPM).

  • With Over-Modulation enabled only, the maximum speed is about 2850 RPM.

  • With Flux-Weakening enabled only, the motor reaches 3500 RPM, but requires about −30 A of Id.

  • With both Over-Modulation and Flux-Weakening enabled (before any fault occurs), the motor still reaches 3500 RPM, and the total current (Iq + Id) drops to roughly 60 – 70 %.

If I can run OVM and FW together stably, the current requirement can be greatly reduced, benefitting power devices and thermal design.


Question
Does ST have recommended parameter settings or firmware modifications to ensure stable operation when Over-Modulation and Flux-Weakening are enabled simultaneously?

Thank you!

Hello @YungPin,

When testing with the default flux weakening parameters, I cannot reproduce the speed variation under a constant load.
The only way to observe such behavior is by changing the load torque.
Around the flux weakening voltage limit, I notice small variations in the Id value, but they are not significant enough to cause a dramatic change in speed.
Is your torque load stable? Using flux weakening only, what is your speed variation? Can you provide plots with the Iq/Id reference signals and the reported speed?


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

Hello GMA,

Thank you for your prompt reply.
In my tests, with Flux-Weakening disabled, the maximum speed is around 2500 RPM. When Flux-Weakening is enabled and I attempt to increase the speed to about 3300 RPM, I observe a large fluctuation in speed — typically, after running steadily for a few seconds, the speed suddenly drops to around 2700 RPM and then returns to 3300 RPM, repeating this cycle. However, when I further increase the speed to 3500 RPM, the operation becomes relatively stable.

This phenomenon occurs under no-load conditions as well as with incremental variable load applied. (From my recollection, it also happens under constant load, but I will need to verify this.)

Regarding Issue 2, while I understand that both Over-Modulation and Flux-Weakening can increase the motor’s maximum speed, I believe Over-Modulation is related to SVPWM modulation and theoretically should not affect the control logic of Flux-Weakening. From my recollection, when using MCSDK version 6.3.2, enabling both simultaneously did not cause any issues (although the older version had a problem with false triggering of current protection).

I will provide you with the corresponding test data as soon as possible, though it may take a few days to prepare.

Thank you.