Solved Mesh Compensation Undercompensating
-
Good evening!
I've used mesh compensation on my custom cartesian with a BLTouch for months with no issues until I redesigned my x carriage and upgraded to a Bondtech extruder. This made my Z-probe offsets X-36 Y5.Since then, the duet seems to be undercompensating for my bed. Here's my heightmap: (Yes I know it's bad, but I'm using it so unlevel to make the issue easier to diagnose.)
The printer prints too close in the Xmax, Ymax corner and too far away in the Xmin, Ymin corner. The other two corners are about right. My origin is front-left.
I feel like I'm missing something really simple, but I've spent hours fussing with it and can't come to a solution. Does anybody know what I'm doing wrong?
Thanks!
Jadon -
Thanks for your help!
After further observation, it seems my issues were due to two different mechanical problems. (Thanks @grizewald) Firstly, my converted Cubex Duo has a screw limiting the raising of the bed, but only on one side. This previously was never an issue but with my redesigned carriage the hotend is shorter, which caused the bed to nudge the screw before getting to Z0.00. Because it was only on one side, it would skew the bed. The thing that made this difficult to notice was the fact that it probed the bed at approximately Z5.00, so then the bed wasn't skewed and the heightmap looked right, but when it went to print it would raise the bed to Z0.00, skewing it.
My second issue was the fact that my E3D v6 fan is missing a blade due to an unfortunate incident that we won't describe here. This vibrated my BLTouch, causing inconsistent readings which is why I temporarily reverted to manual bed leveling.
I've now leveled my bed to a higher specification and everything seems to be working fine.
Now I have to figure out the next problem...Curves are turning out with vertical banding at high-ish speeds. Ohh well, tuning is part of the fun of the hobby! Thanks a lot guys!
-
Hi,
Well for starters try getting the bed much more level than that - no more than 0.005mm differences if possible.
The value 0.005mm is simply 5% of a 0.1mm layer height.
Frederick
-
This is purely a guess as you have not really given us much information to work with, but:
@JadonM said:
... no issues until I redesigned my x carriage
If it worked fine before, then I'd say your new X-carriage has a problem with alignment to the bed. The Duet firmware will correct properly only if the levelling mesh is created properly. If the motion system does not move correctly and maintain the proper relationships between the X, Y and Z planes, the firmware has no chance to correct for that.
-
@fcwilt said in Mesh Compensation Undercompensating:
Well for starters try getting the bed much more level than that - no more than 0.005mm differences if possible.
Normally I would have it more level than that, but it's about a 0.5mm difference across a 250mm distance. As I remember, it easily compensated for that before. I may be wrong though. I want to figure out why it's not working, not just disable the feature and level it mechanically.
@grizewald said in Mesh Compensation Undercompensating:
If it worked fine before, then I'd say your new X-carriage has a problem with alignment to the bed. The Duet firmware will correct properly only if the levelling mesh is created properly. If the motion system does not move correctly and maintain the proper relationships between the X, Y and Z planes, the firmware has no chance to correct for that.
Hi Grizewald! By saying I redesigned my X carriage, I replaced the plate that the extruder mounts on between the linear bearings and moved the hotend and BLTouch. I didn't change anything with my axis, and if I did it would compensate because the axis would be consistently tilted or bent. (It would act like a tilted or warped bed) Right?
I don't know much about how bed compensation works under the hood though, so please correct me if I'm wrong.
Thanks again to both of you for your time, and I hope we can get it figured out.
-
My bed looks horrible:
But the firmware happily corrects for it.
You might notice that I'm probing 225 points over my whole 295 x 275mm print area rather than the nine that you are probing. As you have a BLTouch, you should be making a detailed map. The firmware interpolates the actual height at any point by using the four closest probed heights. If you use a very coarse mesh like yours, it's effectively just guessing how much compensation is needed.
Like Frederick says, get your bed as level as you can. You can use your probe in manual levelling mode to help you. See: Manual Bed Levelling
Once you have done that, create a new levelling map with plenty of points and see how good your first layer is then.
-
@JadonM said in Mesh Compensation Undercompensating:
Normally I would have it more level than that, but it's about a 0.5mm difference across a 250mm distance.
I'm not suggesting disabling mesh compensation.
If the bed is as level as possible than mesh compensation has less work to do and thus reduces wear & tear on your z-axis parts.
A 0.5mm difference is five times a 0.1mm layer height which means mesh compensation is quite busy.
What I am suggesting is not mandatory, I just think it is a good idea.
Frederick
-
It would help to know what firmware version you're using.
-
@Phaedrux said in Mesh Compensation Undercompensating:
It would help to know what firmware version you're using.
2.03RC5. I tried updating to the final version a while back, but had problems and downgraded. I don't remember why.
I've figured out the most of my issue with it was mechanical, but even after fixing that it still doesn't seem to compensate enough. I don't have time to mess with it right now though, so I'll have to use manual leveling until I can fully diagnose it.
Thanks!
-
Thanks for your help!
After further observation, it seems my issues were due to two different mechanical problems. (Thanks @grizewald) Firstly, my converted Cubex Duo has a screw limiting the raising of the bed, but only on one side. This previously was never an issue but with my redesigned carriage the hotend is shorter, which caused the bed to nudge the screw before getting to Z0.00. Because it was only on one side, it would skew the bed. The thing that made this difficult to notice was the fact that it probed the bed at approximately Z5.00, so then the bed wasn't skewed and the heightmap looked right, but when it went to print it would raise the bed to Z0.00, skewing it.
My second issue was the fact that my E3D v6 fan is missing a blade due to an unfortunate incident that we won't describe here. This vibrated my BLTouch, causing inconsistent readings which is why I temporarily reverted to manual bed leveling.
I've now leveled my bed to a higher specification and everything seems to be working fine.
Now I have to figure out the next problem...Curves are turning out with vertical banding at high-ish speeds. Ohh well, tuning is part of the fun of the hobby! Thanks a lot guys!
-
Glad to here things are moving ahead.
Your height map looks pretty good.
Frederick