Importance of precise probe offset values?

How important are precise values for probe offset? The x & y values. I’m not asking about z-offset, I know that is critical. Is being within a millimeter for these x & y values enough? Is there a benefit to trying to measure within a fraction of a millimeter?

If it is important to have a very precise measurement for the x and y values of probe offset, I had an idea for a macro that I think could get you very close. It depends on having a touch probe of some kind. I don’t have the macro skills to write it though.

Pre-macro:

  1. Measure in the ballpark for the x & y offsets (within ~1mm).
  2. Dial in the z-offset well enough to get good first layer.

Macro:

  1. Lay down a single line parallel with the y-axis with a known line width and layer height.
  2. Starting with the ballparked probe maybe 2mm to one side of the line from step 1 drop the probe and measure the z-height
  3. Move the probe within 1.5mm of the line from step 1. Measure the z-height and store it in an array.
  4. Move the probe 0.1 (or some other value) closer to the expected position of the line from step 1. Measure the z-height and store it in an array.
  5. Continue step 4 until the difference between the highest and lowest z-height value in the array is approximately the same as the line’s expected layer height.
  6. Repeat Step 4 two more times and verify the z-height is closer to the initial value from step 3 than to the maximum z-height value in the array.

The x position with the maximum z-height is the value for the probe offset x value.

Repeat the process with a line parallel to the x-axis and with small y-movements to determine the probe offset y value.

Put more simply, lay down a line, then move to one side of the line and keep shifting over by 0.1 mm and measuring the z-height until you find the distance between the line and position of the nozzle when it created the line.

Maybe this is a huge waste of time and probe offset x & y values don’t need to be very precise. Maybe something like this could be helpful in determining the offset values between two nozzle on the same carriage. I just had an idea in my head and wanted to share. Thanks.

The probe offsets are fairly important as it measures the location of the bed relative to the nozzle from the location of the probe. If this were to be out then the bed mesh will not measure the right spot and could result in either low or high z points or meshing off the bed. The Klipper docs method for calibrating the probe offset is pretty simple and requires minimal effort on the part of the user resulting in fairly precise location.

I understand the recommended procedure. There are some newer printers (example: Sovol SV07) that have big bulky toolheads that might make it more challenging to make accurate marks.

I did my best to accurately mark the positions of the nozzle and the probe on the piece of tape, but it can be hard to get in there and make a good mark when the toolhead is all the way down. I doubt my results are correct down to a tenth of a mm.

Does it matter if it is correct down to a tenth of a mm?

Probably not. If your probe offsets are slightly off, that just means your bed mesh will be shifted to the same extent. Since the mesh algorithm is already smoothing out the measured points to some degree, I doubt that offset inaccuracies in the range of less than 1mm would have any noticeable effect on the first layer quality.

1 Like

I’ve thought about this quite a bit and except for one case, I don’t think there’s any need for X/Y to be accurate within 1mm repeatably.

The reason why I’ve thought about it is due to StallGuard/sensorless homing - I did do some basic experiments (ie draw lines on a tape covered bed multiple times with a Sharpie attached to the toolhead and restarting the program repeatably) and I found that the TMC2209 with StallGuard is repeatable to about 0.75mm for both a bed slinger on the X & Y axis and a custom CoreXY.

This level of repeatability is sufficient for virtually all applications - if you have a model that has less than a mm to spare with the bed’s edge, then I think you should be looking at printing it on a larger printer - I like to have 5mm or so worst case from the edge of my model to the edge of the bed.

As for the one use case where I can see tens of micron A/Y axis homing repeatability is required would be in the case where the printer was recovering from a power off event and was partially through a very long print. For the recovery to be successful, there needs to be very accurate information on what was printed before the power failure and the ability to determine the Z height at a location which can be probed without the toolhead (or gantry) intruding in the print envelope. It’s not something I would ever expect to need, but I would expect that this is a situation that other people are considering.

1 Like

As the offset is static, my approach is:

  1. Put some layers of electrical insulation tape on the bed
  2. Slowly drive the nozzle into the tape until it leaves a visible dent (doesn’t need much)
  3. Issue a GET_POSITION and note the coordinates
  4. Move the tip of the probe as precisely as possible over the dent (for BLTouch I do this with extended probe tip)
  5. Issue a GET_POSITION and note the coordinates
  6. Calculate #5 minus #3
1 Like

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.