Dial Indicator for Build Bed Level Test

By | November 9, 2012
Dial indicator for 3d printer build bed level test

Dial indicator for 3d printer build bed level test

I’ve designed and printed a bracket for attaching a Dial Indicator (purchased on Ebay) to the 3d printer for accurate build platform levelling. I can now test to reduce inclines on the heated build bed to a very small fraction of the 0.25mm layer height I normally print at.

I have made the design files for the bracket available for download and the link to the files can be found towards the end of this post. The OpenSCAD file can be edited easily to make the bracket fit different 3d printers. 

Levelling Without the Dial Indicator

I had a problem with getting large 3d printing projects to work due to the 3d printer build bed not being accurately level. I say accurately level because there is very little tolerances when printing layers as thin as 0.25mm and less, and the larger the print project footprint on the build bed area, the smaller the tolerances acceptable. While I did not have a Dial Indicator, I was using a business card of some sort for bed levelling, and this worked well enough for most printing projects, especially those with the smaller footprints on the build bed area. So to improve 3d printer build bed levelling accuracy, I decided to go with the Dial Indicator.

Result Of 3D Printer Hot End Extruding Too Close To The Platform

Result Of 3D Printer Hot End Extruding Too Close To The Platform

The Symptoms Of Poor Levelling – One of the more serious symptoms is caused when the Hot End nozzle gets too close to the build platform while extruding plastic up an incline. The extruded plastic spreads sideways from the nozzle tip causing ridges to form in the first printed layer. The ridges usually form towards one edge or one corner where the incline of the build platform is at its highest.

If ridges are formed, the first printed layer will look like a ploughed farmers field but messier, with ridges getting deeper towards one side. You usually get large clumps of plastic build up along the edge of the problem area. If the ridges are formed high enough, the Hot End nozzle could collide with the ridges which can cause axis motion to be disrupted and cause subsequent layers to be printed out of alignment. Using a Dial Indicator to level the 3d printer build platform would help to avoid those ridges and clumps of plastic build up.

The Dial Indicator

3d printer dial test indicator, view from bottom

3d printer dial test indicator, view from bottom

With the Dial Indicator (sometimes called Dial Test Indicator) fitted, I can now level my heated build platform with some accuracy. It does mean removing the Hot End from the 3d printer to fit the Dial Indicator but I don’t expect to have to do this too often, and I will only need to level the platform again if symptoms occur or I’ve crashed the Z axis.

Specification – The Dial Indicator has two dials on the face, the large dial measures at a 0.01mm resolution while the small inset dial measures at 1mm resolution with a range of 0-10mm. The numbers on the large dial can be rotated so that zero can be set at any location around the face. Some dials come with a pair of markers that attach on to the outer edge of the Dial Indicator face so that a more visible tolerance range can be set for test measurements. Outer diameter of the dial is 58mm, while the probe length is 43mm.

Levelling The Platform – The Dial Indicator bracket default dimensions will allow it to fit the Sumpod (MDF original) easily after removing the Hot End. The dial bracket dimensions can easily be altered, in OpenSCAD software, and printed to fit other 3d printer makes. After fitting the the Dial Indicator, adjust the Z axis to bring the 3d printer build platform into contact with the Dial Indicator probe. Adjust the z axis so that the dial reads at least 2mm to allow for negative readings when moving the probe across the platform.

The next step is I choose a corner of the platform to set the probe and adjust the level height I want on the platform level adjuster to set as a template for all the other corners. I set the Dial Indicator to zero by rotating the outer dial and proceed to level one edge of the platform. The Dial Indicator probe is sensitive to imperfections of the platform, the bearings and the rails as the probe moves across from corner to corner. So I try to get the probe as close to the adjustment screws as possible before making adjustments, and I move the probe back and forth until the measurements match as closely as possible. I then proceed to level the next edge. I find that it is better to get the platform roughly level first before levelling for accuracy.

Dial Indicator Bracket

OpenSCAD 3d model of dial test indicator bracket

OpenSCAD 3d model of dial test indicator bracket

The Dial Indicator bracket is my first attempt at scripting a parametric 3d model in OpenSCAD, so there is a bunch of variables at the top of the script that can be changed to alter the dimensions and characteristics of the bracket. The default values configures the bracket to fit the original Sumpod MDF 3d printer but the values can be change to make the bracket fit other printers.

Parametric OpenSCAD File – To make any changes to the Dial Indicator Bracket you will need the OpenSCAD 3d modelling application to open the file. Once you open the file and view the script, you will see a list of adjustment variables, one set of variables for the bracket base and one set for the Dial Indicator. There is a short description that will provide a clue of what each variable is for, pressing F5 on the keyboard after changing a variable will redraw the 3d model. All the values are in mm, some values will either add or subtract while other values are actual measurements. Experimenting with the values and pressing F5 while viewing the 3d model will give an idea of what has changed.

When the Dial Indicator bracket is ready to be saved to STL, press F6 to compile and render the 3d model and then select Export as STL under the Design menu. Save the STL file to a directory and use your favourite program to convert the file to G-Code.

Find the files here for the Dial Indicator bracket here: thingiverse

3d printer dial test indicator, view from front

3d printer dial test indicator, view from front

3d printer dial test indicator, view from top

3d printer dial test indicator, view from top

3d printed dial bracket

3d printed dial bracket

Dial test indicator with bracket attached

Dial test indicator with bracket attached

3d printer dial test indicator, on build bed/platform

3d printer dial test indicator, on build bed/platform

Outer measuring dial test indicator range 0-10mm, resolution 0.01mm

Outer measuring dial test indicator range 0-10mm, resolution 0.01mm

[bodyadsrich1l]

Hope you enjoyed the Dial Indicator solution, leave a comment below if you have issues with printing the bracket or working with the OpenSCAD file.

2 thoughts on “Dial Indicator for Build Bed Level Test

  1. Jeff Schaber

    I Printed this last night and the upright arms that support the Dial Indicator are a bit weak (printed in ABS). I tried to modify the Scad file as you suggested above but did not see a variable to change the thickness of the upright arms Is there a way to modify the file to do this?

    Thanks

    1. Mark Heywood Post author

      Hi Jeff,

      The parts I design are usually best printed at a layer height of 0.25mm or less. However, I can help you modify the code to get the adjustment that you want.

      Open up the OpenSCAD file to edit the last two modules called upright_bracket() and upright(). In these two modules you’ll find “probe_w+8” within the lines of code, you should find six “probe_w+8”, change the 8 to a different number to adjust the bracket thickness.

      Once the above is done, there is one more line to change and it is about the eighth line down from “module upright_bracket() {“; this is the line that will adjust the bracket screw hole to go all the way through.

      Change the 9 in “probe_w+9” to something like 30 and then change the 16 in “cylinder(16,r=probe_b/2)” to something like 40. This adjustment should be enough for the increased bracket thickness.

      Hope this helps,

      Mark

Comments are closed.