Merge pull request #5676 from Bob-the-Kuhn/configuration.h

Configuration.h - reword Z PROBE section
master
Bob-the-Kuhn 8 years ago committed by GitHub
commit 3b9ff2cb12

@ -530,122 +530,170 @@
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== /**
//============================= Z Probe Options ============================= * ===========================================================================
//=========================================================================== * ============================= Z Probe Options =============================
// @section probes * ===========================================================================
* @section probes
// *
// Probe Type *
// Probes are sensors/switches that are activated / deactivated before/after use. * Probe Type
// * Probes are sensors/switches that are activated / deactivated before/after use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. *
// You must activate one of these to use Auto Bed Leveling below. * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
// * You must activate one of these to use Auto Bed Leveling below.
// Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. *
// * Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
*/
// The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. /**
// Use G29 repeatedly, adjusting the Z height at each point with movement commands * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
// or (with LCD_BED_LEVELING) the LCD controller. * Use G29 repeatedly, adjusting the Z height at each point with movement commands
* or (with LCD_BED_LEVELING) the LCD controller.
*/
//#define PROBE_MANUALLY //#define PROBE_MANUALLY
// A Fix-Mounted Probe either doesn't deploy or needs manual deployment. /**
// For example an inductive probe, or a setup that uses the nozzle to probe. * A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
// An inductive probe must be deactivated to go below * For example an inductive probe, or a setup that uses the nozzle to probe.
// its trigger-point if hardware endstops are active. * An inductive probe must be deactivated to go below
* its trigger-point if hardware endstops are active.
*/
//#define FIX_MOUNTED_PROBE //#define FIX_MOUNTED_PROBE
// The BLTouch probe emulates a servo probe. /**
// The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override. * Z Servo Probe, such as an endstop switch on a rotating arm.
* NUM_SERVOS also needs to be set. This is found later in this file. Set it to
* 1 + the number of other servos in your system.
*/
//#define Z_ENDSTOP_SERVO_NR 0 // Defaults to SERVO 0 connector.
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
/**
* The BLTouch probe emulates a servo probe.
* If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES
* are setup for you in the background and you shouldn't need to set/modify/enable them
* with the possible exception of Z_ENDSTOP_SERVO_NR.
*/
//#define BLTOUCH //#define BLTOUCH
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
// Z Servo Probe, such as an endstop switch on a rotating arm. /**
//#define Z_ENDSTOP_SERVO_NR 0 * BLTouch WARNING - ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles * Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably
* sense the BLTouch. If the feedrate is too slow then G28 & G29 can sometimes result
* in the print head being driven into the bed until manual intervention.
* The minimum feedrate calculation is:
*
* feedrate minimum = 24000 / DEFAULT_AXIS_STEPS_PER_UNIT
* where feedrate is in "mm/minute" or "inches/minute" depending on the units used
* in DEFAULT_AXIS_STEPS_PER_UNIT
*
* This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST. If PROBE_DOUBLE_TOUCH
* is enabled then it also applies to Z_PROBE_SPEED_SLOW.
*/
// Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. /* Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. */
//#define Z_PROBE_SLED //#define Z_PROBE_SLED
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
// /**
// Allen Key Probe is defined in the Delta example configurations. * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// * X and Y offsets must be integers.
*
// Z Probe to nozzle (X,Y) offset, relative to (0, 0). * In the following example the X and Y offsets are both positive:
// X and Y offsets must be integers. * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
// * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
// In the following example the X and Y offsets are both positive: *
// #define X_PROBE_OFFSET_FROM_EXTRUDER 10 * +-- BACK ---+
// #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 * | |
// * L | (+) P | R <-- probe (20,20)
// +-- BACK ---+ * E | | I
// | | * F | (-) N (+) | G <-- nozzle (10,10)
// L | (+) P | R <-- probe (20,20) * T | | H
// E | | I * | (-) | T
// F | (-) N (+) | G <-- nozzle (10,10) * | |
// T | | H * O-- FRONT --+
// | (-) | T * (0,0)
// | | */
// O-- FRONT --+
// (0,0)
#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] #define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]
// X and Y axis travel speed (mm/m) between probes /* X and Y axis travel speed (mm/m) between probes */
#define XY_PROBE_SPEED 8000 #define XY_PROBE_SPEED 8000
// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
/* Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
// Speed for the "accurate" probe of each point
/* Speed for the "accurate" probe of each point */
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
// Use double touch for probing
//#define PROBE_DOUBLE_TOUCH
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** /* Use double touch for probing */
// //#define PROBE_DOUBLE_TOUCH
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// /**
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.) * Allen Key Probe is defined in the Delta example configurations.
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the *
// default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default. *
// To use a different pin you can override it here. * *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
// *
// WARNING: * - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// Setting the wrong pin may have unexpected and potentially disastrous consequences. * - Use 5V for powered (usu. inductive) sensors.
// Use with caution and do your homework. * - Otherwise connect:
// * - normally-closed switches to GND and D32.
//#define Z_MIN_PROBE_PIN X_MAX_PIN * - normally-open switches to 5V and D32.
*
* Normally-closed switches are advised and are the default.
*
*
* PIN OPTIONS\SETUP FOR Z PROBES
*
*
* WARNING:
* Setting the wrong pin may have unexpected and potentially disastrous consequences.
* Use with caution and do your homework.
*
*
* All Z PROBE pin options are configured by defining (or not defining)
* the following five items:
* Z_MIN_PROBE_ENDSTOP defined below
* Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN defined below
* Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file
* Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file
*
* If you're using a probe then you need to tell Marlin which pin to use as
* the Z MIN ENDSTOP. Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the
* Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used.
*
* The pin selected for the probe is ONLY checked during probing operations.
* If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE
* then youll need to use the Z_MIN_PROBE_PIN option.
*
* Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN.
*
* The settings needed to use the Z_MIN_PROBE_PIN are:
* 1. select the type of probe you're using
* 2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file
* 3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. enable Z_MIN_PROBE_ENDSTOP
* NOTE if Z_MIN_PIN is defined then itll be checked during all moves in the
* negative Z direction.
*
* The settings needed to use the Z_MIN_PIN are:
* 1. select the type of probe you're using
* 2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file
* 3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. disable Z_MIN_PROBE_ENDSTOP
* NOTES if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then itll be
* ignored by Marlin
*/
//
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
//#define Z_MIN_PROBE_ENDSTOP //#define Z_MIN_PROBE_ENDSTOP
// Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
// The Z_MIN_PIN will then be used for both Z-homing and probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// To use a probe you must enable one of the two options above!
// Enable Z Probe Repeatability test to see how accurate your probe is /* Enable Z Probe Repeatability test to see how accurate your probe is */
//#define Z_MIN_PROBE_REPEATABILITY_TEST //#define Z_MIN_PROBE_REPEATABILITY_TEST
/** /**
@ -665,12 +713,11 @@
#define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
// /* For M851 give a range for adjusting the Z probe offset */
// For M851 give a range for adjusting the Z probe offset
//
#define Z_PROBE_OFFSET_RANGE_MIN -20 #define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20 #define Z_PROBE_OFFSET_RANGE_MAX 20
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{ 0:'Low', 1:'High' } // :{ 0:'Low', 1:'High' }
#define X_ENABLE_ON 0 #define X_ENABLE_ON 0

@ -530,122 +530,170 @@
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== /**
//============================= Z Probe Options ============================= * ===========================================================================
//=========================================================================== * ============================= Z Probe Options =============================
// @section probes * ===========================================================================
* @section probes
// *
// Probe Type *
// Probes are sensors/switches that are activated / deactivated before/after use. * Probe Type
// * Probes are sensors/switches that are activated / deactivated before/after use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. *
// You must activate one of these to use Auto Bed Leveling below. * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
// * You must activate one of these to use Auto Bed Leveling below.
// Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. *
// * Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
*/
// The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. /**
// Use G29 repeatedly, adjusting the Z height at each point with movement commands * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
// or (with LCD_BED_LEVELING) the LCD controller. * Use G29 repeatedly, adjusting the Z height at each point with movement commands
* or (with LCD_BED_LEVELING) the LCD controller.
*/
//#define PROBE_MANUALLY //#define PROBE_MANUALLY
// A Fix-Mounted Probe either doesn't deploy or needs manual deployment. /**
// For example an inductive probe, or a setup that uses the nozzle to probe. * A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
// An inductive probe must be deactivated to go below * For example an inductive probe, or a setup that uses the nozzle to probe.
// its trigger-point if hardware endstops are active. * An inductive probe must be deactivated to go below
* its trigger-point if hardware endstops are active.
*/
//#define FIX_MOUNTED_PROBE //#define FIX_MOUNTED_PROBE
// The BLTouch probe emulates a servo probe. /**
// The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override. * Z Servo Probe, such as an endstop switch on a rotating arm.
* NUM_SERVOS also needs to be set. This is found later in this file. Set it to
* 1 + the number of other servos in your system.
*/
//#define Z_ENDSTOP_SERVO_NR 0 // Defaults to SERVO 0 connector.
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
/**
* The BLTouch probe emulates a servo probe.
* If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES
* are setup for you in the background and you shouldn't need to set/modify/enable them
* with the possible exception of Z_ENDSTOP_SERVO_NR.
*/
//#define BLTOUCH //#define BLTOUCH
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
// Z Servo Probe, such as an endstop switch on a rotating arm. /**
//#define Z_ENDSTOP_SERVO_NR 0 * BLTouch WARNING - ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles * Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably
* sense the BLTouch. If the feedrate is too slow then G28 & G29 can sometimes result
* in the print head being driven into the bed until manual intervention.
* The minimum feedrate calculation is:
*
* feedrate minimum = 24000 / DEFAULT_AXIS_STEPS_PER_UNIT
* where feedrate is in "mm/minute" or "inches/minute" depending on the units used
* in DEFAULT_AXIS_STEPS_PER_UNIT
*
* This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST. If PROBE_DOUBLE_TOUCH
* is enabled then it also applies to Z_PROBE_SPEED_SLOW.
*/
// Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. /* Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. */
//#define Z_PROBE_SLED //#define Z_PROBE_SLED
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
// /**
// Allen Key Probe is defined in the Delta example configurations. * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// * X and Y offsets must be integers.
*
// Z Probe to nozzle (X,Y) offset, relative to (0, 0). * In the following example the X and Y offsets are both positive:
// X and Y offsets must be integers. * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
// * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
// In the following example the X and Y offsets are both positive: *
// #define X_PROBE_OFFSET_FROM_EXTRUDER 10 * +-- BACK ---+
// #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 * | |
// * L | (+) P | R <-- probe (20,20)
// +-- BACK ---+ * E | | I
// | | * F | (-) N (+) | G <-- nozzle (10,10)
// L | (+) P | R <-- probe (20,20) * T | | H
// E | | I * | (-) | T
// F | (-) N (+) | G <-- nozzle (10,10) * | |
// T | | H * O-- FRONT --+
// | (-) | T * (0,0)
// | | */
// O-- FRONT --+
// (0,0)
#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] #define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]
// X and Y axis travel speed (mm/m) between probes /* X and Y axis travel speed (mm/m) between probes */
#define XY_PROBE_SPEED 8000 #define XY_PROBE_SPEED 8000
// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
/* Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
// Speed for the "accurate" probe of each point
/* Speed for the "accurate" probe of each point */
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
// Use double touch for probing
//#define PROBE_DOUBLE_TOUCH
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** /* Use double touch for probing */
// //#define PROBE_DOUBLE_TOUCH
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// /**
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.) * Allen Key Probe is defined in the Delta example configurations.
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the *
// default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default. *
// To use a different pin you can override it here. * *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
// *
// WARNING: * - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// Setting the wrong pin may have unexpected and potentially disastrous consequences. * - Use 5V for powered (usu. inductive) sensors.
// Use with caution and do your homework. * - Otherwise connect:
// * - normally-closed switches to GND and D32.
//#define Z_MIN_PROBE_PIN X_MAX_PIN * - normally-open switches to 5V and D32.
*
* Normally-closed switches are advised and are the default.
*
*
* PIN OPTIONS\SETUP FOR Z PROBES
*
*
* WARNING:
* Setting the wrong pin may have unexpected and potentially disastrous consequences.
* Use with caution and do your homework.
*
*
* All Z PROBE pin options are configured by defining (or not defining)
* the following five items:
* Z_MIN_PROBE_ENDSTOP defined below
* Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN defined below
* Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file
* Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file
*
* If you're using a probe then you need to tell Marlin which pin to use as
* the Z MIN ENDSTOP. Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the
* Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used.
*
* The pin selected for the probe is ONLY checked during probing operations.
* If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE
* then youll need to use the Z_MIN_PROBE_PIN option.
*
* Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN.
*
* The settings needed to use the Z_MIN_PROBE_PIN are:
* 1. select the type of probe you're using
* 2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file
* 3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. enable Z_MIN_PROBE_ENDSTOP
* NOTE if Z_MIN_PIN is defined then itll be checked during all moves in the
* negative Z direction.
*
* The settings needed to use the Z_MIN_PIN are:
* 1. select the type of probe you're using
* 2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file
* 3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. disable Z_MIN_PROBE_ENDSTOP
* NOTES if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then itll be
* ignored by Marlin
*/
//
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
//#define Z_MIN_PROBE_ENDSTOP //#define Z_MIN_PROBE_ENDSTOP
// Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
// The Z_MIN_PIN will then be used for both Z-homing and probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// To use a probe you must enable one of the two options above!
// Enable Z Probe Repeatability test to see how accurate your probe is /* Enable Z Probe Repeatability test to see how accurate your probe is */
//#define Z_MIN_PROBE_REPEATABILITY_TEST //#define Z_MIN_PROBE_REPEATABILITY_TEST
/** /**
@ -665,12 +713,11 @@
#define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
// /* For M851 give a range for adjusting the Z probe offset */
// For M851 give a range for adjusting the Z probe offset
//
#define Z_PROBE_OFFSET_RANGE_MIN -20 #define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20 #define Z_PROBE_OFFSET_RANGE_MAX 20
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{ 0:'Low', 1:'High' } // :{ 0:'Low', 1:'High' }
#define X_ENABLE_ON 1 #define X_ENABLE_ON 1

@ -513,122 +513,170 @@
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== /**
//============================= Z Probe Options ============================= * ===========================================================================
//=========================================================================== * ============================= Z Probe Options =============================
// @section probes * ===========================================================================
* @section probes
// *
// Probe Type *
// Probes are sensors/switches that are activated / deactivated before/after use. * Probe Type
// * Probes are sensors/switches that are activated / deactivated before/after use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. *
// You must activate one of these to use Auto Bed Leveling below. * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
// * You must activate one of these to use Auto Bed Leveling below.
// Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. *
// * Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
*/
// The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. /**
// Use G29 repeatedly, adjusting the Z height at each point with movement commands * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
// or (with LCD_BED_LEVELING) the LCD controller. * Use G29 repeatedly, adjusting the Z height at each point with movement commands
* or (with LCD_BED_LEVELING) the LCD controller.
*/
//#define PROBE_MANUALLY //#define PROBE_MANUALLY
// A Fix-Mounted Probe either doesn't deploy or needs manual deployment. /**
// For example an inductive probe, or a setup that uses the nozzle to probe. * A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
// An inductive probe must be deactivated to go below * For example an inductive probe, or a setup that uses the nozzle to probe.
// its trigger-point if hardware endstops are active. * An inductive probe must be deactivated to go below
* its trigger-point if hardware endstops are active.
*/
//#define FIX_MOUNTED_PROBE //#define FIX_MOUNTED_PROBE
// The BLTouch probe emulates a servo probe. /**
// The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override. * Z Servo Probe, such as an endstop switch on a rotating arm.
* NUM_SERVOS also needs to be set. This is found later in this file. Set it to
* 1 + the number of other servos in your system.
*/
//#define Z_ENDSTOP_SERVO_NR 0 // Defaults to SERVO 0 connector.
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
/**
* The BLTouch probe emulates a servo probe.
* If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES
* are setup for you in the background and you shouldn't need to set/modify/enable them
* with the possible exception of Z_ENDSTOP_SERVO_NR.
*/
//#define BLTOUCH //#define BLTOUCH
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
// Z Servo Probe, such as an endstop switch on a rotating arm. /**
//#define Z_ENDSTOP_SERVO_NR 0 * BLTouch WARNING - ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles * Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably
* sense the BLTouch. If the feedrate is too slow then G28 & G29 can sometimes result
* in the print head being driven into the bed until manual intervention.
* The minimum feedrate calculation is:
*
* feedrate minimum = 24000 / DEFAULT_AXIS_STEPS_PER_UNIT
* where feedrate is in "mm/minute" or "inches/minute" depending on the units used
* in DEFAULT_AXIS_STEPS_PER_UNIT
*
* This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST. If PROBE_DOUBLE_TOUCH
* is enabled then it also applies to Z_PROBE_SPEED_SLOW.
*/
// Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. /* Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. */
//#define Z_PROBE_SLED //#define Z_PROBE_SLED
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
// /**
// Allen Key Probe is defined in the Delta example configurations. * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// * X and Y offsets must be integers.
*
// Z Probe to nozzle (X,Y) offset, relative to (0, 0). * In the following example the X and Y offsets are both positive:
// X and Y offsets must be integers. * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
// * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
// In the following example the X and Y offsets are both positive: *
// #define X_PROBE_OFFSET_FROM_EXTRUDER 10 * +-- BACK ---+
// #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 * | |
// * L | (+) P | R <-- probe (20,20)
// +-- BACK ---+ * E | | I
// | | * F | (-) N (+) | G <-- nozzle (10,10)
// L | (+) P | R <-- probe (20,20) * T | | H
// E | | I * | (-) | T
// F | (-) N (+) | G <-- nozzle (10,10) * | |
// T | | H * O-- FRONT --+
// | (-) | T * (0,0)
// | | */
// O-- FRONT --+
// (0,0)
#define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle] #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle] #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle]
// X and Y axis travel speed (mm/m) between probes /* X and Y axis travel speed (mm/m) between probes */
#define XY_PROBE_SPEED 8000 #define XY_PROBE_SPEED 8000
// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
/* Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
// Speed for the "accurate" probe of each point
/* Speed for the "accurate" probe of each point */
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
// Use double touch for probing
//#define PROBE_DOUBLE_TOUCH
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** /* Use double touch for probing */
// //#define PROBE_DOUBLE_TOUCH
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// /**
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.) * Allen Key Probe is defined in the Delta example configurations.
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the *
// default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default. *
// To use a different pin you can override it here. * *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
// *
// WARNING: * - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// Setting the wrong pin may have unexpected and potentially disastrous consequences. * - Use 5V for powered (usu. inductive) sensors.
// Use with caution and do your homework. * - Otherwise connect:
// * - normally-closed switches to GND and D32.
//#define Z_MIN_PROBE_PIN X_MAX_PIN * - normally-open switches to 5V and D32.
*
* Normally-closed switches are advised and are the default.
*
*
* PIN OPTIONS\SETUP FOR Z PROBES
*
*
* WARNING:
* Setting the wrong pin may have unexpected and potentially disastrous consequences.
* Use with caution and do your homework.
*
*
* All Z PROBE pin options are configured by defining (or not defining)
* the following five items:
* Z_MIN_PROBE_ENDSTOP defined below
* Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN defined below
* Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file
* Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file
*
* If you're using a probe then you need to tell Marlin which pin to use as
* the Z MIN ENDSTOP. Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the
* Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used.
*
* The pin selected for the probe is ONLY checked during probing operations.
* If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE
* then youll need to use the Z_MIN_PROBE_PIN option.
*
* Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN.
*
* The settings needed to use the Z_MIN_PROBE_PIN are:
* 1. select the type of probe you're using
* 2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file
* 3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. enable Z_MIN_PROBE_ENDSTOP
* NOTE if Z_MIN_PIN is defined then itll be checked during all moves in the
* negative Z direction.
*
* The settings needed to use the Z_MIN_PIN are:
* 1. select the type of probe you're using
* 2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file
* 3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. disable Z_MIN_PROBE_ENDSTOP
* NOTES if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then itll be
* ignored by Marlin
*/
//
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
//#define Z_MIN_PROBE_ENDSTOP //#define Z_MIN_PROBE_ENDSTOP
// Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
// The Z_MIN_PIN will then be used for both Z-homing and probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// To use a probe you must enable one of the two options above!
// Enable Z Probe Repeatability test to see how accurate your probe is /* Enable Z Probe Repeatability test to see how accurate your probe is */
//#define Z_MIN_PROBE_REPEATABILITY_TEST //#define Z_MIN_PROBE_REPEATABILITY_TEST
/** /**
@ -648,12 +696,11 @@
#define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
// /* For M851 give a range for adjusting the Z probe offset */
// For M851 give a range for adjusting the Z probe offset
//
#define Z_PROBE_OFFSET_RANGE_MIN -20 #define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20 #define Z_PROBE_OFFSET_RANGE_MAX 20
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{ 0:'Low', 1:'High' } // :{ 0:'Low', 1:'High' }
#define X_ENABLE_ON 0 #define X_ENABLE_ON 0

