Probing outside allowed area
-
Hello,
I just noticed that my mesh grid doesn't extend all the way over the printable area and I wanted to fix this. the problem is that this is a toolchanger with the probe being at 0 offset and all the tools having the actual offset instead.
So my allowed movable area is selected such that when a tool is loaded, it can't crash into the other tools at the back. This also means that the toolhead with the probe can't actually reach the end of the bed while staying within the allowed space.So my naiive solution would be some switch that would let the toolhead move past the limits (which it can do since no tool is loaded) and let it probe the bed all the way.
I tried doing this, but that didn't help and it still refused to probe outside the allowed space:M564 S0 G29 S0 M564 S1
I was thinking of temporarily changing the M208 limits for probing, but that means I have the limits coded in two different files, which doesn't seem ideal to me. Any other ideas how I can get it to probe all the way?
-
Without altering your initial setup changing M208 would seem the way to go.
-
@phaedrux Thanks, you make it sound like there's a better version with altering my setup?
-
I'm not a tool change user, so I don't have much useful suggestion there. Hopefully others with the machines can give some suggestions.
-
I have a tool changer with two Hemera and two Bowden tools. You can find my files at https://github.com/Duet3D/RRF-machine-config-files/tree/master/E3D_Tool_Changer/dc42-duet3-centreZero-2Titan-2Hemera. Basically, in the tpre#.g file for each tool I use M208 to set the maximum Y value for that tool. In the mesh.g file I unload any tool and temporarily increase the allowed Y range.
With RRF 3.3 you could set up global variables for the various M208 Y limits, so that all the limits are defined in one place.
-
@dc42 Thanks for the answer. I based my config on yours but tossed the tool specific M208 limits because my tools are all the same. I guess I know now that there was another use for this that I didn't understand at the time.
I think I'll look into the idea of uisng global variables, thanks! -
Just in case someone finds this in the future. I went the recommended route and manually extend the allowed area in bed.g like this:
bed.g
[...] M208 Y{global.minY}:{global.maxYMesh} ; extend allowed space for probing near the edge of the bed G29 S0 G1 X400 Y{global.maxY} F20000 ; Park M208 Y{global.minY}:{global.maxY} ;reset safe moving space to normal
In config.g I create the referenced globals from above:
[...] ; Axis Limits global minY = -149 global maxY = 72 M208 X-146:159 Y{global.minY}:{global.maxY} C0:250 Z0:290 ; set axis minima & maxima [...] global minYMesh = global.minY global maxYMesh = 115 M557 X-146:150 Y{global.minYMesh}:{global.maxYMesh} P10 ; define mesh grid [...]
This works fine and is maintenance free in terms of having to maintain hardcoded coordinates in multiple places.