Leveling the MK3S Bed

<=== Prev Next ===>


Saturday, Feb 23 2019

The printer has an inductive sensor that checks nozzle height above the bed in 9 different spots. The firmware micro adjusts the height of the nozzle as it prints to account for a bed that isn’t perfectly flat. That’s good. Still, a flat bed is better than one that is warped.

Before plot

Before plot

That is a plot of the bed on my MK3S. That particular measurement was taken with the bed cold. I expect minor differences when the bed is up to operating temperature. The raw numbers that make up that plot are:

Left Center Right
Back -0.28 -0.02 0.12
Middle 0.07 0.00 0.15
Front 0.12 0.09 0.25

The above measurements have been normalized to the center. The center is assumed to be zero. Other values are relative to the center point. As you can see my bed is warped by more than 0.5 mm between the back left corner and the front right corner. I’m going to try to make that better as soon as the M3 nylock nuts I ordered arrive.

Sunday, Feb 24 2019

The heated bed is held to the Y carriage by nine screws. The screws go through the bed, some spacers, and screw into the Y carriage. If the Y-carriage is perfectly flat, the spacers are exactly the same length, the heated bed is perfectly flat, and the screws are torqued to exactly the same value the print surface would be perfectly flat. None of those are true, thus the 0.5 mm difference across the bed seen above.

Heated Bed

Heated Bed

Heated Bed

I’m going to remove eight of the nine spacers. I’ll use nylock nuts to hold the screws in place on the bed. They are tightened just enough to allow the screws to turn. That’s what is pictured. The bed level can now be adjusted by how far the screws are threaded into the Y cariage.

I mostly followed the instructions found on github. This page helps convert the output of the M81 command to relative offsets. I used the OctoPrint Bed Visualizer plug-in because it didn’t need any extra software installed.

I first leveled the bed cold and after about half a dozen interations got it within 0.02 mm.

After plot, cold

After plot, cold

Cold raw values
Left Center Right
Back -0.00 0.00 -0.02
Middle -0.01 0.00 -0.01
Front -0.02 -0.01 0.00

The last few iterations were a waste of time. When I applied heat my supposedly flat bed looked like this:

Hot raw values before adjustment
Left Center Right
Back -0.8 -0.07 -0.21
Middle -0.11 0.00 -0.14
Front -0.17 -0.14 -0.15

The out-of-flatness went from 0.02 mm to over 0.20 mm, 10 times worse. It took another 4 or 5 adjustment iterations to finally get the values where I wanted them. My goal was a high/low difference of no more than 0.05 mm.

Hot raw values after adjustment
Left Center Right
Back 0.02 0.02 0.01
Middle 0.00 0.00 0.02
Front 0.02 0.02 0.02

Goal met. I’m within 0.02 mm of having a perfectly flat bed (assuming the bed is flat between the nine measuring points). The Bed Visualizer shows almost a flat line when looking at an almost edge view.

After plot, hot

After plot, hot

 

<=== Prev Next ===>