@ -513,122 +513,170 @@
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== /**
//============================= Z Probe Options ============================= * ===========================================================================
//=========================================================================== * ============================= Z Probe Options =============================
// @section probes * ===========================================================================
* @section probes
// *
// Probe Type *
// Probes are sensors/switches that are activated / deactivated before/after use. * Probe Type
// * Probes are sensors/switches that are activated / deactivated before/after use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. *
// You must activate one of these to use Auto Bed Leveling below. * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
// * You must activate one of these to use Auto Bed Leveling below.
// Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. *
// * Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
*/
// The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. /**
// Use G29 repeatedly, adjusting the Z height at each point with movement commands * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
// or (with LCD_BED_LEVELING) the LCD controller. * Use G29 repeatedly, adjusting the Z height at each point with movement commands
* or (with LCD_BED_LEVELING) the LCD controller.
*/
//#define PROBE_MANUALLY //#define PROBE_MANUALLY
// A Fix-Mounted Probe either doesn't deploy or needs manual deployment. /**
// For example an inductive probe, or a setup that uses the nozzle to probe. * A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
// An inductive probe must be deactivated to go below * For example an inductive probe, or a setup that uses the nozzle to probe.
// its trigger-point if hardware endstops are active. * An inductive probe must be deactivated to go below
* its trigger-point if hardware endstops are active.
*/
//#define FIX_MOUNTED_PROBE //#define FIX_MOUNTED_PROBE
// The BLTouch probe emulates a servo probe. /**
// The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override. * Z Servo Probe, such as an endstop switch on a rotating arm.
* NUM_SERVOS also needs to be set. This is found later in this file. Set it to
* 1 + the number of other servos in your system.
*/
//#define Z_ENDSTOP_SERVO_NR 0 // Defaults to SERVO 0 connector.
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
/**
* The BLTouch probe emulates a servo probe.
* If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES
* are setup for you in the background and you shouldn't need to set/modify/enable them
* with the possible exception of Z_ENDSTOP_SERVO_NR.
*/
//#define BLTOUCH //#define BLTOUCH
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
// Z Servo Probe, such as an endstop switch on a rotating arm. /**
//#define Z_ENDSTOP_SERVO_NR 0 * BLTouch WARNING - ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles * Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably
* sense the BLTouch. If the feedrate is too slow then G28 & G29 can sometimes result
* in the print head being driven into the bed until manual intervention.
* The minimum feedrate calculation is:
*
* feedrate minimum = 24000 / DEFAULT_AXIS_STEPS_PER_UNIT
* where feedrate is in "mm/minute" or "inches/minute" depending on the units used
* in DEFAULT_AXIS_STEPS_PER_UNIT
*
* This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST. If PROBE_DOUBLE_TOUCH
* is enabled then it also applies to Z_PROBE_SPEED_SLOW.
*/
// Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. /* Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. */
//#define Z_PROBE_SLED //#define Z_PROBE_SLED
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
// /**
// Allen Key Probe is defined in the Delta example configurations. * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// * X and Y offsets must be integers.
*
// Z Probe to nozzle (X,Y) offset, relative to (0, 0). * In the following example the X and Y offsets are both positive:
// X and Y offsets must be integers. * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
// * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
// In the following example the X and Y offsets are both positive: *
// #define X_PROBE_OFFSET_FROM_EXTRUDER 10 * +-- BACK ---+
// #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 * | |
// * L | (+) P | R <-- probe (20,20)
// +-- BACK ---+ * E | | I
// | | * F | (-) N (+) | G <-- nozzle (10,10)
// L | (+) P | R <-- probe (20,20) * T | | H
// E | | I * | (-) | T
// F | (-) N (+) | G <-- nozzle (10,10) * | |
// T | | H * O-- FRONT --+
// | (-) | T * (0,0)
// | | */
// O-- FRONT --+
// (0,0)
#define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle] #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle] #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle]
// X and Y axis travel speed (mm/m) between probes /* X and Y axis travel speed (mm/m) between probes */
#define XY_PROBE_SPEED 8000 #define XY_PROBE_SPEED 8000
// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
/* Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
// Speed for the "accurate" probe of each point
/* Speed for the "accurate" probe of each point */
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
// Use double touch for probing
//#define PROBE_DOUBLE_TOUCH
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** /* Use double touch for probing */
// //#define PROBE_DOUBLE_TOUCH
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// /**
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.) * Allen Key Probe is defined in the Delta example configurations.
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the *
// default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default. *
// To use a different pin you can override it here. * *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
// *
// WARNING: * - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// Setting the wrong pin may have unexpected and potentially disastrous consequences. * - Use 5V for powered (usu. inductive) sensors.
// Use with caution and do your homework. * - Otherwise connect:
// * - normally-closed switches to GND and D32.
//#define Z_MIN_PROBE_PIN X_MAX_PIN * - normally-open switches to 5V and D32.
*
* Normally-closed switches are advised and are the default.
*
*
* PIN OPTIONS\SETUP FOR Z PROBES
*
*
* WARNING:
* Setting the wrong pin may have unexpected and potentially disastrous consequences.
* Use with caution and do your homework.
*
*
* All Z PROBE pin options are configured by defining (or not defining)
* the following five items:
* Z_MIN_PROBE_ENDSTOP defined below
* Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN defined below
* Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file
* Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file
*
* If you're using a probe then you need to tell Marlin which pin to use as
* the Z MIN ENDSTOP. Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the
* Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used.
*
* The pin selected for the probe is ONLY checked during probing operations.
* If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE
* then youll need to use the Z_MIN_PROBE_PIN option.
*
* Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN.
*
* The settings needed to use the Z_MIN_PROBE_PIN are:
* 1. select the type of probe you're using
* 2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file
* 3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. enable Z_MIN_PROBE_ENDSTOP
* NOTE if Z_MIN_PIN is defined then itll be checked during all moves in the
* negative Z direction.
*
* The settings needed to use the Z_MIN_PIN are:
* 1. select the type of probe you're using
* 2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file
* 3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. disable Z_MIN_PROBE_ENDSTOP
* NOTES if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then itll be
* ignored by Marlin
*/
//
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
//#define Z_MIN_PROBE_ENDSTOP //#define Z_MIN_PROBE_ENDSTOP
// Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
// The Z_MIN_PIN will then be used for both Z-homing and probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// To use a probe you must enable one of the two options above!
// Enable Z Probe Repeatability test to see how accurate your probe is /* Enable Z Probe Repeatability test to see how accurate your probe is */
//#define Z_MIN_PROBE_REPEATABILITY_TEST //#define Z_MIN_PROBE_REPEATABILITY_TEST
/** /**
@ -648,12 +696,11 @@
#define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
// /* For M851 give a range for adjusting the Z probe offset */
// For M851 give a range for adjusting the Z probe offset
//
#define Z_PROBE_OFFSET_RANGE_MIN -20 #define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20 #define Z_PROBE_OFFSET_RANGE_MAX 20
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{ 0:'Low', 1:'High' } // :{ 0:'Low', 1:'High' }
#define X_ENABLE_ON 0 #define X_ENABLE_ON 0

@ -522,122 +522,170 @@
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== /**
//============================= Z Probe Options ============================= * ===========================================================================
//=========================================================================== * ============================= Z Probe Options =============================
// @section probes * ===========================================================================
* @section probes
// *
// Probe Type *
// Probes are sensors/switches that are activated / deactivated before/after use. * Probe Type
// * Probes are sensors/switches that are activated / deactivated before/after use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. *
// You must activate one of these to use Auto Bed Leveling below. * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
// * You must activate one of these to use Auto Bed Leveling below.
// Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. *
// * Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
*/
// The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. /**
// Use G29 repeatedly, adjusting the Z height at each point with movement commands * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
// or (with LCD_BED_LEVELING) the LCD controller. * Use G29 repeatedly, adjusting the Z height at each point with movement commands
* or (with LCD_BED_LEVELING) the LCD controller.
*/
//#define PROBE_MANUALLY //#define PROBE_MANUALLY
// A Fix-Mounted Probe either doesn't deploy or needs manual deployment. /**
// For example an inductive probe, or a setup that uses the nozzle to probe. * A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
// An inductive probe must be deactivated to go below * For example an inductive probe, or a setup that uses the nozzle to probe.
// its trigger-point if hardware endstops are active. * An inductive probe must be deactivated to go below
* its trigger-point if hardware endstops are active.
*/
//#define FIX_MOUNTED_PROBE //#define FIX_MOUNTED_PROBE
// The BLTouch probe emulates a servo probe. /**
// The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override. * Z Servo Probe, such as an endstop switch on a rotating arm.
* NUM_SERVOS also needs to be set. This is found later in this file. Set it to
* 1 + the number of other servos in your system.
*/
//#define Z_ENDSTOP_SERVO_NR 0 // Defaults to SERVO 0 connector.
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
/**
* The BLTouch probe emulates a servo probe.
* If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES
* are setup for you in the background and you shouldn't need to set/modify/enable them
* with the possible exception of Z_ENDSTOP_SERVO_NR.
*/
//#define BLTOUCH //#define BLTOUCH
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
// Z Servo Probe, such as an endstop switch on a rotating arm. /**
//#define Z_ENDSTOP_SERVO_NR 0 * BLTouch WARNING - ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles * Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably
* sense the BLTouch. If the feedrate is too slow then G28 & G29 can sometimes result
* in the print head being driven into the bed until manual intervention.
* The minimum feedrate calculation is:
*
* feedrate minimum = 24000 / DEFAULT_AXIS_STEPS_PER_UNIT
* where feedrate is in "mm/minute" or "inches/minute" depending on the units used
* in DEFAULT_AXIS_STEPS_PER_UNIT
*
* This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST. If PROBE_DOUBLE_TOUCH
* is enabled then it also applies to Z_PROBE_SPEED_SLOW.
*/
// Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. /* Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. */
//#define Z_PROBE_SLED //#define Z_PROBE_SLED
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
// /**
// Allen Key Probe is defined in the Delta example configurations. * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// * X and Y offsets must be integers.
*
// Z Probe to nozzle (X,Y) offset, relative to (0, 0). * In the following example the X and Y offsets are both positive:
// X and Y offsets must be integers. * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
// * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
// In the following example the X and Y offsets are both positive: *
// #define X_PROBE_OFFSET_FROM_EXTRUDER 10 * +-- BACK ---+
// #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 * | |
// * L | (+) P | R <-- probe (20,20)
// +-- BACK ---+ * E | | I
// | | * F | (-) N (+) | G <-- nozzle (10,10)
// L | (+) P | R <-- probe (20,20) * T | | H
// E | | I * | (-) | T
// F | (-) N (+) | G <-- nozzle (10,10) * | |
// T | | H * O-- FRONT --+
// | (-) | T * (0,0)
// | | */
// O-- FRONT --+
// (0,0)
#define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle] #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle] #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle]
// X and Y axis travel speed (mm/m) between probes /* X and Y axis travel speed (mm/m) between probes */
#define XY_PROBE_SPEED 8000 #define XY_PROBE_SPEED 8000
// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
/* Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
// Speed for the "accurate" probe of each point
/* Speed for the "accurate" probe of each point */
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
// Use double touch for probing
//#define PROBE_DOUBLE_TOUCH
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** /* Use double touch for probing */
// //#define PROBE_DOUBLE_TOUCH
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// /**
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.) * Allen Key Probe is defined in the Delta example configurations.
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the *
// default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default. *
// To use a different pin you can override it here. * *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
// *
// WARNING: * - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// Setting the wrong pin may have unexpected and potentially disastrous consequences. * - Use 5V for powered (usu. inductive) sensors.
// Use with caution and do your homework. * - Otherwise connect:
// * - normally-closed switches to GND and D32.
//#define Z_MIN_PROBE_PIN X_MAX_PIN * - normally-open switches to 5V and D32.
*
* Normally-closed switches are advised and are the default.
*
*
* PIN OPTIONS\SETUP FOR Z PROBES
*
*
* WARNING:
* Setting the wrong pin may have unexpected and potentially disastrous consequences.
* Use with caution and do your homework.
*
*
* All Z PROBE pin options are configured by defining (or not defining)
* the following five items:
* Z_MIN_PROBE_ENDSTOP defined below
* Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN defined below
* Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file
* Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file
*
* If you're using a probe then you need to tell Marlin which pin to use as
* the Z MIN ENDSTOP. Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the
* Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used.
*
* The pin selected for the probe is ONLY checked during probing operations.
* If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE
* then youll need to use the Z_MIN_PROBE_PIN option.
*
* Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN.
*
* The settings needed to use the Z_MIN_PROBE_PIN are:
* 1. select the type of probe you're using
* 2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file
* 3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. enable Z_MIN_PROBE_ENDSTOP
* NOTE if Z_MIN_PIN is defined then itll be checked during all moves in the
* negative Z direction.
*
* The settings needed to use the Z_MIN_PIN are:
* 1. select the type of probe you're using
* 2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file
* 3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. disable Z_MIN_PROBE_ENDSTOP
* NOTES if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then itll be
* ignored by Marlin
*/
//
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
#define Z_MIN_PROBE_ENDSTOP #define Z_MIN_PROBE_ENDSTOP
// Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
// The Z_MIN_PIN will then be used for both Z-homing and probing.
//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN //#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// To use a probe you must enable one of the two options above!
// Enable Z Probe Repeatability test to see how accurate your probe is /* Enable Z Probe Repeatability test to see how accurate your probe is */
//#define Z_MIN_PROBE_REPEATABILITY_TEST //#define Z_MIN_PROBE_REPEATABILITY_TEST
/** /**
@ -657,12 +705,11 @@
#define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
// /* For M851 give a range for adjusting the Z probe offset */
// For M851 give a range for adjusting the Z probe offset
//
#define Z_PROBE_OFFSET_RANGE_MIN -20 #define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20 #define Z_PROBE_OFFSET_RANGE_MAX 20
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{ 0:'Low', 1:'High' } // :{ 0:'Low', 1:'High' }
#define X_ENABLE_ON 0 #define X_ENABLE_ON 0

@ -524,122 +524,170 @@
#define DEFAULT_EJERK 1.0 #define DEFAULT_EJERK 1.0
//=========================================================================== /**
//============================= Z Probe Options ============================= * ===========================================================================
//=========================================================================== * ============================= Z Probe Options =============================
// @section probes * ===========================================================================
* @section probes
// *
// Probe Type *
// Probes are sensors/switches that are activated / deactivated before/after use. * Probe Type
// * Probes are sensors/switches that are activated / deactivated before/after use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. *
// You must activate one of these to use Auto Bed Leveling below. * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
// * You must activate one of these to use Auto Bed Leveling below.
// Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. *
// * Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
*/
// The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. /**
// Use G29 repeatedly, adjusting the Z height at each point with movement commands * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
// or (with LCD_BED_LEVELING) the LCD controller. * Use G29 repeatedly, adjusting the Z height at each point with movement commands
* or (with LCD_BED_LEVELING) the LCD controller.
*/
//#define PROBE_MANUALLY //#define PROBE_MANUALLY
// A Fix-Mounted Probe either doesn't deploy or needs manual deployment. /**
// For example an inductive probe, or a setup that uses the nozzle to probe. * A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
// An inductive probe must be deactivated to go below * For example an inductive probe, or a setup that uses the nozzle to probe.
// its trigger-point if hardware endstops are active. * An inductive probe must be deactivated to go below
* its trigger-point if hardware endstops are active.
*/
#define FIX_MOUNTED_PROBE #define FIX_MOUNTED_PROBE
// The BLTouch probe emulates a servo probe. /**
// The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override. * Z Servo Probe, such as an endstop switch on a rotating arm.
* NUM_SERVOS also needs to be set. This is found later in this file. Set it to
* 1 + the number of other servos in your system.
*/
//#define Z_ENDSTOP_SERVO_NR 0 // Defaults to SERVO 0 connector.
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
/**
* The BLTouch probe emulates a servo probe.
* If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES
* are setup for you in the background and you shouldn't need to set/modify/enable them
* with the possible exception of Z_ENDSTOP_SERVO_NR.
*/
//#define BLTOUCH //#define BLTOUCH
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
// Z Servo Probe, such as an endstop switch on a rotating arm. /**
//#define Z_ENDSTOP_SERVO_NR 0 * BLTouch WARNING - ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles * Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably
* sense the BLTouch. If the feedrate is too slow then G28 & G29 can sometimes result
* in the print head being driven into the bed until manual intervention.
* The minimum feedrate calculation is:
*
* feedrate minimum = 24000 / DEFAULT_AXIS_STEPS_PER_UNIT
* where feedrate is in "mm/minute" or "inches/minute" depending on the units used
* in DEFAULT_AXIS_STEPS_PER_UNIT
*
* This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST. If PROBE_DOUBLE_TOUCH
* is enabled then it also applies to Z_PROBE_SPEED_SLOW.
*/
// Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. /* Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. */
//#define Z_PROBE_SLED //#define Z_PROBE_SLED
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
// /**
// Allen Key Probe is defined in the Delta example configurations. * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// * X and Y offsets must be integers.
*
// Z Probe to nozzle (X,Y) offset, relative to (0, 0). * In the following example the X and Y offsets are both positive:
// X and Y offsets must be integers. * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
// * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
// In the following example the X and Y offsets are both positive: *
// #define X_PROBE_OFFSET_FROM_EXTRUDER 10 * +-- BACK ---+
// #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 * | |
// * L | (+) P | R <-- probe (20,20)
// +-- BACK ---+ * E | | I
// | | * F | (-) N (+) | G <-- nozzle (10,10)
// L | (+) P | R <-- probe (20,20) * T | | H
// E | | I * | (-) | T
// F | (-) N (+) | G <-- nozzle (10,10) * | |
// T | | H * O-- FRONT --+
// | (-) | T * (0,0)
// | | */
// O-- FRONT --+
// (0,0)
#define X_PROBE_OFFSET_FROM_EXTRUDER 34 // X offset: -left +right [of the nozzle] #define X_PROBE_OFFSET_FROM_EXTRUDER 34 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER 15 // Y offset: -front +behind [the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER 15 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]
// X and Y axis travel speed (mm/m) between probes /* X and Y axis travel speed (mm/m) between probes */
#define XY_PROBE_SPEED 8000 #define XY_PROBE_SPEED 8000
// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
/* Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
// Speed for the "accurate" probe of each point
/* Speed for the "accurate" probe of each point */
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
// Use double touch for probing
//#define PROBE_DOUBLE_TOUCH
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** /* Use double touch for probing */
// //#define PROBE_DOUBLE_TOUCH
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// /**
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.) * Allen Key Probe is defined in the Delta example configurations.
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the *
// default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default. *
// To use a different pin you can override it here. * *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
// *
// WARNING: * - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// Setting the wrong pin may have unexpected and potentially disastrous consequences. * - Use 5V for powered (usu. inductive) sensors.
// Use with caution and do your homework. * - Otherwise connect:
// * - normally-closed switches to GND and D32.
//#define Z_MIN_PROBE_PIN X_MAX_PIN * - normally-open switches to 5V and D32.
*
* Normally-closed switches are advised and are the default.
*
*
* PIN OPTIONS\SETUP FOR Z PROBES
*
*
* WARNING:
* Setting the wrong pin may have unexpected and potentially disastrous consequences.
* Use with caution and do your homework.
*
*
* All Z PROBE pin options are configured by defining (or not defining)
* the following five items:
* Z_MIN_PROBE_ENDSTOP defined below
* Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN defined below
* Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file
* Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file
*
* If you're using a probe then you need to tell Marlin which pin to use as
* the Z MIN ENDSTOP. Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the
* Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used.
*
* The pin selected for the probe is ONLY checked during probing operations.
* If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE
* then youll need to use the Z_MIN_PROBE_PIN option.
*
* Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN.
*
* The settings needed to use the Z_MIN_PROBE_PIN are:
* 1. select the type of probe you're using
* 2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file
* 3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. enable Z_MIN_PROBE_ENDSTOP
* NOTE if Z_MIN_PIN is defined then itll be checked during all moves in the
* negative Z direction.
*
* The settings needed to use the Z_MIN_PIN are:
* 1. select the type of probe you're using
* 2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file
* 3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. disable Z_MIN_PROBE_ENDSTOP
* NOTES if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then itll be
* ignored by Marlin
*/
//
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
//#define Z_MIN_PROBE_ENDSTOP //#define Z_MIN_PROBE_ENDSTOP
// Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
// The Z_MIN_PIN will then be used for both Z-homing and probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// To use a probe you must enable one of the two options above!
// Enable Z Probe Repeatability test to see how accurate your probe is /* Enable Z Probe Repeatability test to see how accurate your probe is */
//#define Z_MIN_PROBE_REPEATABILITY_TEST //#define Z_MIN_PROBE_REPEATABILITY_TEST
/** /**
@ -659,12 +707,11 @@
#define Z_CLEARANCE_DEPLOY_PROBE 0 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_DEPLOY_PROBE 0 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 2 // Z Clearance between probe points #define Z_CLEARANCE_BETWEEN_PROBES 2 // Z Clearance between probe points
// /* For M851 give a range for adjusting the Z probe offset */
// For M851 give a range for adjusting the Z probe offset
//
#define Z_PROBE_OFFSET_RANGE_MIN -2 #define Z_PROBE_OFFSET_RANGE_MIN -2
#define Z_PROBE_OFFSET_RANGE_MAX 0 #define Z_PROBE_OFFSET_RANGE_MAX 0
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{ 0:'Low', 1:'High' } // :{ 0:'Low', 1:'High' }
#define X_ENABLE_ON 0 #define X_ENABLE_ON 0

