Printer beds – construction, flatness, levelling and compensation (is it needed?)

I just wanted to jot down some thoughts I have about printer beds. You can see some pictures of my one here My CoreXY Printer build.

It’s fairly obviously to me that the surface on which we wish to print something has to be flat and level. Assuming we start with a typical layer height of around 0.3mm, then that means the surface needs to be flat and level to a tolerance of around 0.1mm. That is to say that the distance from the tip of the printer nozzle to the build surface needs to be the same within 0.1mm or better, wherever the nozzle is in the X or Y direction. The first layer of a print is absolutely critical. If the nozzle is too close to the bed, then the filament will be squashed and ooze out sideways. In extreme circumstances, the print surface may completely block the nozzle. Conversely, if the nozzle is too far from the bed, then the filament simply won’t stick.

The other thing that we may wish to do is heat the bed. If we were only going to print with PLA, this is not strictly necessary as it is possible to print PLA on an unheated bed and use something like blue painters’ tape. The trouble with that is that the object will often stick to the tape better than the tape sticks to the bed, and it can easily get torn so it has be constantly re-applied. So heating the bed means that we don’t have to use blue tape and we can also print with a variety of different plastics.

So what can we use that is flat, level and can be heated? The most common materials are aluminium and glass. Glass on it’s own is maybe not such a good idea as it is easily broken and it isn’t the best thermal conductor. One common arrangement is to use glass with a thin aluminium plate underneath which acts as a heat spreader to the heating element that is attached underneath. Sometimes a wooden (mdf or ply) carrier is used which forms a sandwich with the aluminium heat spreader with the heating element as the filling, and provides some rigidity to the entire assembly. Providing the glass is fairly thick and “unbendable” over the size of the bed, this arrangement could take care of the flatness issue, which just leaves the issue of levelling to be addressed.

On the subject of glass, a word or two of warning. Various 3D printing forums are littered with comments saying that you must use Borosilicate glass because “normal” glass won’t withstand the high temperatures. In my opinion, this is just not true. The important thing is thermal shock. That is to say that if you suddenly heat the glass up (almost impossible to do on a 3D printer) or suddenly cool it by say taking it off the printer and putting in straight in the freezer, then it might well crack. Under normal circumstances, where the glass is allowed to cool naturally at ambient temperatures then there really shouldn’t be a problem. I have certainly never had a problem with any of my 400mm x 400mm x 6mm thick pieces of “normal” float glass, even when heated to around 90 deg C.

Still on the subject of glass, not all glass is flat especially that used for horticultural purposes (greenhouses and the like) and which is probably made from rolled glass. The glass we need is float glass. This glass can additionally be toughened which makes is much more difficult to break. However, I know from hard earned experience that the toughening process will deform the glass such that it is no longer flat. So toughened glass may be safer, but it isn’t flat.

Another common myth that is often propagated on various forums is that glass is an insulator. As someone once pointed out, if that were so we wouldn’t need double glazing. Most of the people who propagate such myths haven’t actually done any testing and they are just repeating what they have read elsewhere. I have done some tests and can say that with the bed heated to 60 deg C  and at an ambient temperature of 21 deg C, the top surface of my 6mm thick glass was measured at 58 deg C. A drop of only 2 deg C.

Now of course, we don’t have to use glass at all. We could simply use thicker aluminium that is guaranteed flat and print directly on to it, and many people do. The aluminium to ask for is “tooling plate” which is guaranteed to be flat. One disadvantage of this is that aluminium is a fairly soft metal and therefore susceptible to damage from knocks and scrapes. So, in my opinion, protecting the surface in some way is a good idea as aluminium tooling plate is expensive to replace.

My personal preference is a combination of thick aluminium tooling plate with a removable glass print surface. Although I could print directly on to the aluminium, the reasons for using glass are that I can quickly swap one piece for another, which enables to start printing another object while the first one is cooling down. Another reason is that I can apply different surfaces to each piece of glass and swap between them. For example, I can have blue tape on one, another could be plain glass with 3dLac applied, a third could have some other “exotic” material attached.

So, now we have a bed that is flat all that remains is to ensure that it is level. Or to put it more correctly in engineering terms “tram” which is derived from the term “trammelling” That is to say that in the X direction, the bed must be parallel with the print head X axis and that in the Y direction, the bed must be parallel with the print head Y axis. Strictly speaking, the entire printer might not be level with respect to the floor on which it stands so the bed might not be level but neither would the axes and they would be “out” by the same amount so it isn’t critical.

I’m not going to go into details of how this should be accomplished. Suffice to say that 3 points define a plane (providing they are not on the same line) and 4 points define a hyperplane if not coplanar (on the same plane).  So 4 (or more) points might define a shape that isn’t a flat plane. i.e. 4 point levelling could impart an undesirable twist to the bed. So ideally, we need to support the bed at 3 points and there should be some adjustment for at least two of these points so that they can be adjusted with respect to the fixed point. This is what is commonly referred to as 3 point levelling. For the best accuracy, these 3 points should be as far away from each other as possible. On my printer, I support the bed using 3 screws, one close to each corner at the front, and one close to the centre at the back. These screws provide lift as well as levelling but I’m not going to go into the mechanics of Z axis movement in this post.

Finally, many people will say that most of the above is irrelevant because many modern printers or printer controllers use firmware to compensate for bed inaccuracies. The latest Duet electronics (of which I am a big fan by the way), even has grid based bed compensation that will compensate not only for the fact that the bed might not be level, but also for the fact that it might not be flat. It will probe the bed over a number of points that the user defines and generate a height map which gets applied to the nozzle height during a print. My concern with this approach is that it encourages people and manufacturers to get sloppy with their design and build quality. It really doesn’t cost much more to “do it right”. In my opinion, any cost saving from a sloppy design of print bed that isn’t inherently level and flat will be outweighed by increases in time spent running the compensation software. People will do doubt argue that running the software need only be done once, as the height map can be saved and re-used. My response is that if a printer bed is inherently non planer or not level, then those errors are unlikely to be constant so it will be necessary to re-run the compensation software periodically. Also, when using something like an Infra Red probe, the probe itself might be affected by dust or debris on the print surface that affects the reflectivity at different points on the surface which would generate an inaccurate height map and make compensation worse than if none were applied.

So although I am a big fan of Duet electronics and firmware, I personally do not use any form of bed compensation. I have built a printer that has a bed that is flat and level and stays that way. My first printer had a flimsy bed that needed constant attention. Every time I used it, I had to home the z axis, then run bed compensation. Now, all I have to do is turn the printer on, select the file to print and walk away. Having tried both approaches, I know which I prefer. Here is a little video that shows how it works in practice. Printing without bed compensation

Leave a comment