Need High Resolution Optical Encoders

We need high-resolution Vex optical encoders (> 500 CPR) for better position and angular tracking and PID control.

just gear up the encoder. use chain so you dont get the “give” that gears have. this way, one turn of the angle you are trying to measure is equal to twice or even triple that amound on the encoder

maybe u mean a high rpm than 7200 that would be what u mean by higher res right?

No, he means like instead of 90 steps per revolution, like 180 or who knows, 500 or something. Any number would do.

wow, 500 counts per rotation! you can get precision down to a fraction of a degree…

why would you want this, though? Vex bearing flats and gears, etc. have quite a bit of leeway. even with a high precision encoder, you might get somewhat better results, but probably not signifigantly.

On a 5 inch wheel, 90 clicks of an encoder would be 1 click for every .175 inches or .443 cm. Precision to that degree is… excessive.

90 X 4 = 360. You can easily convert it into an exact measurement with gearing. Use a chain. Pretty simple. Then just put the setup in an out-of-the-way-spot.

Except that the slop in the chain will strongly effect the accuracy of the measurement (it will be a precise, but inaccurate measurement).

Gears can help a bit too, but they also suffer from the decreased accuracy. Someone with more Mechanical aptitude and training than I can perhaps compute for us whether the increased precision is washed out by the decreased accuracy.

I would try using gears before using chain.


You could also put a light tensioner on the chain, this could help reduce the slop.

Each gear is going to add a little more slop, so if you had to use more than a few gears I think you’d quickly get as sloppy (or sloppier) than an un-tensioned chain.

If its not for a Vex competition, do consider timing belts.

If you use gears, the amount of slop in relation to to the movement size would be so small it would not dramatically effect accuracy.

If you are coding this in MPLAB, interrupt ports 3-6 fire on both rising and falling edges. With both the cables from a quadrature encoder plugged into these interrupt ports, you could theoretically detect (and count) all 4 transitions per tick. That would give you 360 counts per rotation instead of the usual 90, and it should work for up to two encoders per microcontroller.

It isn’t the > 500 cpr that tswift1 asked for, but it would get you pretty close to 4x resolution with only software changes. Add some gearing to the mix and you might get 16x resolution. I’m not sure how far you could push this before you start dropping counts, though, so you might have to keep the RPM a bit low for reliable operation.


  • Dean