favorite is the two-tiered Kik-step
rolling step stool (Cramer
Industries,
www.cramerinc.com),
about $50 from Amazon and
other online dealers. I picked up
a stainless model, but they’re
available in 10 colors. Regardless
of the finish, the round step
stool is stable and virtually
indestructible. The three
supporting braces between the
two steps provide ample
protection to any electronics
mounted to the top of the first
step, and the spacious, hollow
underside is perfect for a pair of
drive motors and wheels and
battery pack.
I mounted a CrustCrawler
Smart Arm (
www.crustcrawler.
com) on the top of the upper
step, with a 7.2V NiMH battery
mounted to the underside of the
top step. I mounted ultrasound
sensors from Parallax and an
Atmel processor card on the
larger first step, sharing the
battery with the Smart Arm.
The spacious underside encloses
a pair of six inch wheels driven
by Parallax 12V servo motors
(
www.parallax.com) and two,
7.2V NiMH battery packs.
The Kik-step isn’t the perfect
mid-sized robot platform. For one,
steel is heavier and a little harder
to work with than aluminum. The
second is that, at an elevation of
14 inches, my CrustCrawler Smart
Arm can’t interact with objects
at floor level. These modest
limitations aside, the price is right
— especially if your goal is creating
a swarm of mid-sized robots
capable of autonomously playing
bumper-cars.
The Kik-step is just one
example of how you can save
significant money by repurposing
non-robotic hardware for your
next robot platform. If you’ve
developed a robot using an
inexpensive, readily available
platform, please send me a note
so that I can share your
experience with other readers. SV
Dear SERVO:
First let me say "great job" to
Dennis Clark in Ask Mr. Roboto! I am
a professional engineer and I play
with robots on the side. I really enjoy
his column and I learn something
useful every month.
I am writing about the question
that Sam Browman submitted and
which was answered in the May ‘09
issue, about a mystery motor/
encoder. I have some professional
experience with this sort of device
and I have some information that you
may wish to forward to him.
What Sam has, is, as Dennis
noted, not a servo but only a servo
motor. Surplus units usually consist of
a brushed DC motor and a quadrature
encoder (most new servomotors are
electronically commutated, a.k.a.,
"brushless"). Sometimes the encoder
also has a home (0 degree position)
sensor — sometimes not — for use in
absolute positioning applications.
These motors are designed for use
with a dedicated servo controller that
contains an H-bridge to drive the
motor, and logic (microcontroller or
FPGA/ASIC) to receive position and
speed commands, and carry them
out by reading the motor's encoder
and applying a PWM signal to the
H-bridge to drive the motor in the
correct direction at the correct rate. If
Sam Googles "Servomotor Controller,"
"Quadrature Encoder," "H-bridge," and
"PID loop," he will come up with a lot
of information on this type of device.
The
Microchip.com site also has a lot
of very useful info about building a
servo controller from scratch, since
some of the 24 and 33 series micros
are designed specifically for motor
control.
A five wire device is going to be a
digital quadrature encoder rather than
a tachometer. The encoders are
usually wired as follows:
sometimes up to + 24. Most will run
at 5V.
Black: Logic ground.
Green: Motor frame ground
(usually).
Yellow/White: Digital outputs
for Phase A and Phase B (no way to
tell which is which without testing).
Phase A and B are identical except
they are 90 degrees out of phase with
each other.
Quadrature encoders usually
include all necessary debouncing and
provide a clean square wave logic
level output. When Phase A leads
Phase B, the motor is (usually) turning
clockwise as viewed from the front.
When Phase A lags (follows) Phase B,
the motor is turning the opposite
direction. So, the phase is used to
determine motor direction. Motor
speed is determined by integrating
one phase output (counting pulses
over time). Relative (change in)
position is determined by counting
phase pulses; adding when A leads B
and subtracting when B leads A. In
some cases, absolute motor position
can be determined if there is a
"home," or 0 degree sensor. When the
home sensor is activated, the position
is reset to zero and you count from
there. More often, the home sensor is
not on the motor but on the driven
wheel or pulley.
Sam will have to determine the
resolution of the encoder, that is,
pulses per revolution. This can vary
from very low, say 16 pulses per
revolution, to very high, say 2,048 or
more. There is no standard, though
the number (if any) marked on the
encoder may give it away. He can
disassemble the encoder and count
the slits (optical) or protrusions
(magnetic) on the encoder disc if it is
low resolution. High resolution slit
discs cannot be counted by eye. In
that case, he is probably better off
Red: V+, usually + 5 but
continued on page 37
SERVO 07.2009
7