@ -559,122 +559,170 @@
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== /**
//============================= Z Probe Options ============================= * ===========================================================================
//=========================================================================== * ============================= Z Probe Options =============================
// @section probes * ===========================================================================
* @section probes
// *
// Probe Type *
// Probes are sensors/switches that are activated / deactivated before/after use. * Probe Type
// * Probes are sensors/switches that are activated / deactivated before/after use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. *
// You must activate one of these to use Auto Bed Leveling below. * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
// * You must activate one of these to use Auto Bed Leveling below.
// Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. *
// * Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
*/
// The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. /**
// Use G29 repeatedly, adjusting the Z height at each point with movement commands * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
// or (with LCD_BED_LEVELING) the LCD controller. * Use G29 repeatedly, adjusting the Z height at each point with movement commands
* or (with LCD_BED_LEVELING) the LCD controller.
*/
//#define PROBE_MANUALLY //#define PROBE_MANUALLY
// A Fix-Mounted Probe either doesn't deploy or needs manual deployment. /**
// For example an inductive probe, or a setup that uses the nozzle to probe. * A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
// An inductive probe must be deactivated to go below * For example an inductive probe, or a setup that uses the nozzle to probe.
// its trigger-point if hardware endstops are active. * An inductive probe must be deactivated to go below
* its trigger-point if hardware endstops are active.
*/
//#define FIX_MOUNTED_PROBE //#define FIX_MOUNTED_PROBE
// The BLTouch probe emulates a servo probe. /**
// The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override. * Z Servo Probe, such as an endstop switch on a rotating arm.
* NUM_SERVOS also needs to be set. This is found later in this file. Set it to
* 1 + the number of other servos in your system.
*/
//#define Z_ENDSTOP_SERVO_NR 0 // Defaults to SERVO 0 connector.
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
/**
* The BLTouch probe emulates a servo probe.
* If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES
* are setup for you in the background and you shouldn't need to set/modify/enable them
* with the possible exception of Z_ENDSTOP_SERVO_NR.
*/
//#define BLTOUCH //#define BLTOUCH
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
// Z Servo Probe, such as an endstop switch on a rotating arm. /**
//#define Z_ENDSTOP_SERVO_NR 0 * BLTouch WARNING - ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles * Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably
* sense the BLTouch. If the feedrate is too slow then G28 & G29 can sometimes result
* in the print head being driven into the bed until manual intervention.
* The minimum feedrate calculation is:
*
* feedrate minimum = 24000 / DEFAULT_AXIS_STEPS_PER_UNIT
* where feedrate is in "mm/minute" or "inches/minute" depending on the units used
* in DEFAULT_AXIS_STEPS_PER_UNIT
*
* This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST. If PROBE_DOUBLE_TOUCH
* is enabled then it also applies to Z_PROBE_SPEED_SLOW.
*/
// Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. /* Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. */
//#define Z_PROBE_SLED //#define Z_PROBE_SLED
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
// /**
// Allen Key Probe is defined in the Delta example configurations. * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// * X and Y offsets must be integers.
*
// Z Probe to nozzle (X,Y) offset, relative to (0, 0). * In the following example the X and Y offsets are both positive:
// X and Y offsets must be integers. * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
// * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
// In the following example the X and Y offsets are both positive: *
// #define X_PROBE_OFFSET_FROM_EXTRUDER 10 * +-- BACK ---+
// #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 * | |
// * L | (+) P | R <-- probe (20,20)
// +-- BACK ---+ * E | | I
// | | * F | (-) N (+) | G <-- nozzle (10,10)
// L | (+) P | R <-- probe (20,20) * T | | H
// E | | I * | (-) | T
// F | (-) N (+) | G <-- nozzle (10,10) * | |
// T | | H * O-- FRONT --+
// | (-) | T * (0,0)
// | | */
// O-- FRONT --+
// (0,0)
#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] #define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]
// X and Y axis travel speed (mm/m) between probes /* X and Y axis travel speed (mm/m) between probes */
#define XY_PROBE_SPEED 8000 #define XY_PROBE_SPEED 8000
// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
/* Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
// Speed for the "accurate" probe of each point
/* Speed for the "accurate" probe of each point */
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
// Use double touch for probing
//#define PROBE_DOUBLE_TOUCH
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** /* Use double touch for probing */
// //#define PROBE_DOUBLE_TOUCH
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// /**
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.) * Allen Key Probe is defined in the Delta example configurations.
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the *
// default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default. *
// To use a different pin you can override it here. * *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
// *
// WARNING: * - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// Setting the wrong pin may have unexpected and potentially disastrous consequences. * - Use 5V for powered (usu. inductive) sensors.
// Use with caution and do your homework. * - Otherwise connect:
// * - normally-closed switches to GND and D32.
//#define Z_MIN_PROBE_PIN X_MAX_PIN * - normally-open switches to 5V and D32.
*
* Normally-closed switches are advised and are the default.
*
*
* PIN OPTIONS\SETUP FOR Z PROBES
*
*
* WARNING:
* Setting the wrong pin may have unexpected and potentially disastrous consequences.
* Use with caution and do your homework.
*
*
* All Z PROBE pin options are configured by defining (or not defining)
* the following five items:
* Z_MIN_PROBE_ENDSTOP defined below
* Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN defined below
* Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file
* Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file
*
* If you're using a probe then you need to tell Marlin which pin to use as
* the Z MIN ENDSTOP. Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the
* Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used.
*
* The pin selected for the probe is ONLY checked during probing operations.
* If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE
* then youll need to use the Z_MIN_PROBE_PIN option.
*
* Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN.
*
* The settings needed to use the Z_MIN_PROBE_PIN are:
* 1. select the type of probe you're using
* 2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file
* 3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. enable Z_MIN_PROBE_ENDSTOP
* NOTE if Z_MIN_PIN is defined then itll be checked during all moves in the
* negative Z direction.
*
* The settings needed to use the Z_MIN_PIN are:
* 1. select the type of probe you're using
* 2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file
* 3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. disable Z_MIN_PROBE_ENDSTOP
* NOTES if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then itll be
* ignored by Marlin
*/
//
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
//#define Z_MIN_PROBE_ENDSTOP //#define Z_MIN_PROBE_ENDSTOP
// Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
// The Z_MIN_PIN will then be used for both Z-homing and probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// To use a probe you must enable one of the two options above!
// Enable Z Probe Repeatability test to see how accurate your probe is /* Enable Z Probe Repeatability test to see how accurate your probe is */
//#define Z_MIN_PROBE_REPEATABILITY_TEST //#define Z_MIN_PROBE_REPEATABILITY_TEST
/** /**
@ -694,9 +742,7 @@
#define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
// /* For M851 give a range for adjusting the Z probe offset */
// For M851 give a range for adjusting the Z probe offset
//
#define Z_PROBE_OFFSET_RANGE_MIN -20 #define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20 #define Z_PROBE_OFFSET_RANGE_MAX 20

@ -530,122 +530,170 @@
#define DEFAULT_EJERK 20.0 #define DEFAULT_EJERK 20.0
//=========================================================================== /**
//============================= Z Probe Options ============================= * ===========================================================================
//=========================================================================== * ============================= Z Probe Options =============================
// @section probes * ===========================================================================
* @section probes
// *
// Probe Type *
// Probes are sensors/switches that are activated / deactivated before/after use. * Probe Type
// * Probes are sensors/switches that are activated / deactivated before/after use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. *
// You must activate one of these to use Auto Bed Leveling below. * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
// * You must activate one of these to use Auto Bed Leveling below.
// Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. *
// * Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
*/
// The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. /**
// Use G29 repeatedly, adjusting the Z height at each point with movement commands * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
// or (with LCD_BED_LEVELING) the LCD controller. * Use G29 repeatedly, adjusting the Z height at each point with movement commands
* or (with LCD_BED_LEVELING) the LCD controller.
*/
//#define PROBE_MANUALLY //#define PROBE_MANUALLY
// A Fix-Mounted Probe either doesn't deploy or needs manual deployment. /**
// For example an inductive probe, or a setup that uses the nozzle to probe. * A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
// An inductive probe must be deactivated to go below * For example an inductive probe, or a setup that uses the nozzle to probe.
// its trigger-point if hardware endstops are active. * An inductive probe must be deactivated to go below
* its trigger-point if hardware endstops are active.
*/
//#define FIX_MOUNTED_PROBE //#define FIX_MOUNTED_PROBE
// The BLTouch probe emulates a servo probe. /**
// The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override. * Z Servo Probe, such as an endstop switch on a rotating arm.
* NUM_SERVOS also needs to be set. This is found later in this file. Set it to
* 1 + the number of other servos in your system.
*/
//#define Z_ENDSTOP_SERVO_NR 0 // Defaults to SERVO 0 connector.
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
/**
* The BLTouch probe emulates a servo probe.
* If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES
* are setup for you in the background and you shouldn't need to set/modify/enable them
* with the possible exception of Z_ENDSTOP_SERVO_NR.
*/
//#define BLTOUCH //#define BLTOUCH
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
// Z Servo Probe, such as an endstop switch on a rotating arm. /**
//#define Z_ENDSTOP_SERVO_NR 0 * BLTouch WARNING - ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles * Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably
* sense the BLTouch. If the feedrate is too slow then G28 & G29 can sometimes result
* in the print head being driven into the bed until manual intervention.
* The minimum feedrate calculation is:
*
* feedrate minimum = 24000 / DEFAULT_AXIS_STEPS_PER_UNIT
* where feedrate is in "mm/minute" or "inches/minute" depending on the units used
* in DEFAULT_AXIS_STEPS_PER_UNIT
*
* This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST. If PROBE_DOUBLE_TOUCH
* is enabled then it also applies to Z_PROBE_SPEED_SLOW.
*/
// Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. /* Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. */
//#define Z_PROBE_SLED //#define Z_PROBE_SLED
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
// /**
// Allen Key Probe is defined in the Delta example configurations. * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// * X and Y offsets must be integers.
*
// Z Probe to nozzle (X,Y) offset, relative to (0, 0). * In the following example the X and Y offsets are both positive:
// X and Y offsets must be integers. * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
// * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
// In the following example the X and Y offsets are both positive: *
// #define X_PROBE_OFFSET_FROM_EXTRUDER 10 * +-- BACK ---+
// #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 * | |
// * L | (+) P | R <-- probe (20,20)
// +-- BACK ---+ * E | | I
// | | * F | (-) N (+) | G <-- nozzle (10,10)
// L | (+) P | R <-- probe (20,20) * T | | H
// E | | I * | (-) | T
// F | (-) N (+) | G <-- nozzle (10,10) * | |
// T | | H * O-- FRONT --+
// | (-) | T * (0,0)
// | | */
// O-- FRONT --+
// (0,0)
#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] #define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]
// X and Y axis travel speed (mm/m) between probes /* X and Y axis travel speed (mm/m) between probes */
#define XY_PROBE_SPEED 8000 #define XY_PROBE_SPEED 8000
// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
/* Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
// Speed for the "accurate" probe of each point
/* Speed for the "accurate" probe of each point */
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
// Use double touch for probing
//#define PROBE_DOUBLE_TOUCH
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** /* Use double touch for probing */
// //#define PROBE_DOUBLE_TOUCH
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// /**
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.) * Allen Key Probe is defined in the Delta example configurations.
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the *
// default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default. *
// To use a different pin you can override it here. * *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
// *
// WARNING: * - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// Setting the wrong pin may have unexpected and potentially disastrous consequences. * - Use 5V for powered (usu. inductive) sensors.
// Use with caution and do your homework. * - Otherwise connect:
// * - normally-closed switches to GND and D32.
//#define Z_MIN_PROBE_PIN X_MAX_PIN * - normally-open switches to 5V and D32.
*
* Normally-closed switches are advised and are the default.
*
*
* PIN OPTIONS\SETUP FOR Z PROBES
*
*
* WARNING:
* Setting the wrong pin may have unexpected and potentially disastrous consequences.
* Use with caution and do your homework.
*
*
* All Z PROBE pin options are configured by defining (or not defining)
* the following five items:
* Z_MIN_PROBE_ENDSTOP defined below
* Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN defined below
* Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file
* Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file
*
* If you're using a probe then you need to tell Marlin which pin to use as
* the Z MIN ENDSTOP. Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the
* Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used.
*
* The pin selected for the probe is ONLY checked during probing operations.
* If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE
* then youll need to use the Z_MIN_PROBE_PIN option.
*
* Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN.
*
* The settings needed to use the Z_MIN_PROBE_PIN are:
* 1. select the type of probe you're using
* 2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file
* 3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. enable Z_MIN_PROBE_ENDSTOP
* NOTE if Z_MIN_PIN is defined then itll be checked during all moves in the
* negative Z direction.
*
* The settings needed to use the Z_MIN_PIN are:
* 1. select the type of probe you're using
* 2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file
* 3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. disable Z_MIN_PROBE_ENDSTOP
* NOTES if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then itll be
* ignored by Marlin
*/
//
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
//#define Z_MIN_PROBE_ENDSTOP //#define Z_MIN_PROBE_ENDSTOP
// Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
// The Z_MIN_PIN will then be used for both Z-homing and probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// To use a probe you must enable one of the two options above!
// Enable Z Probe Repeatability test to see how accurate your probe is /* Enable Z Probe Repeatability test to see how accurate your probe is */
//#define Z_MIN_PROBE_REPEATABILITY_TEST //#define Z_MIN_PROBE_REPEATABILITY_TEST
/** /**
@ -665,12 +713,11 @@
#define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
// /* For M851 give a range for adjusting the Z probe offset */
// For M851 give a range for adjusting the Z probe offset
//
#define Z_PROBE_OFFSET_RANGE_MIN -20 #define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20 #define Z_PROBE_OFFSET_RANGE_MAX 20
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{ 0:'Low', 1:'High' } // :{ 0:'Low', 1:'High' }
#define X_ENABLE_ON 0 #define X_ENABLE_ON 0

@ -530,122 +530,170 @@
#define DEFAULT_EJERK 20.0 #define DEFAULT_EJERK 20.0
//=========================================================================== /**
//============================= Z Probe Options ============================= * ===========================================================================
//=========================================================================== * ============================= Z Probe Options =============================
// @section probes * ===========================================================================
* @section probes
// *
// Probe Type *
// Probes are sensors/switches that are activated / deactivated before/after use. * Probe Type
// * Probes are sensors/switches that are activated / deactivated before/after use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. *
// You must activate one of these to use Auto Bed Leveling below. * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
// * You must activate one of these to use Auto Bed Leveling below.
// Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. *
// * Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
*/
// The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. /**
// Use G29 repeatedly, adjusting the Z height at each point with movement commands * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
// or (with LCD_BED_LEVELING) the LCD controller. * Use G29 repeatedly, adjusting the Z height at each point with movement commands
* or (with LCD_BED_LEVELING) the LCD controller.
*/
//#define PROBE_MANUALLY //#define PROBE_MANUALLY
// A Fix-Mounted Probe either doesn't deploy or needs manual deployment. /**
// For example an inductive probe, or a setup that uses the nozzle to probe. * A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
// An inductive probe must be deactivated to go below * For example an inductive probe, or a setup that uses the nozzle to probe.
// its trigger-point if hardware endstops are active. * An inductive probe must be deactivated to go below
* its trigger-point if hardware endstops are active.
*/
//#define FIX_MOUNTED_PROBE //#define FIX_MOUNTED_PROBE
// The BLTouch probe emulates a servo probe. /**
// The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override. * Z Servo Probe, such as an endstop switch on a rotating arm.
* NUM_SERVOS also needs to be set. This is found later in this file. Set it to
* 1 + the number of other servos in your system.
*/
//#define Z_ENDSTOP_SERVO_NR 0 // Defaults to SERVO 0 connector.
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
/**
* The BLTouch probe emulates a servo probe.
* If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES
* are setup for you in the background and you shouldn't need to set/modify/enable them
* with the possible exception of Z_ENDSTOP_SERVO_NR.
*/
//#define BLTOUCH //#define BLTOUCH
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
// Z Servo Probe, such as an endstop switch on a rotating arm. /**
//#define Z_ENDSTOP_SERVO_NR 0 * BLTouch WARNING - ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles * Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably
* sense the BLTouch. If the feedrate is too slow then G28 & G29 can sometimes result
* in the print head being driven into the bed until manual intervention.
* The minimum feedrate calculation is:
*
* feedrate minimum = 24000 / DEFAULT_AXIS_STEPS_PER_UNIT
* where feedrate is in "mm/minute" or "inches/minute" depending on the units used
* in DEFAULT_AXIS_STEPS_PER_UNIT
*
* This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST. If PROBE_DOUBLE_TOUCH
* is enabled then it also applies to Z_PROBE_SPEED_SLOW.
*/
// Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. /* Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. */
//#define Z_PROBE_SLED //#define Z_PROBE_SLED
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
// /**
// Allen Key Probe is defined in the Delta example configurations. * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// * X and Y offsets must be integers.
*
// Z Probe to nozzle (X,Y) offset, relative to (0, 0). * In the following example the X and Y offsets are both positive:
// X and Y offsets must be integers. * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
// * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
// In the following example the X and Y offsets are both positive: *
// #define X_PROBE_OFFSET_FROM_EXTRUDER 10 * +-- BACK ---+
// #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 * | |
// * L | (+) P | R <-- probe (20,20)
// +-- BACK ---+ * E | | I
// | | * F | (-) N (+) | G <-- nozzle (10,10)
// L | (+) P | R <-- probe (20,20) * T | | H
// E | | I * | (-) | T
// F | (-) N (+) | G <-- nozzle (10,10) * | |
// T | | H * O-- FRONT --+
// | (-) | T * (0,0)
// | | */
// O-- FRONT --+
// (0,0)
#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] #define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]
// X and Y axis travel speed (mm/m) between probes /* X and Y axis travel speed (mm/m) between probes */
#define XY_PROBE_SPEED 8000 #define XY_PROBE_SPEED 8000
// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
/* Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
// Speed for the "accurate" probe of each point
/* Speed for the "accurate" probe of each point */
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
// Use double touch for probing
//#define PROBE_DOUBLE_TOUCH
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** /* Use double touch for probing */
// //#define PROBE_DOUBLE_TOUCH
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// /**
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.) * Allen Key Probe is defined in the Delta example configurations.
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the *
// default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default. *
// To use a different pin you can override it here. * *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
// *
// WARNING: * - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// Setting the wrong pin may have unexpected and potentially disastrous consequences. * - Use 5V for powered (usu. inductive) sensors.
// Use with caution and do your homework. * - Otherwise connect:
// * - normally-closed switches to GND and D32.
//#define Z_MIN_PROBE_PIN X_MAX_PIN * - normally-open switches to 5V and D32.
*
* Normally-closed switches are advised and are the default.
*
*
* PIN OPTIONS\SETUP FOR Z PROBES
*
*
* WARNING:
* Setting the wrong pin may have unexpected and potentially disastrous consequences.
* Use with caution and do your homework.
*
*
* All Z PROBE pin options are configured by defining (or not defining)
* the following five items:
* Z_MIN_PROBE_ENDSTOP defined below
* Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN defined below
* Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file
* Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file
*
* If you're using a probe then you need to tell Marlin which pin to use as
* the Z MIN ENDSTOP. Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the
* Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used.
*
* The pin selected for the probe is ONLY checked during probing operations.
* If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE
* then youll need to use the Z_MIN_PROBE_PIN option.
*
* Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN.
*
* The settings needed to use the Z_MIN_PROBE_PIN are:
* 1. select the type of probe you're using
* 2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file
* 3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. enable Z_MIN_PROBE_ENDSTOP
* NOTE if Z_MIN_PIN is defined then itll be checked during all moves in the
* negative Z direction.
*
* The settings needed to use the Z_MIN_PIN are:
* 1. select the type of probe you're using
* 2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file
* 3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. disable Z_MIN_PROBE_ENDSTOP
* NOTES if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then itll be
* ignored by Marlin
*/
//
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
//#define Z_MIN_PROBE_ENDSTOP //#define Z_MIN_PROBE_ENDSTOP
// Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
// The Z_MIN_PIN will then be used for both Z-homing and probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// To use a probe you must enable one of the two options above!
// Enable Z Probe Repeatability test to see how accurate your probe is /* Enable Z Probe Repeatability test to see how accurate your probe is */
//#define Z_MIN_PROBE_REPEATABILITY_TEST //#define Z_MIN_PROBE_REPEATABILITY_TEST
/** /**
@ -665,12 +713,11 @@
#define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
// /* For M851 give a range for adjusting the Z probe offset */
// For M851 give a range for adjusting the Z probe offset
//
#define Z_PROBE_OFFSET_RANGE_MIN -20 #define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20 #define Z_PROBE_OFFSET_RANGE_MAX 20
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{ 0:'Low', 1:'High' } // :{ 0:'Low', 1:'High' }
#define X_ENABLE_ON 0 #define X_ENABLE_ON 0

