sensors and still successfully commutate a BLDC motor?
The answer is BEMF.
When the BLDC motor shaft is spinning, BEMF is
generated by the movement of the rotor permanent
magnets past the stator coils. BEMF is just a fancy way of
saying opposing voltage. The BEMF varies according to the
speed of the motor. The faster the motor spins, the higher
the BEMF that is generated.
Recall that one of the three BLDC motor phases is
always electrically disconnected during commutation.
Consider Figure 7. Matching up the phase drive voltages
with the commutation chart in Figure 6 tells us that this
drive pattern is representing commutation sequence 4.
The floating phase in commutation sequence 4 happens to
be phase C. The floating phase provides a portal for the
measurement of the BEMF voltage for this commutation
period. Another look at Figure 6 shows that all three of the
phases are electrically disconnected at one time or another.
Thus, we are able to measure the BEMF during any of the
six commutation periods using the available floating phase.
Since the BEMF is directly proportional to the motor
speed, we can use the sensed BEMF levels to control the
commutation of a BLDC motor. The goal is to commutate the
BLDC at the required speed and torque while maintaining a
safe voltage and current level in the motor’s windings.
How Are We Going To Do This?
Now that we have some BLDC drive theory under our
belts and we know what we need to accomplish in relation
to driving a BLDC, let’s try to determine what we need on
the hardware side. It’s pretty obvious that we’ll need a way
to generate PWM signals. The easiest way I know of to do
this is to push some values into a set of microcontroller
registers and assign a PWM output pin. We’ll also need a
way to activate and deactivate the MOSFETs in the three-phase bridge. Not only do we need to do this, we’ll need to
energize the correct set of MOSFETs in accordance with the
commutation table laid out in Figure 6. Logical activation
and deactivation of MOSFET switches sounds like a job for
a microcontroller to me.
To implement a system that monitors BEMF and applies
the captured BEMF to commutating, the BLDC motor will
require a microcontroller with A-to-D converter capability.
We’ll need at least four A-to-D converter inputs to monitor
the three phases and the overall current drawn by the
A means of controlling the starting, stopping and the
speed of the BLDC motor would also be a nice thing to
have. So, let’s add an additional A-to-D converter input
channel and a couple of I/O pins to our microcontroller-capability shopping list.
Since we have a good idea about what the BLDC
phase driver hardware should look like, I can nail down the
Motors and Motor Drivers
Figure 6. I used the voltage levels in Figure 1 to fill in
this chart. The PWM signals were substituted for the
–V signals given in Figure 1.
components we’ll need to build up our trio of phase
drivers. The MOSFETs for each phase can be realized
using an IRF7309. The IRF7309 is an eight-pin device that
consists of a pair of MOSFETs that matches the half-bridge
configuration of each of the phases outlined in Figure 5.
Microchip’s TC446X series of Logic-Input CMOS drivers will
provide sufficient gate drive for the MOSFET pairs.
I came across the word “BLDC” many times while
reading through the PIC18F2431 datasheet. So, I’m leaning
towards using the Microchip PIC18F2431 as our BLDC
motor control microcontroller. The PIC18F2431 can provide
six PWM channels and five fast A-to-D converter inputs.
I’m really anxious to get started on the hardware and
firmware design for our BLDC motor controller. So, I’ll
make this short and sweet. Next month, we’ll build up our
own BLDC motor
from scratch and
explore what it takes
on the firmware side
BLDC motor. SV
Fred Eady can be
reached via email at
Figure 7. The coil configuration is called a “wye” because
of its Y shape. BLDC motors can also have their coils
arranged in a delta configuration. The BLDC drive theory
we’ve discussed thus far is valid for both the wye and
delta coil configurations.
Motor Anaheim Automation www.anaheimautomation.com
SERVO 12.2008 33