I am driving a DC motor with H-Bridge Mosfet using PWM. The problem is I don't know exactly which frequency should I use.

1- Do the DC Motors have a very specific frequency for their best performance at all or they have a range of the frequencies they are able to work with?

2- What happen if I work with a DC Motor with Higher or Lower frequency that it can work with? Am I damaging that? (Because I have done that and with higher frequency my Motor make a strange noise like zzzz and with lower frequency it is shaking)


2 Answers 2

  • The PWM frequency supplied to a (presumably) brushed DC motor needs to be high enough that the combination of mechanical inertia and inductance of the coils is sufficient to smooth out the mechanical impulses of each pulse. This minimum would differ from motor to motor. Too low a frequency, and the motor motion will be perceived as a series of jerks, or a rattle.

  • The frequency needs to be not so high that the switching device (MOSFET, other) and connecting wiring do not waste significant power in switching losses. Too high a frequency, and the efficiency will drop. This maximum would differ depending on the switching mechanism, the length of wires to the motor, the drive voltage (higher voltage = slew-rate limitations), shielding, perhaps some other factors too.

  • The frequency should, if possible, avoid the audio spectrum: below 20 Hz (not a good idea except for really massive motors) or above 20 KHz, so that the magnetostrictive vibration in windings or sympathetic vibration in the mechanical rotor, will not be heard by humans.

  • In addition to all of this, a specific motor + load + mounting combination will have a resonant frequency at a given temperature. While this is likely to be not as high as the 20 KHz+ applied for typical motor PWM, certain types of rigid mounting can indeed reach ultrasonic resonant frequencies. If the PWM frequency matches the resonant frequency, resonant oscillations can cause the motor to vibrate uncontrollably. This is why rubber / nylon / elastomer buffers are commonly applied for motor mountings.

This last issue is somewhat self-curing though, since after a bit of resonant oscillation the mounting tends to give / wear, even if it is rigid metallic mounting, and this changes the resonant frequency.

  • \$\begingroup\$ Thanks for your answer. But I don't completely understand the second paragraph of your answer "The frequency needs to be not so high that the switching device (MOSFET, other) and connecting wiring do not waste significant power in switching losses" and my second question is if I use Too low frequency or two high am I damaging the Motor except the resonant oscillation that might happen. \$\endgroup\$ Commented Aug 26, 2013 at 13:37
  • \$\begingroup\$ The higher the switching frequency (PWM frequency) used, the greater is the energy loss in the switching component (for instance MOSFETs) that allows and blocks current through the motor on the highs/lows of the PWM signal. So too high a PWM frequency results in these losses being a significant cause of wasted energy. If you are using too low a frequency, you may rattle the motor mounting and mechanical linkages, and need frequent maintenance. Too high a frequency will simply end up with the motor not receiving operating power, no permanent harm done. \$\endgroup\$ Commented Aug 26, 2013 at 13:41

At minimum, you need to use a frequency so that the motor "sees" the average and doesn't react to individual pulses. That is usually a few 100 Hz.

However, there are other effects that the motor doesn't care about but you might. Individual sections of wire in the windings may vibrate slightly with the PWM frequency, which causes audible whine. This is why a lot of motors are driven at around 25 kHz PWM, since that is above most people's hearing. 25 kHz means 40 µs pulses, which is still long enough that switching losses are small for most well designed circuits.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.