@ -530,122 +530,170 @@
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== /**
//============================= Z Probe Options ============================= * ===========================================================================
//=========================================================================== * ============================= Z Probe Options =============================
// @section probes * ===========================================================================
* @section probes
// *
// Probe Type *
// Probes are sensors/switches that are activated / deactivated before/after use. * Probe Type
// * Probes are sensors/switches that are activated / deactivated before/after use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. *
// You must activate one of these to use Auto Bed Leveling below. * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
// * You must activate one of these to use Auto Bed Leveling below.
// Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. *
// * Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
*/
// The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. /**
// Use G29 repeatedly, adjusting the Z height at each point with movement commands * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
// or (with LCD_BED_LEVELING) the LCD controller. * Use G29 repeatedly, adjusting the Z height at each point with movement commands
* or (with LCD_BED_LEVELING) the LCD controller.
*/
//#define PROBE_MANUALLY //#define PROBE_MANUALLY
// A Fix-Mounted Probe either doesn't deploy or needs manual deployment. /**
// For example an inductive probe, or a setup that uses the nozzle to probe. * A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
// An inductive probe must be deactivated to go below * For example an inductive probe, or a setup that uses the nozzle to probe.
// its trigger-point if hardware endstops are active. * An inductive probe must be deactivated to go below
* its trigger-point if hardware endstops are active.
*/
//#define FIX_MOUNTED_PROBE //#define FIX_MOUNTED_PROBE
// The BLTouch probe emulates a servo probe. /**
// The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override. * Z Servo Probe, such as an endstop switch on a rotating arm.
* NUM_SERVOS also needs to be set. This is found later in this file. Set it to
* 1 + the number of other servos in your system.
*/
//#define Z_ENDSTOP_SERVO_NR 0 // Defaults to SERVO 0 connector.
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
/**
* The BLTouch probe emulates a servo probe.
* If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES
* are setup for you in the background and you shouldn't need to set/modify/enable them
* with the possible exception of Z_ENDSTOP_SERVO_NR.
*/
//#define BLTOUCH //#define BLTOUCH
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
// Z Servo Probe, such as an endstop switch on a rotating arm. /**
//#define Z_ENDSTOP_SERVO_NR 0 * BLTouch WARNING - ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles * Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably
* sense the BLTouch. If the feedrate is too slow then G28 & G29 can sometimes result
* in the print head being driven into the bed until manual intervention.
* The minimum feedrate calculation is:
*
* feedrate minimum = 24000 / DEFAULT_AXIS_STEPS_PER_UNIT
* where feedrate is in "mm/minute" or "inches/minute" depending on the units used
* in DEFAULT_AXIS_STEPS_PER_UNIT
*
* This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST. If PROBE_DOUBLE_TOUCH
* is enabled then it also applies to Z_PROBE_SPEED_SLOW.
*/
// Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. /* Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. */
//#define Z_PROBE_SLED //#define Z_PROBE_SLED
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
// /**
// Allen Key Probe is defined in the Delta example configurations. * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// * X and Y offsets must be integers.
*
// Z Probe to nozzle (X,Y) offset, relative to (0, 0). * In the following example the X and Y offsets are both positive:
// X and Y offsets must be integers. * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
// * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
// In the following example the X and Y offsets are both positive: *
// #define X_PROBE_OFFSET_FROM_EXTRUDER 10 * +-- BACK ---+
// #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 * | |
// * L | (+) P | R <-- probe (20,20)
// +-- BACK ---+ * E | | I
// | | * F | (-) N (+) | G <-- nozzle (10,10)
// L | (+) P | R <-- probe (20,20) * T | | H
// E | | I * | (-) | T
// F | (-) N (+) | G <-- nozzle (10,10) * | |
// T | | H * O-- FRONT --+
// | (-) | T * (0,0)
// | | */
// O-- FRONT --+
// (0,0)
#define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle] #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle] #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle]
// X and Y axis travel speed (mm/m) between probes /* X and Y axis travel speed (mm/m) between probes */
#define XY_PROBE_SPEED 8000 #define XY_PROBE_SPEED 8000
// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
/* Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
// Speed for the "accurate" probe of each point
/* Speed for the "accurate" probe of each point */
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
// Use double touch for probing
//#define PROBE_DOUBLE_TOUCH
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** /* Use double touch for probing */
// //#define PROBE_DOUBLE_TOUCH
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// /**
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.) * Allen Key Probe is defined in the Delta example configurations.
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the *
// default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default. *
// To use a different pin you can override it here. * *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
// *
// WARNING: * - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// Setting the wrong pin may have unexpected and potentially disastrous consequences. * - Use 5V for powered (usu. inductive) sensors.
// Use with caution and do your homework. * - Otherwise connect:
// * - normally-closed switches to GND and D32.
//#define Z_MIN_PROBE_PIN X_MAX_PIN * - normally-open switches to 5V and D32.
*
* Normally-closed switches are advised and are the default.
*
*
* PIN OPTIONS\SETUP FOR Z PROBES
*
*
* WARNING:
* Setting the wrong pin may have unexpected and potentially disastrous consequences.
* Use with caution and do your homework.
*
*
* All Z PROBE pin options are configured by defining (or not defining)
* the following five items:
* Z_MIN_PROBE_ENDSTOP defined below
* Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN defined below
* Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file
* Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file
*
* If you're using a probe then you need to tell Marlin which pin to use as
* the Z MIN ENDSTOP. Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the
* Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used.
*
* The pin selected for the probe is ONLY checked during probing operations.
* If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE
* then youll need to use the Z_MIN_PROBE_PIN option.
*
* Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN.
*
* The settings needed to use the Z_MIN_PROBE_PIN are:
* 1. select the type of probe you're using
* 2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file
* 3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. enable Z_MIN_PROBE_ENDSTOP
* NOTE if Z_MIN_PIN is defined then itll be checked during all moves in the
* negative Z direction.
*
* The settings needed to use the Z_MIN_PIN are:
* 1. select the type of probe you're using
* 2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file
* 3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. disable Z_MIN_PROBE_ENDSTOP
* NOTES if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then itll be
* ignored by Marlin
*/
//
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
//#define Z_MIN_PROBE_ENDSTOP //#define Z_MIN_PROBE_ENDSTOP
// Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
// The Z_MIN_PIN will then be used for both Z-homing and probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// To use a probe you must enable one of the two options above!
// Enable Z Probe Repeatability test to see how accurate your probe is /* Enable Z Probe Repeatability test to see how accurate your probe is */
//#define Z_MIN_PROBE_REPEATABILITY_TEST //#define Z_MIN_PROBE_REPEATABILITY_TEST
/** /**
@ -665,12 +713,11 @@
#define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
// /* For M851 give a range for adjusting the Z probe offset */
// For M851 give a range for adjusting the Z probe offset
//
#define Z_PROBE_OFFSET_RANGE_MIN -20 #define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20 #define Z_PROBE_OFFSET_RANGE_MAX 20
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{ 0:'Low', 1:'High' } // :{ 0:'Low', 1:'High' }
#define X_ENABLE_ON 0 #define X_ENABLE_ON 0

@ -529,122 +529,170 @@
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== /**
//============================= Z Probe Options ============================= * ===========================================================================
//=========================================================================== * ============================= Z Probe Options =============================
// @section probes * ===========================================================================
* @section probes
// *
// Probe Type *
// Probes are sensors/switches that are activated / deactivated before/after use. * Probe Type
// * Probes are sensors/switches that are activated / deactivated before/after use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. *
// You must activate one of these to use Auto Bed Leveling below. * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
// * You must activate one of these to use Auto Bed Leveling below.
// Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. *
// * Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
*/
// The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. /**
// Use G29 repeatedly, adjusting the Z height at each point with movement commands * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
// or (with LCD_BED_LEVELING) the LCD controller. * Use G29 repeatedly, adjusting the Z height at each point with movement commands
* or (with LCD_BED_LEVELING) the LCD controller.
*/
//#define PROBE_MANUALLY //#define PROBE_MANUALLY
// A Fix-Mounted Probe either doesn't deploy or needs manual deployment. /**
// For example an inductive probe, or a setup that uses the nozzle to probe. * A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
// An inductive probe must be deactivated to go below * For example an inductive probe, or a setup that uses the nozzle to probe.
// its trigger-point if hardware endstops are active. * An inductive probe must be deactivated to go below
* its trigger-point if hardware endstops are active.
*/
//#define FIX_MOUNTED_PROBE //#define FIX_MOUNTED_PROBE
// The BLTouch probe emulates a servo probe. /**
// The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override. * Z Servo Probe, such as an endstop switch on a rotating arm.
* NUM_SERVOS also needs to be set. This is found later in this file. Set it to
* 1 + the number of other servos in your system.
*/
//#define Z_ENDSTOP_SERVO_NR 0 // Defaults to SERVO 0 connector.
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
/**
* The BLTouch probe emulates a servo probe.
* If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES
* are setup for you in the background and you shouldn't need to set/modify/enable them
* with the possible exception of Z_ENDSTOP_SERVO_NR.
*/
//#define BLTOUCH //#define BLTOUCH
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
// Z Servo Probe, such as an endstop switch on a rotating arm. /**
//#define Z_ENDSTOP_SERVO_NR 0 * BLTouch WARNING - ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles * Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably
* sense the BLTouch. If the feedrate is too slow then G28 & G29 can sometimes result
* in the print head being driven into the bed until manual intervention.
* The minimum feedrate calculation is:
*
* feedrate minimum = 24000 / DEFAULT_AXIS_STEPS_PER_UNIT
* where feedrate is in "mm/minute" or "inches/minute" depending on the units used
* in DEFAULT_AXIS_STEPS_PER_UNIT
*
* This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST. If PROBE_DOUBLE_TOUCH
* is enabled then it also applies to Z_PROBE_SPEED_SLOW.
*/
// Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. /* Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. */
//#define Z_PROBE_SLED //#define Z_PROBE_SLED
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
// /**
// Allen Key Probe is defined in the Delta example configurations. * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// * X and Y offsets must be integers.
*
// Z Probe to nozzle (X,Y) offset, relative to (0, 0). * In the following example the X and Y offsets are both positive:
// X and Y offsets must be integers. * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
// * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
// In the following example the X and Y offsets are both positive: *
// #define X_PROBE_OFFSET_FROM_EXTRUDER 10 * +-- BACK ---+
// #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 * | |
// * L | (+) P | R <-- probe (20,20)
// +-- BACK ---+ * E | | I
// | | * F | (-) N (+) | G <-- nozzle (10,10)
// L | (+) P | R <-- probe (20,20) * T | | H
// E | | I * | (-) | T
// F | (-) N (+) | G <-- nozzle (10,10) * | |
// T | | H * O-- FRONT --+
// | (-) | T * (0,0)
// | | */
// O-- FRONT --+
// (0,0)
#define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle] #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle] #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle]
// X and Y axis travel speed (mm/m) between probes /* X and Y axis travel speed (mm/m) between probes */
#define XY_PROBE_SPEED 8000 #define XY_PROBE_SPEED 8000
// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
/* Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
// Speed for the "accurate" probe of each point
/* Speed for the "accurate" probe of each point */
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
// Use double touch for probing
//#define PROBE_DOUBLE_TOUCH
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** /* Use double touch for probing */
// //#define PROBE_DOUBLE_TOUCH
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// /**
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.) * Allen Key Probe is defined in the Delta example configurations.
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the *
// default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default. *
// To use a different pin you can override it here. * *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
// *
// WARNING: * - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// Setting the wrong pin may have unexpected and potentially disastrous consequences. * - Use 5V for powered (usu. inductive) sensors.
// Use with caution and do your homework. * - Otherwise connect:
// * - normally-closed switches to GND and D32.
//#define Z_MIN_PROBE_PIN X_MAX_PIN * - normally-open switches to 5V and D32.
*
* Normally-closed switches are advised and are the default.
*
*
* PIN OPTIONS\SETUP FOR Z PROBES
*
*
* WARNING:
* Setting the wrong pin may have unexpected and potentially disastrous consequences.
* Use with caution and do your homework.
*
*
* All Z PROBE pin options are configured by defining (or not defining)
* the following five items:
* Z_MIN_PROBE_ENDSTOP defined below
* Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN defined below
* Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file
* Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file
*
* If you're using a probe then you need to tell Marlin which pin to use as
* the Z MIN ENDSTOP. Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the
* Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used.
*
* The pin selected for the probe is ONLY checked during probing operations.
* If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE
* then youll need to use the Z_MIN_PROBE_PIN option.
*
* Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN.
*
* The settings needed to use the Z_MIN_PROBE_PIN are:
* 1. select the type of probe you're using
* 2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file
* 3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. enable Z_MIN_PROBE_ENDSTOP
* NOTE if Z_MIN_PIN is defined then itll be checked during all moves in the
* negative Z direction.
*
* The settings needed to use the Z_MIN_PIN are:
* 1. select the type of probe you're using
* 2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file
* 3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. disable Z_MIN_PROBE_ENDSTOP
* NOTES if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then itll be
* ignored by Marlin
*/
//
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
//#define Z_MIN_PROBE_ENDSTOP //#define Z_MIN_PROBE_ENDSTOP
// Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
// The Z_MIN_PIN will then be used for both Z-homing and probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// To use a probe you must enable one of the two options above!
// Enable Z Probe Repeatability test to see how accurate your probe is /* Enable Z Probe Repeatability test to see how accurate your probe is */
//#define Z_MIN_PROBE_REPEATABILITY_TEST //#define Z_MIN_PROBE_REPEATABILITY_TEST
/** /**
@ -664,12 +712,11 @@
#define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
// /* For M851 give a range for adjusting the Z probe offset */
// For M851 give a range for adjusting the Z probe offset
//
#define Z_PROBE_OFFSET_RANGE_MIN -20 #define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20 #define Z_PROBE_OFFSET_RANGE_MAX 20
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{ 0:'Low', 1:'High' } // :{ 0:'Low', 1:'High' }
#define X_ENABLE_ON 0 #define X_ENABLE_ON 0

@ -545,122 +545,170 @@
#define DEFAULT_EJERK 3.0 #define DEFAULT_EJERK 3.0
//=========================================================================== /**
//============================= Z Probe Options ============================= * ===========================================================================
//=========================================================================== * ============================= Z Probe Options =============================
// @section probes * ===========================================================================
* @section probes
// *
// Probe Type *
// Probes are sensors/switches that are activated / deactivated before/after use. * Probe Type
// * Probes are sensors/switches that are activated / deactivated before/after use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. *
// You must activate one of these to use Auto Bed Leveling below. * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
// * You must activate one of these to use Auto Bed Leveling below.
// Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. *
// * Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
*/
// The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. /**
// Use G29 repeatedly, adjusting the Z height at each point with movement commands * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
// or (with LCD_BED_LEVELING) the LCD controller. * Use G29 repeatedly, adjusting the Z height at each point with movement commands
* or (with LCD_BED_LEVELING) the LCD controller.
*/
//#define PROBE_MANUALLY //#define PROBE_MANUALLY
// A Fix-Mounted Probe either doesn't deploy or needs manual deployment. /**
// For example an inductive probe, or a setup that uses the nozzle to probe. * A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
// An inductive probe must be deactivated to go below * For example an inductive probe, or a setup that uses the nozzle to probe.
// its trigger-point if hardware endstops are active. * An inductive probe must be deactivated to go below
* its trigger-point if hardware endstops are active.
*/
//#define FIX_MOUNTED_PROBE //#define FIX_MOUNTED_PROBE
// The BLTouch probe emulates a servo probe. /**
// The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override. * Z Servo Probe, such as an endstop switch on a rotating arm.
* NUM_SERVOS also needs to be set. This is found later in this file. Set it to
* 1 + the number of other servos in your system.
*/
//#define Z_ENDSTOP_SERVO_NR 0 // Defaults to SERVO 0 connector.
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
/**
* The BLTouch probe emulates a servo probe.
* If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES
* are setup for you in the background and you shouldn't need to set/modify/enable them
* with the possible exception of Z_ENDSTOP_SERVO_NR.
*/
//#define BLTOUCH //#define BLTOUCH
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
// Z Servo Probe, such as an endstop switch on a rotating arm. /**
//#define Z_ENDSTOP_SERVO_NR 0 * BLTouch WARNING - ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles * Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably
* sense the BLTouch. If the feedrate is too slow then G28 & G29 can sometimes result
* in the print head being driven into the bed until manual intervention.
* The minimum feedrate calculation is:
*
* feedrate minimum = 24000 / DEFAULT_AXIS_STEPS_PER_UNIT
* where feedrate is in "mm/minute" or "inches/minute" depending on the units used
* in DEFAULT_AXIS_STEPS_PER_UNIT
*
* This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST. If PROBE_DOUBLE_TOUCH
* is enabled then it also applies to Z_PROBE_SPEED_SLOW.
*/
// Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. /* Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. */
//#define Z_PROBE_SLED //#define Z_PROBE_SLED
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
// /**
// Allen Key Probe is defined in the Delta example configurations. * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// * X and Y offsets must be integers.
*
// Z Probe to nozzle (X,Y) offset, relative to (0, 0). * In the following example the X and Y offsets are both positive:
// X and Y offsets must be integers. * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
// * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
// In the following example the X and Y offsets are both positive: *
// #define X_PROBE_OFFSET_FROM_EXTRUDER 10 * +-- BACK ---+
// #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 * | |
// * L | (+) P | R <-- probe (20,20)
// +-- BACK ---+ * E | | I
// | | * F | (-) N (+) | G <-- nozzle (10,10)
// L | (+) P | R <-- probe (20,20) * T | | H
// E | | I * | (-) | T
// F | (-) N (+) | G <-- nozzle (10,10) * | |
// T | | H * O-- FRONT --+
// | (-) | T * (0,0)
// | | */
// O-- FRONT --+
// (0,0)
#define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle] #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle] #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle]
// X and Y axis travel speed (mm/m) between probes /* X and Y axis travel speed (mm/m) between probes */
#define XY_PROBE_SPEED 8000 #define XY_PROBE_SPEED 8000
// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
/* Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
// Speed for the "accurate" probe of each point
/* Speed for the "accurate" probe of each point */
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
// Use double touch for probing
//#define PROBE_DOUBLE_TOUCH
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** /* Use double touch for probing */
// //#define PROBE_DOUBLE_TOUCH
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// /**
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.) * Allen Key Probe is defined in the Delta example configurations.
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the *
// default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default. *
// To use a different pin you can override it here. * *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
// *
// WARNING: * - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// Setting the wrong pin may have unexpected and potentially disastrous consequences. * - Use 5V for powered (usu. inductive) sensors.
// Use with caution and do your homework. * - Otherwise connect:
// * - normally-closed switches to GND and D32.
//#define Z_MIN_PROBE_PIN X_MAX_PIN * - normally-open switches to 5V and D32.
*
* Normally-closed switches are advised and are the default.
*
*
* PIN OPTIONS\SETUP FOR Z PROBES
*
*
* WARNING:
* Setting the wrong pin may have unexpected and potentially disastrous consequences.
* Use with caution and do your homework.
*
*
* All Z PROBE pin options are configured by defining (or not defining)
* the following five items:
* Z_MIN_PROBE_ENDSTOP defined below
* Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN defined below
* Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file
* Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file
*
* If you're using a probe then you need to tell Marlin which pin to use as
* the Z MIN ENDSTOP. Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the
* Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used.
*
* The pin selected for the probe is ONLY checked during probing operations.
* If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE
* then youll need to use the Z_MIN_PROBE_PIN option.
*
* Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN.
*
* The settings needed to use the Z_MIN_PROBE_PIN are:
* 1. select the type of probe you're using
* 2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file
* 3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. enable Z_MIN_PROBE_ENDSTOP
* NOTE if Z_MIN_PIN is defined then itll be checked during all moves in the
* negative Z direction.
*
* The settings needed to use the Z_MIN_PIN are:
* 1. select the type of probe you're using
* 2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file
* 3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. disable Z_MIN_PROBE_ENDSTOP
* NOTES if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then itll be
* ignored by Marlin
*/
//
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
//#define Z_MIN_PROBE_ENDSTOP //#define Z_MIN_PROBE_ENDSTOP
// Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
// The Z_MIN_PIN will then be used for both Z-homing and probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// To use a probe you must enable one of the two options above!
// Enable Z Probe Repeatability test to see how accurate your probe is /* Enable Z Probe Repeatability test to see how accurate your probe is */
//#define Z_MIN_PROBE_REPEATABILITY_TEST //#define Z_MIN_PROBE_REPEATABILITY_TEST
/** /**
@ -680,12 +728,11 @@
#define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
// /* For M851 give a range for adjusting the Z probe offset */
// For M851 give a range for adjusting the Z probe offset
//
#define Z_PROBE_OFFSET_RANGE_MIN -20 #define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20 #define Z_PROBE_OFFSET_RANGE_MAX 20
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{ 0:'Low', 1:'High' } // :{ 0:'Low', 1:'High' }
#define X_ENABLE_ON 0 #define X_ENABLE_ON 0

