For the SCARA (Selective Compliance Articulated Robot Arm) that I’m building for the course project, the rotation accuracy at the joints is critical to achieving overall accuracy.
The stepper motors that I have are 200 steps per revolution which amounts to 1.8 deg per step. The accuracy is +/- 5% which means a rotational angle uncertainty of 0.18 deg (best possible).
It is possible to micro step the stepper motors, thereby achieving a better resolution. Micro stepping must be done carefully as the incremental torque per micro-step drops off exponentially with the number of micro-steps. (Ref. http://www.micromo.com/microstepping-myths-and-realities)
To achieve a resolution of 0.18 deg, the number of micro steps required will be 10. The incremental torque available will only be around 20% of the holding torque (20% * 45 N.cm = 9 N.cm). This is quite low and therefore, the rotor will lag behind a few steps till the torque increases enough to drive the system and thus will result in an error in angle depending on how close to the full step the end position is. Worst case positioning error will be 1.8/2 = 0.9 deg.
For an arm extending 400 mm, to get a positioning within 500 um, the angular accuracy required is around 0.05 degrees. Thus it is important to use an encoder, with some form of reduction to increase the available torque.
Encoder position is critical, best is to place the encoder at the final pulley which will control the arm. This creates the case of a non-collocated control and the loops must be tuned carefully as they are prone to instability.
Looking around for cheap encoders, I found high resolution magnetic hall-effect based encoders which cost around $15 / encoder. I plan to use that in the joints of the SCARA arms.