Difference between revisions of "Encoder Support"

Line 2: Line 2:
  
 
An encoder is a device attached to an actuator or motor that enables you to measure precise movements. The advantages of this are precision movements and speed control. There are two main types of encoders, hall-effect and optical. A hall-effect encoder typically uses an iron mass or magnet, the sensor then 'watches' for changes in the magnetic field. An optical encoder uses layered disks. The disks have symmetrical areas of transparent and opaque material that allows a light source, such as an LED to pass through and strike a photo detector.
 
An encoder is a device attached to an actuator or motor that enables you to measure precise movements. The advantages of this are precision movements and speed control. There are two main types of encoders, hall-effect and optical. A hall-effect encoder typically uses an iron mass or magnet, the sensor then 'watches' for changes in the magnetic field. An optical encoder uses layered disks. The disks have symmetrical areas of transparent and opaque material that allows a light source, such as an LED to pass through and strike a photo detector.
 +
[[File:encoder1.jpg|center|thumb]]
  
Picture
 
  
 
Both types of encoders are fundamentally solid. Deciding between the two depends on your budget and your desired CPR (Counts Per Revolution). Hall-effect encoders tend to be less expensive but have a significantly lower CPR. This is not necessarily a bad thing. If you just want to know how far your robot has traveled you do not need the 1,000-2,000 counts for an optical encoder a 98 CPR for a hall-effect encoder provides more than enough resolution for you needs. A standard six inch tire has a circumference of approximately 18.8 inches. At a 98 CPR you have a resolution of 0.19 inches (a little over an eight of an inch). Typically an encoder is put on the motor, which is then geared down. So if you have a 1:10 reduction, your encoder now will read 0.019 inches per count.
 
Both types of encoders are fundamentally solid. Deciding between the two depends on your budget and your desired CPR (Counts Per Revolution). Hall-effect encoders tend to be less expensive but have a significantly lower CPR. This is not necessarily a bad thing. If you just want to know how far your robot has traveled you do not need the 1,000-2,000 counts for an optical encoder a 98 CPR for a hall-effect encoder provides more than enough resolution for you needs. A standard six inch tire has a circumference of approximately 18.8 inches. At a 98 CPR you have a resolution of 0.19 inches (a little over an eight of an inch). Typically an encoder is put on the motor, which is then geared down. So if you have a 1:10 reduction, your encoder now will read 0.019 inches per count.
Line 9: Line 9:
 
==Encoder Output==
 
==Encoder Output==
 
Encoders typically output what is known as a quadrature signal. A quadrature signal is comprised of two channels (Channel A and Channel B). Channel B is 90 degrees out of phase from channel A. This allows the circuitry watching the output signal to know what direction you are traveling. If B trails A then your motor is moving clockwise, if A trails B then your motor is moving counter clockwise.
 
Encoders typically output what is known as a quadrature signal. A quadrature signal is comprised of two channels (Channel A and Channel B). Channel B is 90 degrees out of phase from channel A. This allows the circuitry watching the output signal to know what direction you are traveling. If B trails A then your motor is moving clockwise, if A trails B then your motor is moving counter clockwise.
 
+
[[File:encoder2.jpg|center|thumb]]
 
Picture
 
Picture
  
Line 19: Line 19:
 
==Quick Links to our Encoders and Accessories:==
 
==Quick Links to our Encoders and Accessories:==
 
'''Encoder Buffer and Pull-up Boards:'''
 
