FIGURE 5. The SunBot II elevation assembly is
made from VEX components and the elevation
geared stepper motor assembly which drives the
12 volt solar panel.
resolution of 1.8 degrees per step, or 200 steps for one
complete revolution. Using the 1/8 micro-stepping mode
gives me a total of 200/(1/8) = 1,600 steps.
Caution: Do not connect or disconnect a motor while
the driver is energized. This will cause permanent damage to
To connect the EasyDriver boards and VEX limit switches
to the VEX microcontroller for driving the azimuth and
elevation stepper motors, use the schematic shown in
Figure 7. In order to simplify the connections, I used .100
pin headers soldered to the EasyDriver boards as posts for
wire wrapping to the microcontroller ANALOG/DIGITAL I/O
block. I also used wire wrap to extend the limit switch
connections and quadrature optical encoder connections.
CAUTION: When operating
SunBot, safety should be your
primary concern when working
with stepper motors. Also be sure
to wear safety eyeglasses, and
keep clothing and jewelry away
from it when running it.
Consider connecting a dedicated
pushbutton switch (panic button)
that will immediately cut power to
the stepper motors in the event of
an emergency. Stepper motors can
draw a lot of current, so it is wise
to use the proper gauge wires.
It is not necessary to use high
pointing Swiss precision found in modern “Goto”
telescope mounts used by astronomers, or even the
heavy duty mounts found in solar energy research
centers since this is a low cost alternative. The sun’s
azimuth and elevation need only to be pointing in the
general direction and be accurate to between 0.5 and
one degree in either axis and still get good results.
The parts that I used to build SunBot II are shown in
Table 1. Careful assembly and alignment of the metal
parts is necessary to insure good results. When VEX
SunBot in motion was fun to watch as it swept the solar
panel in a circle while at the same time tilted the solar panel
and demonstrated how stepper motors could be micro-stepped. This version worked reasonably well considering the
materials used, but it still needs more refinements. For
instance, the azimuth and elevation stepper counts did not
consistently correlate to the quadrature encoder counts.
Other problems included exceeding the hard travel limits
by not reacting fast enough to the VEX limit switches. These
FIGURE 7. Schematic for SunBot II showing how the
SparkFun EasyDriver boards and VEX limit switches are
connected to the VEX microcontroller.
64 SERVO 12.2010
FIGURE 6. The EasyDriver
shown is a simple to use stepper
motor driver, compatible with
anything that can output a digital
0V to 5V pulse.