This is the latest in the never ending series of repairs and upgrades to my Prusa Mendel 3D printer. The previous upgrade was to add auto bed leveling after replacing the X carriage to mount the new hot end. The auto bed leveling is Z probe “micro switch on the end of a servo” type. The problem was that it never seemed to work.
When I say it didn’t work I mean that it would successfully probe the bed and calculated the plane of the bed and then adjust the Z height during X and Y movements but the calculated plane did not match the bed. The calculated plane was always higher on the left rear and lower front right. After the printer had probed the bed I would need to adjust the bed height for the printer to work. No matter how many times I adjusted or measured the Z probe or checked the firmware settings the calculated plane was always off. I kept using the printer and manually adjusted the bed height after probing. But now several months later I had an idea and fixed the problem.
While watching the printer go about its probing yesterday I had a look at the X rails and noticed that the two rails were not parallel but we’re twisted. The motor end was sagging under the weight of the stepper motor and causing the X rails to warp. The warping meant that the X carriage would roll as it traversed its axis. The rolling did not affect the hot end nozzle noticeably but the Z probe is a fair way off centre to the rear of the carriage and this would cause the probe height to vary by several millimetres over the length of the X axis. This variation accounted for the difference in the calculated plane at the Z probe and the plane of the bed at the nozzle.
I immediately printed up a new pair of X ends from Thingiverse and swapped them over. Once I had removed the old motor X End it became very obvious what the problem was. The clamps for the linear bearings had cracked and was allowing the weight of the stepper motor the twist the X End. After installing the new X ends the auto bed leveling worked perfectly the first time.