'''Encoder Buffer and Pull-up Boards:'''
* [##ITEM1523## Dual LS7366R Quadrature Encoder Buffer Breakout Board (TE-183-002)]
+
 
* [##ITEM1514## Kangaroo x2 motion controller (TE-180-000)]
+
*<sdr item id=1523> Dual LS7366R Quadrature Encoder Buffer Breakout Board (TE-183-002)</sdr item>
* [##ITEM1512## IG32, IG42, and IG52 Gear Motor Encoder Pull-up Board (TE-179-000)]
+
*<sdr item id=1514> Kangaroo x2 motion controller (TE-180-000)</sdr item>
 +
*<sdr item id=1512> IG32, IG42, and IG52 Gear Motor Encoder Pull-up Board (TE-179-000)</sdr item>
 +
 
 
'''Motors with Encoders:'''
 
'''Motors with Encoders:'''
* [##ITEM1238## IG42 24VDC 013 RPM Gear Motor with Encoder (TD-044-013)]
+
 
* [##ITEM1181## IG52-04 24VDC 082 RPM Gear Motor with Encoder (TD-045-082)]
+
*<sdr item id=1238> IG42 24VDC 013 RPM Gear Motor with Encoder (TD-044-013)</sdr item>
* [##ITEM1134## IG32P 24VDC 075 RPM Gear Motor with Encoder (TD-055-075)]
+
*<sdr item id=1181> IG52-04 24VDC 082 RPM Gear Motor with Encoder (TD-045-082)</sdr item>
* [##ITEM1099## IG32 24VDC 074 RPM Gear Motor with Encoder (TD-054-074)]
+
*<sdr item id=1134> IG32P 24VDC 075 RPM Gear Motor with Encoder (TD-055-075)</sdr item>
* [##ITEM1036## IG42 24VDC 078 RPM Gear Motor with Encoder (TD-044-078)]
+
*<sdr item id=1099> IG32 24VDC 074 RPM Gear Motor with Encoder (TD-054-074)</sdr item>
* [##ITEM998## IG32P 24VDC 265 RPM Gear Motor with Encoder (TD-055-265)]
+
*<sdr item id=1036> IG42 24VDC 078 RPM Gear Motor with Encoder (TD-044-078)</sdr item>
* [##ITEM997## IG32P 24VDC 190 RPM Gear Motor with Encoder (TD-055-190)]
+
*<sdr item id=998> IG32P 24VDC 265 RPM Gear Motor with Encoder (TD-055-265)</sdr item>
* [##ITEM996## IG32 24VDC 191 RPM Gear Motor with Encoder (TD-054-191)]
+
*<sdr item id=997> IG32P 24VDC 190 RPM Gear Motor with Encoder (TD-055-190)</sdr item>
* [##ITEM937## IG52-04 24VDC 010 RPM Gear Motor with Encoder (TD-045-010)]
+
*<sdr item id=996> IG32 24VDC 191 RPM Gear Motor with Encoder (TD-054-191)</sdr item>
* [##ITEM873## IG52-04 24VDC 136 RPM Gear Motor with Encoder (TD-045-136)]
+
*<sdr item id=937> IG52-04 24VDC 010 RPM Gear Motor with Encoder (TD-045-010)</sdr item>
* [##ITEM849## IG42 24VDC 122 RPM Gear Motor with Encoder (TD-044-122)]
+
*<sdr item id=873> IG52-04 24VDC 136 RPM Gear Motor with Encoder (TD-045-136)</sdr item>
* [##ITEM843## IG52-04 24VDC 285 RPM Gear Motor with Encoder (TD-045-285)]
+
*<sdr item id=849> IG42 24VDC 122 RPM Gear Motor with Encoder (TD-044-122)</sdr item>
* [##ITEM840## IG42 24VDC 240 RPM Gear Motor with Encoder (TD-044-240)]
+
*<sdr item id=843> IG52-04 24VDC 285 RPM Gear Motor with Encoder (TD-045-285)</sdr item>
 +
*<sdr item id=840> IG42 24VDC 240 RPM Gear Motor with Encoder (TD-044-240)</sdr item>
 +
 
 
'''Motor Controllers with direct encoder feedback:'''
 
'''Motor Controllers with direct encoder feedback:'''
* [##ITEM1197## SyRen 50A Regenerative Motor Driver (TE-098-150)] with [##ITEM1514## Kangaroo Option]
+
 
* [##ITEM1169## RoboteQ SDC2150 - 2x20A 50V Motor Controller with Encoder Input (TE-144-050)]
+
*<sdr item id=1197> SyRen 50A Regenerative Motor Driver (TE-098-150)</sdr item> with <sdr item id=1514> Kangaroo Option</sdr item>
* [##ITEM1168## RoboteQ SDC2130 - 2x20A 30V Motor Controller with Encoder Input (TE-144-030)]
+
*<sdr item id=1169> RoboteQ SDC2150 - 2x20A 50V Motor Controller with Encoder Input (TE-144-050)</sdr item>
* [##ITEM2233## RoboteQ XDC2460 - 2x150A 60V Motor Controller with Encoder Input (TE-286-150)]
+
*<sdr item id=1168> RoboteQ SDC2130 - 2x20A 30V Motor Controller with Encoder Input (TE-144-030)</sdr item>
* [##ITEM1834## RoboteQ MDC2460 - 2x60A 60V Motor Controller with Encoder Input (TE-240-060)]
+
*<sdr item id=2233> RoboteQ XDC2460 - 2x150A 60V Motor Controller with Encoder Input (TE-286-150)</sdr item>
* [##ITEM1833## RoboteQ MDC2230 - 2x60A 30V Motor Controller with Encoder Input (TE-240-030)]
+
*<sdr item id=1834> RoboteQ MDC2460 - 2x60A 60V Motor Controller with Encoder Input (TE-240-060)</sdr item>
* [##ITEM848## SyRen 25A Regenerative Motor Driver (TE-098-125)] with [##ITEM1514## Kangaroo Option]
+
*<sdr item id=1833> RoboteQ MDC2230 - 2x60A 30V Motor Controller with Encoder Input (TE-240-030)</sdr item>
* [##ITEM847## SyRen 10A Regenerative Motor Driver (TE-098-110)] with [##ITEM1514## Kangaroo Option]
+
*<sdr item id=848> SyRen 25A Regenerative Motor Driver (TE-098-125)</sdr item> with <sdr item id=1514> Kangaroo Option</sdr item>
* [##ITEM822## Sabertooth Dual 25A Motor Driver (TE-091-225)] with [##ITEM1514## Kangaroo Option]
+
*<sdr item id=847> SyRen 10A Regenerative Motor Driver (TE-098-110)</sdr item> with <sdr item id=1514> Kangaroo Option</sdr item>
* [##ITEM1225## Sabertooth Dual 60A motor driver (TE-091-260)] with [##ITEM1514## Kangaroo Option]
+
*<sdr item id=822> Sabertooth Dual 25A Motor Driver (TE-091-225)</sdr item> with <sdr item id=1514> Kangaroo Option</sdr item>
 +
*<sdr item id=1225> Sabertooth Dual 60A motor driver (TE-091-260)</sdr item> with <sdr item id=1514> Kangaroo Option</sdr item>
 +
 
 
'''Encoder support:'''
 
'''Encoder support:'''
* [https://sdrobots.com/ig3242-52-encoder-interfacing-cpr-calculation/ IG32,42, and 52 Encoder Interfacing and CPR Calculation.]
+
 
* [https://sdrobots.com/tech-thursday-029-encoder-cpr-resisted/ Encoder CPR – Revisited.]
+
*[https://sdrobots.com/ig3242-52-encoder-interfacing-cpr-calculation/ IG32,42, and 52 Encoder Interfacing and CPR Calculation.]
* [https://sdrobots.com/roboteqs-xdc2460-controller-speed-controller-encoder-input/ Speed controller with encoder input.]
+
*[https://sdrobots.com/tech-thursday-029-encoder-cpr-resisted/ Encoder CPR – Revisited.]
* [https://sdrobots.com/encoder-support-overview/ Encoder Support Overview]
+
*[https://sdrobots.com/roboteqs-xdc2460-controller-speed-controller-encoder-input/ Speed controller with encoder input.]
 +
*[https://sdrobots.com/encoder-support-overview/ Encoder Support Overview]
 +
 
 
[[Category:Sensors]]
 
[[Category:Sensors]]

Revision as of 17:42, 15 February 2021

Summary

An encoder is a device attached to an actuator or motor that enables you to measure precise movements. The advantages of this are precision movements and speed control. There are two main types of encoders, hall-effect and optical. A hall-effect encoder typically uses an iron mass or magnet, the sensor then 'watches' for changes in the magnetic field. An optical encoder uses layered disks. The disks have symmetrical areas of transparent and opaque material that allows a light source, such as an LED to pass through and strike a photo detector.

encoder1.jpg


Both types of encoders are fundamentally solid. Deciding between the two depends on your budget and your desired CPR (Counts Per Revolution). Hall-effect encoders tend to be less expensive but have a significantly lower CPR. This is not necessarily a bad thing. If you just want to know how far your robot has traveled you do not need the 1,000-2,000 counts for an optical encoder a 98 CPR for a hall-effect encoder provides more than enough resolution for you needs. A standard six inch tire has a circumference of approximately 18.8 inches. At a 98 CPR you have a resolution of 0.19 inches (a little over an eight of an inch). Typically an encoder is put on the motor, which is then geared down. So if you have a 1:10 reduction, your encoder now will read 0.019 inches per count.

Encoder Output

Encoders typically output what is known as a quadrature signal. A quadrature signal is comprised of two channels (Channel A and Channel B). Channel B is 90 degrees out of phase from channel A. This allows the circuitry watching the output signal to know what direction you are traveling. If B trails A then your motor is moving clockwise, if A trails B then your motor is moving counter clockwise.

encoder2.jpg

Picture

Reading an Encoder

There are two basic ways of integrating an encoder into your design. The encoder can either feed back to your motor control circuit or your microcontroller circuit. For feeding the data back to the motor controller itself frees up your microcontroller for other tasks and is incredibly simple to implement. Take Dimension Engineering's Kangaroo x2 Motion Controller. The motion controller attaches to their Sabertooth and SyRen product line and automatically takes care of speed control functions for you. The disadvantage is that it takes your microcontroller out of the loop and misses out of that data so you cannot write a program to move the motor precisely 90 degrees because the microcontroller doesn't know where the motor is. The Kangaroo can be polled for the data, but that is typically not fast enough. Other motor controllers such as the RoboteQ's have encoders built in too.

The other option is to have the encoder output wired to your microcontroller circuit. It is possible to have it directly tied to your microcontroller but you will have to have it constantly sit there and check for the pulses. This will tie up your microcontroller so it will not be able to complete another function while the motor is moving. A solution for this is our LS7366R quadrature buffer breakout. The LS7366R takes care of watching for the encoder pulses and you simply send it a SPI command when you want to know where you are or to reset the encoder counts. This way you can receive precise encoder feedback without having to devote all of your resources to it.

Quick Links to our Encoders and Accessories:

Encoder Buffer and Pull-up Boards:

Motors with Encoders:

Motor Controllers with direct encoder feedback:

Encoder support: