Bed Leveling fine tuning
-
Hi all,
Recently I updated a Steel printer with a Duet board. After some tweaking for the sensorless homing (thanks, btw) I finally got it to print a wonderful Benchy. I am now printing a "large surface" part and I can clearly see that the compensation for the bed irregularities could be better. On the attached picture, one can see that the right part shows signs of the nozzle being too close to the surface while the left part looks quite better. While printing I can clearly see how the Z rods are moving while printing a single layer, so the mesh compensation is trying to do what it does.
Is there any way to fine tune the compensation in some way? The mesh compensation is done with aprox 100 points, I think and I do it on working temperature...
-
It sounds like perhaps the two sides of the Z axis are not even leading the X axis to not be parallel with the bed.
Are you using independent Z axis motors that could perform leveling for you?
https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors
-
@Phaedrux thanks for your input. I always try to get both sides of the X-axis parallel with the bed. I measure it with a caliper to a +/- 0.04mm tolerance. I don't know if maybe the idle current on the motors is to low (30%) and one of them drops. I could try to implement the double axis, I guess...
-
In my experience that many points is massive overkill at that bed size, but hey, you do you.
Here's something I've done because I've never had very good results with ABL:
Change the mesh to something more manageable (say, 9 point, maybe 16, maybe 25, whatever you have the patience for.)
Run that mesh.
Set up a file to test print at those locations (I usually do some cubes, spaced to be at the locations of the probe spots, and then delete the code for all the other layers, just keeping the first layer.)
Run the print.
Observe the result.
Then open up the heightmap.csv file, or whatever you have it set up to be (right-click > edit.)
From here, I'll just manually edit each of the values based on the results I saw from the test print.
Re-print to confirm and adjust further.
Be mindful of which values in the csv correspond to which location. The first value in the csv is the first location probed, then it goes across the x axis, however even though the points are probed in an S-type pattern, then csv values are not written this way. The entire first column of the csv are points from the side where the probing started. If unsure, you can look at the heightmap.csv visualization as a sanity check and play with values if you need to get a grasp of what value represents which location. Also, be mindful of formatting. In my experience the csv is a bit sensitive to formatting changes, so try to keep it the way it was generated or the file may not be read.Maybe you're dealing with a hardware issue of some sort, but something to try perhaps.
Alternatively, something which I think is easier, is to just change your config to say you do NOT have a z probe. In this case, the Duet goes into manual meshing mode, and will move the nozzle to each point of the mesh and have you manually drop it down and tell it when it's touching. Can only recommend this is you have an LCD though. Check the documentation on M558 is I wasn't clear https://duet3d.dozuki.com/Wiki/Gcode#Section_M558_Set_Z_probe_type
Hope this helps. Might help you discover if the problem is software or hardware.
-
@SneakyTiki well, the reason I set so many probing point is precisely because, although all my efforts, my aluminum plate is slightly bent, so I wanted to get the most accurate reading...
-
A good starting point would be a flat bed, to this end I purchased a cast aluminium plate also known as 'aluminium tooling plate' 10mm thick, e.g. https://www.clickmetal.co.uk/aluminium-tooling-plate
It's not cheap, but you will get a guaranteed flat surface, and you'll need to use a better bed heater (I use SSR mains driven) with a different thermistor, unless you want to wait for the bed to heat...
-
First, the more points you have the better the mesh compensation!
Second, it is not easy getting the x axis level manually so best done with independent z motors.
Third, it's not unusual to have bad mesh compensation data. I suggest you run some tests where a single spot is tested multiple times to see if your measurements are consistent. When I run my mesh, I test each position up to 10 times or until two successive readings are within an acceptable range. It is very easy to probe too fast for example and get readings that look ok but aren't.Having said all of that, based on the gradual changes in your print, it is likely that the x axis is no longer running parallel to the bed.
So at this point you say "but I just set it up so the gantry is within +/- 0.04 mm" ...
First of all, I would be extremely surprised if you could get that level of precision. Unless you do precision measurements for a living, chances are pretty much nil of you getting that precision. For laughs and giggles, let's say you actually got that precision and your gantry is close to perfectly level with the print bed. Are you aware that as soon as the z steppers loose power, they are pretty well guaranteed to be in a different spot then they were before? Basically you need to level the gantry and without removing power to the Z motors you then need to run the bed mesh. Further, without removing power from the Z steppers, you then need to run your test prints.
Most default setups are configured in such a manner that the steppers are powered down at the end of each print. Usually 30 seconds of inactivity results in the same power down. As soon as that happens, your careful levelling of the gantry is thrown out of whack.
Of course any adjustment on the bed after you have adjusted the gantry and ran a mesh scan will obviously be out of whack as soon as you touch those bed levelling screws.
Last but not least, all of my (2) printers had levelling screws that would move unless they were loc tighted in position. -
@Dr_Ju_Ju yes, I'm aware that a good starting point is a perfectly flat surface, but alas, I don't have one. I tried to find one, but could not. However, I think the whole point of having the mesh leveling feature is to compensate for these kind of things... I don't feel like paying 20 additional euros for another Al surface...
-
@jens55 said in Bed Leveling fine tuning:
So at this point you say "but I just set it up so the gantry is within +/- 0.04 mm" ...
As unlikely you think it is, I spend my fair amount of time measuring and tweaking.... but yes, the likelihood of the gantry being off again as soon as the motors lose current, is high.
-
Is the plate heated?
if it is heated aluminum has a large expansion ratio so if the plate is too contrained the plate will buckle..You can measure this with a dial indicator around the middle of the plate while it is heating...Also make sure you use PID for your build plate and not bang bang. I have dealt with this as well and my resolution was to go with a 10mm borosilicate glass plate...this is very stable. you can also use granite as well...I did have success with that