Taz 6 Probe Position on Washer Different on each Corner

I’ve looked through all the issues with other types of z-probe failures (inconsistent heights, shimming corner supports, deformed corner supports with thicker modular bed, etc.). The bed is also physically level, as far as I can measure. However, I’m having yet a different issue after updating to Marlin 1.1.9.34 firmware (latest from Cura LE).

The positions where the nozzle touches down on each washer are significantly different.

  • Front-Left - nozzle touches down about where it always has - halfway between the center screw and the edge of the washer
  • Front-Right - position is less than 1mm from the edge of the washer
  • Rear-Right - position is approximately where it was but slightly lower real y-position
  • Rear-Left - position is almost on the screw in the center of the washer

The electrical contact on each corner is a little different (I assume) because of the probe positioning. Particularly, the Left-Rear contact is slightly early/high because the screw head is ~0.5mm higher than the washer.

A typical leveling output (from G29 V4) shows the corner where the nozzle touches close to the screw head (Left-Rear) as 0.5mm higher, which makes it impossible to get the z-offset set correctly, print a consistent first layer, etc.

Send: G29 V4
Recv: G29 Auto Bed Leveling
Recv: Bed X: -9.000 Y: -9.000 Z: 2.811
Recv: Bed X: 288.000 Y: -9.000 Z: 2.801
Recv: Bed X: 288.000 Y: 289.000 Z: 2.731
Recv: Bed X: -9.000 Y: 289.000 Z: 3.349

What could be causing the leveling routine (baked into the firmware) to be so far off of the physical bed corners? Is there something besides the extruder steps/mm and the z-offset that needed to be restored after upgrading?
REF: Marlin/Conditionals_LulzBot.h · v1.1.9.34 · LulzBot 3D / Marlin · GitLab

Things I have already checked…

  • Both x and y steps per unit (mm) were 100.50 before and after updating firmware, and nothing mechanical has changed there (same belts, same tension, same stepper motors, same controller board, same wires and connectors… so unlikely the steps per “real” mm would need to be adjusted).
  • Print bed carriage is not mounted askew (at least no more than a fraction of a mm) - checked with a straight edge against the front and back plates / feet of the frame, and with a square against the extrusion rails of the main X/Z part of the printer frame.

Have not tried to downgrade to the previous firmware version but it’s on my list if I run out of more plausible things to check.

Also considered the comment on this video which suggests physically shifting the bed table mounts for the entire y-axis frame relative to the main X/Z frame. lulzbot taz 6 auto home y axis off - YouTube

However, since two of the corners (front-left, and rear-right) are approximately correct, moving the brackets would just misalign those in trade for correcting the ones that are currently wrong. Also, these brackets are not loose, and have not been moved. I’m trying to find what really caused the sudden misalignment on the washers, so even if adjusting the bed table mounts might work around it, that doesn’t explain why.

Just another update to say that it has become clear (at least a little clearer) that when the leveling results show what appears to be a uniformly high ridge across a diagonal line on the bed, it is probably not due to any variation in the actual glass plate or heater, or the corner supports. This condition seems to be caused almost completely by an unevenly supported y-axis frame. Improving the levelness of the bed when there are two high corners diagonally opposite each other, seems to be a matter of adding support under one of the 4 feet (like a sugar packet under one leg of a wobbly table, but not that big or noticeable).

What works is to prop up the corner on the same side (left/right) and same end (front/back) of the corner that is reporting the highest z-position. I was initially missing the fact that the measured height of each corner of the build plate corresponds to the end of the rod where the slide bearings are at the time. For instance, when the rear corner is measured, the build plate linear bearings are on the front end of the rod. If that rear corner reads high, the rear foot on the frame (not the front) needs to be propped up to even things out. In other words, the bearings are rearward when the front (lower) corner is measured, so raising the front of the plate requires propping up the back of the frame. To me, that’s counter intuitive.