cancel
Showing results for
Did you mean:

# STSPIN32F0B maximum electrical drive frequency?

Associate III

What is the maximum electrical drive frequency that the ST provided firmware can achieve with the STSPIN32F0B IC?  And/or maximum RPM for a 5 pole pair motor?

And the same question for the STPIN32G4....

For a target frequency of about 1.5 kHz, what would the recommended PWM frequency be?

Thanks to anyone who can assist!

7 REPLIES 7
Associate III

This is for the case of using FOC.

And, would using a sensored rather than sensorless BLDC allow higher speeds to be achieved?  What would be the numbers?

Senior III

My understanding is the maximum speed depends on the motor you plan to use. Using the MCSDK you can generate PWM frequencies between 2 kHz to 50 kHz. Generally 20KHz PWM frequency is used.

Associate III

The RPM depends on the number of poles, but the starting point is the maximum phase waveform frequency, which depends on what the FOC algorithm can sustain.  This is not directly related to the PWM frequency.

ST Employee

Hello @msch,

Here is how we define the minimum PWM frequency:

For FOC algorithm, the minimum acceptable is to have at least 10 ADCs samples per electrical rotation.  So the PWM frequency must be at least 10 times greater than your electrical speed.

For 1.5khz electrical speed, the minimum PWM frequency is then 15khz.

With a 5 pole pairs motor, the mechanical speed is then 300 Hz, => 18000 RPM.

The STM32F0 (STSPIN32F0) maximum PWM frequency is a bit above 10Khz.

For the STM32G4, you can reach up to 30 KHz PWM frequency with sensor less STO-PLL algorithm.

Best Regards

Cedric

Associate III

I would think that the maximum PWM frequency would just be determined by the PWM perhipheral that is part of the MCU.  But maybe you are combining multiple steps here--I think it's actually the time it takes the CPU to execute the FOC algorithm that determines how often it can initiate a new PWM cycle?  And you speak of "ADC samples".  Is it that the ADC has to be synchronized with the PWM cycle, because it samples during a window that is phase locked with the PWM cycle?

In any case, it sounds like the STM32F0 cannot reach a 1.5 kHz electrical speed, but the STM32G4 is able to do so.  Correct?  And at 30 kHz PWM and 1.5 kHz electrical cycle, there are 20 PWM *output* steps per cycle.  Is that enough to get a reasonably clean waveform?  (We are interested in reducing acoustic noise as much as possible).  Would we get much better performance if we used an even faster MCU with an external gate driver, so we could reach a higher PWM base frequency?

Finally, would the STM32F0 be able to reach 1.5 kHz FOC if the motor has Hall effect sensors instead of being sensorless?

ST Employee

>But maybe you are combining multiple steps here--I think it's actually the time it takes the CPU to execute the FOC algorithm that determines how often it can initiate a new PWM cycle? Yes !

>And you speak of "ADC samples".  Is it that the ADC has to be synchronized with the PWM cycle, because it samples during a window that is phase locked with the PWM cycle? Yes !

I think the answers to your questions are fully described in the User manual in the highlighted section:

In any case, it sounds like the STM32F0 cannot reach a 1.5 kHz electrical speed, but the STM32G4 is able to do so.  Correct?

Yes.

And at 30 kHz PWM and 1.5 kHz electrical cycle, there are 20 PWM *output* steps per cycle.  Is that enough to get a reasonably clean waveform? Yes, it is.

> Would we get much better performance if we used an even faster MCU with an external gate driver, so we could reach a higher PWM base frequency? I do not think so, Increasing PWM frequency has also some drawbacks. Commutation losses is one of them. I would advise you to select one MCU with at least 3 ADCs. STM32G4 (Or STSPIN32G4) is a pretty good choice, and if you want to test our new HSO algorithm, it is the only possibility.

>Finally, would the STM32F0 be able to reach 1.5 kHz FOC if the motor has Hall effect sensors instead of being sensorless?

I do not think so. And be aware that on top of that you also have a very limited quantity of flash and RAM for your own application.

Regards

Cedric

Associate III

Thank you Cedric, that was very helpful.  Two more questions:

1) Given modern sensorless algorithms, is there any benefit to having Hall sensors *for performance at higher speeds*?  I know that Hall sensors help with startup and maybe with low speed operation.  Those are not of importance in my application.  But I am looking for the best performance (noise, efficiency) at high speeds.  Is there any point in using Hall sensors for that?

2) Is there actually any difference between a "BLDC motor" and a "PMSM"?  I have seen the terms used interchangeable at times, and distinguished at times.  A BLDC *is* being driven synchronously.  If there is a difference, what is it in terms of a) motor construction; and b) performance?