I need to measure (and record changes over a short time) the angle of a lever at a sub-degree resolution (The fulcrum can be the sensor) using an Arduino.

I've looked at rotary encoders, but even those with no detents have about 24 pulses per rotation. I need to measure only across a 90 degree arc. 24 pulses per rotation is 15 degrees per pulse. Which I guess results in a measurable resolution of 7.5 degrees!

I could add gears to increase the turns on the encoder, but that would increase the force required to move the lever.

Is there an option I'm not thinking of?


I've looked at rotary encoders, but even those with no detents have about 24 pulses per rotation.

It sounds like you have been looking at encoders intended for user input controls.

Optical Rotary Encoders for machinery applications are readily available with up to several thousand pulses per revolution. Prices vary depending on if the wheel is glass or plastic, mounting options, brand, etc.

Do be aware that especially at the high resolutions, getting the encoder disk mounted perfectly concentric to the shaft being measured in important. You would either need to buy a a wheel which already has a bushing of the same diameter as your shaft, have access to a lathe, or have something custom made. (This is probably a case where a 3d printer is not accurate enough)

Also keep in mind that encoder wheels are often specified in cycles per revolution; with the typical two channel read head and quadrature decoding, there will be four times as many distinct state transitions. So a mere 300 CPR wheel would give you 1200 counts per revolution.

| improve this answer | |

Try a spirit level (also called bubble level) app on your phone or tablet. It can get to sub-degree accuracy, but it is relative and not absolute accuracy. If that is good enough for you, then you could buy a modern accurate accelerometer and average the values.
It might even be possible to have more than one accelerometer for more accuracy.

Good quality (calibrated) digital spirit levels are very accurate. They use a accelerometer.

It will measure the angle with the earth gravity, and it is sensitive for vibrations.

There are more ways to measure the angle, but it depends on the mechanical construction of the lever. For example a IR distance sensor for short distances at the end of the lever. Maybe a magnet and hall sensor. There are probably more ways to measure the angle.

| improve this answer | |

Is there an option I'm not thinking of?

a ruler would be the simplest solution.

a capacitive pad could sense it as well.

a lever + a linear encoder.


| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.