Why Does G31 Z probe X/Y nozzle offset affect X axis probing ?



  • So after months of having no X/Y offset values in my G31 line of config.g - Ive gone and calculated the actual offset manually and then added them in.

    G31 X-29 Y-9 Z3.525 P25

    Now however; instead of probing at X0:Y100 for leadscrew sync and other mesh grid probing - it now probes at X29 - nearly 30 mms away from the left edge of my bed - thereby greatly diminishing my bed area and probing mesh points.

    Its especially annoying when trying to probe for Z leadscrew X axis tilt ...

    Is there a setting to fix this ?


  • administrators

    When you ask it to probe at X0 Y100, you are asking it to put the Z probe at those coordinates, not the nozzle. So if your Z probe is offset by -29mm from the head reference point (normally the nozzle), then to position the Z probe at X0 the firmware needs to position the nozzle at X29.

    If instead it positioned the nozzle at X0 then the probe would be at X-29, which I presume is off the edge of the bed. if X-29 isn't off the edge of the bed, why not ask it to start probing at X-29 or X-30 or wherever is just inside the edge of the bed?



  • Do I have my X offset backwards / reversed from where it should be ? This is throwing me off quite a bit.

    Currently there a a couple of challenges with the design of this i3 style Zaribo frame as note in this pic ... fan vs. coupler - eats in build volme space etc ... vut this is the print head at X0 triggering the mechanical endstop without hitting the fan and grinding on the coupler.

    alt text

    This is the Nozzle and probe tips at X0 against the triggered end stop ...

    alt text

    to add further mystery to this issue .... when its probing the left side for the leadscrew adjustment - which in bedg.g is as follows:

    M561 ; clear any bed transform

    ; Probe the bed at the 2 leadscrews
    G30 P0 X3 Y110 Z-99999 ; probe near LEFT leadscrew
    G30 P1 X175 Y110 Z-99999 S2 ; probe near RIGHT leadscrew

    ;Call Homez file
    M98 Phomez.g

    DWC registers X @ 32 ? what the ? NVM ... X3 + 29 offset = 32 I see it now ... it is also adding 29 to the 2nd probe point of X175 - pushing the probe tip off the edge of the bed.

    I tried setting the 1st probe point for this to X-29 - it drove the bump stop THRU the endstop and I had to try and hit emergency stop - but it stalled out in an ugly crash and grind /// meh ....

    at loss here



  • My understanding is i need to set this nozzle offset - so the mesh grid compensation is making the right adjustments to where the NOZZLE actually IS during the print ...

    Im not sure why this setting is carrying over to adjustments in other gcode functionality like probing routines.

    Very confused here .



  • Upon advice from another user, I made a macro for this routine vs. it being in the bed.g ... or using bed.g

    I can put in a negative X value and get MUCH closer to the edge of the left side of this bed now. I think Macros is the way to make this work for my situation, and the different sized build plates I have - the macros can be customized for each ...

    I guess call this solved ... - BUT ... I still wonder why this affects probing routines or if there isnt a better way to do this and exclude the nozzle's offset out of the gcode utilization for probing ... [ if that makes any sense ]


  • administrators

    The Z probe X and Y offsets are measured from the head reference point (which in a single-nozzle printer is always the nozzle) to the probe. So if +X movement moves the nozzle to the right and the probe is to the left of the nozzle, then the X offset will be negative.

    If you want mesh compensation to correct for the bed not being flat and level, then it's important that the measured height error is at the specified bed coordinates. So the firmware puts the probe at those coordinates to measure the height error, not the nozzle.

    If on the other hand the bed is flat and level but the gantry that carries the print head isn't (for example, in the middle of the X travel the gantry sags a little under the weight of the print head), then you are better off setting the probe X and Y offsets to zero so that the firmware puts the nozzle at the specified XY coordinates.

    HTH David


Log in to reply