An optical encoder measures how far something has moved, optically. It does this by looking at a pattern of alternating black-and-white, and counting number of transitions.
A typical optical encoder will either use a break-beam sensor, or a single pattern (dual for quad-phase) of alternating black and white. This is done because most designs are in a well-controlled environment, where there are reasonably well known, fixed levels for dark and light. In this case, we had a far less controlled environment:
- The optical encoder went directly on the wheel. As a result, there was an ambient light level that varied by several orders of magnitude.
- The optical encoder disk could be positioned at different distances from the sensor.
- The optical encoder disk could be printed on a variety of printers, where toner may either be more or less reflective than paper, by varying amounts.
For these reasons, traditional hobbyist optical encoders tend to be complete disasters. To mitigate some of these problems, we used a differential design. In so much as the photosensors matched, so that the design was very insensitive to ambient light level, or how much light was reflected from the surface, so long as different amounts of light were reflected.
Using the phototransistors back-to-back as a voltage divider (rather than amplifying first) let the design to have a huge dynamic range.
The major disadvantage of the differential design was decreased resolution. We needed four rings for a quad-phase design, instead of two. As a result, the inner-most ring was on a much smaller radius, and so could not have very dense stripes. In addition, the photosensors needed to be reasonably well matched.
Visit Here for more.