@ -551,122 +551,170 @@
#define DEFAULT_EJERK 10.0 #define DEFAULT_EJERK 10.0
//=========================================================================== /**
//============================= Z Probe Options ============================= * ===========================================================================
//=========================================================================== * ============================= Z Probe Options =============================
// @section probes * ===========================================================================
* @section probes
// *
// Probe Type *
// Probes are sensors/switches that are activated / deactivated before/after use. * Probe Type
// * Probes are sensors/switches that are activated / deactivated before/after use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. *
// You must activate one of these to use Auto Bed Leveling below. * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
// * You must activate one of these to use Auto Bed Leveling below.
// Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. *
// * Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
*/
// The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. /**
// Use G29 repeatedly, adjusting the Z height at each point with movement commands * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
// or (with LCD_BED_LEVELING) the LCD controller. * Use G29 repeatedly, adjusting the Z height at each point with movement commands
* or (with LCD_BED_LEVELING) the LCD controller.
*/
//#define PROBE_MANUALLY //#define PROBE_MANUALLY
// A Fix-Mounted Probe either doesn't deploy or needs manual deployment. /**
// For example an inductive probe, or a setup that uses the nozzle to probe. * A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
// An inductive probe must be deactivated to go below * For example an inductive probe, or a setup that uses the nozzle to probe.
// its trigger-point if hardware endstops are active. * An inductive probe must be deactivated to go below
//#define FIX_MOUNTED_PROBE * its trigger-point if hardware endstops are active.
*/
#define FIX_MOUNTED_PROBE
// The BLTouch probe emulates a servo probe. /**
// The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override. * Z Servo Probe, such as an endstop switch on a rotating arm.
* NUM_SERVOS also needs to be set. This is found later in this file. Set it to
* 1 + the number of other servos in your system.
*/
//#define Z_ENDSTOP_SERVO_NR 0 // Defaults to SERVO 0 connector.
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
/**
* The BLTouch probe emulates a servo probe.
* If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES
* are setup for you in the background and you shouldn't need to set/modify/enable them
* with the possible exception of Z_ENDSTOP_SERVO_NR.
*/
//#define BLTOUCH //#define BLTOUCH
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
// Z Servo Probe, such as an endstop switch on a rotating arm. /**
//#define Z_ENDSTOP_SERVO_NR 0 * BLTouch WARNING - ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles * Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably
* sense the BLTouch. If the feedrate is too slow then G28 & G29 can sometimes result
* in the print head being driven into the bed until manual intervention.
* The minimum feedrate calculation is:
*
* feedrate minimum = 24000 / DEFAULT_AXIS_STEPS_PER_UNIT
* where feedrate is in "mm/minute" or "inches/minute" depending on the units used
* in DEFAULT_AXIS_STEPS_PER_UNIT
*
* This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST. If PROBE_DOUBLE_TOUCH
* is enabled then it also applies to Z_PROBE_SPEED_SLOW.
*/
// Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. /* Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. */
//#define Z_PROBE_SLED //#define Z_PROBE_SLED
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
// /**
// Allen Key Probe is defined in the Delta example configurations. * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// * X and Y offsets must be integers.
*
// Z Probe to nozzle (X,Y) offset, relative to (0, 0). * In the following example the X and Y offsets are both positive:
// X and Y offsets must be integers. * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
// * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
// In the following example the X and Y offsets are both positive: *
// #define X_PROBE_OFFSET_FROM_EXTRUDER 10 * +-- BACK ---+
// #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 * | |
// * L | (+) P | R <-- probe (20,20)
// +-- BACK ---+ * E | | I
// | | * F | (-) N (+) | G <-- nozzle (10,10)
// L | (+) P | R <-- probe (20,20) * T | | H
// E | | I * | (-) | T
// F | (-) N (+) | G <-- nozzle (10,10) * | |
// T | | H * O-- FRONT --+
// | (-) | T * (0,0)
// | | */
// O-- FRONT --+
// (0,0)
#define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle] #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle] #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle]
// X and Y axis travel speed (mm/m) between probes /* X and Y axis travel speed (mm/m) between probes */
#define XY_PROBE_SPEED 8000 #define XY_PROBE_SPEED 8000
// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
/* Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
// Speed for the "accurate" probe of each point
/* Speed for the "accurate" probe of each point */
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
// Use double touch for probing
//#define PROBE_DOUBLE_TOUCH
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** /* Use double touch for probing */
// //#define PROBE_DOUBLE_TOUCH
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// /**
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.) * Allen Key Probe is defined in the Delta example configurations.
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the *
// default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default. *
// To use a different pin you can override it here. * *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
// *
// WARNING: * - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// Setting the wrong pin may have unexpected and potentially disastrous consequences. * - Use 5V for powered (usu. inductive) sensors.
// Use with caution and do your homework. * - Otherwise connect:
// * - normally-closed switches to GND and D32.
//#define Z_MIN_PROBE_PIN X_MAX_PIN * - normally-open switches to 5V and D32.
*
* Normally-closed switches are advised and are the default.
*
*
* PIN OPTIONS\SETUP FOR Z PROBES
*
*
* WARNING:
* Setting the wrong pin may have unexpected and potentially disastrous consequences.
* Use with caution and do your homework.
*
*
* All Z PROBE pin options are configured by defining (or not defining)
* the following five items:
* Z_MIN_PROBE_ENDSTOP defined below
* Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN defined below
* Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file
* Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file
*
* If you're using a probe then you need to tell Marlin which pin to use as
* the Z MIN ENDSTOP. Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the
* Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used.
*
* The pin selected for the probe is ONLY checked during probing operations.
* If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE
* then youll need to use the Z_MIN_PROBE_PIN option.
*
* Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN.
*
* The settings needed to use the Z_MIN_PROBE_PIN are:
* 1. select the type of probe you're using
* 2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file
* 3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. enable Z_MIN_PROBE_ENDSTOP
* NOTE if Z_MIN_PIN is defined then itll be checked during all moves in the
* negative Z direction.
*
* The settings needed to use the Z_MIN_PIN are:
* 1. select the type of probe you're using
* 2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file
* 3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. disable Z_MIN_PROBE_ENDSTOP
* NOTES if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then itll be
* ignored by Marlin
*/
//
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
//#define Z_MIN_PROBE_ENDSTOP //#define Z_MIN_PROBE_ENDSTOP
// Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
// The Z_MIN_PIN will then be used for both Z-homing and probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// To use a probe you must enable one of the two options above!
// Enable Z Probe Repeatability test to see how accurate your probe is /* Enable Z Probe Repeatability test to see how accurate your probe is */
//#define Z_MIN_PROBE_REPEATABILITY_TEST //#define Z_MIN_PROBE_REPEATABILITY_TEST
/** /**
@ -686,12 +734,11 @@
#define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
// /* For M851 give a range for adjusting the Z probe offset */
// For M851 give a range for adjusting the Z probe offset
//
#define Z_PROBE_OFFSET_RANGE_MIN -20 #define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20 #define Z_PROBE_OFFSET_RANGE_MAX 20
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{ 0:'Low', 1:'High' } // :{ 0:'Low', 1:'High' }
#define X_ENABLE_ON 0 #define X_ENABLE_ON 0

@ -581,117 +581,170 @@
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== /**
//============================= Z Probe Options ============================= * ===========================================================================
//=========================================================================== * ============================= Z Probe Options =============================
// @section probes * ===========================================================================
* @section probes
*
*
* Probe Type
* Probes are sensors/switches that are activated / deactivated before/after use.
*
* Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
* You must activate one of these to use Auto Bed Leveling below.
*
* Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
*/
// /**
// Probe Type * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
// Probes are sensors/switches that are activated / deactivated before/after use. * Use G29 repeatedly, adjusting the Z height at each point with movement commands
// * or (with LCD_BED_LEVELING) the LCD controller.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. */
// You must activate one of these to use Auto Bed Leveling below. //#define PROBE_MANUALLY
//
// Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
//
// A Fix-Mounted Probe either doesn't deploy or needs manual deployment. /**
// For example an inductive probe, or a setup that uses the nozzle to probe. * A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
// An inductive probe must be deactivated to go below * For example an inductive probe, or a setup that uses the nozzle to probe.
// its trigger-point if hardware endstops are active. * An inductive probe must be deactivated to go below
* its trigger-point if hardware endstops are active.
*/
//#define FIX_MOUNTED_PROBE //#define FIX_MOUNTED_PROBE
// The BLTouch probe emulates a servo probe. /**
// The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override. * Z Servo Probe, such as an endstop switch on a rotating arm.
* NUM_SERVOS also needs to be set. This is found later in this file. Set it to
* 1 + the number of other servos in your system.
*/
//#define Z_ENDSTOP_SERVO_NR 0 // Defaults to SERVO 0 connector.
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
/**
* The BLTouch probe emulates a servo probe.
* If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES
* are setup for you in the background and you shouldn't need to set/modify/enable them
* with the possible exception of Z_ENDSTOP_SERVO_NR.
*/
//#define BLTOUCH //#define BLTOUCH
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
// Z Servo Probe, such as an endstop switch on a rotating arm. /**
//#define Z_ENDSTOP_SERVO_NR 0 * BLTouch WARNING - ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles * Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably
* sense the BLTouch. If the feedrate is too slow then G28 & G29 can sometimes result
* in the print head being driven into the bed until manual intervention.
* The minimum feedrate calculation is:
*
* feedrate minimum = 24000 / DEFAULT_AXIS_STEPS_PER_UNIT
* where feedrate is in "mm/minute" or "inches/minute" depending on the units used
* in DEFAULT_AXIS_STEPS_PER_UNIT
*
* This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST. If PROBE_DOUBLE_TOUCH
* is enabled then it also applies to Z_PROBE_SPEED_SLOW.
*/
// Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. /* Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. */
//#define Z_PROBE_SLED //#define Z_PROBE_SLED
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
// /**
// Allen Key Probe is defined in the Delta example configurations. * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// * X and Y offsets must be integers.
*
// Z Probe to nozzle (X,Y) offset, relative to (0, 0). * In the following example the X and Y offsets are both positive:
// X and Y offsets must be integers. * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
// * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
// In the following example the X and Y offsets are both positive: *
// #define X_PROBE_OFFSET_FROM_EXTRUDER 10 * +-- BACK ---+
// #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 * | |
// * L | (+) P | R <-- probe (20,20)
// +-- BACK ---+ * E | | I
// | | * F | (-) N (+) | G <-- nozzle (10,10)
// L | (+) P | R <-- probe (20,20) * T | | H
// E | | I * | (-) | T
// F | (-) N (+) | G <-- nozzle (10,10) * | |
// T | | H * O-- FRONT --+
// | (-) | T * (0,0)
// | | */
// O-- FRONT --+ #define X_PROBE_OFFSET_FROM_EXTRUDER 34 // X offset: -left +right [of the nozzle]
// (0,0) #define Y_PROBE_OFFSET_FROM_EXTRUDER 15 // Y offset: -front +behind [the nozzle]
#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]
// X and Y axis travel speed (mm/m) between probes /* X and Y axis travel speed (mm/m) between probes */
#define XY_PROBE_SPEED 8000 #define XY_PROBE_SPEED 8000
// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
/* Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
// Speed for the "accurate" probe of each point
/* Speed for the "accurate" probe of each point */
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
// Use double touch for probing
//#define PROBE_DOUBLE_TOUCH
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** /* Use double touch for probing */
// //#define PROBE_DOUBLE_TOUCH
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// /**
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.) * Allen Key Probe is defined in the Delta example configurations.
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the *
// default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default. *
// To use a different pin you can override it here. * *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
// *
// WARNING: * - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// Setting the wrong pin may have unexpected and potentially disastrous consequences. * - Use 5V for powered (usu. inductive) sensors.
// Use with caution and do your homework. * - Otherwise connect:
// * - normally-closed switches to GND and D32.
//#define Z_MIN_PROBE_PIN X_MAX_PIN * - normally-open switches to 5V and D32.
*
* Normally-closed switches are advised and are the default.
*
*
* PIN OPTIONS\SETUP FOR Z PROBES
*
*
* WARNING:
* Setting the wrong pin may have unexpected and potentially disastrous consequences.
* Use with caution and do your homework.
*
*
* All Z PROBE pin options are configured by defining (or not defining)
* the following five items:
* Z_MIN_PROBE_ENDSTOP defined below
* Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN defined below
* Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file
* Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file
*
* If you're using a probe then you need to tell Marlin which pin to use as
* the Z MIN ENDSTOP. Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the
* Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used.
*
* The pin selected for the probe is ONLY checked during probing operations.
* If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE
* then youll need to use the Z_MIN_PROBE_PIN option.
*
* Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN.
*
* The settings needed to use the Z_MIN_PROBE_PIN are:
* 1. select the type of probe you're using
* 2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file
* 3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. enable Z_MIN_PROBE_ENDSTOP
* NOTE if Z_MIN_PIN is defined then itll be checked during all moves in the
* negative Z direction.
*
* The settings needed to use the Z_MIN_PIN are:
* 1. select the type of probe you're using
* 2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file
* 3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. disable Z_MIN_PROBE_ENDSTOP
* NOTES if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then itll be
* ignored by Marlin
*/
//
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
//#define Z_MIN_PROBE_ENDSTOP //#define Z_MIN_PROBE_ENDSTOP
// Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
// The Z_MIN_PIN will then be used for both Z-homing and probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// To use a probe you must enable one of the two options above!
// Enable Z Probe Repeatability test to see how accurate your probe is /* Enable Z Probe Repeatability test to see how accurate your probe is */
//#define Z_MIN_PROBE_REPEATABILITY_TEST //#define Z_MIN_PROBE_REPEATABILITY_TEST
/** /**
@ -711,9 +764,7 @@
#define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
// /* For M851 give a range for adjusting the Z probe offset */
// For M851 give a range for adjusting the Z probe offset
//
#define Z_PROBE_OFFSET_RANGE_MIN -20 #define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20 #define Z_PROBE_OFFSET_RANGE_MAX 20

@ -522,122 +522,170 @@
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== /**
//============================= Z Probe Options ============================= * ===========================================================================
//=========================================================================== * ============================= Z Probe Options =============================
// @section probes * ===========================================================================
* @section probes
// *
// Probe Type *
// Probes are sensors/switches that are activated / deactivated before/after use. * Probe Type
// * Probes are sensors/switches that are activated / deactivated before/after use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. *
// You must activate one of these to use Auto Bed Leveling below. * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
// * You must activate one of these to use Auto Bed Leveling below.
// Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. *
// * Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
*/
// The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. /**
// Use G29 repeatedly, adjusting the Z height at each point with movement commands * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
// or (with LCD_BED_LEVELING) the LCD controller. * Use G29 repeatedly, adjusting the Z height at each point with movement commands
* or (with LCD_BED_LEVELING) the LCD controller.
*/
//#define PROBE_MANUALLY //#define PROBE_MANUALLY
// A Fix-Mounted Probe either doesn't deploy or needs manual deployment. /**
// For example an inductive probe, or a setup that uses the nozzle to probe. * A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
// An inductive probe must be deactivated to go below * For example an inductive probe, or a setup that uses the nozzle to probe.
// its trigger-point if hardware endstops are active. * An inductive probe must be deactivated to go below
* its trigger-point if hardware endstops are active.
*/
//#define FIX_MOUNTED_PROBE //#define FIX_MOUNTED_PROBE
// The BLTouch probe emulates a servo probe. /**
// The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override. * Z Servo Probe, such as an endstop switch on a rotating arm.
* NUM_SERVOS also needs to be set. This is found later in this file. Set it to
* 1 + the number of other servos in your system.
*/
//#define Z_ENDSTOP_SERVO_NR 0 // Defaults to SERVO 0 connector.
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
/**
* The BLTouch probe emulates a servo probe.
* If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES
* are setup for you in the background and you shouldn't need to set/modify/enable them
* with the possible exception of Z_ENDSTOP_SERVO_NR.
*/
//#define BLTOUCH //#define BLTOUCH
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
// Z Servo Probe, such as an endstop switch on a rotating arm. /**
//#define Z_ENDSTOP_SERVO_NR 0 * BLTouch WARNING - ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles * Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably
* sense the BLTouch. If the feedrate is too slow then G28 & G29 can sometimes result
* in the print head being driven into the bed until manual intervention.
* The minimum feedrate calculation is:
*
* feedrate minimum = 24000 / DEFAULT_AXIS_STEPS_PER_UNIT
* where feedrate is in "mm/minute" or "inches/minute" depending on the units used
* in DEFAULT_AXIS_STEPS_PER_UNIT
*
* This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST. If PROBE_DOUBLE_TOUCH
* is enabled then it also applies to Z_PROBE_SPEED_SLOW.
*/
// Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. /* Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. */
//#define Z_PROBE_SLED //#define Z_PROBE_SLED
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
// /**
// Allen Key Probe is defined in the Delta example configurations. * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// * X and Y offsets must be integers.
*
// Z Probe to nozzle (X,Y) offset, relative to (0, 0). * In the following example the X and Y offsets are both positive:
// X and Y offsets must be integers. * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
// * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
// In the following example the X and Y offsets are both positive: *
// #define X_PROBE_OFFSET_FROM_EXTRUDER 10 * +-- BACK ---+
// #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 * | |
// * L | (+) P | R <-- probe (20,20)
// +-- BACK ---+ * E | | I
// | | * F | (-) N (+) | G <-- nozzle (10,10)
// L | (+) P | R <-- probe (20,20) * T | | H
// E | | I * | (-) | T
// F | (-) N (+) | G <-- nozzle (10,10) * | |
// T | | H * O-- FRONT --+
// | (-) | T * (0,0)
// | | */
// O-- FRONT --+
// (0,0)
#define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle] #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle] #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle]
// X and Y axis travel speed (mm/m) between probes /* X and Y axis travel speed (mm/m) between probes */
#define XY_PROBE_SPEED 8000 #define XY_PROBE_SPEED 8000
// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
/* Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
// Speed for the "accurate" probe of each point
/* Speed for the "accurate" probe of each point */
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
// Use double touch for probing
//#define PROBE_DOUBLE_TOUCH
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** /* Use double touch for probing */
// //#define PROBE_DOUBLE_TOUCH
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// /**
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.) * Allen Key Probe is defined in the Delta example configurations.
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the *
// default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default. *
// To use a different pin you can override it here. * *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
// *
// WARNING: * - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// Setting the wrong pin may have unexpected and potentially disastrous consequences. * - Use 5V for powered (usu. inductive) sensors.
// Use with caution and do your homework. * - Otherwise connect:
// * - normally-closed switches to GND and D32.
//#define Z_MIN_PROBE_PIN X_MAX_PIN * - normally-open switches to 5V and D32.
*
* Normally-closed switches are advised and are the default.
*
*
* PIN OPTIONS\SETUP FOR Z PROBES
*
*
* WARNING:
* Setting the wrong pin may have unexpected and potentially disastrous consequences.
* Use with caution and do your homework.
*
*
* All Z PROBE pin options are configured by defining (or not defining)
* the following five items:
* Z_MIN_PROBE_ENDSTOP defined below
* Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN defined below
* Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file
* Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file
*
* If you're using a probe then you need to tell Marlin which pin to use as
* the Z MIN ENDSTOP. Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the
* Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used.
*
* The pin selected for the probe is ONLY checked during probing operations.
* If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE
* then youll need to use the Z_MIN_PROBE_PIN option.
*
* Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN.
*
* The settings needed to use the Z_MIN_PROBE_PIN are:
* 1. select the type of probe you're using
* 2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file
* 3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. enable Z_MIN_PROBE_ENDSTOP
* NOTE if Z_MIN_PIN is defined then itll be checked during all moves in the
* negative Z direction.
*
* The settings needed to use the Z_MIN_PIN are:
* 1. select the type of probe you're using
* 2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file
* 3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. disable Z_MIN_PROBE_ENDSTOP
* NOTES if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then itll be
* ignored by Marlin
*/
//
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
//#define Z_MIN_PROBE_ENDSTOP //#define Z_MIN_PROBE_ENDSTOP
// Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
// The Z_MIN_PIN will then be used for both Z-homing and probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// To use a probe you must enable one of the two options above!
// Enable Z Probe Repeatability test to see how accurate your probe is /* Enable Z Probe Repeatability test to see how accurate your probe is */
//#define Z_MIN_PROBE_REPEATABILITY_TEST //#define Z_MIN_PROBE_REPEATABILITY_TEST
/** /**
@ -657,12 +705,11 @@
#define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
// /* For M851 give a range for adjusting the Z probe offset */
// For M851 give a range for adjusting the Z probe offset
//
#define Z_PROBE_OFFSET_RANGE_MIN -20 #define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20 #define Z_PROBE_OFFSET_RANGE_MAX 20
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{ 0:'Low', 1:'High' } // :{ 0:'Low', 1:'High' }
#define X_ENABLE_ON 0 #define X_ENABLE_ON 0

