Sunday, 27 December 2015

pwm - Calculate DC motor frequency



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)



Answer





  • 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.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...