Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Bed leveling hig(h) on the Right and low on the Left #15206

Closed
muhammadelmogy opened this issue Sep 9, 2019 · 17 comments
Closed

[BUG] Bed leveling hig(h) on the Right and low on the Left #15206

muhammadelmogy opened this issue Sep 9, 2019 · 17 comments

Comments

@muhammadelmogy
Copy link

muhammadelmogy commented Sep 9, 2019

Hi,
I have a DIY cartesian printer 300x300x400 with a heated bed and a closed chamber, I have been using this for more than a year now starting with marlin 1.1.8. I have upgraded to 1.1.9 recently and I am having a problem with Bed Auto Leveling.

I am using an inductive sensor for bed leveling and for z homing.
I am using safe z homing since my probe is always outside the boundaries of the bed.
I am using Bilinear Leveling Grid.

The problem is that after G29 one side of the bed is always lower than the other side which leads to uneven first layer adhesion!

I haven't really faced this issue before and I have been trying to fix this issue for some time now.
What exactly happing is that one side (left) has an under extrusion like form and the other side does not suffer from that.

I have been searching on the internet about this and found others facing exactly the same problem.

A workaround for this issue is really to decrease z offset (make it more negative) and increase the flow rate a bit for compensation, of course, this leads to ugly first layer at some places.

Bilinear Leveling Grid:
0 1 2 3
0 +0.163 -0.044 -0.093 -0.129
1 +0.196 +0.038 -0.017 -0.128
2 +0.195 -0.001 -0.065 -0.157
3 +0.176 -0.065 -0.176 -0.285

@AnHardt
Copy link
Member

AnHardt commented Sep 9, 2019

That's a relative commen problem. Please search around here a bit.
Visualisation of x-sled-rotation

@muhammadelmogy
Copy link
Author

This issue came out after upgrading to 1.1.9 very shortly, I have not changed almost anything in my printer after the upgrade.

My printer is all metal parts nothing plastic in it and the hot end structure is custom made using e3d parts.

My machine is not a CR10 or Prusa printers form, it is a metal cube with bed moving up and down.
My machine does not suffer from any twist or issues with the z-axis, at least thats what I think!

@AnHardt
Copy link
Member

AnHardt commented Sep 9, 2019

Said about everyone suffering from this.
Prove it. Is PROBE_OFFSET_FROM_EXTRUDER the same on the left and on the right?

@muhammadelmogy
Copy link
Author

muhammadelmogy commented Sep 9, 2019

What do you mean by " is the same", I suppose this totally irrelevant to this topic, even if it is not the same should the auto bed leveling compensate for the inequality?
Anyway, how should I "Prove" it ?
Is there a measuring command to do this and display the results?

@AnHardt
Copy link
Member

AnHardt commented Sep 9, 2019

Bed leveling has no clue about the nozzles position. It tries to keep the probe at the same height. If the offset between nozzle and probe is not constant the nozzle height varies.
How did you determine your offset? Exactly that way - but once on the left, once on the right.

This was discussed often enough. Please start reading.

@muhammadelmogy
Copy link
Author

muhammadelmogy commented Sep 9, 2019

"If the offset between nozzle and probe is not constant the nozzle height varies."

Well, the distance between the nozzle and the probe is always the same. in fact, it is always the same in all directions, what is changing is really the distance between the nozzle and the bed not between the nozzle and the probe since the bed is uneven surface!

I usually do not change my z offset, maybe -+ 0.01 at most since it is always printing perfectly, but after this happened recently, I started to compensate with -0.05 or more to overcome the lower side.

@Roxy-3D
Copy link
Member

Roxy-3D commented Sep 9, 2019

Said about everyone suffering from this.
Prove it. Is PROBE_OFFSET_FROM_EXTRUDER the same on the left and on the right?

Home the machine. Leave bed leveling inactive. Go to each corner and lower the nozzle until it just touches the bed. Do you get something very close to 0.0 mm in each corner? If not, you need to square up your machine. (And if the X-Gantry has a slight twist in it... Even with a perfectly level bed, you will see discrepancies doing the corner test.)

@muhammadelmogy
Copy link
Author

Said about everyone suffering from this.
Prove it. Is PROBE_OFFSET_FROM_EXTRUDER the same on the left and on the right?

Home the machine. Leave bed leveling inactive. Go to each corner and lower the nozzle until it just touches the bed. Do you get something very close to 0.0 mm in each corner? If not, you need to square up your machine. (And if the X-Gantry has a slight twist in it... Even with a perfectly level bed, you will see discrepancies doing the corner test.)

It seems that I really do not understand well enough the auto bed leveling feature, I will read more about it though and try what you have said"I have already squared my machine before", even I have mentioned several times that this issue found its way after upgrading to 1.1.9 shortly!.

I will do this and mention the results later!

@muhammadelmogy
Copy link
Author