@ -530,122 +530,170 @@
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== /**
//============================= Z Probe Options ============================= * ===========================================================================
//=========================================================================== * ============================= Z Probe Options =============================
// @section probes * ===========================================================================
* @section probes
// *
// Probe Type *
// Probes are sensors/switches that are activated / deactivated before/after use. * Probe Type
// * Probes are sensors/switches that are activated / deactivated before/after use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. *
// You must activate one of these to use Auto Bed Leveling below. * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
// * You must activate one of these to use Auto Bed Leveling below.
// Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. *
// * Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
*/
// The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. /**
// Use G29 repeatedly, adjusting the Z height at each point with movement commands * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
// or (with LCD_BED_LEVELING) the LCD controller. * Use G29 repeatedly, adjusting the Z height at each point with movement commands
* or (with LCD_BED_LEVELING) the LCD controller.
*/
//#define PROBE_MANUALLY //#define PROBE_MANUALLY
// A Fix-Mounted Probe either doesn't deploy or needs manual deployment. /**
// For example an inductive probe, or a setup that uses the nozzle to probe. * A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
// An inductive probe must be deactivated to go below * For example an inductive probe, or a setup that uses the nozzle to probe.
// its trigger-point if hardware endstops are active. * An inductive probe must be deactivated to go below
* its trigger-point if hardware endstops are active.
*/
//#define FIX_MOUNTED_PROBE //#define FIX_MOUNTED_PROBE
// The BLTouch probe emulates a servo probe. /**
// The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override. * Z Servo Probe, such as an endstop switch on a rotating arm.
* NUM_SERVOS also needs to be set. This is found later in this file. Set it to
* 1 + the number of other servos in your system.
*/
//#define Z_ENDSTOP_SERVO_NR 0 // Defaults to SERVO 0 connector.
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
/**
* The BLTouch probe emulates a servo probe.
* If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES
* are setup for you in the background and you shouldn't need to set/modify/enable them
* with the possible exception of Z_ENDSTOP_SERVO_NR.
*/
//#define BLTOUCH //#define BLTOUCH
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
// Z Servo Probe, such as an endstop switch on a rotating arm. /**
//#define Z_ENDSTOP_SERVO_NR 0 * BLTouch WARNING - ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles * Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably
* sense the BLTouch. If the feedrate is too slow then G28 & G29 can sometimes result
* in the print head being driven into the bed until manual intervention.
* The minimum feedrate calculation is:
*
* feedrate minimum = 24000 / DEFAULT_AXIS_STEPS_PER_UNIT
* where feedrate is in "mm/minute" or "inches/minute" depending on the units used
* in DEFAULT_AXIS_STEPS_PER_UNIT
*
* This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST. If PROBE_DOUBLE_TOUCH
* is enabled then it also applies to Z_PROBE_SPEED_SLOW.
*/
// Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. /* Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. */
//#define Z_PROBE_SLED //#define Z_PROBE_SLED
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
// /**
// Allen Key Probe is defined in the Delta example configurations. * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// * X and Y offsets must be integers.
*
// Z Probe to nozzle (X,Y) offset, relative to (0, 0). * In the following example the X and Y offsets are both positive:
// X and Y offsets must be integers. * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
// * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
// In the following example the X and Y offsets are both positive: *
// #define X_PROBE_OFFSET_FROM_EXTRUDER 10 * +-- BACK ---+
// #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 * | |
// * L | (+) P | R <-- probe (20,20)
// +-- BACK ---+ * E | | I
// | | * F | (-) N (+) | G <-- nozzle (10,10)
// L | (+) P | R <-- probe (20,20) * T | | H
// E | | I * | (-) | T
// F | (-) N (+) | G <-- nozzle (10,10) * | |
// T | | H * O-- FRONT --+
// | (-) | T * (0,0)
// | | */
// O-- FRONT --+
// (0,0)
#define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle] #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle] #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle]
// X and Y axis travel speed (mm/m) between probes /* X and Y axis travel speed (mm/m) between probes */
#define XY_PROBE_SPEED 8000 #define XY_PROBE_SPEED 8000
// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
/* Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
// Speed for the "accurate" probe of each point
/* Speed for the "accurate" probe of each point */
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
// Use double touch for probing
//#define PROBE_DOUBLE_TOUCH
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** /* Use double touch for probing */
// //#define PROBE_DOUBLE_TOUCH
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// /**
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.) * Allen Key Probe is defined in the Delta example configurations.
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the *
// default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default. *
// To use a different pin you can override it here. * *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
// *
// WARNING: * - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// Setting the wrong pin may have unexpected and potentially disastrous consequences. * - Use 5V for powered (usu. inductive) sensors.
// Use with caution and do your homework. * - Otherwise connect:
// * - normally-closed switches to GND and D32.
//#define Z_MIN_PROBE_PIN X_MAX_PIN * - normally-open switches to 5V and D32.
*
* Normally-closed switches are advised and are the default.
*
*
* PIN OPTIONS\SETUP FOR Z PROBES
*
*
* WARNING:
* Setting the wrong pin may have unexpected and potentially disastrous consequences.
* Use with caution and do your homework.
*
*
* All Z PROBE pin options are configured by defining (or not defining)
* the following five items:
* Z_MIN_PROBE_ENDSTOP defined below
* Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN defined below
* Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file
* Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file
*
* If you're using a probe then you need to tell Marlin which pin to use as
* the Z MIN ENDSTOP. Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the
* Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used.
*
* The pin selected for the probe is ONLY checked during probing operations.
* If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE
* then youll need to use the Z_MIN_PROBE_PIN option.
*
* Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN.
*
* The settings needed to use the Z_MIN_PROBE_PIN are:
* 1. select the type of probe you're using
* 2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file
* 3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. enable Z_MIN_PROBE_ENDSTOP
* NOTE if Z_MIN_PIN is defined then itll be checked during all moves in the
* negative Z direction.
*
* The settings needed to use the Z_MIN_PIN are:
* 1. select the type of probe you're using
* 2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file
* 3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. disable Z_MIN_PROBE_ENDSTOP
* NOTES if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then itll be
* ignored by Marlin
*/
//
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
//#define Z_MIN_PROBE_ENDSTOP //#define Z_MIN_PROBE_ENDSTOP
// Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
// The Z_MIN_PIN will then be used for both Z-homing and probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// To use a probe you must enable one of the two options above!
// Enable Z Probe Repeatability test to see how accurate your probe is /* Enable Z Probe Repeatability test to see how accurate your probe is */
//#define Z_MIN_PROBE_REPEATABILITY_TEST //#define Z_MIN_PROBE_REPEATABILITY_TEST
/** /**
@ -665,12 +713,11 @@
#define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
// /* For M851 give a range for adjusting the Z probe offset */
// For M851 give a range for adjusting the Z probe offset
//
#define Z_PROBE_OFFSET_RANGE_MIN -20 #define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20 #define Z_PROBE_OFFSET_RANGE_MAX 20
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{ 0:'Low', 1:'High' } // :{ 0:'Low', 1:'High' }
#define X_ENABLE_ON 0 #define X_ENABLE_ON 0

@ -588,81 +588,112 @@
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== /**
//============================= Z Probe Options ============================= * ===========================================================================
//=========================================================================== * ============================= Z Probe Options =============================
// @section probes * ===========================================================================
* @section probes
// *
// Probe Type *
// Probes are sensors/switches that are activated / deactivated before/after use. * Probe Type
// * Probes are sensors/switches that are activated / deactivated before/after use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. *
// You must activate one of these to use Auto Bed Leveling below. * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
// * You must activate one of these to use Auto Bed Leveling below.
// Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. *
// * Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
*/
// The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. /**
// Use G29 repeatedly, adjusting the Z height at each point with movement commands * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
// or (with LCD_BED_LEVELING) the LCD controller. * Use G29 repeatedly, adjusting the Z height at each point with movement commands
* or (with LCD_BED_LEVELING) the LCD controller.
*/
//#define PROBE_MANUALLY //#define PROBE_MANUALLY
// A Fix-Mounted Probe either doesn't deploy or needs manual deployment. /**
// For example an inductive probe, or a setup that uses the nozzle to probe. * A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
// An inductive probe must be deactivated to go below * For example an inductive probe, or a setup that uses the nozzle to probe.
// its trigger-point if hardware endstops are active. * An inductive probe must be deactivated to go below
* its trigger-point if hardware endstops are active.
*/
#define FIX_MOUNTED_PROBE #define FIX_MOUNTED_PROBE
// The BLTouch probe emulates a servo probe. /**
// The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override. * Z Servo Probe, such as an endstop switch on a rotating arm.
* NUM_SERVOS also needs to be set. This is found later in this file. Set it to
* 1 + the number of other servos in your system.
*/
//#define Z_ENDSTOP_SERVO_NR 0 // Defaults to SERVO 0 connector.
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
/**
* The BLTouch probe emulates a servo probe.
* If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES
* are setup for you in the background and you shouldn't need to set/modify/enable them
* with the possible exception of Z_ENDSTOP_SERVO_NR.
*/
//#define BLTOUCH //#define BLTOUCH
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
// Z Servo Probe, such as an endstop switch on a rotating arm. /**
//#define Z_ENDSTOP_SERVO_NR 0 * BLTouch WARNING - ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles * Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably
* sense the BLTouch. If the feedrate is too slow then G28 & G29 can sometimes result
* in the print head being driven into the bed until manual intervention.
* The minimum feedrate calculation is:
*
* feedrate minimum = 24000 / DEFAULT_AXIS_STEPS_PER_UNIT
* where feedrate is in "mm/minute" or "inches/minute" depending on the units used
* in DEFAULT_AXIS_STEPS_PER_UNIT
*
* This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST. If PROBE_DOUBLE_TOUCH
* is enabled then it also applies to Z_PROBE_SPEED_SLOW.
*/
// Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. /* Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. */
//#define Z_PROBE_SLED //#define Z_PROBE_SLED
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
// /**
// Allen Key Probe is defined in the Delta example configurations. * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// * X and Y offsets must be integers.
*
// Z Probe to nozzle (X,Y) offset, relative to (0, 0). * In the following example the X and Y offsets are both positive:
// X and Y offsets must be integers. * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
// * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
// In the following example the X and Y offsets are both positive: *
// #define X_PROBE_OFFSET_FROM_EXTRUDER 10 * +-- BACK ---+
// #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 * | |
// * L | (+) P | R <-- probe (20,20)
// +-- BACK ---+ * E | | I
// | | * F | (-) N (+) | G <-- nozzle (10,10)
// L | (+) P | R <-- probe (20,20) * T | | H
// E | | I * | (-) | T
// F | (-) N (+) | G <-- nozzle (10,10) * | |
// T | | H * O-- FRONT --+
// | (-) | T * (0,0)
// | | */
// O-- FRONT --+
// (0,0)
#define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle] #define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0.25 // Z offset: -below +above [the nozzle] #define Z_PROBE_OFFSET_FROM_EXTRUDER 0.25 // Z offset: -below +above [the nozzle]
// X and Y axis travel speed (mm/m) between probes /* X and Y axis travel speed (mm/m) between probes */
#define XY_PROBE_SPEED 2000 #define XY_PROBE_SPEED 2000
// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
/* Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
// Speed for the "accurate" probe of each point
/* Speed for the "accurate" probe of each point */
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
// Use double touch for probing
/* Use double touch for probing */
#define PROBE_DOUBLE_TOUCH #define PROBE_DOUBLE_TOUCH
// Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe /**
// Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN. * Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
* Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
*/
//#define Z_PROBE_ALLEN_KEY //#define Z_PROBE_ALLEN_KEY
#if ENABLED(Z_PROBE_ALLEN_KEY) #if ENABLED(Z_PROBE_ALLEN_KEY)
@ -709,49 +740,67 @@
#endif // Z_PROBE_ALLEN_KEY #endif // Z_PROBE_ALLEN_KEY
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
//
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// /**
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.) *
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the * *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
// default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default. *
// To use a different pin you can override it here. * - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// * - Use 5V for powered (usu. inductive) sensors.
// WARNING: * - Otherwise connect:
// Setting the wrong pin may have unexpected and potentially disastrous consequences. * - normally-closed switches to GND and D32.
// Use with caution and do your homework. * - normally-open switches to 5V and D32.
// *
#define Z_MIN_PROBE_PIN Z_MIN_PIN * Normally-closed switches are advised and are the default.
*
*
* PIN OPTIONS\SETUP FOR Z PROBES
*
*
* WARNING:
* Setting the wrong pin may have unexpected and potentially disastrous consequences.
* Use with caution and do your homework.
*
*
* All Z PROBE pin options are configured by defining (or not defining)
* the following five items:
* Z_MIN_PROBE_ENDSTOP defined below
* Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN defined below
* Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file
* Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file
*
* If you're using a probe then you need to tell Marlin which pin to use as
* the Z MIN ENDSTOP. Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the
* Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used.
*
* The pin selected for the probe is ONLY checked during probing operations.
* If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE
* then youll need to use the Z_MIN_PROBE_PIN option.
*
* Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN.
*
* The settings needed to use the Z_MIN_PROBE_PIN are:
* 1. select the type of probe you're using
* 2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file
* 3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. enable Z_MIN_PROBE_ENDSTOP
* NOTE if Z_MIN_PIN is defined then itll be checked during all moves in the
* negative Z direction.
*
* The settings needed to use the Z_MIN_PIN are:
* 1. select the type of probe you're using
* 2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file
* 3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. disable Z_MIN_PROBE_ENDSTOP
* NOTES if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then itll be
* ignored by Marlin
*/
//
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
//#define Z_MIN_PROBE_ENDSTOP // A3K leave disable! //#define Z_MIN_PROBE_ENDSTOP // A3K leave disable!
// Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
// The Z_MIN_PIN will then be used for both Z-homing and probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// To use a probe you must enable one of the two options above!
// Enable Z Probe Repeatability test to see how accurate your probe is /* Enable Z Probe Repeatability test to see how accurate your probe is */
#define Z_MIN_PROBE_REPEATABILITY_TEST #define Z_MIN_PROBE_REPEATABILITY_TEST
/** /**
@ -771,12 +820,11 @@
#define Z_CLEARANCE_DEPLOY_PROBE 50 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_DEPLOY_PROBE 50 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
// /* For M851 give a range for adjusting the Z probe offset */
// For M851 give a range for adjusting the Z probe offset
//
#define Z_PROBE_OFFSET_RANGE_MIN -20 #define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20 #define Z_PROBE_OFFSET_RANGE_MAX 20
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{ 0:'Low', 1:'High' } // :{ 0:'Low', 1:'High' }
#define X_ENABLE_ON 0 #define X_ENABLE_ON 0

@ -575,81 +575,113 @@
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== /**
//============================= Z Probe Options ============================= * ===========================================================================
//=========================================================================== * ============================= Z Probe Options =============================
// @section probes * ===========================================================================
* @section probes
// *
// Probe Type *
// Probes are sensors/switches that are activated / deactivated before/after use. * Probe Type
// * Probes are sensors/switches that are activated / deactivated before/after use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. *
// You must activate one of these to use Auto Bed Leveling below. * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
// * You must activate one of these to use Auto Bed Leveling below.
// Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. *
// * Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
*/
// The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. /**
// Use G29 repeatedly, adjusting the Z height at each point with movement commands * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
// or (with LCD_BED_LEVELING) the LCD controller. * Use G29 repeatedly, adjusting the Z height at each point with movement commands
* or (with LCD_BED_LEVELING) the LCD controller.
*/
//#define PROBE_MANUALLY //#define PROBE_MANUALLY
// A Fix-Mounted Probe either doesn't deploy or needs manual deployment. /**
// For example an inductive probe, or a setup that uses the nozzle to probe. * A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
// An inductive probe must be deactivated to go below * For example an inductive probe, or a setup that uses the nozzle to probe.
// its trigger-point if hardware endstops are active. * An inductive probe must be deactivated to go below
* its trigger-point if hardware endstops are active.
*/
//#define FIX_MOUNTED_PROBE //#define FIX_MOUNTED_PROBE
// The BLTouch probe emulates a servo probe. /**
// The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override. * Z Servo Probe, such as an endstop switch on a rotating arm.
* NUM_SERVOS also needs to be set. This is found later in this file. Set it to
* 1 + the number of other servos in your system.
*/
//#define Z_ENDSTOP_SERVO_NR 0 // Defaults to SERVO 0 connector.
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
/**
* The BLTouch probe emulates a servo probe.
* If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES
* are setup for you in the background and you shouldn't need to set/modify/enable them
* with the possible exception of Z_ENDSTOP_SERVO_NR.
*/
//#define BLTOUCH //#define BLTOUCH
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
// Z Servo Probe, such as an endstop switch on a rotating arm. /**
//#define Z_ENDSTOP_SERVO_NR 0 * BLTouch WARNING - ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles * Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably
* sense the BLTouch. If the feedrate is too slow then G28 & G29 can sometimes result
* in the print head being driven into the bed until manual intervention.
* The minimum feedrate calculation is:
*
* feedrate minimum = 24000 / DEFAULT_AXIS_STEPS_PER_UNIT
* where feedrate is in "mm/minute" or "inches/minute" depending on the units used
* in DEFAULT_AXIS_STEPS_PER_UNIT
*
* This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST. If PROBE_DOUBLE_TOUCH
* is enabled then it also applies to Z_PROBE_SPEED_SLOW.
*/
// Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. /* Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. */
//#define Z_PROBE_SLED //#define Z_PROBE_SLED
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
// /**
// Allen Key Probe is defined in the Delta example configurations. * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// * X and Y offsets must be integers.
*
// Z Probe to nozzle (X,Y) offset, relative to (0, 0). * In the following example the X and Y offsets are both positive:
// X and Y offsets must be integers. * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
// * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
// In the following example the X and Y offsets are both positive: *
// #define X_PROBE_OFFSET_FROM_EXTRUDER 10 * +-- BACK ---+
// #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 * | |
// * L | (+) P | R <-- probe (20,20)
// +-- BACK ---+ * E | | I
// | | * F | (-) N (+) | G <-- nozzle (10,10)
// L | (+) P | R <-- probe (20,20) * T | | H
// E | | I * | (-) | T
// F | (-) N (+) | G <-- nozzle (10,10) * | |
// T | | H * O-- FRONT --+
// | (-) | T * (0,0)
// | | */
// O-- FRONT --+
// (0,0)
#define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle] #define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER -10 // Y offset: -front +behind [the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER -10 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5 // Z offset: -below +above [the nozzle] #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5 // Z offset: -below +above [the nozzle]
// X and Y axis travel speed (mm/m) between probes /* X and Y axis travel speed (mm/m) between probes */
#define XY_PROBE_SPEED 4000 #define XY_PROBE_SPEED 4000
// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
/* Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
// Speed for the "accurate" probe of each point
/* Speed for the "accurate" probe of each point */
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
// Use double touch for probing
/* Use double touch for probing */
//#define PROBE_DOUBLE_TOUCH //#define PROBE_DOUBLE_TOUCH
// Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
// Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN. /**
* Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
* Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
*/
//#define Z_PROBE_ALLEN_KEY //#define Z_PROBE_ALLEN_KEY
#if ENABLED(Z_PROBE_ALLEN_KEY) #if ENABLED(Z_PROBE_ALLEN_KEY)
@ -693,49 +725,66 @@
#endif // Z_PROBE_ALLEN_KEY #endif // Z_PROBE_ALLEN_KEY
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** /**
// *
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING. * *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
// Example: To park the head outside the bed area when homing with G28. *
// * - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN. * - Use 5V for powered (usu. inductive) sensors.
// * - Otherwise connect:
// For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above. * - normally-closed switches to GND and D32.
// * - normally-open switches to 5V and D32.
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin. *
// - Use 5V for powered (usu. inductive) sensors. * Normally-closed switches are advised and are the default.
// - Otherwise connect: *
// - normally-closed switches to GND and D32. *
// - normally-open switches to 5V and D32. * PIN OPTIONS\SETUP FOR Z PROBES
// *
// Normally-closed switches are advised and are the default. *
// * WARNING:
* Setting the wrong pin may have unexpected and potentially disastrous consequences.
// * Use with caution and do your homework.
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.) *
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the *
// default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default. * All Z PROBE pin options are configured by defining (or not defining)
// To use a different pin you can override it here. * the following five items:
// * Z_MIN_PROBE_ENDSTOP defined below
// WARNING: * Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN defined below
// Setting the wrong pin may have unexpected and potentially disastrous consequences. * Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file
// Use with caution and do your homework. * Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file
// *
//#define Z_MIN_PROBE_PIN X_MAX_PIN * If you're using a probe then you need to tell Marlin which pin to use as
* the Z MIN ENDSTOP. Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the
* Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used.
*
* The pin selected for the probe is ONLY checked during probing operations.
* If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE
* then youll need to use the Z_MIN_PROBE_PIN option.
*
* Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN.
*
* The settings needed to use the Z_MIN_PROBE_PIN are:
* 1. select the type of probe you're using
* 2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file
* 3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. enable Z_MIN_PROBE_ENDSTOP
* NOTE if Z_MIN_PIN is defined then itll be checked during all moves in the
* negative Z direction.
*
* The settings needed to use the Z_MIN_PIN are:
* 1. select the type of probe you're using
* 2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file
* 3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. disable Z_MIN_PROBE_ENDSTOP
* NOTES if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then itll be
* ignored by Marlin
*/
//
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
#define Z_MIN_PROBE_ENDSTOP #define Z_MIN_PROBE_ENDSTOP
// Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
// The Z_MIN_PIN will then be used for both Z-homing and probing.
//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN //#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// To use a probe you must enable one of the two options above!
// Enable Z Probe Repeatability test to see how accurate your probe is /* Enable Z Probe Repeatability test to see how accurate your probe is */
//#define Z_MIN_PROBE_REPEATABILITY_TEST //#define Z_MIN_PROBE_REPEATABILITY_TEST
/** /**
@ -755,12 +804,11 @@
#define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
// /* For M851 give a range for adjusting the Z probe offset */
// For M851 give a range for adjusting the Z probe offset
//
#define Z_PROBE_OFFSET_RANGE_MIN -20 #define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20 #define Z_PROBE_OFFSET_RANGE_MAX 20
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{ 0:'Low', 1:'High' } // :{ 0:'Low', 1:'High' }
#define X_ENABLE_ON 0 #define X_ENABLE_ON 0

