Changes in RRF3 M577 Probing Grid?
-
Finishing up the upgrade to RRF3 for a Duet 2 and noticed a difference from RRF2. Did a quick search in WHATS_NEW_RRF3.md and found nothing regarding this.
I am noticing that the z probe offset is no longer taken into account when performing a mesh grid compensation (G29). Below are the settings applicable for my BLTouch.
M208 X-8 Y-18 Z0 S ; Set axis minima 330x330 bed XY steps 161.62 M208 X337 Y338 Z330 S0 ; Set axis maxima 330x330 bed M950 S0 C"exp.heater7" ; Assign pin index 0 to exp.heater7 M574 Z1 S2 ; Set endstops controlled by probe M558 P9 C"^zprobe.in" H3 F120 T24000 ; set Z probe type to bltouch and the dive height + speeds G31 X0 Y-28.58 Z2.75 P500 ; 200301 bltouch in front M557 X23:303 Y11:301 P10 ; 200305 Probe Area - updated for -28mm offset of the z probe
For instance, when performing a G29 the nozzle moves to the first probe point (X23 Y11) and not the BLTouch probe pin. In RRF2.05.1 the offset would be taken into account and the probe pin would be placed at that point. This causes an issue since the probe pin is off the bead (since it's 28mm in front of the nozzle) and the nozzle crashes into the bed.
Edit:
Interesting thing is that the z probe offset is taken into account with a G30. For instance, below is the code used for tramming the bed and the probe is placed at the points indicated, not the nozzle.G30 P0 X10 Y165 Z-99999 ; first pass, probe near a leadscrew, half way along Y axis G30 P1 X320 Y165 Z-99999 S2 ; first pass, probe near a leadscrew and calibrate 2 motors
Current Firmware
FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 3.01-RC3 ELECTRONICS: Duet Ethernet 1.02 or later FIRMWARE_DATE: 2020-02-29b4
2nd Edit
Changed M577 to use P10 instead of S10:10. S values appear to cause it to completely fail with the error "Error: No valid grid defined for bed probing". I'll make a new post about this. -
@mwolter said in Changes in RRF3 M577 Probing Grid?:
ince it's 28mm in front of the nozzle
But your G31 Y is negative. If it's in front, the Y value should be positive.
-
@Phaedrux Even if 0,0 is in the front left corner of the bed? Wouldn't that make the probe Y location less than the nozzle?
-
This post is deleted! -
@mwolter said in Changes in RRF3 M577 Probing Grid?:
@Phaedrux Even if 0,0 is in the front left corner of the bed? Wouldn't that make the probe Y location less than the nozzle?
Ah yes, of course you're right.
@mwolter said in Changes in RRF3 M577 Probing Grid?:
In RRF2.05.1 the offset would be taken into account and the probe pin would be placed at that point.
I don't think this has ever been the case though. It will only disregard points it can't physically reach.
-
@Phaedrux Thanks for your help, I'll do more testing.
-
Changed the grid to be the following and ran a G29. This time the probe was on the bed and the nozzle didn't crash. That's a plus, but I still don't think it's taking the z probe offset into account.
M557 X23:303 Y35:335 P10 ; 200308 Probe Area - change to move the area further back
Here's a screenshot of the mesh height map. Please don't pay attention to the flatness, need to look into that. But instead, notice the point indicated. It is indicating the nozzle location, not where the probe actually was. For instance when it says X23 Y35 the probe was actually at X23 Y6. If this is the case, the entire mesh is too far back by ~28mm, the same distance as the z probe offset. @dc42 Can you look into this?
-
@dc42
I think I have found the issue. The values in G31 are being cleared if M558 is run again. This is also what is causing the issue I'm experiencing with the mesh probing grid.In my original post, you'll find the z probe parameters in config.g.
In bed.g, I have the following command to increase the dive height in case the bed was extremely out of level. This often happens when the power is turned off, one of the two lead screws has a little less resistance and the bed lowers on that side.
M558 P9 H5 F120 T24000
But this instance of M558 didn't clear G31.
In bed.g, after the initial tramming run, the following was ran to lower the dive height and additional tramming is done, similar to your example conditional delta leveling script.
M558 P9 C"^zprobe.in" H2 F120 T24000
This instance used to lower the dive height resets G31. Please see the screenshot below.
Rerunning M558 on RRF2 to increase the dive height did not do this. I have since moved the following commands to a new macro bltouch_config.g located in the /sys folder. This macro is run in config.g at powerup and if the dive height needs to be reset.
M558 P9 C"^zprobe.in" H2 F120 T24000 ; ; G31 - +Z Nozzle closer to bed, -Z Nozzle further from bed ; G31 X0 Y-28.58 Z2.75 P500 M557 X23:303 Y11:301 P10
After making this change G29 is now properly probing the mesh grid with the z probe offset and taking into account with the BLTouch pin is 28mm in front of the nozzle.