it help if you varied the frequency and the duty cycle? So at low speed you
would use something 200Hz 10% and at high speed you might use 1khz and 90%.
Another thought about EMI, would it help to slow
down the edge of the PWM signal. If there is a slight slope to the PWM signal
driving the power device you might get a slower turn-on which would spread the
current pulse. A slow turn-on of your power device might cause additional
heating in it, but it depends on what type of power device you
not tried these ideas, it is just something to consider.
My own experience is with small standard permanent
magnet motors and I found that a lower frequency (about 200 Hz) was much
better than frequencies in the kilohertz range. At high frequency only about
25% of the available PWM range was useable when starting the motor from rest.
Dropping the frequency made all 256 steps available. Off load the motor will
turn even with the minimum pulse width. Winding inductance is almost certainly
responsible for this effect. At high frequencies current never really starts
to flow before the pulse cuts off. With little current flowing you
get poor torque.
Of course, one downside to large current pulses is the
amount of EM interference generated playing havoc with delicate electronics.
A minimum requirement is a 0.1uF capacitor across the
motor to reduce interference. Additional capacitors from each motor terminal
to earth (0V) may also be required. The capacitors must be non-polarized if
the motor is capable of being reversed. It is also usual to place 'flywheel'
diodes across driver transistors to protect them from high generated
voltages when using DC motors.