Edge Finding without BitZero (on metal)

I’ll definitely share if I actually do something clever. I’m mostly worried about me making a stupid mistake and ruining my probes by trying to be overly clever :smiley:

This takes me back… a long, long time ago I was looking at hole probing. I have no idea if it’s of any use but here is one of the old macros:

;Start with end mill in hole, BELOW Z surface of probe

; Wait until the planner queue is empty
%wait

; Set user-defined variables
%Z_PROBE_THICKNESS = 12 ;thickness of Z probe plate
%PROBE_DISTANCE = 20 ;Max distance for a probe motion
%PROBE_FEEDRATE_A = 150
%PROBE_FEEDRATE_B = 50
%PROBE_MAJOR_RETRACT = 3 ;distance of retract before probing opposite side
%Z_PROBE = 15 ; Lift out of hole and Max Z probe
%Z_PROBE_KEEPOUT = 15 ;distance (X&Y) from edge of hole for Z probe
%Z_FINAL = 15 ;final height above probe

%UNITS=modal.units
%DISTANCE=modal.distance

G91 ; Relative positioning
G21 ;Use millimeters

; Probe toward right side of hole with a maximum probe distance
G38.2 X[PROBE_DISTANCE] F[PROBE_FEEDRATE_A]
G0 X-2 ;retract 2mm
G38.2 X5 F[PROBE_FEEDRATE_B] ;Slow Probe
%X_RIGHT = [posx]
G0 X-[PROBE_MAJOR_RETRACT] ;retract

; Probe toward Left side of hole with a maximum probe distance
G38.2 X-[PROBE_DISTANCE] F[PROBE_FEEDRATE_A]
G0 X2 ;retract 2mm
G38.2 X-5 F[PROBE_FEEDRATE_B] ;Slow Probe
%X_LEFT = [posx]
%X_CHORD = [X_RIGHT - X_LEFT]
G0 X[X_CHORD/2]
%X_CENTER = [posx] ;get X-value of hole center for some reason
; A dwell time of one second to make sure the planner queue is empty
G4 P1
G10L20X30

; Probe toward top side of hole with a maximum probe distance
G38.2 Y[PROBE_DISTANCE] F[PROBE_FEEDRATE_A]
G0 Y-2 ;retract 2mm
G38.2 Y5 F[PROBE_FEEDRATE_B] ;Slow Probe
%Y_TOP = [posy]
G0 Y-[PROBE_MAJOR_RETRACT] ;retract
; Probe toward bottom side of hole with a maximum probe distance
G38.2 Y-[PROBE_DISTANCE] F[PROBE_FEEDRATE_A]
G0 Y2 ;retract 2mm
G38.2 Y-5 F[PROBE_FEEDRATE_B] ;Slow Probe
%Y_BTM = [posy]
%Y_CHORD = [Y_TOP - Y_BTM]
%HOLE_RADIUS = [Y_CHORD/2]
G0 Y[HOLE_RADIUS]
%Y_CENTER = [posy] ;get Y-value of hole center for some reason
; A dwell time of one second to make sure the planner queue is empty
G4 P1
G10L20Y30

; Probe Z
G38.2 Z-[Z_PROBE] F[PROBE_FEEDRATE_A]
G0 Z2 ;retract 2mm
G38.2 Z-5 F[PROBE_FEEDRATE_B] ;Slow Probe
G10L20Z[Z_PROBE_THICKNESS]
G0 Z[Z_FINAL+10] ;raise Z
G90 ;absolute distance
G0 X0 Y0
; A dwell time of one second to make sure the planner queue is empty
G4 P1

[UNITS] [DISTANCE] ;restore unit and distance modal state

6 Likes

This is actually the BitZero macro I found on GitHub. (Or was it Reddit?). They didn’t credit you, so I didn’t know the original source. I’ll add that to a comment in my copy.

I have a hole probing macro in my GitHub that is known to work. The link is somewhere above in this thread.

@natewalck The clever idea I had unfortunately needs to written in gSender because afaik there is no looping in the macros. The idea was to probe X and then back off a bit and keep probing along the edge until you miss the stock. Then shift over in x a little bit and probe Y. Finally you can iteratively raise z and probing y until you miss which gets you to a height to probe Z.

While it would be cool to watch, it might even be slower than manually jogging around to do the probes…

I’m going to just drop off my 6 year old video here…I STILL use this edge/center method everyday…yes still. )Posted here several times…but since there it’s hard to find a tree in the forest…I’ll repost.

Built into every Carbide3D GRBL board…(One to the Probe pin and another to ground. You can add a beautiful 3D printed bracket and banana pins like I did…or not.

PS Works with wood is you use a piece of aluminum foil…

3 Likes

that method works great for every machine other than the nomad, since the bed is grounded to the rest of the frame, so you would have to isolate the workpiece or wasteboard to get that to work.

The spindle itself is also grounded. I don’t ever use the BitZero magnet on my spindle because it’s redundant.

that too. but it makes trying to probe conductive stock with the endmill not an option unless you isolate the bed/wasteboard/etc

1 Like

Thanks for sharing!

I use the same command, but with extra gcode to do some handy things like crpalmer suggested (making 0 the surface of the parallel on my mod vise, etc)

The real problem is discovering content. Forums are really bad documentation and someone has to really love documentation to upkeep a wiki of everything. It’s a tough problem.

3 Likes

Well @natewalck you’ve pulled me back in.

I’ve moved the nomad out of the shop and set it directly by my desk. The next couple of weeks are going to be gSender probing and macro shenanigans. Time to suck it up and start on getting my gSender setup production ready :slightly_smiling_face:

1 Like

This topic was automatically closed after 30 days. New replies are no longer allowed.