Hi all!
Problem description:
I’ve noticed some problems with the standard auto mesh bed leveling method in Marlin. At first it’s pretty slow when you want to get a higher number of mesh points. But the more important thing is the following:
I’m using a “Black Diamond” glass plate for my prints. I really like that build surface because prints stick perfectly to it when its warm and as soon as it is cooled down, you can take them off without using tools or anything. Just pick them up by hand. The problem is, that the surface of the black diamond is textured which makes auto mesh bed leveling almost impossible. I am using an IR probe and it depends on whether it reads in a bump or somewhere between the bumps. I replaced the black diamond with a smooth fiberglass print plate and the leveling worked perfectly. But with the fiberglass plate the prints don’t stick to the surface (not even nearly) as good as with the black diamond plate. So I thought the following: With a textured print bed you’d need to read in a lot of points to get an understanding of how the plate actually looks like.
My Solution:
What if the printer would go to a corner of the print bed and lower the probe until it triggers. Then it could move at constant speed in horizontal direction. While doing that, the Z-axis could go up until the probe stops triggering, then down again, until it triggers and so on. It could basically follow the height profile of the printbed and store a data point every time a change in the trigger state of the probe occurs. That way we would get a very accurate picture of the printbed and surface roughness wouldn’t make much difference. Right now it’s just “luck” if your probe lands on a bump or not. With the new method you would get hundreds of measuring points so those problems average out. And even with a smooth build plate that would help to get a way more accurate mesh without slowing the process down. So what do you think about the idea?
My Hardware:
JG-Aurora A5 with “Black Diamond” glass plate and Duet-IR leveling probe