- Fixed issue when BAL area probing is shorter than it should be for grid probing - Warning when BAL activated with Delta Kinematics - Fix XY_TRAVEL_SPEED when homing Z axis
This commit is contained in:
parent
73b7b08f2c
commit
3afe66bb0c
5 changed files with 35 additions and 93 deletions
|
@ -431,6 +431,29 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef AUTO_BED_LEVELING_GRID // Check if Probe_Offset * Grid Points is greater than Probing Range
|
||||||
|
#if X_PROBE_OFFSET_FROM_EXTRUDER < 0
|
||||||
|
#if (-(X_PROBE_OFFSET_FROM_EXTRUDER * AUTO_BED_LEVELING_GRID_POINTS) >= (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION))
|
||||||
|
#error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
#if ((X_PROBE_OFFSET_FROM_EXTRUDER * AUTO_BED_LEVELING_GRID_POINTS) >= (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION))
|
||||||
|
#error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#if Y_PROBE_OFFSET_FROM_EXTRUDER < 0
|
||||||
|
#if (-(Y_PROBE_OFFSET_FROM_EXTRUDER * AUTO_BED_LEVELING_GRID_POINTS) >= (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION))
|
||||||
|
#error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
#if ((Y_PROBE_OFFSET_FROM_EXTRUDER * AUTO_BED_LEVELING_GRID_POINTS) >= (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION))
|
||||||
|
#error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif // ENABLE_AUTO_BED_LEVELING
|
#endif // ENABLE_AUTO_BED_LEVELING
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -455,6 +455,11 @@ const unsigned int dropsegments=5; //everything with less than this number of st
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= Define Defines ============================
|
//============================= Define Defines ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
|
#if defined (ENABLE_AUTO_BED_LEVELING) && defined (DELTA)
|
||||||
|
#error "Bed Auto Leveling is still not compatible with Delta Kinematics."
|
||||||
|
#endif
|
||||||
|
|
||||||
#if EXTRUDERS > 1 && defined TEMP_SENSOR_1_AS_REDUNDANT
|
#if EXTRUDERS > 1 && defined TEMP_SENSOR_1_AS_REDUNDANT
|
||||||
#error "You cannot use TEMP_SENSOR_1_AS_REDUNDANT if EXTRUDERS > 1"
|
#error "You cannot use TEMP_SENSOR_1_AS_REDUNDANT if EXTRUDERS > 1"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1571,7 +1571,7 @@ void process_commands()
|
||||||
destination[X_AXIS] = round(Z_SAFE_HOMING_X_POINT - X_PROBE_OFFSET_FROM_EXTRUDER);
|
destination[X_AXIS] = round(Z_SAFE_HOMING_X_POINT - X_PROBE_OFFSET_FROM_EXTRUDER);
|
||||||
destination[Y_AXIS] = round(Z_SAFE_HOMING_Y_POINT - Y_PROBE_OFFSET_FROM_EXTRUDER);
|
destination[Y_AXIS] = round(Z_SAFE_HOMING_Y_POINT - Y_PROBE_OFFSET_FROM_EXTRUDER);
|
||||||
destination[Z_AXIS] = Z_RAISE_BEFORE_HOMING * home_dir(Z_AXIS) * (-1); // Set destination away from bed
|
destination[Z_AXIS] = Z_RAISE_BEFORE_HOMING * home_dir(Z_AXIS) * (-1); // Set destination away from bed
|
||||||
feedrate = XY_TRAVEL_SPEED;
|
feedrate = XY_TRAVEL_SPEED/60;
|
||||||
current_position[Z_AXIS] = 0;
|
current_position[Z_AXIS] = 0;
|
||||||
|
|
||||||
plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
|
plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
|
||||||
|
|
|
@ -281,9 +281,6 @@ your extruder heater takes 2 minutes to hit the target on heating.
|
||||||
//=============================Mechanical Settings===========================
|
//=============================Mechanical Settings===========================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
// Uncomment the following line to enable CoreXY kinematics
|
|
||||||
// #define COREXY
|
|
||||||
|
|
||||||
// coarse Endstop Settings
|
// coarse Endstop Settings
|
||||||
#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
|
#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
|
||||||
|
|
||||||
|
@ -364,97 +361,9 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
|
||||||
#define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS)
|
#define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS)
|
||||||
#define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS)
|
#define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS)
|
||||||
//============================= Bed Auto Leveling ===========================
|
//============================= Bed Auto Leveling ===========================
|
||||||
|
//Bed Auto Leveling is still not compatible with Delta Kinematics
|
||||||
//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
|
|
||||||
#define Z_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
|
|
||||||
|
|
||||||
#ifdef ENABLE_AUTO_BED_LEVELING
|
|
||||||
|
|
||||||
// There are 2 different ways to pick the X and Y locations to probe:
|
|
||||||
|
|
||||||
// - "grid" mode
|
|
||||||
// Probe every point in a rectangular grid
|
|
||||||
// You must specify the rectangle, and the density of sample points
|
|
||||||
// This mode is preferred because there are more measurements.
|
|
||||||
// It used to be called ACCURATE_BED_LEVELING but "grid" is more descriptive
|
|
||||||
|
|
||||||
// - "3-point" mode
|
|
||||||
// Probe 3 arbitrary points on the bed (that aren't colinear)
|
|
||||||
// You must specify the X & Y coordinates of all 3 points
|
|
||||||
|
|
||||||
#define AUTO_BED_LEVELING_GRID
|
|
||||||
// with AUTO_BED_LEVELING_GRID, the bed is sampled in a
|
|
||||||
// AUTO_BED_LEVELING_GRID_POINTSxAUTO_BED_LEVELING_GRID_POINTS grid
|
|
||||||
// and least squares solution is calculated
|
|
||||||
// Note: this feature occupies 10'206 byte
|
|
||||||
#ifdef AUTO_BED_LEVELING_GRID
|
|
||||||
|
|
||||||
// set the rectangle in which to probe
|
|
||||||
#define LEFT_PROBE_BED_POSITION 15
|
|
||||||
#define RIGHT_PROBE_BED_POSITION 170
|
|
||||||
#define BACK_PROBE_BED_POSITION 180
|
|
||||||
#define FRONT_PROBE_BED_POSITION 20
|
|
||||||
|
|
||||||
// set the number of grid points per dimension
|
|
||||||
// I wouldn't see a reason to go above 3 (=9 probing points on the bed)
|
|
||||||
#define AUTO_BED_LEVELING_GRID_POINTS 2
|
|
||||||
|
|
||||||
|
|
||||||
#else // not AUTO_BED_LEVELING_GRID
|
|
||||||
// with no grid, just probe 3 arbitrary points. A simple cross-product
|
|
||||||
// is used to esimate the plane of the print bed
|
|
||||||
|
|
||||||
#define ABL_PROBE_PT_1_X 15
|
|
||||||
#define ABL_PROBE_PT_1_Y 180
|
|
||||||
#define ABL_PROBE_PT_2_X 15
|
|
||||||
#define ABL_PROBE_PT_2_Y 20
|
|
||||||
#define ABL_PROBE_PT_3_X 170
|
|
||||||
#define ABL_PROBE_PT_3_Y 20
|
|
||||||
|
|
||||||
#endif // AUTO_BED_LEVELING_GRID
|
|
||||||
|
|
||||||
|
|
||||||
// these are the offsets to the probe relative to the extruder tip (Hotend - Probe)
|
|
||||||
#define X_PROBE_OFFSET_FROM_EXTRUDER -25
|
|
||||||
#define Y_PROBE_OFFSET_FROM_EXTRUDER -29
|
|
||||||
#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35
|
|
||||||
|
|
||||||
#define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance.
|
|
||||||
// Be sure you have this distance over your Z_MAX_POS in case
|
|
||||||
|
|
||||||
#define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min
|
|
||||||
|
|
||||||
#define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point.
|
|
||||||
#define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points
|
|
||||||
|
|
||||||
//#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
|
|
||||||
//#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.
|
|
||||||
|
|
||||||
//If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
|
|
||||||
//The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it.
|
|
||||||
// You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile.
|
|
||||||
|
|
||||||
// #define PROBE_SERVO_DEACTIVATION_DELAY 300
|
|
||||||
|
|
||||||
|
|
||||||
//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
|
|
||||||
//it is highly recommended you let this Z_SAFE_HOMING enabled!!!
|
|
||||||
|
|
||||||
#define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area.
|
|
||||||
// When defined, it will:
|
|
||||||
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled
|
|
||||||
// - If stepper drivers timeout, it will need X and Y homing again before Z homing
|
|
||||||
// - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
|
|
||||||
// - Block Z homing only when the probe is outside bed area.
|
|
||||||
|
|
||||||
#ifdef Z_SAFE_HOMING
|
|
||||||
|
|
||||||
#define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2) // X point for Z homing when homing all axis (G28)
|
|
||||||
#define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2) // Y point for Z homing when homing all axis (G28)
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif // ENABLE_AUTO_BED_LEVELING
|
|
||||||
|
|
||||||
|
|
||||||
// The position of the homing switches
|
// The position of the homing switches
|
||||||
|
|
|
@ -450,6 +450,11 @@ const unsigned int dropsegments=5; //everything with less than this number of st
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= Define Defines ============================
|
//============================= Define Defines ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
|
#if defined (ENABLE_AUTO_BED_LEVELING) && defined (DELTA)
|
||||||
|
#error "Bed Auto Leveling is still not compatible with Delta Kinematics."
|
||||||
|
#endif
|
||||||
|
|
||||||
#if EXTRUDERS > 1 && defined TEMP_SENSOR_1_AS_REDUNDANT
|
#if EXTRUDERS > 1 && defined TEMP_SENSOR_1_AS_REDUNDANT
|
||||||
#error "You cannot use TEMP_SENSOR_1_AS_REDUNDANT if EXTRUDERS > 1"
|
#error "You cannot use TEMP_SENSOR_1_AS_REDUNDANT if EXTRUDERS > 1"
|
||||||
#endif
|
#endif
|
||||||
|
|
Reference in a new issue