A motor controller controls the exact speed that you want the motor to turn.
There are two different general types of motor controllers which enable a manual or automatic means of starting and stopping motor or making it go forward or reverse selecting and regulating the speed.
For direct current motors the controller may vary the voltage passed to the motor to regulate the speed.
It also includes overload protection for the motor or over current protection for the motor and wiring.
Motor controllers are either manual, remote, or automatically operated. They may include only starting and stopping or other functions as well.
The motor controller is connected to the battery or power source and controls the current flowing through to the motor.
How to select the motor controller?
First determine your motors nominal voltage. In my case I have 24V motor that I am using for my project.
Then, ensure the motor nominal voltage is within the motor controllers range. The motor will only consume the voltage required to power. However, if the motor’s nominal voltage exceeds the range of the motor controller it will burn out the controller.
Consider the continuous current required for the motor. If you choose a motor with 3A and a motor controller with 5A continuous current the the motor will only consume what it needs. However, if the continuous current is more than the motor controller then it will burn out the controller.
Reading charts for motor specifications is difficult. However, ” I ” means the rated current.
There are a few motor controller brands on SuperDroid Robots namely: RoboClaw, RoboteQ, Sabertooth, SyRen.
It seems like the difference between the controllers are:
- The amount of continuous current that may flow through the motor controller (i.e. 10A, 12A, 15A, 20A, 25A, 30A, 60A, etc.)
- Number of motor channels
- Control Input Types (i.e. USB, Analog, etc.)
- Supported Language
- Supported Microcontroller Types (i.e. Arduino, Raspberry Pi)