A Motor Controller is a device that acts as an intermediary between your robot’s microcontroller, batteries, and motors. A motor controller is necessary because a microcontroller can usually only provide roughly 0.1 Amps of current whereas most actuators (DC motors, DC gear motors, servo motors, etc.) require several Amps. The current a motor consumes is related to the torque it can provide (a small motor will not consume much current, but can’t move a large mass whereas a large motor can move a large mass but will consume a large current).
Motor controllers can only be chosen after you have selected your actuators. There are currently five types of motor controllers offered by RobotShop:
Choosing the right motor controller is more straightforward than you might think.
If you need a DC Motor Controller, base your choice on the type of control method (whichever is best for you: Analog Voltage; I2C; Multiple; PWM; R/C; Serial), the motor’s maximum current and the motor’s nominal supply voltage. Some DC Motor Controllers control two motors independently and it is important to note that often only ONE supply voltage can be used to supply both motors (the current can be different).
Source: ChristianSW - Wikipedia
In order to choose the appropriate Servo Motor Controller, first select the appropriate method (by hand using a dial vs. computer control) and the servo motor controller with the appropriate number of connections. When deciding between manufacturers, an important note is the total power output. Servo motors are meant to use specific voltages (for peak efficiency).
In order to choose the right Stepper Motor Controller, you must first decide if you want to use a unipolar or bipolar stepper motor. Most stepper motor drivers are rated by the input voltage and maximum current.
Many miscellaneous devices also need to be controlled using separate controllers. For example, many linear actuators use either geared DC motors with encoder feedback (therefore a DC Motor Controller would be appropriate), though some take servo input (so you would select a servo motor controller). The three main criteria for deciding if your actuator needs a separate controller are the communication protocol (if any), the current required to operate (over 0.1A), and the voltage (over 5V).
If you are not sure of how to control a specific actuator, please visit the RobotShop Learning Center. Visit the RobotShop Community Forum in order to seek assistance in building robots, showcase your projects, or simply hang out with other fellow roboticists.