Feature Request: Double use of pins for z probes
-
I'm currently in the process of experimenting with a second Z probe for some sort of semi-automatic z-offset calibration for my TC.
This had me stumble across the multi Z probe features and their usage and me think about a slightly different use case that would make my configuration a lot easier.My normal Z probe for the toolhead is used with different feed speeds for homing, leveling and mesh building, for example:
- Homing: Home Z once very fast, then go back a bit and home again slowly
- Leveling: Do a 3-point leveling once very fast with high dive heights (to compensate possibly largely out of sync lead screws), then do multiple runs of leveling with small feeds and heights
- Mesh building: Just probe a bunch of times with the "slow" settings
This means that I have to reconfigure my Z probe multiple times for these steps (M558, G31) and it also means that all the required parameters are set as globals in config.g, so that I don't have lots of places with hardcoded numbers...
Now with the discovered multi Z probe feature, I was trying to simply use two "different" Z probes for this, where they use the same pin, but with different settings:
M558 K0 P8 C"zstop" H3 F250 T20000 ; default Z probe with slow speed M558 K1 P8 C"zstop" H30 F2100 T20000 ; high speed Z probe for initial leveling and homing runs
Unfortunately, RRF complains that the "zstop" pin is already used and doesn't allow me to use it twice...
Error: Pin 'zstop' is not fre
TL;DR: Can we allow pins to be used multiple times on specifically M558?
@dc42 -
Hi,
Why would you use different speeds? Probes can give different results depending on speed. I would think that consistent results would be the goal.
On my printers I use the fastest speed that yields consistent results.
Frederick
-
@fcwilt
Yes, that is precisely why I am doing the whole dance. I don't want to wait for Z probes at 100mm/min when my bed is all the way down etc.
I first probe quickly to get into the right range and then do the accurate version. -
@diamondback said in Feature Request: Double use of pins for z probes:
@fcwilt
Yes, that is precisely why I am doing the whole dance. I don't want to wait for Z probes at 100mm/min when my bed is all the way down etc.
I first probe quickly to get into the right range and then do the accurate version.There is a feature you can use when setting the probe feed rate. Using the parameter Faaa:bbb allows specifying a fast rate used for the first probing and a slow rate for the second probing.
I have found I can set the F and T parameters during the processing of config.g and not change them after that.
Frederick
-
@fcwilt Unfortunately this doesn't offer the flexibility I need... I don't want to probe each point multiple times, that's taking me too much time.
Here's the exact flow of what happens currently (aka desired behavior, just overly complicate to configure):
- config.g inits my Z probe (plain microswitch, it's a toolchanger, so I don't need fancy probes) to default values
- my pre-print codes include an actual bed leveling step via my 3 independant leadscrews and a mesh building step
- the leveling process redefines my Z probe to higher feeds and a MUCH higher dive height, this is needed because the bed can have very big ( > 10mm) alignment errors at first
- one full leveling cycle (3 probe points) is done with those settings, this gets the bed level "enough" to not damage my Z probe upon moving around
- Z probe is now reconfigured back to slow moves and a small dive height to run the finetune of the leveling process
- for this, up to 10 cycles of 3 probe points each are executed until the deviation is small enough
Similar things happen while homing Z (doing a very fast "rough" home first, then reconfigure the probe to be slow)
For the homing process alone, the existing feature set would work, but then it would also probe each and every single mesh point at least twice... (running about 200 points atm for every print)So that's not an option for me...
-
@diamondback you can unmap a probe and map it to something else. E.g.
M558 K0 C"nil"
and then map that pin to something else. I do that in a few places, especially on my test bench where I use the same endstop to home 3 different axis.
I do the opposite on my CNC as multiple probes weren't supported so I would map different pins to the probe to do different things. -
@jay_s_uk Yes, that's what I am doing right now, but it's highly unelegant and so much more complex to maintain...
My feature request would make this a whole lot easier since there would be just a single place where the probe "presets" are defined, rather than doing it over and over again in various files...
-
I was not happy with the limitations of homing with a probe or leveling the bed.
I solved it all with multiple Z endstops. Homing is as fast as your printer allows and the result is good enough the final leveling with a probe always works without any change in settings.
Here is a video showing how it works in practice:
Frederick
-