The Smell of Molten Projects in the Morning

Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.

MPCNC: Tool Length Probe Station

Having a tool length probe station on the Sherline, I had to build one for the MPCNC:

MPCNC Tool Length Probe - plotter pen
MPCNC Tool Length Probe – plotter pen

It’s little more than a flange atop a wide base:

MPCNC Tool Length Probe - Slic3r preview
MPCNC Tool Length Probe – Slic3r preview

The flange offset puts the switch actuator on the midline of the base, not that that matters, and the base features rounded corners and a suitable legend, because I can.

I clipped the PCB’s through-hold leads nearly flush and stuck it to the flange with 3M permanent foam tape, which seems to work much better than screws & inserts for simple things that need never come apart.

The Protoneer CNC Shield includes a Probe input on the GRBL-compliant A5, although it took me a while to find the legend on the SCL pin in the I2C header. I moved the endstop power jumper to another header, then conjured a quick-and-dirty connector:

Protoneer CNC Shield - Tool Probe Wiring
Protoneer CNC Shield – Tool Probe Wiring

When I embed the endstop switch PCB in epoxy, I’ll add a drop to the connector while engaging in Magical Thinking. The whole Arduino + CNC Shield must go into an enclosure after I finish measuring the motor currents.

To forestall discussions about switch repeatability and accuracy, suffice it to say the MPCNC doesn’t claim to be much more than a woodworking router, so those switches seem Good Enough.

The OpenSCAD source code as a GitHub Gist:

// MPCNC Tool Length Probe Station
// Ed Nisley KE4ZNU – 2017-12-08
/* [Extrusion] */
ThreadThick = 0.25; // [0.20, 0.25]
ThreadWidth = 0.40; // [0.40]
function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit);
/* [Hidden] */
Protrusion = 0.1; // [0.01, 0.1]
HoleWindage = 0.2;
/* [Sizes] */
EndstopPCB = [40.0,16.5,1.6]; // endstop PCB
ComponentHeight = 6.0; // max component height above PCB
SwitchOffset = [35.0,21.0,4.75]; // touch point center from lower left PCB corner
SwitchTravel = 2.5; // first touch to switch actuation
TapeThick = 1.0; // foam mounting tape
WallThick = 4.0; // basic wall & floor thickness
BaseRadius = 5.0;
Base = [IntegerMultiple(EndstopPCB[0] + 2*BaseRadius,20),
IntegerMultiple(EndstopPCB[2] + TapeThick + WallThick + 2*BaseRadius,2*25),
2.0];
NumSides = 8*4;
TextDepth = 2*ThreadThick;
//- Build it
union() {
difference() {
hull()
for (i=[-1,1], j=[-1,1])
translate([i*(Base[0]/2 – BaseRadius),j*(Base[1]/2 – BaseRadius),0])
resize([0,0,Base[2]])
intersection() {
cylinder(r=BaseRadius,h=BaseRadius,$fn=NumSides);
sphere(r=BaseRadius,$fn=NumSides);
}
translate([0,0,Base[2] – TextDepth])
linear_extrude(height=TextDepth + Protrusion) {
translate([0,-10,0])
text(text="MPCNC",size=8,spacing=1.05,font="Arial:style=Bold",halign="center");
translate([0,-18,0])
text(text="Tool Probe",size=6,spacing=1.05,font="Arial:style=Regular",halign="center");
}
}
translate([0,
WallThick/2 + TapeThick + SwitchOffset[2],
(EndstopPCB[1] – Protrusion)/2 + Base[2]])
cube([EndstopPCB[0],WallThick,EndstopPCB[1] + Protrusion],center=true);
}

The original doodles show a severely over-complexicated solution desperately searching for an actual problem:

MPCNC Tool Length Probe - doodles
MPCNC Tool Length Probe – doodles

Putting a large flat pan at the end of a relatively long lever arm, with the pivot arranged to put the pan level at the switch actuation point, made sense at the time. Give the relatively small tools I expect to use, directly ramming them into the switch lever should work just as well.

Putting all that complexity in harm’s way seemed like a Bad Idea when I sat down and looked at it in cold blood.

Comments

6 responses to “MPCNC: Tool Length Probe Station”

  1. Vedran Avatar

    I’d be more worried about adhesive tape flowing over time – some of them tend to move when force is biased only in one direction over long time.

    1. Ed Avatar

      The cable really should pass through a strain relief anchor, but the tape is allegedly good for mounting relatively heavy stuff on walls. If the PCB pops off, I’ll be both mightily disappointed and completely unsurprised.

  2. […] It turns out old-school plotter pen nibs skid right off the rounded top of the switch lever: […]

  3. […] I wired up the MPCNC’s tool length probe, I planned to reinforce the wiring with a dab of epoxy. What I didn’t notice in my […]

  4. […] that picture, I clipped off the NC switch terminal so I can wire this endstop in parallel with the tool length probe. Epoxy coating to […]

  5. […] a lever-arm switch as a tool length probe works surprisingly […]