Independent Y-axis ball-screw calibration

While verifying operation of my new Journeyman, I discovered that the Y-axes have a substantial amount of differential travel. After homing, when I move the Y-axis by its nominal full-travel distance, the ball nut on my left Y-rail travels about 1/64” farther than the one on the right rail. Over the 32” of Y-axis travel, that’s about one part in 2000. This is not a mechanical defect, per se, as this much lead error is well within the tolerance of economical ball screws.

The average lead error of each Y-axis ball screw would quite easy to correct in software, except that the control software automatically disables editing of the “travel-per-rev” parameter for a slave axis. In effect, the software is saying “I’ll let you set the nominal pitch of the ball screws, but I won’t let you make independent adjustments for ball screw lead error when there’s a slave axis involved.”

For woodworking applications such as sign-making, 1/64” of Y-axis positioning error would probably never even be noticed. But here are some use cases where the differential-travel error presents a real problem:

  1. If I attempt to mill a rectangular workpiece, the front and rear edges of the workpiece won’t be parallel.
  2. Edge joinery that is milled along the Y-axis (e.g. modified box/tab joints), won’t fit together properly unless both mating edges are milled at approximately the same X-axis position.
  3. When tiling full-width workpieces, milled features will have a gap or overlap of almost 1/64” at one side or the other.
  4. When flipping a workpiece over to mill features on its back side, those features will generally be misaligned with the front-side features.

So here’s my specific feature request: Please modify the controller software so that users can edit the “travel-per-rev” parameter independently for slave axes. That would make a dramatic improvement in the achievable accuracy of Onefinity machines.


Out of curiosity, how did you detect that?

I used a procedure very similar to what @cyberreefguru posted here. Except that when calibrating the Y-axis travel, I measured with the scale at both sides of the cutting area, as well as in the center. Unsurprisingly, the measurements in the center equalled the average of the measurements made on each side.

The other thing that I did differently was to jog the rounder-over bit “pointer” precisely into alignment with the hash marks on the ruler scale, and use the high-resolution readouts on the controller to determine its travel-measurement error. That way, I didn’t have to try to eyeball intermediate measurements between the ruler hash marks.





Oh interesting. Thanks for clarifying. @cyberreefguru is the man. Most underrated Onefinity content on Youtube.

I also really need this. Just cutout a cabinet piece that is 900 x 706.5 and the left edge is over 0.5 too long. This caused my diagonals to be 2mm different so I call that 2mm out of square.