Wednesday, March 11, 2026

 

Levelling PIKA RepRapMicron's Bed To 4 microns

The RepRapMicron probe needs to be within the print bed surface to within a micron or so. Levelling a bed on an ordinary 3D printer manually is a non-trivial exercise, so how the heck is it done on a μRepRap? Well, the PIKA has an answer to that: springs. Under the Stage there are four springs (using 6.5 dia x10mm ones of 0.5mm wire at present) that can be screwed down to adjust the height of the corners. The exact spring dimensions don't matter, but they have to have a compressed length of 2mm or less, a normal length of 5mm or more, and fit over an M3 screw. Yes, you can cut springs up, but fold the end so it doesn't dig into the plastic. The setup looks like this:


Functional PIKA files are now on github. 

The long screws are used as a guide to set the Stage height to roughly 3mm and are removed afterwards. I did try spring washers, but they don't have enough reliable range of motion.


To make life easier, I have written a very basic python script  https://github.com/VikOlliver/RepRapMicron/blob/main/utils/levelling_probe.py that will touch the probe on 4 corners of a 1mm square and report the high and low ones. A turn on a levelling screw equates to about 8 microns at that scale, so setup is humanly possible.

The conductive target is a "Touch Plate" slide onto which aluminium kitchen foil has been burnished and stuck with resin. The process is:

The script will return the probe to the starting position so it can be run in the same pattern repeatedly. You want to run it multiple times as the probe tip will push the foil down onto the Touch Plate slightly when it contacts a new spot. The Touch Plate will also spring back to some extent over time, so you always need to repeat.

The aluminium foil Touch Plate isn't reliable beyond 2 microns, so don't go hunting perfection at this point. This should be good enough to get going.

Caution: Don't rest the end of the slide on the Y Axis flexures. Easy to do by mistake.

Here's hard data. The first pass was done last night after I'd done levelling. The second pass was done this morning: 

vik@haast:~/uRepRap/utils$ ./levelling_probe.py 

--- Probing corners ---
BL: -602.094 µm
BR: -602.844 µm
TR: -605.688 µm
TL: -605.625 µm

--- Relative height to average ---
BL:   +1.969 µm
BR:   +1.219 µm
TR:   -1.625 µm
TL:   -1.562 µm

Highest corner: BL
Lowest corner : TR
Total variation: 3.594 µm

Returned to (0,0,Z_SAFE) for next run

[Rerun done first to re-level the touchplate surface - omitted] 

vik@haast:~/uRepRap/utils$ ./levelling_probe.py 

--- Probing corners ---
BL: -598.250 µm
BR: -600.844 µm
TR: -598.969 µm
TL: -597.750 µm

--- Relative height to average ---
BL:   +0.703 µm
BR:   -1.891 µm
TR:   -0.016 µm
TL:   +1.203 µm

Highest corner: TL
Lowest corner : BR
Total variation: 3.094 µm

Returned to (0,0,Z_SAFE) for next run


Comments: Post a Comment

<< Home

This page is powered by Blogger. Isn't yours?

Subscribe to
Comments [Atom]