Multiple z probes for height and mesh leveling

  • Hi, I have a mechanical switch used for the nozzle height, and a inductive probe used for mesh leveling. However no matter what i do when ever i run a g32 or g29 before a print the nozzle height is always incorrect, and no amount of baby stepping seems to fix it (the nozzle doesn't lower). If i remove the leveling code before print and just home the axis myself before telling it to print, it prints fine. I can't understand why and what is effecting it. I'd like to set me nozzle height off the mechanical switch and use mesh leveling for the bed.

    Can anyone shed some light on this? I have read through the various guides and these don't seem to have helped.



  • administrators

    The behaviour in firmware 1.21 and earlier in some configurations can be a little strange if you home Z when mesh compensation is already in use. If you have a G28 command in your slicer start gcode, that may be happening. So you may want to either clear mesh levelling before Z-homing and load the height map after that G28 command, or try the 2.0RC firmware, which handles the interaction between Z homing and mesh bed compensation differently.

    You can switch between multiple Z probes using the M558 command.

  • Thanks for the quick reply.

    So if I wanted to set the mechanical switch for nozzle height. I’m currently manually finding the height (using a piece of paper) then moving the x and y over the switch and executing g30 s-1. I’m then adding this to the line g31 as the Z (this is a negative value from the DWC read out).

    Does this sound correct?

    I also followed the same process with the inductive probe but the guide said to make it a negative value. Does this sound right?



  • administrators

    Don't change the sign of the trigger height reported by G30 S-1, use it as it is. A negative value means it triggers when the nozzle is below the normal position of the bed surface. Otherwise that sounds good.

  • I am in a similar situation with firmware 2.0RTORC4.
    I am using Sensorless Homing (stall effect) for G30 to find the Z=0. Then I would use G29 with a capacitive probe for mesh leveling. I found that I can run G30 and then manually move to Z0 with great precision, then I run a G30 S-1 with the capacitive probe and I get the offset value. I would use this offset for mesh leveling, but when it comes to the print, the height would be off. I have narrowed down the issue to temperature drift of the probe which, added to the natural tolerance error of the sensor, can vary a lot from a cold bed to a hot bed.

    Now I am in the process to test if I can compensate this temperature drift with G31 using the S and C parameters that would allow to define some reference temperature and linear compensation, but I need to do some measurements to calculate the C coefficient before I put this to work and see repeatability patterns and improvements.

    ....also my capacitive probe is mounted in parallel to the ED3 J6 and receives the air flow from the cooling fan, which throws hot air and would create a micro climate around the probe, which might not be so good to fight thermal drifts....


Looks like your connection to Duet3D was lost, please wait while we try to reconnect.