VEX Stepper Motor Control Experiments
Part 1
By Daniel Ramirez
The Heathkit Hero 1 was an R2D2 like robot that could be purchased for
around $1,400 in the mid 1980’s. Among its many features was a voice
synthesizer, an ultrasonic ranger sensor, and two light sensors. What really
distinguished it from other robots available during that period, however, was
its arm with a six Degree of Freedom (DOF) wrist that could pick up a coke
can. This feature was normally only found in very expensive research or
industrial robots. It also could move about using one large drive wheel with a
heavy duty geared DC motor. It was an electro-mechanical marvel that could
be assembled by anyone with basic soldering and mechanical skills if
Heathkit’s crystal clear instructions were followed to the letter. The Heathkit
Hero 1 I helped my brother put together back in the 80’s is shown in Figure 1.
Except for the main drive motor, most of the Hero 1 actuators were stepper motors of various sizes which were driven by its motor driver card which was controlled by a Motorola 6808 microcontroller.
The operating system is a wonder in efficient assembly and
a testimonial to the Heathkit designers. In addition, a
simple language called “Robot Basic” was available that
could be used to control the robot’s movements and read
its sensors. It used the stepper motors for its lifelike
movements such as the arm, wrist, and head.
Used Hero 1 robots are sometimes found on eBay from
anywhere between $200 to $600, depending on their
condition; they make marvelous research platforms for
robotics. The feature that impressed me most about the
Hero 1 was the precise movements that it carried out with
the arm and wrist while actually picking up an object.
Unfortunately, my own Hero 1 has mechanical and
electrical problems due to its age, but I plan to fix some of
them using newer technologies described in this article so it
will still work today despite these problems.
What does this bit of historical information have to do
with VEX? Well, I have found a couple of ways to interface
stepper motors to the VEX controller and adapt them to the
VEX motion subsystem for use on my own stepper motor
68 SERVO 10.2010
applications — being primarily inspired by the Hero 1 robot.
The Hero 1 shown in Figure 1 has stepper motors that turn
its head 360 degrees, and stepper motors to elevate its
shoulder, extend its arm, and rotate its wrist 360 degrees.
There’s even a small stepper motor to open or close its
wrist. In the VEX world, most of these functions can be
done using servos and motors paired with VEX quadrature
optical encoders. Using VEX motors and servos is not an
option for me in this particular case because it would
require far too many changes to the electrical and
mechanical subsystems.
I do want to upgrade the main controller and be able
to use the VEX radio control features for my Hero 1,
however, and make as few modifications as possible to it. I
have begun this task by replacing the stepper motor driver
board with a VEX controller and some SparkFun.com
stepper motor driver boards which I purchased for $15
each. The advantages of this upgrade include using less
power (making the batteries last longer) and improving
motion and positioning since I can now micro-step the
motors.
Someday you may want to animate a prop with
repeatable movements or move your pet robot around
using dead reckoning for navigation without having to use