I would like to track the angular position of a fairly slow motorized rotating arm (direct-drive; see illustration below) -- but require angular accuracy of under 0.05°, and similar resolution.
As @gbulmer noted in the comments, that is equivalent to tracking the tip of the arm positionally along the circumference, with an accuracy of (2×π×10cm)/(360˚/0.05) = 0.08 mm.
Is there any currently realizable sensor or electronic method that can attain this level of accuracy in rotational sensing without spending a fortune?
This is what I've tried so far, from simplest to intricate:
Digital compass/magnetometer: I started with this; but obviously nowhere near the performance I'm looking for.
Rotary encoding: Potentiometer-based / Hall-Effect-sensor-based encoding: Couldn't get sufficient resolution and there is significant linearity error.
Machine vision: Tried placing an optical marker on the tip of the arm (since the tip traces the longest arc) and using camera (OpenCV) to track the marker's position: couldn't resolve very tiny rotations so well, given the arm's rotation spans a 10x10 cm area.
Magnetic encoder: I'm currently investigating the use of AS5048, a Magnetic rotary encoder from AMS, positioned with the sensor's center at the motor's shaft position. Something like this: