28 SERVO 11.2015
Brushless motors are quickly becoming the standard motor for
weapon drive in combat robotics.
In addition to removing the
shock and current-sensitive
brushes that wear over time, the
brushless motor packs more
copper windings and magnets
into a given space. Put simply,
there’s more power per given
size. For driving the wheels of a
robot, brushless drive seems to
be a dream just out of reach ...
but no longer as two solutions
have come together to provide a
reliable and controllable drive
platform in the smallest of space.
As brushed motors are
mechanically commutated to generate
rotation given a voltage, brushless
motors require a drive or ESC
(electronic speed controller) that can
start and run the brushless motor by
controlling power through the motor’s
three copper coils. Many small or
inexpensive brushless motors lack
feedback Hall-effect sensors that
provide information on the direction
and speed of the spinning rotor. To
control these motors, ESCs must sense
the changes in field voltage made by
the rotation of the magnetic rotor
inside the coils.
Most ESCs use firmware
(hardware-specific software) to start
the motor at a relatively moderate
speed to get the rotor spinning, and
adjust direction and speed to “lock in”
the rotor synchronously (at the same
time) with the change in coil magnetic
fields. This type of control yields poor
low speed performance, but is the
ESCs. For aircraft, low speed is not
necessary as the propellers used do
not generate much lift at low speeds.
The demand for aerobatic flight
controls has changed the nature of
the startup procedure of brushless
ESCs. Several software developers
have created very sophisticated
sensing and low speed timing code
for several microcontroller platforms.
For Atmel-based microcontrollers, one
of the more popular firmware sets is
Simon Kirby. Another popular
firmware set is called BL Heli and
was created by Steffen Skaug for
Silicon Lab based
microcontrollers.
Both platforms are open
source (source code is
documented and freely available
on the Web) and can be
reprogrammed through a
bootloader (code in the chip that
directs the initialization to a
programmable section in
memory). There are several
graphical programmers that can
load/reload code to a brushless
motor drive. This is important to
wheeled drive motors because
we require most aircraft drives to
be reprogrammed to work with either
RC controller-based center stick or car
style forward and reverse calibration.
Most importantly, the low speed
control characteristics provide the
same fine control capable with
brushed motors.
Figure 1 is an example of three
USB-based programmers that can load
the firmware into compatible ESCs
through the receiver cable or special
socket programmers.
Now that there are ESCs with the
firmware necessary to operate a
brushless motor, we need to
determine how to get the high speed
and low torque (rotation force) of the
motor to the necessary low speed and
high torque to the wheels. For this,
we will need a gearbox. Once again,
we can leverage aircraft motors as
they are often inexpensive and
designed to work with the drives
noted above.
For small combat robotics, the 12
mm diameter by 30 mm long motor —
Big Power, Little Package:
Brushless Motor Drive
● by Russ Barrow
Figure 1.
Figure 2.