This thing is an implementation of the Marlin Auto Bed Leveling function on a Robo 3d printer. Of course this Z Probe design could be adapted to other printers.
This function really should be called something like Auto Bed Height Compensation, but regardless the function is a great improvement thanks to the efforts of the Marlin team. No more fiddling with that Z Axis height adjustment and no more having to finely adjust the bed level.
IMO this function in the new Marlin absolutely transforms the way the Robo 3d works.
Best of all is you can set the height of the extruder above the bed precisely and know that that height will be exactly the same every time. It is also very easy to vary the extruder height above the bed by changing the Z Offset value on the LCD controller motion control menu.
The bits to make the Z Probe are
- Printed Z Probe frame
- Opto endstop
- Servo 9 gram model SG90 or equivalent
- Printed servo horn
- Brass rod 2.5 mm diameter (ends need to be cut square and flat).
- Probe set screw collar (taken from a blue PCB screw terminal block as shown in the pictures and widely available on eBay)
- M3 screws and nuts
The opto endstop is connected to the RAMPS Z endstop min pins on the RAMPS.
The servo is connected to the Ramps servo 1 pins. Power for the servo requires a jumper between the 5v and VCC pins on the Ramps near the yellow fuses.
The general steps to set Auto bed Leveling in Marlin RAMPS are here https://github.com/ErikZalm/Marlin.
The most critical parameter is
define Z_PROBE_OFFSET_FROM_EXTRUDER xxx
Measure this as described on the github/marlin site then make fine adjustments by printing/checking/adjusting until the height of the extruder above the bed is exactly right. You should not have to touch this again unless you physically change the Z Probe in some way.
The servo angles that work with this Z Probe frame are down (45) and up (85) but some variation might be necessary. Also the printed servo horn end will need to be filed down to get the fit exactly right.
Be aware that the mods in Marlin to make this work are reasonably complex. An example of the Marlin configuration.h file settings for a Robo 3d is included in the files.
You need to understand that with the Z probe there is no Z Min Limit switch any more and no Z homing function. There are also a few bugs in the Auto Bed Leveling code which cause strange behaviour.
To support this Z Probe design it is also necessary to make a change to the Marlin_main.cpp file as explained here
When printing you need to add some gcode commands right at the start of the gcode print file
G28 X0 Y0 ; home X/Y axes
G29 ; probe bed
G28 X0 Y0 ; home X/Y axes
Enjoy not having to level the bed or manually adjust the extruder height.