===============================================
There are two options for this feature. You may choose to use a servo mounted on the X carriage or you may use a sled that mounts on the X axis and can be docked when not in use. See the section for each option below for specifics about installation and configuration. Also included are instructions that apply to both options.
Uncomment the “ENABLE_AUTO_BED_LEVELING” define (commented by default)
The following options define the probing positions. These are good starting values. I recommend to keep a better clearance from borders in the first run and then make the probes as close as possible to borders:
A few more options:
X and Y axis travel speed between probes, in mm/min. Bear in mind that really fast moves may render step skipping. 6000 mm/min (100mm/s) is a good value.
The Z axis is lifted when traveling to the first probe point by Z_RAISE_BEFORE_PROBING value and then lifted when traveling from first to second and second to third point by Z_RAISE_BETWEEN_PROBINGS. All values are in mm as usual.
You will probably need a swivel Z-MIN endstop in the extruder. A rc servo do a great job. Check the system working here: http://www.youtube.com/watch?v=3IKMeOYz-1Q (Enable English subtitles) Teasing ;-) video: http://www.youtube.com/watch?v=x8eqSQNAyro
In order to get the servo working, you need to enable:
#define NUM_SERVOS 1 // Servo index starts with 0 for M280 command
#define SERVO_ENDSTOPS {-1, -1, 0} // Servo index for X, Y, Z. Disable with -1
#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 165,60} // X,Y,Z Axis Extend and Retract angles
The first define tells firmware how many servos you have. The second tells what axis this servo will be attached to. In the example above, we have a servo in Z axis. The third one tells the angle in 2 situations: Probing (165º) and resting (60º). Check this with command M280 P0 S{angle} (example: M280 P0 S60 moves the servo to 60º)
Next you need to define the Z endstop (probe) offset from hotend. My preferred method:
h) Fill the defines bellow multiplying the values by “-1” (just change the signal)
X and Y-Offset must be Integers!
#define X_PROBE_OFFSET_FROM_EXTRUDER -24
#define Y_PROBE_OFFSET_FROM_EXTRUDER 31
#define Z_PROBE_OFFSET_FROM_EXTRUDER -5.1
The sled option uses an electromagnet to attach and detach to/from the X carriage. See http://www.thingiverse.com/thing:396692 for more details on how to print and install this feature. It uses the same connections as the servo option.
To use the sled option, you must define two additional things in Configuration.h:
Uncomment the Z_PROBE_SLED to define to enable the sled (commented out by default).
Uncomment the SLED_DOCKING_OFFSET to set the extra distance the X axis must travel to dock the sled. This value can be found by moving the X axis to its maximum position then measure the distance to the right X end and subtract the width of the sled (23mm if you printed the sled from Thingiverse).
Next you need to define the Z endstop (probe) offset from hotend. My preferred method:
For example, suppose you measured the endstop position and it was 20mm to the right of the line running front-to-back, 10mm toward the front of the line running left-to-right, and the value from (k) was 2.85. The values for the defines would be:
That’s it.. enjoy never having to calibrate your Z endstop neither leveling your bed by hand anymore ;-)