@ -575,81 +575,105 @@
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== /**
//============================= Z Probe Options ============================= * ===========================================================================
//=========================================================================== * ============================= Z Probe Options =============================
// @section probes * ===========================================================================
* @section probes
*
*
* Probe Type
* Probes are sensors/switches that are activated / deactivated before/after use.
*
* Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
* You must activate one of these to use Auto Bed Leveling below.
*
* Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
*/
//
// Probe Type
// Probes are sensors/switches that are activated / deactivated before/after use.
//
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
// You must activate one of these to use Auto Bed Leveling below.
//
// Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
//
// The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. /**
// Use G29 repeatedly, adjusting the Z height at each point with movement commands * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
// or (with LCD_BED_LEVELING) the LCD controller. * Use G29 repeatedly, adjusting the Z height at each point with movement commands
* or (with LCD_BED_LEVELING) the LCD controller.
*/
//#define PROBE_MANUALLY //#define PROBE_MANUALLY
// A Fix-Mounted Probe either doesn't deploy or needs manual deployment. /**
// For example an inductive probe, or a setup that uses the nozzle to probe. * Z Servo Probe, such as an endstop switch on a rotating arm.
// An inductive probe must be deactivated to go below * NUM_SERVOS also needs to be set. This is found later in this file. Set it to
// its trigger-point if hardware endstops are active. * 1 + the number of other servos in your system.
//#define FIX_MOUNTED_PROBE */
//#define Z_ENDSTOP_SERVO_NR 0 // Defaults to SERVO 0 connector.
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
// The BLTouch probe emulates a servo probe. /**
// The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override. * The BLTouch probe emulates a servo probe.
* If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES
* are setup for you in the background and you shouldn't need to set/modify/enable them
* with the possible exception of Z_ENDSTOP_SERVO_NR.
*/
//#define BLTOUCH //#define BLTOUCH
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
// Z Servo Probe, such as an endstop switch on a rotating arm. /**
//#define Z_ENDSTOP_SERVO_NR 0 * BLTouch WARNING - ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles * Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably
* sense the BLTouch. If the feedrate is too slow then G28 & G29 can sometimes result
* in the print head being driven into the bed until manual intervention.
* The minimum feedrate calculation is:
*
* feedrate minimum = 24000 / DEFAULT_AXIS_STEPS_PER_UNIT
* where feedrate is in "mm/minute" or "inches/minute" depending on the units used
* in DEFAULT_AXIS_STEPS_PER_UNIT
*
* This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST. If PROBE_DOUBLE_TOUCH
* is enabled then it also applies to Z_PROBE_SPEED_SLOW.
*/
// Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. /* Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. */
//#define Z_PROBE_SLED //#define Z_PROBE_SLED
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
// /**
// Allen Key Probe is defined in the Delta example configurations. * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// * X and Y offsets must be integers.
*
// Z Probe to nozzle (X,Y) offset, relative to (0, 0). * In the following example the X and Y offsets are both positive:
// X and Y offsets must be integers. * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
// * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
// In the following example the X and Y offsets are both positive: *
// #define X_PROBE_OFFSET_FROM_EXTRUDER 10 * +-- BACK ---+
// #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 * | |
// * L | (+) P | R <-- probe (20,20)
// +-- BACK ---+ * E | | I
// | | * F | (-) N (+) | G <-- nozzle (10,10)
// L | (+) P | R <-- probe (20,20) * T | | H
// E | | I * | (-) | T
// F | (-) N (+) | G <-- nozzle (10,10) * | |
// T | | H * O-- FRONT --+
// | (-) | T * (0,0)
// | | */
// O-- FRONT --+
// (0,0)
#define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle] #define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER -10 // Y offset: -front +behind [the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER -10 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5 // Z offset: -below +above [the nozzle] #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5 // Z offset: -below +above [the nozzle]
// X and Y axis travel speed (mm/m) between probes /* X and Y axis travel speed (mm/m) between probes */
#define XY_PROBE_SPEED 4000 #define XY_PROBE_SPEED 4000
// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
/* Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
// Speed for the "accurate" probe of each point
/* Speed for the "accurate" probe of each point */
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
// Use double touch for probing
/* Use double touch for probing */
//#define PROBE_DOUBLE_TOUCH //#define PROBE_DOUBLE_TOUCH
// Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe /**
// Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN. * Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
* Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
*/
#define Z_PROBE_ALLEN_KEY #define Z_PROBE_ALLEN_KEY
#if ENABLED(Z_PROBE_ALLEN_KEY) #if ENABLED(Z_PROBE_ALLEN_KEY)
@ -696,49 +720,66 @@
#endif // Z_PROBE_ALLEN_KEY #endif // Z_PROBE_ALLEN_KEY
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** /**
// *
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING. * *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
// Example: To park the head outside the bed area when homing with G28. *
// * - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN. * - Use 5V for powered (usu. inductive) sensors.
// * - Otherwise connect:
// For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above. * - normally-closed switches to GND and D32.
// * - normally-open switches to 5V and D32.
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin. *
// - Use 5V for powered (usu. inductive) sensors. * Normally-closed switches are advised and are the default.
// - Otherwise connect: *
// - normally-closed switches to GND and D32. *
// - normally-open switches to 5V and D32. * PIN OPTIONS\SETUP FOR Z PROBES
// *
// Normally-closed switches are advised and are the default. *
// * WARNING:
* Setting the wrong pin may have unexpected and potentially disastrous consequences.
// * Use with caution and do your homework.
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.) *
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the *
// default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default. * All Z PROBE pin options are configured by defining (or not defining)
// To use a different pin you can override it here. * the following five items:
// * Z_MIN_PROBE_ENDSTOP defined below
// WARNING: * Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN defined below
// Setting the wrong pin may have unexpected and potentially disastrous consequences. * Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file
// Use with caution and do your homework. * Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file
// *
//#define Z_MIN_PROBE_PIN X_MAX_PIN * If you're using a probe then you need to tell Marlin which pin to use as
* the Z MIN ENDSTOP. Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the
* Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used.
*
* The pin selected for the probe is ONLY checked during probing operations.
* If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE
* then youll need to use the Z_MIN_PROBE_PIN option.
*
* Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN.
*
* The settings needed to use the Z_MIN_PROBE_PIN are:
* 1. select the type of probe you're using
* 2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file
* 3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. enable Z_MIN_PROBE_ENDSTOP
* NOTE if Z_MIN_PIN is defined then itll be checked during all moves in the
* negative Z direction.
*
* The settings needed to use the Z_MIN_PIN are:
* 1. select the type of probe you're using
* 2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file
* 3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. disable Z_MIN_PROBE_ENDSTOP
* NOTES if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then itll be
* ignored by Marlin
*/
//
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
//#define Z_MIN_PROBE_ENDSTOP //#define Z_MIN_PROBE_ENDSTOP
// Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
// The Z_MIN_PIN will then be used for both Z-homing and probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// To use a probe you must enable one of the two options above!
// Enable Z Probe Repeatability test to see how accurate your probe is /* Enable Z Probe Repeatability test to see how accurate your probe is */
//#define Z_MIN_PROBE_REPEATABILITY_TEST //#define Z_MIN_PROBE_REPEATABILITY_TEST
/** /**
@ -758,12 +799,11 @@
#define Z_CLEARANCE_DEPLOY_PROBE 50 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_DEPLOY_PROBE 50 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
// /* For M851 give a range for adjusting the Z probe offset */
// For M851 give a range for adjusting the Z probe offset
//
#define Z_PROBE_OFFSET_RANGE_MIN -20 #define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20 #define Z_PROBE_OFFSET_RANGE_MAX 20
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{ 0:'Low', 1:'High' } // :{ 0:'Low', 1:'High' }
#define X_ENABLE_ON 0 #define X_ENABLE_ON 0

@ -569,83 +569,115 @@
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== /**
//============================= Z Probe Options ============================= * ===========================================================================
//=========================================================================== * ============================= Z Probe Options =============================
// @section probes * ===========================================================================
* @section probes
// *
// Probe Type *
// Probes are sensors/switches that are activated / deactivated before/after use. * Probe Type
// * Probes are sensors/switches that are activated / deactivated before/after use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. *
// You must activate one of these to use Auto Bed Leveling below. * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
// * You must activate one of these to use Auto Bed Leveling below.
// Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. *
// * Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
*/
// The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. /**
// Use G29 repeatedly, adjusting the Z height at each point with movement commands * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
// or (with LCD_BED_LEVELING) the LCD controller. * Use G29 repeatedly, adjusting the Z height at each point with movement commands
* or (with LCD_BED_LEVELING) the LCD controller.
*/
//#define PROBE_MANUALLY //#define PROBE_MANUALLY
// A Fix-Mounted Probe either doesn't deploy or needs manual deployment. /**
// For example an inductive probe, or a setup that uses the nozzle to probe. * A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
// An inductive probe must be deactivated to go below * For example an inductive probe, or a setup that uses the nozzle to probe.
// its trigger-point if hardware endstops are active. * An inductive probe must be deactivated to go below
* its trigger-point if hardware endstops are active.
*/
//#define FIX_MOUNTED_PROBE //#define FIX_MOUNTED_PROBE
// The BLTouch probe emulates a servo probe. /**
// The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override. * Z Servo Probe, such as an endstop switch on a rotating arm.
* NUM_SERVOS also needs to be set. This is found later in this file. Set it to
* 1 + the number of other servos in your system.
*/
//#define Z_ENDSTOP_SERVO_NR 0 // Defaults to SERVO 0 connector.
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
/**
* The BLTouch probe emulates a servo probe.
* If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES
* are setup for you in the background and you shouldn't need to set/modify/enable them
* with the possible exception of Z_ENDSTOP_SERVO_NR.
*/
//#define BLTOUCH //#define BLTOUCH
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
// Z Servo Probe, such as an endstop switch on a rotating arm. /**
//#define Z_ENDSTOP_SERVO_NR 0 * BLTouch WARNING - ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles * Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably
* sense the BLTouch. If the feedrate is too slow then G28 & G29 can sometimes result
* in the print head being driven into the bed until manual intervention.
* The minimum feedrate calculation is:
*
* feedrate minimum = 24000 / DEFAULT_AXIS_STEPS_PER_UNIT
* where feedrate is in "mm/minute" or "inches/minute" depending on the units used
* in DEFAULT_AXIS_STEPS_PER_UNIT
*
* This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST. If PROBE_DOUBLE_TOUCH
* is enabled then it also applies to Z_PROBE_SPEED_SLOW.
*/
// Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. /* Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. */
//#define Z_PROBE_SLED //#define Z_PROBE_SLED
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
// /**
// Allen Key Probe is defined in the Delta example configurations. * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// * X and Y offsets must be integers.
*
// Z Probe to nozzle (X,Y) offset, relative to (0, 0). * In the following example the X and Y offsets are both positive:
// X and Y offsets must be integers. * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
// * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
// In the following example the X and Y offsets are both positive: *
// #define X_PROBE_OFFSET_FROM_EXTRUDER 10 * +-- BACK ---+
// #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 * | |
// * L | (+) P | R <-- probe (20,20)
// +-- BACK ---+ * E | | I
// | | * F | (-) N (+) | G <-- nozzle (10,10)
// L | (+) P | R <-- probe (20,20) * T | | H
// E | | I * | (-) | T
// F | (-) N (+) | G <-- nozzle (10,10) * | |
// T | | H * O-- FRONT --+
// | (-) | T * (0,0)
// | | */
// O-- FRONT --+
// (0,0)
#define X_PROBE_OFFSET_FROM_EXTRUDER -23 // KosselPro actual: -22.919 #define X_PROBE_OFFSET_FROM_EXTRUDER -23 // KosselPro actual: -22.919
#define Y_PROBE_OFFSET_FROM_EXTRUDER -6 // KosselPro actual: -6.304 #define Y_PROBE_OFFSET_FROM_EXTRUDER -6 // KosselPro actual: -6.304
// Kossel Pro note: The correct value is likely -17.45 but I'd rather err on the side of /**
// not giving someone a head crash. Use something like G29 Z-0.2 to adjust as needed. * Kossel Pro note: The correct value is likely -17.45 but I'd rather err on the side of
* not giving someone a head crash. Use something like G29 Z-0.2 to adjust as needed.
*/
#define Z_PROBE_OFFSET_FROM_EXTRUDER -17.25 // Increase this if the first layer is too thin (remember: it's a negative number so increase means closer to zero). #define Z_PROBE_OFFSET_FROM_EXTRUDER -17.25 // Increase this if the first layer is too thin (remember: it's a negative number so increase means closer to zero).
/* X and Y axis travel speed (mm/m) between probes */
// X and Y axis travel speed (mm/m) between probes
#define XY_PROBE_SPEED 8000 #define XY_PROBE_SPEED 8000
// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
/* Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
// Speed for the "accurate" probe of each point
/* Speed for the "accurate" probe of each point */
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
// Use double touch for probing
/* Use double touch for probing */
//#define PROBE_DOUBLE_TOUCH //#define PROBE_DOUBLE_TOUCH
// Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe /**
// Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN. * Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
* Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
*/
#define Z_PROBE_ALLEN_KEY #define Z_PROBE_ALLEN_KEY
#if ENABLED(Z_PROBE_ALLEN_KEY) #if ENABLED(Z_PROBE_ALLEN_KEY)
@ -695,49 +727,66 @@
#endif // Z_PROBE_ALLEN_KEY #endif // Z_PROBE_ALLEN_KEY
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** /**
// *
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING. * *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
// Example: To park the head outside the bed area when homing with G28. *
// * - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN. * - Use 5V for powered (usu. inductive) sensors.
// * - Otherwise connect:
// For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above. * - normally-closed switches to GND and D32.
// * - normally-open switches to 5V and D32.
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin. *
// - Use 5V for powered (usu. inductive) sensors. * Normally-closed switches are advised and are the default.
// - Otherwise connect: *
// - normally-closed switches to GND and D32. *
// - normally-open switches to 5V and D32. * PIN OPTIONS\SETUP FOR Z PROBES
// *
// Normally-closed switches are advised and are the default. *
// * WARNING:
* Setting the wrong pin may have unexpected and potentially disastrous consequences.
// * Use with caution and do your homework.
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.) *
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the *
// default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default. * All Z PROBE pin options are configured by defining (or not defining)
// To use a different pin you can override it here. * the following five items:
// * Z_MIN_PROBE_ENDSTOP defined below
// WARNING: * Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN defined below
// Setting the wrong pin may have unexpected and potentially disastrous consequences. * Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file
// Use with caution and do your homework. * Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file
// *
//#define Z_MIN_PROBE_PIN X_MAX_PIN * If you're using a probe then you need to tell Marlin which pin to use as
* the Z MIN ENDSTOP. Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the
* Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used.
*
* The pin selected for the probe is ONLY checked during probing operations.
* If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE
* then youll need to use the Z_MIN_PROBE_PIN option.
*
* Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN.
*
* The settings needed to use the Z_MIN_PROBE_PIN are:
* 1. select the type of probe you're using
* 2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file
* 3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. enable Z_MIN_PROBE_ENDSTOP
* NOTE if Z_MIN_PIN is defined then itll be checked during all moves in the
* negative Z direction.
*
* The settings needed to use the Z_MIN_PIN are:
* 1. select the type of probe you're using
* 2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file
* 3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. disable Z_MIN_PROBE_ENDSTOP
* NOTES if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then itll be
* ignored by Marlin
*/
//
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
//#define Z_MIN_PROBE_ENDSTOP //#define Z_MIN_PROBE_ENDSTOP
// Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
// The Z_MIN_PIN will then be used for both Z-homing and probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// To use a probe you must enable one of the two options above!
// Enable Z Probe Repeatability test to see how accurate your probe is /* Enable Z Probe Repeatability test to see how accurate your probe is */
//#define Z_MIN_PROBE_REPEATABILITY_TEST //#define Z_MIN_PROBE_REPEATABILITY_TEST
/** /**
@ -757,9 +806,8 @@
#define Z_CLEARANCE_DEPLOY_PROBE 100 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_DEPLOY_PROBE 100 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
// /* For M851 give a range for adjusting the Z probe offset */
// For M851 give a range for adjusting the Z probe offset
//
#define Z_PROBE_OFFSET_RANGE_MIN -15 #define Z_PROBE_OFFSET_RANGE_MIN -15
#define Z_PROBE_OFFSET_RANGE_MAX 5 #define Z_PROBE_OFFSET_RANGE_MAX 5

