Optical Shaft Encoder

From VEX Wiki
Jump to: navigation, search

Vexiconssensors on 105x92.jpg


Kit Contents

The optical shaft quadrature encoder kit consists of two optical shaft quadrature encoders.
Optical Shaft Encoder Figure 1a.jpg


The optical shaft encoder is used to measure both relative position of and rotational distance traveled by a shaft. It works by shining light onto the edge of a disk outfitted with evenly spaced slits around the circumference. As the disk spins, light passes through the slits and is blocked by the opaque spaces between the slits. The encoder then detects how many slits have had light shine through, and in which direction the disk is spinning.
Optical Shaft Encoder Figure 2.jpg


The optical shaft encoder can be used to improve a robot in various ways. The encoder can measure rotational distance traveled and speed, which can be used to monitor, for example, the angular position of a robot gripper arm or the speed of a robot. Knowing these parameters can greatly assist you with performing autonomous tasks with your robot.


The optical shaft encoder can be used to track distance traveled, direction of motion, or position of any rotary component, such as a gripper arm. The encoder can also be used to detect movement, which could facilitate richer interaction between the robot and its environment (e.g., human-robot interaction). If a human moves a robot arm that is attached to an encoder (e.g., during a handshake), the robot detects the arm movement and the direction(s) and distance(s) traveled, helping the robot classify the interaction as a handshake.
Optical Shaft Encoder Figure 3.jpg

Range Limits

While the diameter of the disk in the encoder does not really matter, the diameter of the wheel or gear whose shaft passes through the encoder does! The circumference of the wheel is equal to its diameter multiplied by pi (approx. 3.14). Multiplying the distance traveled which when multiplied by the number of revolutions gives of the distance traveled.
Optical Shaft Encoder Figure 4.jpg

The optical shaft encoder can detect up to 1,700 pulses per second, which corresponds to 18.9 revolutions per second and 1,133 rpm (revolutions per minute). Faster revolutions will therefore not be interpreted exactly, potentially resulting in erroneous positional data being passed to the microcontroller.

Technical Information

  • Sensor Type
    • Infrared light sensor and infrared LED
  • Resolution
    • 1 degree when used with a VEX ARM® Cortex®-based Microcontroller
    • 2 degrees when used with a PIC Microcontroller and ROBOTC
    • 4 degrees when used with a PIC Microcontroller and easyC V2 or easyC PRO
  • Range
    • No limit, full 360° continuous rotation
  • Size
    • 2 5/8in x 2in
  • Weight
    • 0.08lb per sensor
  • Shaft Size
    • 1/8in square
  • Wiring
    • Black - ground; Red - (+) power; White - control signal

ROBOTC Sample Code


CMU Robotics Academy Resources

easyC Sample Code