Electronic – Eliminate PWM noise in PWM-driven bidirectional motor

dc motorh-bridgepwm

I need to drive a DC motor with PWM, through a H-bridge.

The controller can't generate PWM at ultrasonic frequencies with resolution I desire, and the low-end of the spectrum (~100Hz) may be too slow for my needs (plus still create a 'hum').

There's a question about driving a fan and the answers suggest 1-4.7uF ceramic + some 100-1000uF electrolytic caps at the output as solution (plus a fast diode to clear reverse current). This works well for a fan, which only turns in one direction. In my case, the motor will operate in both directions, so I can't depend on fixed polarity of the output – the moment I reverse polarity the cap will be fried.

How do I go about silencing the motor in this case?

Best Answer

Putting a large electrolytic capacitor across the motor obviously won't work in reverse, but even if that wasn't a problem it's still not a good idea.

When PWM turns the bridge transistors on they will charge the capacitor as quickly as they can, but when turned off it will discharge more slowly through the motor. This has two undesirable side effects:-

  1. It will destroy the accuracy of your PWM. With the capacitor 'filling in the gaps' between PWM pulses the motor will spin faster than expected at lower PWM ratios, but less so when heavily loaded.

  2. High current spikes will occur as the capacitor charges, putting stress on the bridge transistors and increasing electrical noise in the circuit. There may also be audible effects.

You can eliminate these problems by inserting an inductor in series with the motor/capacitor. However if your PWM frequency is low enough to be audible then the inductance required will be quite large (since you can't use an electrolytic capacitor the amount of capacitance you can apply to the filter is limited, so the inductance must be larger). Also the inductor must pass the relatively high DC motor current without going into saturation, and its resistance must be low to keep losses down.

If space is not a problem then simply use a choke with appropriate inductance and current rating. Then the only problem will be keeping it quiet!

The LC filter's cutoff frequency should be much lower than the PWM frequency, eg. if the PWM frequency is 1kHz then the filter should cut off at 500Hz or lower. If you used a 10uF capacitor then you would need about 10mH of inductance.