PulseWidthModulation comments

Ludis Langens ludis at cruzers.com
Thu Feb 4 07:53:05 GMT 1999


Years ago as a summer intern I worked on a motor controller which used
PWM.  A brushless DC motor ran on up to 120 to 170 volts at up to 10 to
15 amps.  A switching (PWM) power supply controlled the voltage applied
to the motor.

The original version used an analog circuit to generate the PWM.  A low
voltage input selected the pulse width.  The pulse width controlled the
switching supply's output voltage.  This voltage then determined the
motor speed.  Eventually we had a lab computer with a DAC output running
the show.

An improved version used a microcontroller controlled digital PWM.  I
think the PWM frequency was about 20 KHz and the PWM had 5 bits of
range.  The same microcontroller monitored the motor position/speed to
form a closed loop system.

Some comments applicable to fuel pump / coolant fan PWM control:

The pulse width and frequency needs to be very stable, otherwise all the
inductors in the circuit will squeal like stuck pigs.  The original
analog system screamed constantly.  The digital system (running the same
switcher!) was totally silent as long as the pulse width wasn't
changing.  Software in the microcontroller updated the pulse width every
millisecond.  When the pulse width needed to be changed often, this
produced a 1 KHz tone from the electronics.  The amount of noise was
directly proportional to the load on the motor.  You could actually hear
the computer "straining" against a high load.

A 5 bit PWM isn't really enough.  8 bits of pulse width would be better.
 For a 20 KHz frequency, that would mean a 5 MHz reference clock.

The main switching transistor was a TO-220 package mounted on a dinky
little heat sink.  You don't need a massive TO-3 transistor.  In the
above system, cooling the rectifier diodes was actually more of a problem.

BTW, in one mode, this motor was reversed every several tenths of a
second.  This applies to a thread from several weeks ago.

-- 
Ludis Langens                               ludis (at) cruzers (dot) com
Mac, Fiero, & engine controller goodies:  http://www.cruzers.com/~ludis/





More information about the Diy_efi mailing list