Guide to Marlin's Fast BLTouch Probing feature on Duet
-
@mwolter What is your M558 and G31 for those tests?
-
@Phaedrux
P5M558 P5 C"^zprobe.in" H1 F120 T24000 G31 X25 Y-12.6 Z3.8 P500
Here's how I'm invoking it.
G1 Z{move.axes[2].userPosition+5} F600 ; move z up 5mm M558 P5 C"^zprobe.in" H1 F120 T24000 M401 G4 P200 ; pause for 200ms M280 P0 S60 ; enable BLTouch Touch SW Mode G30 P0 X105 Y105 Z-9999 G30 P1 X105 Y105 Z-9999 G30 P2 X105 Y105 Z-9999 G30 P3 X105 Y105 Z-9999 G30 P4 X105 Y105 Z-9999 G30 P5 X105 Y105 Z-9999 G30 P6 X105 Y105 Z-9999 G30 P7 X105 Y105 Z-9999 G30 P8 X105 Y105 Z-9999 G30 P9 X105 Y105 Z-9999 S-1 M402 M558 P9 C"^zprobe.in" H2 F120 T24000
P9
M558 P9 C"^zprobe.in" H2 F120 T24000 G31 X25 Y-12.6 Z3.8 P500
-
@mwolter said in Guide to Marlin's Fast BLTouch Probing feature on Duet:
P500
Have you tried with P25?
-
@Phaedrux said in Guide to Marlin's Fast BLTouch Probing feature on Duet:
Have you tried with P25?
Yes, didn't notice a difference. No difference with the accuracy or functionality (not needing M280 P0 S60). It has been P500 for a while, so left it there.
-
Sorry to bring this back from the dead, but for those using a Duet 3 and Toolboards, this will NOT work. "Only Z probe types 8 and 9 are supported on expansion boards"
I wasn't paying attention when I was setting everything up. When I tried to actually do a fast probe, I got the error message quoted above.
-
@pastthepoint said in Guide to Marlin's Fast BLTouch Probing feature on Duet:
Sorry to bring this back from the dead, but for those using a Duet 3 and Toolboards, this will NOT work. "Only Z probe types 8 and 9 are supported on expansion boards"
I wasn't paying attention when I was setting everything up. When I tried to actually do a fast probe, I got the error message quoted above.
There is no reason why you shouldn't use P8 instead of P5. However, the fast probing method doesn't work on all machines, which is why we have the P9 option for BLTouch.
-
@dc42 So, instead of attempting to use P5, I can use P8/P9 in it's place and this should function? With everything going on, I can't remember yesterday, let alone the exact details of why this didn't work, lol. But, if you think it will work, I'll give it another shot!
Thanks for taking the time to reply @dc42 !
-
@pastthepoint said in Guide to Marlin's Fast BLTouch Probing feature on Duet:
@dc42 So, instead of attempting to use P5, I can use P8/P9 in it's place and this should function? With everything going on, I can't remember yesterday, let alone the exact details of why this didn't work, lol. But, if you think it will work, I'll give it another shot!
Thanks for taking the time to reply @dc42 !
I don't think that's the case. The reason this method uses P5 instead of P9 is to avoid the automatic deploy and retract commands that are inherent to P9.
-
-
@dc42 said in Guide to Marlin's Fast BLTouch Probing feature on Duet:
RRF used to keep the BLTouch deployed throughout probing sequences. Unfortunately that doesn't always work. The reason is that when the probe triggers, it retracts the pin automatically. If it is then commanded to deploy again (by using probe type P5 instead of P9), then if the print head hasn't risen enough (or the bed dropped far enough) so that the pin touches the bed and triggers again, the BLTouch enters the error state. That's why we introduced probe type 9, which keeps the pin retracted until ready to probe the next point.
Raising this thread because it came up in another context: Newer BLTouch probes do not autoretract anymore.
-
@oliof said in Guide to Marlin's Fast BLTouch Probing feature on Duet:
Newer BLTouch probes do not autoretract anymore.
Can you point me to more details?
-
I don't have a source at hand, but it seems to be the case since BlTouch Smart v2.2. It definitely is in 3.1 probes (see https://github.com/MarlinFirmware/Marlin/pull/14015 -- unfortunately the originally linked video where high speed mode without stow/retract being showcased has been pulled from Youtube it seems).
-
@oliof They do not autoretract during a single "multi-touch" probing move or they can do an entire 441 point mesh without retraction?
-
@hernicz the latter.
-
@oliof Are you aware that the link of the pull request you posted is from May 2019 while I wrote this guide in Feb 2020? Also the pull request is for Marlin not for RepRap.
I've seen Marlins HS BLTouch in action back then and because RepRap didn't have this feature I figured out a workaround (basically ported the feature). As far as I know RRF still doesn't have this feature but now you can have 2 different probing speeds in M558. Since I changed my Duet2 WiFi to a Duet 3 MB6HC using the same BLTouch, I need to put "M280 P0 S60" after every deploy comand otherwise the pin gets retracted.
As far as I know this feature still only can be achieved on RepRap if you set your probe type to P5, deploy and retract manually and prevent retraction with "M280 P0 S60" if necessary.
To prevent the nozzle to ram into the heatbed or give "probe already triggered..." error during a single G30 command, by default the probe type has to be P9, only switching to P5 if necessary. This is why I wrote lenghts about modular probe config.
-
@hernicz yes I am aware of that, the Marlin Merge Request is only here as a reference to the fact that BLTouch has the ability to not forcibly retract after probing. This is in support of your work here, not against it (-;
-
@oliof Yes it has the ability (it had it back then as well), but if the firmware doesn't keep it deployed it will get retracted (at least after every probe point). On my Duet3 6HC it retracts even as a P5 I need servo commands to keep it deployed.
By the way I experimented with using short dive height, sliding the pin on the heatbed with very good results. Unfortunately sliding the pin on the heatbed will eventually wear it off (how fast depends on surface), so this method is definitely not advised if you want accuracy in the long run (and don'twant to change the pin).
The biggest problem with BLTouch that the pin has an unnecessary >1mm travel until it gets triggered, so @ 1mm probing speed thats 1 sec / touch. It would be nice if we would have a probe with adjustable pin deployment so we could deploy just under the trigger point of the probe and set dive height a bit more than the highest point of the heatbed (compared to Z0)
In this video the probing speed is 1mm/s, but because the dive height is so short it is really rapid.
-
@hernicz said in Guide to Marlin's Fast BLTouch Probing feature on Duet:
@oliof Yes it has the ability (it had it back then as well), but if the firmware doesn't keep it deployed it will get retracted (at least after every probe point). On my Duet3 6HC it retracts even as a P5 I need servo commands to keep it deployed.
By the way I experimented with using short dive height, sliding the pin on the heatbed with very good results. Unfortunately sliding the pin on the heatbed will eventually wear it off (how fast depends on surface), so this method is definitely not advised if you want accuracy in the long run (and don'twant to change the pin).
The biggest problem with BLTouch that the pin has an unnecessary >1mm travel until it gets triggered, so @ 1mm probing speed thats 1 sec / touch. It would be nice if we would have a probe with adjustable pin deployment so we could deploy just under the trigger point of the probe and set dive height a bit more than the highest point of the heatbed (compared to Z0)
In this video the probing speed is 1mm/s, but because the dive height is so short it is really rapid.
Have you tested faster probing speeds? I didn't see a real benefit in probing so slowly.
-
@CCS86 Depends on the Z axis rigidity. Changing the probing speed will possibly develop an offset, but not necessarily affect repeatability.
For those who have their threaded rod doesn't touch the motor shaft in the coupler, so their Z axis sits on a springy coupling it's definitely a good idea to probe slow.
My repeatablility tests:
(F2 is basically F30 you cannot go slower than that)-F2: G32 bed probe heights: 0.054 0.054 0.054 0.054 0.054 0.054 0.054 0.057 0.054 0.054 0.054 0.054 0.054 0.054 0.054, mean 0.055, deviation from mean 0.001
-F300: G32 bed probe heights: 0.057 0.057 0.057 0.057 0.057 0.057 0.057 0.057 0.057 0.057 0.057 0.057 0.057 0.057 0.057, mean 0.057, deviation from mean 0.000
-F600: G32 bed probe heights: 0.049 0.047 0.049 0.049 0.047 0.047 0.047 0.047 0.049 0.047 0.047 0.047 0.049 0.049 0.047, mean 0.048, deviation from mean 0.001
-F1200: G32 bed probe heights: 0.049 0.049 0.049 0.049 0.049 0.049 0.049 0.049 0.049 0.049 0.049 0.049 0.049 0.049 0.049, mean 0.049, deviation from mean 0.000
-F2400: G32 bed probe heights: 0.067 0.067 0.067 0.069 0.067 0.067 0.067 0.067 0.067 0.067 0.067 0.067 0.067 0.067 0.067, mean 0.067, deviation from mean 0.001
-
Your results are odd. I would expect that if Z stage acceleration was compressing something elastically in the coupler, the increases in speed would keep increasing the apparent offset. Not the case. It bounces around.
But, you have perfect repeatability, so who cares if the offset changes? Just pick a fast speed, do a single layer test print to check and adjust the probe offset value and you are done. What is the downside? You save time every time you probe.
-
@Hernicz said in Guide to Marlin's Fast BLTouch Probing feature on Duet:
To prevent the nozzle to ram into the heatbed or give "probe already triggered..." error during a single G30 command, by default the probe type has to be P9, only switching to P5 if necessary.
That's incorrect. For any probe type other than P9, if you want to do a sequence of G30 probes then you should do M401 before the first one in order to deploy the probe, and M402 after the last one to retract it. Then the probe will remain deployed between the G30 commands.
BLTouch goes into an error state if it remains triggered for too long. That's why when doing mesh probing, if the probe type is P9 then RRF retracts the probe every time it triggers. If your Z axis is fast enough then you can get away with type P8 instead, which will leave the probe deployed between mesh probe points.