I have a strange encoder problem. This encoder is on the Z-axis of a Bridgeport milling machine converted to CNC. I am getting what I would describe a drift in the zero position. The servo motor behaves fine with no runaway or other obvious encoder issues.
If I start at Z=0 and move to Z= -0.1 inch, then back to Z=0 repeatedly for 100 repitions with a dial indicator measuring the motion of the spindle, after 100 moves the zero position reads about - 0.006 inch on the dial indicator. The zero continues drifting another 0.006 inches for each 100 cycles. The motion is 20,000 counts per inch so the drift is about 120 counts, so I may be missing one count per each motor reversal. Am I connecting something incorrectly here? Maybe an error on a data sheet?
I have a US digital E5D-500-250-HG encoder mounted on a brush type servo motor. The encoder is a differential output, and it is connected to a Galil DMC-1750 controller through an ICM-1900 interface with about a 6 foot twisted pair ribbon cable. I am only using the A+ (pin 6) and B+ (Pin 10) outputs from the encoder, connected to the ICM-1900 +MAZ (Pin 97) and +MBZ (Pin 99) terminals as recommended by Galil. The encoder has +5 and Ground connected to the correct pins. I have checked for mechanical slipage and end play in bearings, and all are good. The encoder wheel is tight on the motor shaft.
The X and Y axis have similar encoders connected the same way and seem to work correctly. I did have a very similar problem when I connected encoder A+ and A- signals to the ICM-1900 board by mistake previously.