GS153
DS93001A-page 2
2005 Microchip Technology Inc.
DRIVING SENSORED BLDC MOTORS WITH A
SINUSOIDAL VOLTAGE
When it is rotated like a generator, a BLDC motor
creates a sinusoidal voltage output (120 degrees apart)
in all three phase windings. So the “natural” drivers for a
BLDC motor are three sinusoidal voltages at
120 degrees apart. The six-step commutation normally
works very efficiently in most BLDC applications.
However, in some applications, the DC switching of the
PWM drive voltage used in six-step commutation some-
times causes a phenomenon known as torque ripple.
Torque ripple typically manifests as a low-frequency
rumble in some systems.
An alternative to the six-step method is to feed a PWM
driven sine wave to the three phases (at 120 degrees
apart) using a Space Vector Modulation (SVM)
technique. This method is just as efficient as six-step
commutation and delivers uniform torque to the load.
Microchip is developing an application note on this
technique.
Sensorless BLDC Motor Control
Sensors add cost to a BLDC motor application. Also,
sensors need to be adjusted during the manufacturing
process. In quite a few applications, however, the need
to find the exact position of the rotor is not necessary.
Fan blowers and compressor motors are typical appli-
cations which run at a constant or limited speed range.
In these applications, the back EMF detected on the
third unexcited winding can be used to switch the PWM
commutation of the motor windings.
Figure 2 shows a typical sensorless commutation
diagram. In this method, the back EMF voltage on the
winding that is not driven in each sector is monitored.
When this voltage crosses the imaginary “half-point” or
“zero-crossing” line, zero crossing is detected. The
algorithm now knows that it is in the center of the sector
and has 30 electrical degrees remaining to do the next
commutation. The time taken for each sector
(60 degrees) is known as, say T60. When the zero-
crossing point is detected, a timer is loaded with half
the value of T60. When this timer times out, an interrupt
is generated and the next winding commutation is
implemented. This method of control is called
sensorless control of a BLDC motor.
For example, in Sector 1, the Y winding is monitored for
zero crossing. When that transition occurs, the timer is
loaded with half the T60 time in a timer. When that timer
times out, the windings are commutated as described
earlier. That is, Y is driven high, B is kept at low and R
is not driven.
Microchip has developed two application notes on sen-
sorless BLDC control: AN901, “Using the dsPIC30F for
Sensoreless BLDC Control”and AN992, “Sensorless
BLDC Motor Control Using dsPIC30F2010”
FIGURE 2:
TYPICAL SENSORLESS
COMMUTATION
5
5
0
0
1
1
2
3
4
SECTOR
0
0
0
R
Y
B
T60
T30