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.


  • Moderator

    @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!

  • Moderator

    @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?

    Screen Shot 2020-03-08 at 12.37.16 PM.jpg



  • @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.

    Screen Shot 2020-03-08 at 6.16.22 PM.jpg

    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.


Log in to reply