I remember seeing someone on youtube was talking about auto bed leveling and later in his video he intentionally raised one of the corners over the others and the print just worked fine, that's why I do not really understand why do I need to level the corners?

@ManuelMcLure
Copy link
Contributor

This is a writeup I did in another issue - although it refers to a Prusa-style X axis, it applies to any case of a twisted axis.

Imagine the following with the standard 2-rod X axis (this is what my AM8 has):

On the left side of the bed the lower rod is slightly more towards the back of the printer than the upper rod (in my case this is about 0.5mm)
On the right side of the bed, the upper and lower rods are exactly aligned (as they should be).
The rods are around 38mm apart - this makes the amount of twist asin(0.5 / 38) = 0.75 degrees.
This results in a twisted X axis. The nozzle on most i3-style machines is a few cm in front of the plane of the rods - in my case around 30mm. This means that the nozzle will be around sin(0.75) * 30mm = 0.4mm closer to the bed on the left side than on the right, assuming the bed is actually perfectly flat.

Now in my case my sensor has a Y_PROBE_OFFSET_FROM_EXTRUDER of -40. So the probe is 40mm in front of the nozzle, or 70mm in front of the plane of the rods. Let's pretend my X_PROBE_OFFSET_FROM_EXTRUDER is 0. Then on the left side of the bed the sensor will be sin(0.75) * 70mm = 0.91mm closer to the bed - a difference of 0.5mm between the amount the nozzle changed vs the amount the sensor changed. So the bed leveling system thinks the bed is 0.5mm higher on the left side than the right side.

The TLDR is that if your Y_PROBE_OFFSET_FROM_EXTRUDER is not 0, any twist in your X axis will produce exactly the behavior you're seeing. The bigger your Y_PROBE_OFFSET_FROM_EXTRUDER, the bigger the effect of the twist.

You have not provided your configuration files (as requested by the new issue template) so we don't know your configuration - there's a reason we always ask for those.

@Roxy-3D
Copy link
Member

Roxy-3D commented Sep 9, 2019

The machines do not stay 'square'. Crashing the nozzle can unsquare a number of different things.
Even printing things with curling edges can cause enough force as the nozzle plows through them to affect things.

Please do the corner test with bed leveling turned off and report what you see when you lower the nozzle to just touch the bed. And we will help you figure things out.

he intentionally raised one of the corners over the others and the print just worked fine, that's why I do not really understand why do I need to level the corners?

Yes... And did he take out a calipers and measure the dimensional accuracy of the finished print for you? The bed leveling can correct a whole number of bad and annoying problems. But it does come at a cost. You want the machine as square as you can get it before you turn the bed leveling on.

The TLDR is that if your Y_PROBE_OFFSET_FROM_EXTRUDER is not 0, any twist in your X axis will produce exactly the behavior you're seeing. The bigger your Y_PROBE_OFFSET_FROM_EXTRUDER, the bigger the effect of the twist.

Yes. This is true!

@muhammadelmogy
Copy link
Author

My config files, sorry forgot to upload!
Config_1.1.9.zip

@muhammadelmogy
Copy link
Author

I did the corners test and the difference between them was almost negligible (-+0.02, used feeler gauge)
regarding my gantry, there is a very slight twist, I think less than 0.1 according to my square blocks and the feeler gauge!

@boelle boelle changed the title Bed leveling hig on the Right and low on the Left [BUG] Bed leveling hig on the Right and low on the Left Sep 10, 2019
@Roxy-3D Roxy-3D changed the title [BUG] Bed leveling hig on the Right and low on the Left [BUG] Bed leveling hig(h) on the Right and low on the Left Sep 10, 2019
@boelle
Copy link
Contributor

boelle commented Sep 10, 2019

i wonder if this is the same with 2.0.x

ie start all over and manual by hand copy over old settings to configuraton.h and configuration_adv.h

@muhammadelmogy
Copy link
Author

After a lot of hassle and fiddling trying to measure and make sure everything is square and as accurate as possible, I have been able to bring it to a degree that I can call it accepted.

That was sure a hardware problem, not a firmware.

My understanding of the problem was based on some wrong assumption about auto bed leveling that it can fix this kind of misalignment but Nah, that wasn't the case!

Anyway, I am still having the same problem actually but it is now better than before and I can live with it for now.

I am closing this issue now.
Thanks

@Roxy-3D
Copy link
Member

Roxy-3D commented Sep 12, 2019

My understanding of the problem was based on some wrong assumption about auto bed leveling that it can fix this kind of misalignment but Nah, that wasn't the case!

If you had a small twist on the X-Axis gantry.... We ran into that problem a number of times trying to support users. And each time, it took a huge amount of work to understand what was causing it. Once you know that can happen and what the side effects are, it is easy to understand. But until then, it is a very difficult problem to make progress on.

@github-actions
Copy link

github-actions bot commented Jul 4, 2020

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked and limited conversation to collaborators Jul 4, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants