MarlinFirmware / Marlin

Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
https://marlinfw.org
GNU General Public License v3.0
16.04k stars 19.15k forks source link

[BUG] UBL: Z Axis doesn't move during print #24337

Open radry opened 2 years ago

radry commented 2 years ago

Did you test the latest bugfix-2.1.x code?

No, but I will test it now!

Bug Description

After running UBL to level the bed, storing the mesh and enabling UBL the Z axis doesn't move (compensate) during printing.

Bug Timeline

No response

Expected behavior

Z axis moves slightly to compensate the mesh that was created with UBL when printing the first layer.

Actual behavior

Z axis doesn't move at all. The Z axis is driven by steppers with threaded rods, so even the slightes movement of the rod should be possible to observe. The mesh has some slight variation, so it should move slightly.

Steps to Reproduce

1) Have UBL configured in configuration.h 2) G29 P1 3) G29 P3 4) G29 S1 5) G29 A 6) M500

7) Starting GCode in Slicer: G28 G29 L1 G29 A

Version of Marlin Firmware

2.1

Printer model

Custom

Electronics

SKR V1.4

Add-ons

No response

Bed Leveling

UBL Bilinear mesh

Your Slicer

Cura

Host Software

SD Card (headless)

Don't forget to include

Additional information & file uploads

Marlin.zip

Bob-the-Kuhn commented 2 years ago

I expect it really is compensating, it's just that the movements are too small for you to see.

I think you'll see the same thing if you babystep during the first layer. Try removing the filament and then putting a piece of paper under the nozzle while printing the first layer. As you babystep the resistance on the paper will change but you won't notice Z movement.

parallyze commented 2 years ago

I expect it really is compensating, it's just that the movements are too small for you to see.

Hmmm.... assuming tr-8x2, 4 threads, 8mm travel per revolution: 1mm z height = 45° rotation. So the movement for 0.1mm is somewhere in the range of what the hour indicator on a 8mm diameter watch would move in ~8.6 minutes... ^^

I think you'll see the same thing if you babystep during the first layer. Try removing the filament and then putting a piece of paper under the nozzle while printing the first layer. As you babystep the resistance on the paper will change but you won't notice Z movement.

A bright neon sticky note attached to the rod also greatly helps visualizing tiny movements :)

radry commented 2 years ago

I expect it really is compensating, it's just that the movements are too small for you to see.

I think you'll see the same thing if you babystep during the first layer. Try removing the filament and then putting a piece of paper under the nozzle while printing the first layer. As you babystep the resistance on the paper will change but you won't notice Z movement.

The first layer isn't perfect though. On one side its too close to the bed on the other it's perfect. So it can't be compensating.

Is there any way to see or confirm if it's working? Some kind of debug gcode command?

radry commented 2 years ago

Update I think it's still not moving. Please reopen.

I tried to validate the mesh with G29 P4 and navigated to a point with positive Z value, which should mean the nozzle should be higher but it crashed into the bed. This proves the compensation is not working or is even inverted.

thisiskeithb commented 2 years ago

Whenever there are homing or leveling issues, we now ask everyone to follow a standard procedure to gather more information:

Repeat this procedure, if needed, to demonstrate inconsistencies. From these logs we should hopefully get a better idea of what's going on with your machine.

Fhalo48 commented 1 year ago

Hi Any update on this? I'm getting the same problem.

Update: In my case incorrect Z offset code in Cura

ngsilverwolf commented 1 year ago

Hi, Having similar issues. not sure if you managed to solve it. I have a log output here. not 100% sure what I'm looking for, unfortunately. Auto Bed leveling is enabled before the print starts off. But half of the print doesn't even touch the base. I used to have g29 in and then M420 S1 just in case (these were both after g28), But everything seems to be working apart from it actually being level :D FYI (latest bug fix version + using skr mini v2 with ender 3 + cr touch) . log.txt

IzzyMan12078 commented 1 year ago

Same issue - in fact, the more I run ABL probe with G29 - the more tilted my mesh gets - yet opposite sides of bed are low/high (compared to mesh) - Appears mesh is applied inverse - but no correcitions are made