Tuesday 22 July 2014

DC Motor - PWM vs Voltage


When controlling a DC motor that is rated at 5V theoretically I can drive the motor in these ways:




  1. 5V with 100% duty cycle PWM.

  2. 10V with 50% duty cycle PWM.

  3. 20V with 25% duty cycle PWM.


Is there a difference between the two? Will using option 2/3 shorten the life of the motor? Would changing the PWM frequency improve the motor lifespan? The reason for doing this is that it is possible to drive the motor much slower with higher voltage.



Answer



Yes, this is very different. PWM drive and voltage drive separately don't really mean that much, but when combined in this way you will get significantly different performance.


Electrically, you can model a motor as an inductor (windings), resistor and a voltage source (the EMF, proportional to the motor speed). When you apply a lower voltage compared to a higher voltage, you will:



  • get a slower \$dI/dt\$ through the motor windings, reducing torque


  • have a lower maximum speed because of back EMF


With PWM and a higher voltage, you will be able to achieve higher peak speeds and often much higher torque at equal speeds.


There is no real reason that a motor will damage when applying higher voltages. Motor damage is caused by:



  • Bearing overload (e.g. pushing sideways on the shaft of a thrust bearing axle)

  • Bearing overspeed (depends mostly on the oil used)

  • Brush arcing (caused by high speeds and to a much, much lesser extent also higher current)

  • deformation and delamination of internal structures due to overheating



Also, overheating or running a motor at very high currents will cause a (significant) reduction in torque because of magnetic saturation.


If you can guarantee that you keep your motor within speed, torque and force limits as well as properly cool it, there is no downside to running it at higher voltages with PWM.


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