How to Calculate Motor PWM Frequency
How to convert RPM to the Frequency of the sinusoidal current that must be generated for each phase, considering the number of pole pairs
The mechanical frequency (fmech) of the 3-phase PMSM motor can be calculated with formula 1.1.
fmech = n / 60 (1.1)
fmech : Mechanical frequency (max) - [Hz]
n : Revolution per minute (max), - [RPM]
60 : Seconds in one minute - [s]
Â
After obtaining the mechanical frequency of the motor, the electrical frequency (felec) can then be calculated using formula 1.2.
felec = fmech x N (1.2)
felec : Electrical frequency (max) - [Hz]
fmech : Mechanical frequency (max) - [Hz]
N : Number of magnetic pole pairs
Â
To generate the desired sinusoidal current for each phase, we must consider the appropriate sampling frequency. According to the Nyquist theorem, the sampling frequency should be at least twice the frequency of the sinusoid. However, in practice, achieving an accurate reconstruction of the sinusoidal waveform typically requires a sampling frequency that is 10 to 12 times higher than the frequency of the sinusoid.
In our context, the Pulse Width Modulation (PWM) frequency serves as the sampling frequency. This is because the vector control is executed every PWM period. Therefore, to ensure precise generation of the sinusoidal current, the PWM frequency must be significantly higher—ideally 10 to 12 times—than (bigger the better) the frequency of the sinusoidal current. It should be noted that the number 12 here meets the minimum conditions. When increasing the frequency, switching losses must also be taken into account.
fpwm ≥ felec * 12 (1.3)
fpwm : Pulse width modulation - [Hz]
felec : Electrical frequency (max) - [Hz]
12 : Sampling reconstruction coefficient
Example 1
In this example, the PWM frequency of the EBMPAPST ECI4220BK1SG7 motor will be calculated.
nmax = 5000 [RPM]
N = 3
Let's calculate the maximum mechanical frequency using formula 1.1
fmech = n / 60 = 5000 / 60 = 83.333 [Hz]
After calculating the mechanical frequency, let's calculate the electrical frequency using the formula 1.2.
felec = fmech x N = 83.333 * 3 = 250 [Hz]
Now we have all the data needed to obtain the PWM frequency.
fpwm ≥ 250 * 12 = 3000 [Hz]
Consider that 3 KHz is the absolute minimum condition. Increase the frequency as much as the switching losses and the processor can tolerate.
Example 2
In this example, the PWM frequency of the MAXON EC-i 30 motor will be calculated.
nmax = 9960 [RPM]
N = 2
Let's calculate the maximum mechanical frequency using formula 1.1
fmech = n / 60 = 9960 / 60 = 166 [Hz]
After calculating the mechanical frequency, let's calculate the electrical frequency using the formula 1.2.
felec = fmech x N = 166 * 2 = 332 [Hz]
Now we have all the data needed to obtain the PWM frequency.
fpwm ≥ 332 * 12 = 3984 [Hz]
Consider that 4 KHz is the absolute minimum condition. Increase the frequency as much as the switching losses and the processor can tolerate.