MPCNC: Rail Height Measurements and Plot Effects

After once again figuring out how to read a vernier height gage, I measured the height of each end of the MPCNC rails:

Brown and Sharpe 585 Height Gage

Brown and Sharpe 585 Height Gage

The process:

  • Position the gage near the end of the gantry’s travel
  • Twiddle the knurled ring to lower the probe (a.k.a. lathe bit) until …
  • It firmly captures the paper slip, then …
  • Twiddle the ring the other way until …
  • The paper barely moves
  • Read the vernier and take a picture

So the numbers come out one paper thickness higher than the actual rail height; subtract 0.1 mm = 4 mil to get the true height:

MPCNC Rail Height - 2017-12-23

MPCNC Rail Height – 2017-12-23

In round numbers, the difference is under 0.3 mm along each rail.

The outer numbers on the lower sketch show the difference between each reading and the lowest value along that axis: the left rear corner is (roughly) 0.5 mm higher than the right front. The numbers inside the square give the additional height, rounded to sensible values, required to raise the low corners.

Which means you can’t plot at, say, Z=-0.2 mm to reduce the pen loading, because the pen doesn’t uniformly touch the paper across the entire plot:

MPCNC - Unlevel Z -0.2 plot

MPCNC – Unlevel Z -0.2 plot

These images have been perspective & aspect ratio corrected, then ruthlessly contrast-stretched to make the traces visible; the lighting isn’t that awful in person!

With the plot at Z=-0.2, the legends toward the front came out OK, but they’re missing along the far edge. The Spirograph traces go completely missing toward the left rear as the pen rises away from the paper, although I think we’re also seeing some ripples in the paper sheet.

Although such a small error probably makes no difference to a wood router, let’s see what we can do.

Manually editing the G-Code to put successive traces at 0.1 mm increments from Z=-0.3 to Z=-0.6 mm, then replotting on the same piece of paper, shows the problem a bit better:

MPCNC - Unlevel plot - multiple Z

MPCNC – Unlevel plot – multiple Z

All of the legends remain at Z=-0.2, because I wasn’t up for editing every pen-down command.

Even at Z=-0.6 mm, the pen doesn’t quite touch in the left rear corner. Previously, I’d been plotting at a nice, round Z=-1.0 mm, which worked fine. I didn’t run any tests below Z=-0.6, but I think Z=-0.8 would draw a complete plot.

That agrees reasonably well with the height gage measurements.

It’s obviously impossible to re-level the rails by dinking around with the corner post lengths, because I can’t move the EMT in precise increments and it’d never stay in that position anyway. Instead, I should slide shims under the three lowest corner feet to raise them enough to match the left rear corner.



  1. #1 by Vedran on 2018-01-04 - 13:18

    I’m a bit disappointed you didn’t hook up continuity meter between to the rail and gage and twiddled the thumb screw till it went beeep :)

    Shimming will work fine, but why not just loosen the screw holding the post in the bottom bracket and set the right height? Just make an appropriately long piece of wood and use it as a spacer block – no critical measurements needed :)

    • #2 by Ed on 2018-01-05 - 07:50

      Nah, electricity isn’t a thing and, to my deflicted ears, those beeps aren’t much of a thing, alas.

      I’m reasonably sure the corner post clamps can’t actually hold the posts at an arbitrary position, particularly against vibrations from, say, a router. Some folks redesigned the corners with internal screw jacks and I may try those if the thing needs a few more inches of working height.

  2. #3 by david on 2018-01-04 - 13:39

    I’m confused by “left rear corner is (roughly) 0.5 mm higher than the left rear”…

    • #4 by Ed on 2018-01-04 - 19:43

      Uhhh, “than the right front” would match reality much better: fixed!

      Thanks …

  3. #5 by dithermaster on 2018-01-07 - 15:05

    Seems like you could use similar technology to 3D printer bed leveling – go around and sense depth at 4×4 points and then interpolate. You’d just need some kind of probe, or a pressure transducer on the pen itself (that’s how humans do it ). Or add a sprint mount to the pen?

    • #6 by Ed on 2018-01-07 - 19:41

      GRBL and bCNC support grid-based auto-leveling, for which I cooked up a simpleminded Z height probe switch. Data collection continues apace, with results to appear in a while… looks pretty good to me, even though I understand the absurdity of measuring sub-millimeter deviations for what’s basically a wood router.

      • #7 by Vedran on 2018-01-08 - 10:12

        It gets important in a hurry if you use it as a PCB router :)
        But to do it, you’d need to have a really flat bed as well (at least locally) so it might be moot.

  1. MPCNC: Corner Post Shims | The Smell of Molten Projects in the Morning