Encoder support starts with SuperDroid Robots
There is a lot to know about encoders along with how and when to use them. This post is intended to summarize all the past posts we have made the involve encoders and shed some more information/support on the topic.
Motors with Encoders
Most of our robot kits allow you to select the motors you want to used to drive the robot. The options will include motors with encoders. Encoders are very useful if you are planning on making your robot semi-autonomous or fully autonomous. Our motors use hall-effect encoders, which require some special consideration. Hall effect encoders require pull up resistors. We have made the process of pulling up the encoders very easy with our encoder hookup kits. You will need to choose the hookup kit that matches the motor controller in the robot. With 4WD or 6WD motors you typically only need to hook up one motor per side to read the encoders unless you are planning to used multiple motor controllers. So the motor power is run in parallel for the right side and the left side and just hook up the front motor encoders.
Counting the Pulses
After the encoders have been pulled up the next decision is what to do with the encoder signal. There are multiple ways to do this. One method is to read the encoders into your computer or micro controller after the signal has been pulled up. If you are using a computer or micro controller directly, you will need to put the encoder pulses on interrupt lines to ensure you don’t miss any pulses. You will also need to make sure your micro controller or computer are fast enough to catch all the pulses There are two encoders per motor (an A and B channel), this allows quadrature counting and the direction of the motor and be determined. All this is rather involved. We have made the process easier with our hookup kits. Each motor controller requires specific parts to read the encoders. We include all the necessary hardware in the hookup kit. For example when selecting the RoboteQ 2x20A motor controller select the RoboteQ Dual Encoder Hookup Kit and everything you need to run encoders is included.
Components for Reading Encoders
- Roboteq Dual Encoder Hookup Kit: This Kit includes a DB15 breakout board for easy connections to the Roboteq motor controller. This kit also provides you with the connectors, crimp pins and wire.
- Roboclaw Dual Encoder Hookup Kit: This kit includes (2) pull up boards plus connectors, crimps pins and wire.
- Sabertooth Dual Encoder Hookup Kit: This kit includes a Dual Encoder Buffer Board for connecting to two motors plus connectors, crimps pins and wire.
- Sabertooth Triple Encoder Hookup Kit: This kit includes a Triple Encoder Buffer Board for connecting to three motors plus connectors, crimps pins and wire.
- Sabertooth Quadruple Encoder Hookup Kit: This kit includes a Quadruple Encoder Buffer Board for connecting to four motors plus connectors, crimps pins and wire.
Controlling the Motors
If you want to add speed control to your motors or set the robot to run a set distance and stop, you can do that by reading the pulses as discussed above and then command the motors with the appropriate action. This is sometimes not as responsive as you may like depending on the speed of your computer or micro controller. The other method is to let the motor controller do all the work for you. This requires a fair amount of setup with the motors controllers. The motor controllers that have encoder support build in will state it in the item description.
Motor controllers for encoder control
- Sabertooth Dual 12A Motor Driver: Dimension Engineering Sabertooth 2X12 is one of the most versatile, efficient and easy to use dual motor drivers on the market. It is suitable for medium powered robots – up to 30lbs in combat or 100lbs for general purpose robotics.
- Sabertooth Dual 25A Motor Driver: The Sabertooth 2X25 is one of the most versatile, efficient and easy to use dual motor drivers on the market. It is suitable for medium powered robots – up to 30lbs in combat or 100lbs for general purpose robotics.
- Sabertooth Dual 32A Motor Driver: The Sabertooth 2X32 is one of the most versatile, efficient and easy to use dual motor drivers on the market. It is suitable for medium powered robots – up to 30lbs in combat or 100lbs for general purpose robotics.
- Sabertooth Dual 60A motor driver: Dimension Engineering Sabertooth 2X60 is one of the most versatile, efficient and easy to use dual motor drivers on the market. It is suitable for high powered robots – up to 120lbs in combat or up to 1000lbs for general purpose robotics.
- RoboteQ SDC2160 – 2x20A 60V Motor Controller with Encoder Input: Roboteq’s SDC2160 (60V) controller is designed to convert commands received from an RC radio, Analog Joystick, wireless modem, PC (RS232 or USB) or microcomputer into high voltage and high current output for driving one or two DC motors.
- RoboteQ MDC2460 – 2x60A 60V Motor Controller with Encoder Input: Roboteq’s MDC2460 (2x60A 60V) controller is designed to convert commands received from an RC radio, Analog Joystick, wireless modem, PC (RS232 or USB) or microcomputer into high voltage and high current output for driving one or two DC motors. To connect the encoders signal to the Roboteq use the 6-pin Molex Microfit 3.0.
- RoboteQ XDC2460 – 2x150A 60V Motor Controller with Encoder Input: Roboteq’s XDC2460 (2x150A 60V) controller is designed to convert commands received from an RC radio, Analog Joystick, wireless modem, PC (RS232 or USB) or microcomputer into high voltage and high current output for driving one or two DC motors. To connect the encoders signal to the Roboteq use the 6-pin Molex Microfit 3.0.
- RoboClaw 2x7A Motor Controller: The RoboClaw 2x7A is an intelligent motor controller designed to control two brushed DC motors at 7.5 Amps continuous with up to 15 Amps peak per channel. It can be controlled from USB, RC radio, PWM, TTL serial, analog and microcontrollers such as an Arduino or Raspberry Pi.
- RoboClaw 2x15A Motor Controller: The RoboClaw 2x15A is an intelligent motor controller designed to control two brushed DC motors at 15 Amps continuous with up to 30 Amps peak per channel. It can be controlled from USB, RC radio, PWM, TTL serial, analog and microcontrollers such as an Arduino or Raspberry Pi.
- RoboClaw 2x30A Motor Controller: The RoboClaw 2x30A is an intelligent motor controller designed to control two brushed DC motors at 30 Amps continuous with up to 60 Amps peak per channel. It can be controlled from USB, RC radio, PWM, TTL serial, analog and microcontrollers such as an Arduino or Raspberry Pi.
- RoboClaw 2x60A Motor Controller: The RoboClaw 2x60A is an intelligent motor controller designed to control two brushed DC motors at 60 Amps continuous with up to 120 Amps peak per channel. It can be controlled from USB, RC radio, PWM, TTL serial, analog and microcontrollers such as an Arduino or Raspberry Pi.