What is the required PWM frequency for motor controller
All BLDC motor controllers use PWM technique to drive the motor. A PWM signal is characterized by the frequency of the signal. Typical values for the PWM signal vary from about 8kHz to 80kHz. In this blog post we will explore how the PWM frequency affects motor control performance. Based on this understanding, we will determine what should be the minimum and maximum frequency that a drive should operate within.
Lower limit for PWM frequency
The lower limit for the PWM frequency, that is the minimum frequency necessary for the drive to performs satisfactorily depends on the motor that the drive will work with.
Motor winding RL time constant
The motor winding is a series RL (Resistor-inductor) circuit. In an inverter driven motor, the motor winding receive high frequency voltage pulses from the inverter. For a voltage input to a series RL circuit, the current output is low-pass filtered. The circuit effectively only responds to the average of the voltage pulses and rejects (filters) the high frequency components. So, the PWM frequency should be at least high enough that the series RL circuit can filter the voltage pulses and generate a smooth current. If the PWM frequency is not sufficiently high, the RL circuit cannot adequately filter the voltage and the winding current will have excessive current ripples.
![]() |
---|
Representative diagram of 1 phase of a motor. The voltage pulses applied to the winding generate a smooth current due to the low-pass filtering of the RL circuit. The high-frequency components are filtered and the RL circuit responds only to the average value. |
As a rule of thumb, the PWM frequency needs to at least 10 times the 3 db cut-off frequency of the series RL circuit. This 3db cut-off is about R/(2.pi.L) where R and L are the resistance and inductance respectively.
Moror max eRPM
Motor controllers generate a 3-phase sine wave current in the motor winding during operation (This technique is called space vector modulation. Read more here.). The frequency of this sine-wave is the same as the motor eRPM. For instance, if a 12 pole motor runs at 1000 RPM, that is 6000 eRPM or 100Hz. The frequency of the current generated in the winding is also 100Hz and this is sometimes called the fundamental frequency of the inverter.
To generate the 100Hz sine wave current in the winding, the controller generates a 100Hz sine-wave voltage across the winding by switching the top and bottom MOSFETs of the inverter. The ratio of the switching-frequency of the controller and fundamental-frequency is an important factor in determining the minimum PWM frequency required. This ratio affects the harmonic quality of the sine wave.
Most motor controllers operate at a fixed PWM frequency. At each PWM cycle, the motor controller generates a suitable voltage signal at the winding to control the motor. That means the motor controller can update voltages only at discrete time instances. For example, assume the PWM frequency of the controller is 10Khz. The motor controller then updates the voltage to winding every 1/10,000 seconds or every 100 micro seconds. The voltage is held constant for the time between two PWM cycles. The effect of discrete time voltage generation for different ratios of fundamental and switching-frequency is shown in the below plots.
![]() |
---|
Average voltage generated for different ratios of fundamental and switching frequency. The quality of sine-wave generated is much better for low ratios compared to high ratios. |
As mentioned previously, the fundamental-frequency is the same as the eRPM of the motor. Thus, to operate motors at high speeds, the controller must support high fundamental-frequency. And to support high fundamental-frequency, the switching-frequency must also be high enough so that the ratio of fundamental to switching frequency is low and the quality of voltage generated is acceptable.
For most applications, having a ratio of 1/10 to 1/20 is recommended. For example, a motor operating at 2kHz eRPM (14 pole motor at 17,000 RPM) will require a minimum switching-frequency of 20kHz.
Upper limit for PWM frequency
Generally, higher the switching-frequency, better is the controller performance. So the controller needs to operate at as high a switching-frequency as possible. However, operating at high-frequency is limited by the hardware.
Microcontroller performance
As explained earlier, the motor controller generates control signals at every PWM cycle. As the PWM switching frequency increases, the time available for the controller to execute the control algorithm reduces. At extremely high switching-frequency, the controller will not have sufficient time to execute the control algorithm.
![]() |
---|
The plots demonstrate the reduction in time available to execute the control algorithm as the switching frequency increases. Plots on the bottom have lower switching frequency than the plots on the top. |
So the maximum PWM frequency possible in the hardware is the dependent directly on the execution time of the control algorithm.
switching performance
Apart from the Micro-controller performance, the switching devices used in the controller also need to be well designed to support high frequency switching. Switching performance becomes the limiting factor when the switching commands given by the microcontroller can not be performed by the switching devices.
There are several factors that determine the quality of switching devices. However, a detailed analysis of switching performance is beyond the scope of this blog post. We will restrict the discussion to just 1 factor, dead-time, and describe how switching performance determines max PWM frequency.
Dead-time is a time-period when both the top and the bottom MOSFETs are switched-off. Dead-time is inserted between the transitions from one switching state to the another to prevent a shoot-through fault. A Shoot-through occurs when both the top and bottom MOSFETs of a H-bridge are ON at the same time.
![]() |
---|
The plots demonstrate the dead-time inserted to an ideal switching pattern. The switch state during dead-time is highlighted in gray. |
As seen in the above image, the switching circuit is not applying the same switching pattern as commanded by the microcontroller. Note that the dead-time is constant for a given switching-system (gate driver and MOSFET) and does not depend on the the switching frequency. However, the error in the voltage generated due to the dead-time increases as switching-frequency increases.
![]() |
---|
The input to top (red) and bottom (blue) MOSFET gate are shown with ideal pattern and with dead-time inserted. The plots show the difference in voltage pattern generated due to a constant dead-time but with increasing switching frequency |
The above plots show the errors between the ideal switching pattern and the switching pattern with dead-time. The analytical treatment for the error voltage due to dead-time will be discussed in another blog post. At this stage, we can observe that the shape of the switching pattern with and without dead-time are very similar in the bottom plot. As the switching frequency increases, the same dead-time causes significant distortion from the ideal switching pattern.
Similar to dead-time, there are other switching performance metrics rise-time and fall-time. These performance metrics are constant for a given switching system and the effects of their performance become significant as the PWM frequency increases. The hardware designer must analyze the switching performance before increasing the PWM frequency.
Conclusion
In general, we need the PWM frequency to be as high as possible. But the maximum frequency is limited by hardware. At the other end, the controller must operate at some minimum switching frequency dependent on the motor.