Instead, the stepper motor drive electronics consist of four
open drain MOSFETs and four associated steering diodes.
The stepper motor driver hardware is graphically depicted in
Schematic 2. The quad of open drain MOSFETs can also be
used as independent solid-state switches. The stepper
motor driver subsystem can be powered externally by
removing JP5 and supplying power via J10.
Servo Drive Subsystem
The servo drive subsystem consists of a couple resistors
and a capacitor. Hobby servos are driven with a logic level
signal. Thus, the servo drive motor is the only power
consuming element. This is reflected in Schematic 3, which
details four servo positions. Resistors R23 and R24 form a
simple voltage divider that allows the servo power source
voltage to be monitored by the host microcontroller. Like
the stepper motor driver subsystem, the servo drive
subsystem can be powered externally or from the host
5 VDC rail.
I2C Expander Subsystem
This is a very interesting part of the motor shield. The
center of this subsystem is a Microchip MCP23008 I2C
expander. The expander IC you see in Schematic 4 is
nothing more than an eight-bit I/O expander that is
SERVO 11.2013 51
Photo 3. This Digilent gear motor interfaces directly to
the motor shield via J3 or J6. A pair of Hall-effect sensors
produces a quadrature signal as the motor shaft rotates.
Schematic 2. There's not much to say about this circuit.
However, if you don't drive a stepper motor with your motor
shield, you can use the MOSFETs as high current solid-state
Schematic 3. Again, there
is not much to discuss. The
magic that positions each
servo is performed by the host
Schematic 4. The motor shield takes advantage of the Uno32's I2C bus
and employs the services of the MCP23008 to add LEDs, pushbuttons,
and a pair of user inputs.