How auto bed leveling work

I am curious about how X1 auto bed leveling work.
I take apart the hot bed and I just found three pressure sensors. And in Z axis, X1 has just one motor.
So, if hot bed tilted, how X1 can level it?

1 Like

The automated bed levelling consists, as in many other printers, of mapping your bed level in a mesh style, which is then used within the software to compensate for the deviations. In the case of the X1C auto bed levelling, novelty arises from using two sensors, the Lidar and a force sensor, which, according to BL, permits mapping the bed level with high precision.

However, as in many other printers, the software compensation effectiveness depends on the hardware tramming. So the X1C came from the factory with a trammed bed.

So, if your bed is significantly titled, the software compensation will likely fail.

2 Likes

The bed is not actually leveled, the nozzle height is adjusted to keep the nozzle a uniform height above the plate in hopes of making the layers a uniform thickness.

1 Like

Oh, I kind of undersand! Thanks for your answer!
And I have a few questions.
So, leveling is build the bed model, and finally software contorl Z motor, to set the distance to hot bed?
But if there only one Z motor, that means one DOF, can only adjust Z-axis error. Is that why it cannot work when bed is significantly tilted?
Why is it necessary to level, is it impossible to guarantee the level when loading the hot bed?
Looking forward to your answer~Thanks!

The bed levelling starts with the machine and components’ geometric dimensioning and tolerancing design, followed by proper assembling and tramming using the bed bottom screw. You can do it manually if it is faulty, as you already know from dissembling.

Your original questions seem related to the printers using motors to set the bed tilt angle automatically. Note that this increases complexity and would not avoid bed levelling (see below). For me, the key advantage would be variable angle printing and not levelling.

This should be enough for compensating any bed tilt and mapping the bed (not so necessary) could be done with three-point measurements. However, the bed is never truly flat, and there lies the primary difficulty in compensating. The live (during print) compensation is done by minor adjustments in the z-axis distance using the stepper, which should be minimal.

I may not understand the doubt. Are you referring to the thermal expansion because of heating the bed?

If so, I cannot be precise about BL algorithms, but I can tell you that compensating is possible. This is only important if the expansion is not uniform and significant. In that case, one can map the bed mesh at the bed printing temperature, or better, make some measurements and set a function or algorithm to update the mesh as a function of the temperatures, etc…

The printer probes the build plate in a grid pattern, measuring the Z location where contact is made at each position in the grid (I think it’s a 5x5 grid, but I can’t say I’ve ever watched it carefully enough to be sure). It does multiple contacts at each point and, I would guess, averages them (but maybe not).

Once the probing process is complete, the printer generates a kind of topographic map of the build plate, connecting the points it measured and computing the slope of the surface between them. That lets it calculate an approximation of the Z height of these in-between-sample locations.

With that data, the Z height of the printhead can be varied so that it follows the topography of the build plate, so that the distance between the nozzle and bed is always the same across the entire bed surface, regardless of how level (or not) the surface is.

If your build plate is not trammed (level), this bed leveling doesn’t really have any negative effect on the print unless the bed is way out of level. If your build plate isn’t flat (like, it’s lower in the center than at the edges), the bed leveling will follow it like if it was just tilted. But the problem is that the ā€œbowā€ in the bottom surface will be translated all the way up to the top surface. If you have parts that have to mate flat to each other, this can be a significant issue.

3 Likes

Thank you! I understand some more!

I am curious that, the machine why can not, ensure that the hot bed must be flat, during production,
so that we can reduce the leveling step.

However, after reading @RocketSled reply, it seems that the uneven build plate is also the reason for the need to level.

Couple of points to note :- The variations in the bed topography are very small. Usually less that 0.5mm. Tramming has been badly explained. Tramming is adjusting the build plate so that the plane of travel for the nozzle is as parallel as possible to the build surface. So if for example the X axis horizontal bar is higher on the right side the build plate would also need to be higher on the right side to keep the plane of travel and the build plate parallel (Tramming as in paralell tram lines).

If the machine needs tramming then any tramming inaccuracies would have to be compensated for by the bed level mesh. That could result in very large values in the level mesh and large Z movements while the nozzle travels accross the bed. At best probably showing as patterns in the print surface. A tall print could even end up with a lean.

What is wanted is for the mesh to only contain the very small variations in the bed topography. The firmware will fade out the small corrections by about layer 10. So top surfaces are flat.

The sensors you refered to are peizi sensors and they sense when the bed is touched by the nozzle. So the nozzle is used to bump the bed both for homeing and mapping the bed. As the nozzle is used for homeing there us no Z offset to have to contend with.

All this is only really required to get a good first layer. Any variation in the first layer thickness can cause either to much or not enough squish of the fillament on to the build plate. Which can lead to print failure.