phase pairs. When I was burning up TC4428 parts, I was
attempting to perform a BLDC motor shaft alignment
operation. Since we are not using Hall sensors to report the
rotational position of the motor shaft, we must begin the
BLDC motor spin-up process from a known electrical
position. Look back at the corrected commutation pattern
code snippet and you'll see that there are six rotational
positions in every electrical cycle. The number of electrical
cycles needed to perform a single 360° physical rotation of
the BLDC motor shaft depends on the number of poles
contained within the motor. For the BLY171S-24V-4000
motor, the pole count is eight. One electrical cycle per pole
pair is required to perform one full 360° shaft rotation. That
equates to four six-position electrical cycles per revolution
for the BLY171S-24V-4000, or 24 commutations.
Once the motor shaft has been aligned, the next
thing we must do is apply our commutation table to the
PIC18F2431's PWM outputs just as if the BLDC motor was a
stepper motor. If we flow through the commutation table
slowly while ramping up the PWM voltage, the motor shaft
will begin to spin. The idea is to begin spinning the shaft
slowly so it can easily follow the forced commutation
pattern. Once it is spinning, we
gradually increase the speed in
which we flow through the commutation table, which increases
the rotational speed of the motor
shaft. As the rotational speed
increases, so does the magnitude
of the BLDC motor's BEMF. The
motor must spin up to about 800
RPM to get enough BEMF for a
valid A-to-D measurement. Once
we can see BEMF electronically,
the trick is to switch as seamlessly
as possible from forced to
sensorless commutation mode.
Once we jump to sensorless
regime, we come under the control
of the closed-loop system formed
by the PIC’s BLDC motor controller
firmware and its timers. The
voltage divider networks we set
up in hardware can now come
into play. The VM voltage is the
voltage applied to the three
phase drivers divided by 12. Thus,
with + 12 VDC as our applied
motor supply voltage, we will
measure one volt at the VM
node. Each PHASE_X (PHASE_A,
PHASE_B, PHASE_C) voltage
divider node is fed by a divide-by- 6 voltage divider, which is
coupled with a 0.47 µF low pass
filter capacitor. The maximum
voltage at any PHASE_X node
would be two volts with a + 12
VDC motor input supply voltage.
Ideally, we want to see 50% of
the motor input voltage level at
the midpoint of the BEMF signal
we are measuring. That equates
to a point in time that is 30°
after commutation begins. So,
with a + 12 VDC motor input
voltage, ideally we want six volts
of BEMF at a point in time that
lags 30° behind the initiation of a
FIGURE 1: The vertical dotted line is the 50% or 30° point of the BEMF waveform.
This figure depicts an ideal situation in which the BLDC motor's speed
versus the applied voltage is perfect.
FIGURE 2: This graphic shows us that the BEMF voltage level will register below
the 50% motor voltage rail target when the motor speed is too slow
or the voltage applied to the motor for that speed is too high.
48 SERVO 02.2009