@ -588,81 +588,112 @@
#define DEFAULT_EJERK 20.0 #define DEFAULT_EJERK 20.0
//=========================================================================== /**
//============================= Z Probe Options ============================= * ===========================================================================
//=========================================================================== * ============================= Z Probe Options =============================
// @section probes * ===========================================================================
* @section probes
// *
// Probe Type *
// Probes are sensors/switches that are activated / deactivated before/after use. * Probe Type
// * Probes are sensors/switches that are activated / deactivated before/after use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. *
// You must activate one of these to use Auto Bed Leveling below. * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
// * You must activate one of these to use Auto Bed Leveling below.
// Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. *
// * Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
*/
// The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. /**
// Use G29 repeatedly, adjusting the Z height at each point with movement commands * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
// or (with LCD_BED_LEVELING) the LCD controller. * Use G29 repeatedly, adjusting the Z height at each point with movement commands
* or (with LCD_BED_LEVELING) the LCD controller.
*/
//#define PROBE_MANUALLY //#define PROBE_MANUALLY
// A Fix-Mounted Probe either doesn't deploy or needs manual deployment. /**
// For example an inductive probe, or a setup that uses the nozzle to probe. * A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
// An inductive probe must be deactivated to go below * For example an inductive probe, or a setup that uses the nozzle to probe.
// its trigger-point if hardware endstops are active. * An inductive probe must be deactivated to go below
* its trigger-point if hardware endstops are active.
*/
#define FIX_MOUNTED_PROBE #define FIX_MOUNTED_PROBE
// The BLTouch probe emulates a servo probe. /**
// The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override. * Z Servo Probe, such as an endstop switch on a rotating arm.
* NUM_SERVOS also needs to be set. This is found later in this file. Set it to
* 1 + the number of other servos in your system.
*/
//#define Z_ENDSTOP_SERVO_NR 0 // Defaults to SERVO 0 connector.
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
/**
* The BLTouch probe emulates a servo probe.
* If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES
* are setup for you in the background and you shouldn't need to set/modify/enable them
* with the possible exception of Z_ENDSTOP_SERVO_NR.
*/
//#define BLTOUCH //#define BLTOUCH
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
// Z Servo Probe, such as an endstop switch on a rotating arm. /**
//#define Z_ENDSTOP_SERVO_NR 0 * BLTouch WARNING - ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles * Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably
* sense the BLTouch. If the feedrate is too slow then G28 & G29 can sometimes result
* in the print head being driven into the bed until manual intervention.
* The minimum feedrate calculation is:
*
* feedrate minimum = 24000 / DEFAULT_AXIS_STEPS_PER_UNIT
* where feedrate is in "mm/minute" or "inches/minute" depending on the units used
* in DEFAULT_AXIS_STEPS_PER_UNIT
*
* This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST. If PROBE_DOUBLE_TOUCH
* is enabled then it also applies to Z_PROBE_SPEED_SLOW.
*/
// Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. /* Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. */
//#define Z_PROBE_SLED //#define Z_PROBE_SLED
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
// /**
// Allen Key Probe is defined in the Delta example configurations. * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// * X and Y offsets must be integers.
*
// Z Probe to nozzle (X,Y) offset, relative to (0, 0). * In the following example the X and Y offsets are both positive:
// X and Y offsets must be integers. * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
// * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
// In the following example the X and Y offsets are both positive: *
// #define X_PROBE_OFFSET_FROM_EXTRUDER 10 * +-- BACK ---+
// #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 * | |
// * L | (+) P | R <-- probe (20,20)
// +-- BACK ---+ * E | | I
// | | * F | (-) N (+) | G <-- nozzle (10,10)
// L | (+) P | R <-- probe (20,20) * T | | H
// E | | I * | (-) | T
// F | (-) N (+) | G <-- nozzle (10,10) * | |
// T | | H * O-- FRONT --+
// | (-) | T * (0,0)
// | | */
// O-- FRONT --+
// (0,0)
#define X_PROBE_OFFSET_FROM_EXTRUDER 0.0 // Z probe to nozzle X offset: -left +right #define X_PROBE_OFFSET_FROM_EXTRUDER 0.0 // Z probe to nozzle X offset: -left +right
#define Y_PROBE_OFFSET_FROM_EXTRUDER 0.0 // Z probe to nozzle Y offset: -front +behind #define Y_PROBE_OFFSET_FROM_EXTRUDER 0.0 // Z probe to nozzle Y offset: -front +behind
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0.3 // Z probe to nozzle Z offset: -below (always!) #define Z_PROBE_OFFSET_FROM_EXTRUDER 0.3 // Z probe to nozzle Z offset: -below (always!)
// X and Y axis travel speed (mm/m) between probes /* X and Y axis travel speed (mm/m) between probes */
#define XY_PROBE_SPEED 8000 #define XY_PROBE_SPEED 8000
// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
/* Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
// Speed for the "accurate" probe of each point
/* Speed for the "accurate" probe of each point */
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
// Use double touch for probing
/* Use double touch for probing */
//#define PROBE_DOUBLE_TOUCH //#define PROBE_DOUBLE_TOUCH
// Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe /**
// Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN. * Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
* Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
*/
//#define Z_PROBE_ALLEN_KEY //#define Z_PROBE_ALLEN_KEY
#if ENABLED(Z_PROBE_ALLEN_KEY) #if ENABLED(Z_PROBE_ALLEN_KEY)
@ -706,49 +737,65 @@
#endif // Z_PROBE_ALLEN_KEY #endif // Z_PROBE_ALLEN_KEY
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** /**
// * *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING. *
// Example: To park the head outside the bed area when homing with G28. * - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// * - Use 5V for powered (usu. inductive) sensors.
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN. * - Otherwise connect:
// * - normally-closed switches to GND and D32.
// For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above. * - normally-open switches to 5V and D32.
// *
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin. * Normally-closed switches are advised and are the default.
// - Use 5V for powered (usu. inductive) sensors. *
// - Otherwise connect: *
// - normally-closed switches to GND and D32. * PIN OPTIONS\SETUP FOR Z PROBES
// - normally-open switches to 5V and D32. *
// *
// Normally-closed switches are advised and are the default. * WARNING:
// * Setting the wrong pin may have unexpected and potentially disastrous consequences.
* Use with caution and do your homework.
// *
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.) *
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the * All Z PROBE pin options are configured by defining (or not defining)
// default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default. * the following five items:
// To use a different pin you can override it here. * Z_MIN_PROBE_ENDSTOP defined below
// * Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN defined below
// WARNING: * Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file
// Setting the wrong pin may have unexpected and potentially disastrous consequences. * Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file
// Use with caution and do your homework. *
// * If you're using a probe then you need to tell Marlin which pin to use as
//#define Z_MIN_PROBE_PIN X_MAX_PIN * the Z MIN ENDSTOP. Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the
* Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used.
*
* The pin selected for the probe is ONLY checked during probing operations.
* If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE
* then youll need to use the Z_MIN_PROBE_PIN option.
*
* Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN.
*
* The settings needed to use the Z_MIN_PROBE_PIN are:
* 1. select the type of probe you're using
* 2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file
* 3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. enable Z_MIN_PROBE_ENDSTOP
* NOTE if Z_MIN_PIN is defined then itll be checked during all moves in the
* negative Z direction.
*
* The settings needed to use the Z_MIN_PIN are:
* 1. select the type of probe you're using
* 2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file
* 3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. disable Z_MIN_PROBE_ENDSTOP
* NOTES if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then itll be
* ignored by Marlin
*/
//
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
#define Z_MIN_PROBE_ENDSTOP #define Z_MIN_PROBE_ENDSTOP
// Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
// The Z_MIN_PIN will then be used for both Z-homing and probing.
//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN //#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// To use a probe you must enable one of the two options above!
// Enable Z Probe Repeatability test to see how accurate your probe is /* Enable Z Probe Repeatability test to see how accurate your probe is */
//#define Z_MIN_PROBE_REPEATABILITY_TEST //#define Z_MIN_PROBE_REPEATABILITY_TEST
/** /**
@ -768,12 +815,11 @@
#define Z_CLEARANCE_DEPLOY_PROBE 20 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_DEPLOY_PROBE 20 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 10 // Z Clearance between probe points #define Z_CLEARANCE_BETWEEN_PROBES 10 // Z Clearance between probe points
// /* For M851 give a range for adjusting the Z probe offset */
// For M851 give a range for adjusting the Z probe offset
//
#define Z_PROBE_OFFSET_RANGE_MIN -20 #define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20 #define Z_PROBE_OFFSET_RANGE_MAX 20
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{ 0:'Low', 1:'High' } // :{ 0:'Low', 1:'High' }
#define X_ENABLE_ON 0 #define X_ENABLE_ON 0

@ -533,122 +533,170 @@
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== /**
//============================= Z Probe Options ============================= * ===========================================================================
//=========================================================================== * ============================= Z Probe Options =============================
// @section probes * ===========================================================================
* @section probes
// *
// Probe Type *
// Probes are sensors/switches that are activated / deactivated before/after use. * Probe Type
// * Probes are sensors/switches that are activated / deactivated before/after use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. *
// You must activate one of these to use Auto Bed Leveling below. * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
// * You must activate one of these to use Auto Bed Leveling below.
// Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. *
// * Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
*/
// The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. /**
// Use G29 repeatedly, adjusting the Z height at each point with movement commands * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
// or (with LCD_BED_LEVELING) the LCD controller. * Use G29 repeatedly, adjusting the Z height at each point with movement commands
* or (with LCD_BED_LEVELING) the LCD controller.
*/
//#define PROBE_MANUALLY //#define PROBE_MANUALLY
// A Fix-Mounted Probe either doesn't deploy or needs manual deployment. /**
// For example an inductive probe, or a setup that uses the nozzle to probe. * A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
// An inductive probe must be deactivated to go below * For example an inductive probe, or a setup that uses the nozzle to probe.
// its trigger-point if hardware endstops are active. * An inductive probe must be deactivated to go below
* its trigger-point if hardware endstops are active.
*/
//#define FIX_MOUNTED_PROBE //#define FIX_MOUNTED_PROBE
// The BLTouch probe emulates a servo probe. /**
// The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override. * Z Servo Probe, such as an endstop switch on a rotating arm.
* NUM_SERVOS also needs to be set. This is found later in this file. Set it to
* 1 + the number of other servos in your system.
*/
//#define Z_ENDSTOP_SERVO_NR 0 // Defaults to SERVO 0 connector.
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
/**
* The BLTouch probe emulates a servo probe.
* If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES
* are setup for you in the background and you shouldn't need to set/modify/enable them
* with the possible exception of Z_ENDSTOP_SERVO_NR.
*/
//#define BLTOUCH //#define BLTOUCH
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
// Z Servo Probe, such as an endstop switch on a rotating arm. /**
//#define Z_ENDSTOP_SERVO_NR 0 * BLTouch WARNING - ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles * Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably
* sense the BLTouch. If the feedrate is too slow then G28 & G29 can sometimes result
* in the print head being driven into the bed until manual intervention.
* The minimum feedrate calculation is:
*
* feedrate minimum = 24000 / DEFAULT_AXIS_STEPS_PER_UNIT
* where feedrate is in "mm/minute" or "inches/minute" depending on the units used
* in DEFAULT_AXIS_STEPS_PER_UNIT
*
* This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST. If PROBE_DOUBLE_TOUCH
* is enabled then it also applies to Z_PROBE_SPEED_SLOW.
*/
// Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. /* Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. */
//#define Z_PROBE_SLED //#define Z_PROBE_SLED
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
// /**
// Allen Key Probe is defined in the Delta example configurations. * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// * X and Y offsets must be integers.
*
// Z Probe to nozzle (X,Y) offset, relative to (0, 0). * In the following example the X and Y offsets are both positive:
// X and Y offsets must be integers. * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
// * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
// In the following example the X and Y offsets are both positive: *
// #define X_PROBE_OFFSET_FROM_EXTRUDER 10 * +-- BACK ---+
// #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 * | |
// * L | (+) P | R <-- probe (20,20)
// +-- BACK ---+ * E | | I
// | | * F | (-) N (+) | G <-- nozzle (10,10)
// L | (+) P | R <-- probe (20,20) * T | | H
// E | | I * | (-) | T
// F | (-) N (+) | G <-- nozzle (10,10) * | |
// T | | H * O-- FRONT --+
// | (-) | T * (0,0)
// | | */
// O-- FRONT --+
// (0,0)
#define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle] #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle] #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle]
// X and Y axis travel speed (mm/m) between probes /* X and Y axis travel speed (mm/m) between probes */
#define XY_PROBE_SPEED 8000 #define XY_PROBE_SPEED 8000
// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
/* Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
// Speed for the "accurate" probe of each point
/* Speed for the "accurate" probe of each point */
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
// Use double touch for probing
//#define PROBE_DOUBLE_TOUCH
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** /* Use double touch for probing */
// //#define PROBE_DOUBLE_TOUCH
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// /**
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.) * Allen Key Probe is defined in the Delta example configurations.
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the *
// default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default. *
// To use a different pin you can override it here. * *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
// *
// WARNING: * - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// Setting the wrong pin may have unexpected and potentially disastrous consequences. * - Use 5V for powered (usu. inductive) sensors.
// Use with caution and do your homework. * - Otherwise connect:
// * - normally-closed switches to GND and D32.
//#define Z_MIN_PROBE_PIN X_MAX_PIN * - normally-open switches to 5V and D32.
*
* Normally-closed switches are advised and are the default.
*
*
* PIN OPTIONS\SETUP FOR Z PROBES
*
*
* WARNING:
* Setting the wrong pin may have unexpected and potentially disastrous consequences.
* Use with caution and do your homework.
*
*
* All Z PROBE pin options are configured by defining (or not defining)
* the following five items:
* Z_MIN_PROBE_ENDSTOP defined below
* Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN defined below
* Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file
* Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file
*
* If you're using a probe then you need to tell Marlin which pin to use as
* the Z MIN ENDSTOP. Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the
* Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used.
*
* The pin selected for the probe is ONLY checked during probing operations.
* If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE
* then youll need to use the Z_MIN_PROBE_PIN option.
*
* Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN.
*
* The settings needed to use the Z_MIN_PROBE_PIN are:
* 1. select the type of probe you're using
* 2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file
* 3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. enable Z_MIN_PROBE_ENDSTOP
* NOTE if Z_MIN_PIN is defined then itll be checked during all moves in the
* negative Z direction.
*
* The settings needed to use the Z_MIN_PIN are:
* 1. select the type of probe you're using
* 2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file
* 3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. disable Z_MIN_PROBE_ENDSTOP
* NOTES if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then itll be
* ignored by Marlin
*/
//
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
//#define Z_MIN_PROBE_ENDSTOP //#define Z_MIN_PROBE_ENDSTOP
// Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
// The Z_MIN_PIN will then be used for both Z-homing and probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// To use a probe you must enable one of the two options above!
// Enable Z Probe Repeatability test to see how accurate your probe is /* Enable Z Probe Repeatability test to see how accurate your probe is */
//#define Z_MIN_PROBE_REPEATABILITY_TEST //#define Z_MIN_PROBE_REPEATABILITY_TEST
/** /**
@ -668,12 +716,11 @@
#define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
// /* For M851 give a range for adjusting the Z probe offset */
// For M851 give a range for adjusting the Z probe offset
//
#define Z_PROBE_OFFSET_RANGE_MIN -20 #define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20 #define Z_PROBE_OFFSET_RANGE_MAX 20
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{ 0:'Low', 1:'High' } // :{ 0:'Low', 1:'High' }
#define X_ENABLE_ON 0 #define X_ENABLE_ON 0

@ -526,122 +526,170 @@
#define DEFAULT_EJERK 5.0 #define DEFAULT_EJERK 5.0
//=========================================================================== /**
//============================= Z Probe Options ============================= * ===========================================================================
//=========================================================================== * ============================= Z Probe Options =============================
// @section probes * ===========================================================================
* @section probes
// *
// Probe Type *
// Probes are sensors/switches that are activated / deactivated before/after use. * Probe Type
// * Probes are sensors/switches that are activated / deactivated before/after use.
// Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. *
// You must activate one of these to use Auto Bed Leveling below. * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
// * You must activate one of these to use Auto Bed Leveling below.
// Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. *
// * Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
*/
// The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. /**
// Use G29 repeatedly, adjusting the Z height at each point with movement commands * The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
// or (with LCD_BED_LEVELING) the LCD controller. * Use G29 repeatedly, adjusting the Z height at each point with movement commands
* or (with LCD_BED_LEVELING) the LCD controller.
*/
//#define PROBE_MANUALLY //#define PROBE_MANUALLY
// A Fix-Mounted Probe either doesn't deploy or needs manual deployment. /**
// For example an inductive probe, or a setup that uses the nozzle to probe. * A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
// An inductive probe must be deactivated to go below * For example an inductive probe, or a setup that uses the nozzle to probe.
// its trigger-point if hardware endstops are active. * An inductive probe must be deactivated to go below
* its trigger-point if hardware endstops are active.
*/
//#define FIX_MOUNTED_PROBE //#define FIX_MOUNTED_PROBE
// The BLTouch probe emulates a servo probe. /**
// The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override. * Z Servo Probe, such as an endstop switch on a rotating arm.
* NUM_SERVOS also needs to be set. This is found later in this file. Set it to
* 1 + the number of other servos in your system.
*/
//#define Z_ENDSTOP_SERVO_NR 0 // Defaults to SERVO 0 connector.
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
/**
* The BLTouch probe emulates a servo probe.
* If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES
* are setup for you in the background and you shouldn't need to set/modify/enable them
* with the possible exception of Z_ENDSTOP_SERVO_NR.
*/
//#define BLTOUCH //#define BLTOUCH
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
// Z Servo Probe, such as an endstop switch on a rotating arm. /**
//#define Z_ENDSTOP_SERVO_NR 0 * BLTouch WARNING - ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles * Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably
* sense the BLTouch. If the feedrate is too slow then G28 & G29 can sometimes result
* in the print head being driven into the bed until manual intervention.
* The minimum feedrate calculation is:
*
* feedrate minimum = 24000 / DEFAULT_AXIS_STEPS_PER_UNIT
* where feedrate is in "mm/minute" or "inches/minute" depending on the units used
* in DEFAULT_AXIS_STEPS_PER_UNIT
*
* This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST. If PROBE_DOUBLE_TOUCH
* is enabled then it also applies to Z_PROBE_SPEED_SLOW.
*/
// Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. /* Enable if you have a Z probe mounted on a sled like those designed by Charles Bell. */
//#define Z_PROBE_SLED //#define Z_PROBE_SLED
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
// /**
// Allen Key Probe is defined in the Delta example configurations. * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
// * X and Y offsets must be integers.
*
// Z Probe to nozzle (X,Y) offset, relative to (0, 0). * In the following example the X and Y offsets are both positive:
// X and Y offsets must be integers. * #define X_PROBE_OFFSET_FROM_EXTRUDER 10
// * #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
// In the following example the X and Y offsets are both positive: *
// #define X_PROBE_OFFSET_FROM_EXTRUDER 10 * +-- BACK ---+
// #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 * | |
// * L | (+) P | R <-- probe (20,20)
// +-- BACK ---+ * E | | I
// | | * F | (-) N (+) | G <-- nozzle (10,10)
// L | (+) P | R <-- probe (20,20) * T | | H
// E | | I * | (-) | T
// F | (-) N (+) | G <-- nozzle (10,10) * | |
// T | | H * O-- FRONT --+
// | (-) | T * (0,0)
// | | */
// O-- FRONT --+
// (0,0)
#define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle] #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle] #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z offset: -below +above [the nozzle]
// X and Y axis travel speed (mm/m) between probes /* X and Y axis travel speed (mm/m) between probes */
#define XY_PROBE_SPEED 8000 #define XY_PROBE_SPEED 8000
// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
/* Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
// Speed for the "accurate" probe of each point
/* Speed for the "accurate" probe of each point */
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
// Use double touch for probing
//#define PROBE_DOUBLE_TOUCH
// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** /* Use double touch for probing */
// //#define PROBE_DOUBLE_TOUCH
// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
// Example: To park the head outside the bed area when homing with G28.
//
// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
//
// For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
//
// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// - Use 5V for powered (usu. inductive) sensors.
// - Otherwise connect:
// - normally-closed switches to GND and D32.
// - normally-open switches to 5V and D32.
//
// Normally-closed switches are advised and are the default.
//
// /**
// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.) * Allen Key Probe is defined in the Delta example configurations.
// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the *
// default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default. *
// To use a different pin you can override it here. * *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
// *
// WARNING: * - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
// Setting the wrong pin may have unexpected and potentially disastrous consequences. * - Use 5V for powered (usu. inductive) sensors.
// Use with caution and do your homework. * - Otherwise connect:
// * - normally-closed switches to GND and D32.
//#define Z_MIN_PROBE_PIN X_MAX_PIN * - normally-open switches to 5V and D32.
*
* Normally-closed switches are advised and are the default.
*
*
* PIN OPTIONS\SETUP FOR Z PROBES
*
*
* WARNING:
* Setting the wrong pin may have unexpected and potentially disastrous consequences.
* Use with caution and do your homework.
*
*
* All Z PROBE pin options are configured by defining (or not defining)
* the following five items:
* Z_MIN_PROBE_ENDSTOP defined below
* Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN defined below
* Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file
* Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file
*
* If you're using a probe then you need to tell Marlin which pin to use as
* the Z MIN ENDSTOP. Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the
* Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used.
*
* The pin selected for the probe is ONLY checked during probing operations.
* If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE
* then youll need to use the Z_MIN_PROBE_PIN option.
*
* Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN.
*
* The settings needed to use the Z_MIN_PROBE_PIN are:
* 1. select the type of probe you're using
* 2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file
* 3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. enable Z_MIN_PROBE_ENDSTOP
* NOTE if Z_MIN_PIN is defined then itll be checked during all moves in the
* negative Z direction.
*
* The settings needed to use the Z_MIN_PIN are:
* 1. select the type of probe you're using
* 2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file
* 3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
* 4. disable Z_MIN_PROBE_ENDSTOP
* NOTES if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then itll be
* ignored by Marlin
*/
//
// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
//
//#define Z_MIN_PROBE_ENDSTOP //#define Z_MIN_PROBE_ENDSTOP
// Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
// The Z_MIN_PIN will then be used for both Z-homing and probing.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// To use a probe you must enable one of the two options above!
// Enable Z Probe Repeatability test to see how accurate your probe is /* Enable Z Probe Repeatability test to see how accurate your probe is */
//#define Z_MIN_PROBE_REPEATABILITY_TEST //#define Z_MIN_PROBE_REPEATABILITY_TEST
/** /**
@ -661,12 +709,11 @@
#define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_DEPLOY_PROBE 15 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points #define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
// /* For M851 give a range for adjusting the Z probe offset */
// For M851 give a range for adjusting the Z probe offset
//
#define Z_PROBE_OFFSET_RANGE_MIN -20 #define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20 #define Z_PROBE_OFFSET_RANGE_MAX 20
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{ 0:'Low', 1:'High' } // :{ 0:'Low', 1:'High' }
#define X_ENABLE_ON 1 #define X_ENABLE_ON 1

Loading…
Cancel
Save