Logic Probe Tip Covers

Our Larval Engineer received a logic probe / pulser set for Christmas:

RSR Logic Probe Pulser Set - with formed covers

RSR Logic Probe Pulser Set – with formed covers

They’re the low-cost RSR-611 and -620 from the usual eBay vendor, not my ancient HP10525/10526 set, but they should suffice. Perhaps nobody uses logic probes these days, what with most of the parts being too small for even a needle tip, but …

Anyhow, they didn’t have caps over the sharp probe tips, so I rummaged around until I found the stash of cigar tubes (some of which went into that air flow straightener) that were about the right size. I thought about 3D printing an adapter between tubes and probes:

RSR Probe Cap Adapter - solid model

RSR Probe Cap Adapter – solid model

It’s actually a subtractive kind of thing, with a model of the probe tip subtracted from a suitable cylindrical object:

RSR Logic Probe - solid model

RSR Logic Probe – solid model

But then I realized the tubes were thermoplastic, held each one over a stove burner until the open end went transparent and droopy, rammed it down over the probe tip, and trimmed off the ragged edge. Worked fine, fits securely, and even looks pretty good:

RSR Covers - detail

RSR Covers – detail

I’ll never print the adapters, but maybe one of us will tweak the model to do something else…

The OpenSCAD source code:

// RSR Logic Probe / Pulser Cap
// Ed Nisley KE4ZNU December 2012

// Adapts cigar tube to probe body

// Layout options

Layout = "Build";
                    // Overall layout: Show Build
			// Parts: Probe

//- Extrusion parameters must match reality!
//  Print with +1 shells and 3 solid layers

ThreadThick = 0.25;
ThreadWidth = 2.0 * ThreadThick;

HoleWindage = 0.2;

function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit);

Protrusion = 0.1;           // make holes end cleanly

//----------------------
// Dimensions

ProbeDia = 18.0;				// dia of main body
ProbeTipDia = 6.8;				// dia at end of plastic cone
ProbeTipLen = 30.0;				// length of metal ferrule + tip
ProbeConeLen = 17.5;			// cone taper length

TubeOD = 17.25;
TubeWall = 0.50;
TubeID = TubeOD - 2*TubeWall;

TubeLen = 15;					// slip fit over tube body

BodyLen = 20;					// slip fit over probe body

WallThick = 3.5*ThreadWidth;		// basic adapter wall thickness

AdapterLen = TubeLen + BodyLen;
AdapterOD = ProbeDia + 2*WallThick;
AdapterSides = 4*4;

//----------------------
// Useful routines

module PolyCyl(Dia,Height,ForceSides=0) {           // based on nophead's polyholes

Sides = (ForceSides != 0) ? ForceSides : (ceil(Dia) + 2);

FixDia = Dia / cos(180/Sides);

cylinder(r=(FixDia + HoleWindage)/2,
         h=Height,
         $fn=Sides);
}

module ShowPegGrid(Space = 10.0,Size = 1.0) {

    Range = floor(50 / Space);

    for (x=[-Range:Range])
        for (y=[-Range:Range])
            translate([x*Space,y*Space,Size/2])
            %cube(Size,center=true);

}

module Probe() {
	union() {
		cylinder(r=((ProbeDia + HoleWindage)/2),
				 h=(BodyLen + 1.2*Protrusion),$fn=2*AdapterSides);
		translate([0,0,(BodyLen + Protrusion)])
			cylinder(r1=(ProbeDia + HoleWindage)/2,
					 r2=ProbeTipDia/2,
					 h=ProbeConeLen,$fn=2*AdapterSides);
		cylinder(r=ProbeTipDia/2,h=(BodyLen + ProbeConeLen + ProbeTipLen),$fn=2*AdapterSides);
	}
}

module ProbeSleeve() {

	difference() {
		cylinder(r=AdapterOD/2,h=AdapterLen);
		translate([0,0,-Protrusion])
			Probe();
		PolyCyl((TubeOD + HoleWindage),(AdapterLen + Protrusion),2*AdapterSides);
	}
}

//----------------------
// Build it!

ShowPegGrid();

if (Layout == "Show")
    ProbeSleeve();

if (Layout == "Build")
    translate([0,0,AdapterLen])
		rotate([180,0,0])
			ProbeSleeve();

if (Layout == "Probe")
	Probe();
About these ads

,