Skip to main content
Associate II
February 19, 2025
Solved

Does the HSO algorithm in FOC support IPMSM motors

  • February 19, 2025
  • 1 reply
  • 783 views

MCSDK 6.3.1

Does the HSO algorithm in FOC support IPMSM motors? I see that in the MCSDK software, i can select IPMSM, but the generated code does not include ld and lq. Does this mean the HSO algorithm can only be used with SPMSM?

无标题.png

 

Best answer by Gael A

Hello propu,

The HSO can run any PMSM (SPMSM or IPMSM) motors with only one inductance value. Lq is used because you want your current to be in the q-direction. Of course, for very high saliency machines, running at high current levels (compared to your short-circuit current) can be difficult. Indeed, if your angle is off, then you start to input d-current too, and start computing with a wrong inductance value. In that case we recommend reducing the inductance value of your system so the HSO can still operate. We recommend using the values given back by the HSO's MotorProfiler feature at first, and then adapt according to your situation.

1 reply

Gael A
Gael ABest answer
ST Employee
February 19, 2025

Hello propu,

The HSO can run any PMSM (SPMSM or IPMSM) motors with only one inductance value. Lq is used because you want your current to be in the q-direction. Of course, for very high saliency machines, running at high current levels (compared to your short-circuit current) can be difficult. Indeed, if your angle is off, then you start to input d-current too, and start computing with a wrong inductance value. In that case we recommend reducing the inductance value of your system so the HSO can still operate. We recommend using the values given back by the HSO's MotorProfiler feature at first, and then adapt according to your situation.

If you agree with my answer, please consider accepting it by clicking on 'Accept as solution'.Hope this will help,Gaël A.
propuAuthor
Associate II
February 22, 2025

hello:

Thank you very much for your response, but I still don't understand why in the current loop control of the current loop, there is no need to distinguish between ld and lq to control the DQ axes separately? Or is it that your algorithm is different from the usual FOC current loop framework?

无标题.png

Gael A
ST Employee
February 24, 2025

Hello propu,

This is a big subject, but I will try to summarise as best as I can.

You could technically have 2 different parameters for d & q, but usually this complicates matters for little gain.
Let's keep in mind here that the main objective is to keep the system stable. Now looking at your current PI controller, your w_i depends on your inductance value, which is different for d & q, correct.
However, having one value for both doesn't hinder your stability, as long as you use the smallest of the two inductances for your computation. That way, you will always have enough margin to ensure stability, even on the direction your inductance is incorrect. This of course also depends on your Kp gain, which we choose such as to keep sensitivity down.

If you agree with my answer, please consider accepting it by clicking on 'Accept as solution'.Hope this will help,Gaël A.