-
-
Notifications
You must be signed in to change notification settings - Fork 19.1k
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
Auto bed leveling issues #4662
Comments
Any ideas...? |
As long as you are referring to RC6 it will be hard to find one who wants to have a look into it. Please don't expect us to solve every problem more then once. Your chances increase dramatically if you have tested with RCBugFix. |
Sorry I'm new on this forum, and also new in programming and 3d printing. Before posted this issue, I tried to find solution over internet but without luck. |
What we are doing is a little bit out of the ordinary. RC stands for Release Candidate. It is not a stable version in that sense. We are trying to see if we find any major bugs in the Release Candidate, and if we do, the bugs get fixed. We are on RC-7 and we are pretty sure there will be a RC-8. RCBugFix is the most 'corrected' version of the RC-7 that we have. So even though the code is changing... RCBugFix is the most trusted and 'corrected' version of the code right now. That will also be true if we start a RC-8 version. And finding issues and bugs in RCBugFix will get everybody's attention. |
Of course. I'm sorry that some around here are so quick to be condescending. As Roxy explains, we're putting out these release candidates periodically as we reach a point where public testing is needed, but the very latest code is in |
Anyway, once you get Good luck! I look forward to seeing your results. |
OK, thanks for you advice. I'm uploaded RCBugFix. Nothing changed for me, I still have the same issues (manual level is perfect, ABL nozzle relies on back side of bed). |
I executed M111 S255, then G29 V4 here is result:
|
I have created a branch to test possible solutions to current bed leveling issues. Please test with this branch and see if it helps. You can just do the same G29 and post the new log. https://github.com/thinkyhead/Marlin/tree/rc_fix_leveling_maths |
Ok, thanks. First, I took the zip file, replaced Configuration.h and Configuration_adv.h from example_configuration/delta to Marlin folder. After that, changed settings and upload file. In repetier I did the first M502, M500, G28 and finaly G29.
|
Mmm, points. What do you make of them? I will run them through my deep learning pattern matcher and see if it comes out 42. |
That bed has significant bumps (both up and down) on it. It is going to be difficult to get 1st layer adhesion across the entire bed using a grid based ABL. |
@Roxy-3D Any chance we may be able to detect and flag this kind of problematic grid? (By the way, I've posted on another issue concerning refinements to @markovicb85 Enable the |
Yes! This isn't fully thought out. But at the first level, this would work: Once the bed plane is calculated, you would go through each probed point in the list. It had better be within +/- 1/2 of a layer height. If it isn't, that part of the bed is too flawed. It maybe that those points should be thrown out of the calculation and you start over with a new, slightly modified plane. I don't know. But for sure, bumps and dips in the bed can be detected prior to the person trying to put down a 1st layer.
A hangout would be a good idea. Especially if some of the users want to join in and offer ideas and insights into what they are seeing. With any luck @jbrazio is back from vacation and can join in. Do you have any ideas to suggest for a good time to schedule it? If you are OK with making it a bigger group, perhaps we should start a new thread and request agenda topics? Its up to you. I'll be in attendance and however you want to proceed is OK with me. |
@thinkyhead @Roxy-3D any news on this one? |
hehe, just surfing the bugs so none of them are left to collect dust for to long (14 days.....) |
Need to leave this link on every related thread so we'll remember to apply it… First, take note that the probe offset doesn't matter in itself to measuring the tilt of the bed. The points are "thrown out" once the tilt angle of the bed is determined. However, the probe offset is useful to know, at any point, what the distance to the nozzle is. And therefore you can consider any point that you've probed, or any point that you can interpolate from the matrix, as being a valid reference point to determine the height of the bed. Let's take a concrete example. With a probe offset of -10 you probe the bed and get the following 4 points:
Of course we also have a home position from G28 to an endstop that simply applies over the entire bed, making the assumption that the bed is flat in relation to the XY axes. In terms of the distance from the probe to the nozzle, it is idealized, and therefore you can take it as 10.00 across the entire bed. Now, we could take the home Z at any point, but generally it applies to wherever you calibrated your endstop. For a min endstop, usually you use a screw to adjust until G28 brings the nozzle down nice and close to the bed. And you usually check a few points across the bed to ensure it's as close to level as you can get it. But let's assume, for the moment, that you haven't done that in a while, and so it's fine at the home position — probably 0, 0 — or maybe 200, 0 for an X-max-endstop, but elsewhere it's off by an indeterminate distance. So you'd like to have the probe process find out where the bed really is. So we have these points above. They show that the bed is tilted diagonally. At the front-left the bed is lower, and at the back-right the bed is higher. So the bed leveling matrix will produce a tilted plane reflecting that. Now, let's say you're using a docking sled probe, or maybe a self-stowing allen key. So at the end of the leveling procedure, but before applying the bed level matrix, you have the carriage move off to the corner and drop off or push the probe to put it away. And you leave XYZ there. Now, you want to turn on the matrix. But as soon as you do, the Z position will no longer be correct. If it's near the high corner, it will have too high a value. It's actually closer to the bed at that point. So what we do is take the Z position and apply the inverse matrix to it. In the process we also adjust XY a tiny bit, because that's how planar leveling works. However, we haven't yet figured out our reference point, so we can't actually apply the Z adjustment based on the tilted plane just yet. Remember, we need a valid reference point to make the determination of how much the bed is raised or lowered at the current Z, and we haven't yet decided where the fulcrum of the plane lies. So how do we proceed to get the "most correct" Z for the nozzle, where it is now? Well, let's take another look at those probed points. Obviously, all across the bed the Z position of the nozzle is not 10.0. Everywhere we probed, the nozzle was a little lower than 10.0. We have to ask ourselves: Was the Z=0 that G28 gave us wrong? Or is the probe offset wrong? How can we determine which is true, and does it matter? Then: What about the case where leveling is turned off? Shouldn't we make sure we have the best Z with Going back to correcting Z… If we assume that the probe offset is 100% correct, then clearly our Z=0 isn't good. Taking the 10.0 offset as gospel, the probe hit the bed too "late." Whatever Z=0 we have from homing, it's clearly above the bed. So we simply have to adjust the current Z upward by some amount. How much? Since every probed point was under 10.0 we could try adjusting by the average difference. That corrective makes some of the probed Zs over 10.0 and some under 10.0. So let's start there.
Adding that to our current Z —let's say it's "15.0"— makes it now 15.1. With that adjustment the nozzle distances to the bed now look like this:
This correction to Z applies perfectly if the nozzle were in the middle of the bed. Obviously, right? The mean of all Zs probed on a flat but tilted plane must be in the dead center. So now we have our fulcrum. Now we just need to get the distance from center to the nozzle's current XY, apply the bed tilt compensation for that XY distance, and presumably we will have the correct Z. See how simple it all could be? |
Hey guys, I got the same issue with the RC7 release like markovicb85. I then downloaded the rcbugfix release, but there is a new bug. When I'm doing the G29 (using 9 grid), the first 2 rows of measurement are working without a problem. But as soon as the 3. row starts, the x-axis drives from the left to the right, hitting the frame. I can only power down or do an emergency stop at that point. |
@Mugga6315 Sorry about that. I've been doing a lot of patches in the last couple days and probably mistyped something. Can you post your configuration so I can test with exactly your settings? Thanks! |
@thinkyhead Would it help you, if I would also post my configuration and log file? |
@Mugga6315 It might help, but first test the branch I linked to on that issue. |
You mean this branch: If so, the link is not working for me. |
No, the branch I linked to just today. |
@Mugga6315 did you test the branch linked above? |
@boelle |
@Mugga6315 Apologies. You should have been referred to the |
@thinkyhead |
@Mugga6315 Can you post a log so we can see what's up? Enable |
@thinkyhead |
Considering that you're only able to probe half of the bed in the Y direction, I'm sure that's not helping. And it's tilting the matrix based on the home position, at the center [100,100], so any inaccuracy in the probing is going to be exaggerated towards the front of the bed. Meanwhile, let's look at the probe heights. This is arranged X left-to-right, Y back-to-front:
The height of the probe varies widely, from 0.275 all the way up to 0.935. And those very high points in the back-left lie right next to points that are quite a bit lower. I can't imagine the bed is really that uneven. You should use Maybe the probe itself is accurate, but the gantry is moving up and down. Or the bed is being pushed around, or something else mechanical. Tighten everything that you can. The problem is, if you measure a lumpy bed like that and then apply a single plane (as the current leveling system does) then the tilted plane is basically useless. I suggest you also try the |
It is here: https://github.com/MarlinFirmware/Marlin/tree/devel-ubl Look at the read me to get a feel for how it works. You can glean the 'Quick Start' instructions here: #4884 The UBL System can accommodate a bed with peaks and valleys like you have. It won't even blink at it. |
Once #4899 is merged, you can also try |
Ok, that is quite strange. Because the bed should be pretty flat (glass bed). There is painters-tape on the glass, but dont think that this would cause that high offsets. At the moment I leveled the bed manually with sheet of paper and only using G28, which works for me pretty good. So maybe there is really an issue with the probe. I think I will wait with further tests, until I get my new ir based probe, instead of the capacitive probe I'm using at the moment. I should then also be able to place the sensor much nearer to the nozzle. But I will definitely test the probe accuracy with the M84 command. |
I tried the M48 (I think M84 was just a mistake), but nothing happends. I also tried with arguments like in the wiki "M48 P4 X100 Y100 V2 E L2", but no action at all. |
Admitably, I'm deliberately using a bad piece of glass just to cause problems for the UBL System to deal with. But this piece of glass does look flat to the eye: (0,9) (10,9)
(0,180) (200,180)
-0.21000 -0.20000 -0.19500 -0.22000 -0.14000 -0.22500 -0.31500 -0.30000 -0.41000 -0.43500 -0.46500
-0.20000 -0.20500 -0.20000 -0.21000 -0.33000 -0.24000 -0.35000 -0.29000 -0.48500 -0.52500 -0.45000
-0.23500 -0.23000 -0.17500 -0.29000 -0.29000 -0.31500 -0.17000 -0.39000 -0.40500 -0.59000 -0.41000
-0.22500 -0.22000 -0.17000 -0.16500 -0.21000 -0.27500 -0.23000 -0.35000 -0.34500 -0.39500 -0.45000
-0.26500 -0.08500 -0.15000 [-0.26000] -0.19500 -0.21500 -0.31000 -0.24000 -0.31500 -0.41500 -0.44500
-0.37500 -0.43000 -0.12500 -0.30500 -0.24500 -0.32000 -0.38500 -0.32000 -0.34500 -0.51500 -0.47000
-0.40000 -0.47500 -0.35000 -0.23000 -0.28000 -0.30000 -0.37500 -0.48500 -0.45000 -0.60000 -0.51000
-0.53500 -0.50500 -0.41000 -0.47500 -0.31000 -0.28500 -0.36000 -0.32000 -0.39000 -0.33000 -0.47500
-0.73000 -0.79000 -0.57500 -0.44500 -0.44500 -0.43500 -0.45000 -0.49000 -0.33500 -0.46000 -0.51000
-0.68500 -0.75500 -0.74000 -0.63000 -0.53000 -0.51000 -0.61000 -0.37500 -0.33500 -0.45000 -0.50500
(0,0) (200,0)
(0,0) (10,0)
You do need to turn on the M48 Z-Probe Repeatability test. It is off by default: // Enable Z Probe Repeatability test to see how accurate your probe is
#define Z_MIN_PROBE_REPEATABILITY_TEST |
@markovicb85 is your issue still present in the latest RCBugfix? |
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. |
Hi, first of all, you boys doing a excellent job.
I need help with auto bed leveling calibration. When it was manually calibrated, printer works great, the print quality of first layer is excellent. The trouble starting after finishing ABL (G28 then G29), the printer front part is high (maybe 0.5mm), and back part is too low (nozzle relies on bed). I'm talking about Y direction.
Maybe this going to be more helpful:
G29 Log
The text was updated successfully, but these errors were encountered: