Servo & Motor Controllers

Getting a robot to move is the first step in building a successful robot. This page contains information and links to various methods to make a robot move. Though some Microcontrollers allow you to directly interface with a servo, some extra hardware is needed for better control. The following are controllers that add this better level of control for both Servos and motors.

Please follow the links for details on how to use each controller.

= Servo Controllers = Servo controllers are devices that allow your microcontroller to control a Servo's position. Servos are most commonly used on Remote Controlled (R/C) cars, and as such are widely available at a low price. Their small size and power requirements make them great for robotic uses.

Arduino On-Board Support
"As of Arduino 0017, the Servo library supports up to 12 motors on most Arduino boards and 48 on the Arduino Mega. On boards other than the Mega, use of the library disables analogWrite (PWM) functionality on pins 9 and 10, whether or not there is a Servo on those pins. On the Mega, up to 12 servos can be used without interfering with PWM functionality; use of 12 to 23 motors will disable PWM on pins 11 and 12."

Pololu Micro Serial Servo Controller
The Pololu Micro Serial Servo Controller is a small and flexible servo controller, ideal for robotic applications. This controller supports two different protocols, and can work in conjunction with other Pololu serial products on the same serial line.

= Motor Controllers = Motor controllers are devices that allow for independent control and power management of motors, used for vehicle/robot movement. Most motors run on voltages and currents which are higher than a typical Microcontroller can provide. Motor controllers are an intermediate between Microcontrollers and Motors, and typically provide varying power to the motors allowing you to vary their speed with a Microcontroller. This varied motor speed is not guaranteed to be accurate due to a variety of factors including fiction, gravity, or battery drain. In order to better control motor output, Wheel Encoders must be used to provide feedback as to real-world motor speed.

Many motor controllers exist for varying needs. The club employs the use of several different motor controllers, depending on the needs of the application.

Pololu TReX Jr Motor Controller
The Pololu TReX Jr Motor Controller is a powerful multi-functional motor controller ideal for table-top robotics. Though it is larger than the dual serial motor controller from Pololu, it is much more sturdy and can drive a range of powerful DC motors.

Pololu Dual Serial Motor Controller
The Pololu Dual Serial Motor Controller is a low voltage motor controller useful for table-top robotics. Its small size and simplicity of use make it great for small-scale applications. This device is not as sturdy as the Trex Jr Motor Controller.

SyRen 10 Motor Driver
The Dimension Engineering SyRen 10 Motor Driver is ideal for medium scale applications. Each controller only has one motor output, but can sustain 10A current, with 15A peak current capability. This controller can be controlled by a servo signal, an analog voltage, or via serial packets. This makes it quite flexible for use with many different controllers.

Using a pair of these, one can achieve a differential drive configuration.

R/C Car Electronic Speed Controller
An R/C Car Electronic Speed Controller takes a servo signal and converts it into a motor voltage. We use them in the Mini Grand Challenge robot because of their low cost, availability, and high output.