How to use a low-cost
microcontroller as a driver
for a single-winding, single-
phase brushless DC motor
In a low-power motor application,
where cost is more important than
complexity and torque requirements
are reduced, a single-phase
brushless DC (BLDC) motor is a
good alternative to a three-phase
motor.
This type of motor is low cost
because of its simple construction,
which is easier to fabricate. Also,
it only requires a single-position
sensor and a few driver switches
to control and energise the motor
winding. Therefore, the trade-
off between motor and control
electronics can work out favourably.
To maintain the cost effectiveness,
a low-cost motor driver is needed.
The driver circuit described here
can exploit two feedback loops. The
first, the inner loop, is responsible
for commutation control, while the
second, the outer loop, handles
speed control. The speed of the
motor is referenced to an external
analogue voltage and fault detection
can be sensed during over-current
and over-temperature conditions.
Fig. 1 shows the single-phase driver
based on Microchip’s PIC16F1613
8bit
microcontroller,
chosen
because of its low pin count and on-
chip peripherals that can control the
driver switches, measure the motor
speed, predict the rotor position
and implement fault detection.
This application uses the following
peripherals:
complementary
waveform
generator
(CWG);
signal measurement timer (SMT);
analogue-to-digital
converter
(ADC);
digital-to-analogue
converter (DAC); capture compare
PWM (CCP); fixed voltage reference
(FVR): timer; comparator; and
temperature indicator. These
peripherals are internally connected
by firmware, which reduces the
number of external pins required.
The full-bridge circuit, which
energises the motor winding, is
controlled by the CWG output. A
Hall sensor is used to determine
the rotor position. Current that
passes through the motor winding
is translated into a voltage through
Driving a single-phase BLDC motor
Mike Gomez & Mark Pallones, Microchip Technology
34 l New-Tech Magazine Europe




