In my last tests of my cnc router it became very clear that calibration was not right. In particular my attempts to drill out a cribbage board showed up a serious issue with consistent movement. As illustrated with this image:
The image showed a few attempts at drilling out a cribbage board, but it kept not quite moving correctly, in particular when moving backwards.
On Sunday I spent a lot of time testing, I put a ruler on the bed, and moved back and forth. a lot. see:
I tried configuring everything, pulse lengths for the motor signals, steps per mm, acceleration rates, micro-stepping level. all based on the flawed reasoning that something was wrong with the electronics/motors/signals when the more sensible deduction should have been that my physical rig was the problem.
My big clue is shown in this picture:
2 separate tests, with two separate configs for various settings both yielded nearly identical layouts for the holes. the common factor? everytime the machine CHANGES direction it loses a few mm.
the nut that drives the x-axis has a few mm slack inside its little house. everytime you change direction, it first travels across a few mm to the other side of its enclosure before driving back the other way. I did a quick hack to reduce the slack here and got this result:
it's not perfect but it showed that by reducing the movement of the nut I reduced the motion lost when changing direction.
I also had some issues on the y-axis in this test, but that I think is a slightly different reason, at this particular point on the travel of the y axis the threaded rod is rubbing against the metal bracket holding the x-axis. I think I just need to take it off again and widen the hole.
All in all whilst it was frustrating to spend ages trying to figure this out, I'm happy to have located the source of the problem, and I'm confident I can resolve it.