Merge pull request #6410 from teemuatlut/LVD-Delta
Delta auto-calibration updates
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
/**
|
||||
/**
|
||||
* Marlin 3D Printer Firmware
|
||||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
||||
*
|
||||
@ -431,53 +431,47 @@
|
||||
// and processor overload (too many expensive sqrt calls).
|
||||
#define DELTA_SEGMENTS_PER_SECOND 160
|
||||
|
||||
// NOTE NB all values for DELTA_* values MUST be floating point, so always have a decimal point in them
|
||||
|
||||
// Center-to-center distance of the holes in the diagonal push rods.
|
||||
#define DELTA_DIAGONAL_ROD 218.0 // mm
|
||||
|
||||
// Horizontal offset from middle of printer to smooth rod center.
|
||||
//#define DELTA_SMOOTH_ROD_OFFSET 150.0 // mm
|
||||
|
||||
// Horizontal offset of the universal joints on the end effector.
|
||||
//#define DELTA_EFFECTOR_OFFSET 24.0 // mm
|
||||
|
||||
// Horizontal offset of the universal joints on the carriages.
|
||||
//#define DELTA_CARRIAGE_OFFSET 22.0 // mm
|
||||
|
||||
// Horizontal distance bridged by diagonal push rods when effector is centered.
|
||||
#define DELTA_RADIUS 100.59 //mm // get this value from auto calibrate
|
||||
#define DELTA_RADIUS 100.00 //mm // get this value from auto calibrate
|
||||
|
||||
// height from z=0.00 to home position
|
||||
#define DELTA_HEIGHT 298.95 // get this value from auto calibrate
|
||||
// height from z=0 to home position
|
||||
#define DELTA_HEIGHT 295.00 // get this value from auto calibrate - use G33 P1 A at 1st time calibration
|
||||
|
||||
// Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
|
||||
#define DELTA_PRINTABLE_RADIUS 90.0
|
||||
#define DELTA_PRINTABLE_RADIUS 85.0
|
||||
|
||||
// Delta calibration menu
|
||||
// uncomment to add three points calibration menu option.
|
||||
// See http://minow.blogspot.com/index.html#4918805519571907051
|
||||
#define DELTA_CALIBRATION_MENU
|
||||
|
||||
// set the radius for the calibration probe points - max 0.8 * DELTA_PRINTABLE_RADIUS if DELTA_AUTO_CALIBRATION enabled
|
||||
#define DELTA_CALIBRATION_RADIUS (DELTA_PRINTABLE_RADIUS - 17) // mm
|
||||
|
||||
// G33 Delta Auto-Calibration (Enable EEPROM_SETTINGS to store results)
|
||||
#define DELTA_AUTO_CALIBRATION
|
||||
#if ENABLED(DELTA_AUTO_CALIBRATION)
|
||||
#define DELTA_CALIBRATION_DEFAULT_POINTS 3 // set the default number of probe points : n*n (1-4)
|
||||
#define DELTA_CALIBRATION_RADIUS (DELTA_PRINTABLE_RADIUS - 15) // set the radius for the calibration probe points
|
||||
#define DELTA_CALIBRATION_DEFAULT_POINTS 4 // set the default number of probe points : n*n (-7 -> +7)
|
||||
#endif
|
||||
|
||||
// After homing move down to a height where XY movement is unconstrained
|
||||
#define DELTA_HOME_TO_SAFE_ZONE
|
||||
|
||||
#define DELTA_ENDSTOP_ADJ { -0.05, -0.00, -0.02 } // get these from auto calibrate
|
||||
#define DELTA_ENDSTOP_ADJ { 0, 0, 0 } // get these from auto calibrate
|
||||
|
||||
// Trim adjustments for individual towers
|
||||
#define DELTA_RADIUS_TRIM_TOWER_1 0.0
|
||||
#define DELTA_RADIUS_TRIM_TOWER_2 0.0
|
||||
#define DELTA_RADIUS_TRIM_TOWER_3 0.0
|
||||
#define DELTA_DIAGONAL_ROD_TRIM_TOWER_1 0.0
|
||||
#define DELTA_DIAGONAL_ROD_TRIM_TOWER_2 0.0
|
||||
#define DELTA_DIAGONAL_ROD_TRIM_TOWER_3 0.0
|
||||
#define DELTA_TOWER_ANGLE_TRIM_1 0.0
|
||||
#define DELTA_TOWER_ANGLE_TRIM_2 0.0
|
||||
#define DELTA_TOWER_ANGLE_TRIM_3 0.0
|
||||
// tower angle corrections for X and Y tower / rotate XYZ so Z tower angle = 0
|
||||
// measured in degrees anticlockwise looking from above the printer
|
||||
#define DELTA_TOWER_ANGLE_TRIM { 0, 0, 0 } // get these from auto calibrate
|
||||
|
||||
// delta radius and diaginal rod adjustments measured in mm
|
||||
//#define DELTA_RADIUS_TRIM_TOWER {0, 0, 0}
|
||||
//#define DELTA_DIAGONAL_ROD_TRIM_TOWER {0, 0, 0}
|
||||
|
||||
#endif
|
||||
|
||||
@ -514,7 +508,7 @@
|
||||
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
|
||||
#define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
|
||||
#define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
|
||||
#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
|
||||
#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
|
||||
#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
|
||||
#define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
|
||||
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
|
||||
@ -696,8 +690,8 @@
|
||||
* (0,0)
|
||||
*/
|
||||
#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 Z_PROBE_OFFSET_FROM_EXTRUDER 0.25 // Z offset: -below +above [the nozzle]
|
||||
#define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle]
|
||||
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0.10 // Z offset: -below +above [the nozzle]
|
||||
|
||||
// X and Y axis travel speed (mm/m) between probes
|
||||
#define XY_PROBE_SPEED 5000
|
||||
@ -706,7 +700,7 @@
|
||||
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
|
||||
|
||||
// Speed for the "accurate" probe of each point
|
||||
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 4)
|
||||
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST) / 6
|
||||
|
||||
// Use double touch for probing
|
||||
//#define PROBE_DOUBLE_TOUCH
|
||||
@ -775,8 +769,8 @@
|
||||
* Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle.
|
||||
* But: `M851 Z+1` with a CLEARANCE of 2 => 2mm from bed to nozzle.
|
||||
*/
|
||||
#define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow
|
||||
#define Z_CLEARANCE_BETWEEN_PROBES 3 // Z Clearance between probe points
|
||||
#define Z_CLEARANCE_DEPLOY_PROBE 5 // Z Clearance for Deploy/Stow
|
||||
#define Z_CLEARANCE_BETWEEN_PROBES 2 // Z Clearance between probe points
|
||||
|
||||
// For M851 give a range for adjusting the Z probe offset
|
||||
#define Z_PROBE_OFFSET_RANGE_MIN -20
|
||||
@ -808,11 +802,11 @@
|
||||
// @section machine
|
||||
|
||||
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
|
||||
#define INVERT_X_DIR true
|
||||
#define INVERT_X_DIR true // DELTA does not invert
|
||||
#define INVERT_Y_DIR true
|
||||
#define INVERT_Z_DIR true
|
||||
|
||||
// Enable this option for Toshiba stepper drivers
|
||||
// Enable this option for Toshiba steppers drivers
|
||||
//#define CONFIG_STEPPERS_TOSHIBA
|
||||
|
||||
// @section extruder
|
||||
@ -910,7 +904,7 @@
|
||||
*/
|
||||
//#define AUTO_BED_LEVELING_3POINT
|
||||
//#define AUTO_BED_LEVELING_LINEAR
|
||||
#define AUTO_BED_LEVELING_BILINEAR
|
||||
//#define AUTO_BED_LEVELING_BILINEAR
|
||||
//#define AUTO_BED_LEVELING_UBL
|
||||
//#define MESH_BED_LEVELING
|
||||
|
||||
@ -931,8 +925,7 @@
|
||||
#if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
|
||||
|
||||
// Set the number of grid points per dimension.
|
||||
// Works best with 5 or more points in each dimension.
|
||||
#define GRID_MAX_POINTS_X 9
|
||||
#define GRID_MAX_POINTS_X 7
|
||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||
|
||||
// Set the boundaries for probing (where the probe can reach).
|
||||
@ -943,12 +936,13 @@
|
||||
#define BACK_PROBE_BED_POSITION DELTA_PROBEABLE_RADIUS
|
||||
|
||||
// The Z probe minimum outer margin (to validate G29 parameters).
|
||||
#define MIN_PROBE_EDGE 10
|
||||
#define MIN_PROBE_EDGE 20
|
||||
|
||||
// Probe along the Y axis, advancing X after each column
|
||||
//#define PROBE_Y_FIRST
|
||||
|
||||
#if ENABLED(AUTO_BED_LEVELING_BILINEAR)
|
||||
|
||||
//
|
||||
// Experimental Subdivision of the grid by Catmull-Rom method.
|
||||
// Synthesizes intermediate points to produce a more detailed mesh.
|
||||
@ -1098,8 +1092,8 @@
|
||||
// @section temperature
|
||||
|
||||
// Preheat Constants
|
||||
#define PREHEAT_1_TEMP_HOTEND 185
|
||||
#define PREHEAT_1_TEMP_BED 70
|
||||
#define PREHEAT_1_TEMP_HOTEND 195
|
||||
#define PREHEAT_1_TEMP_BED 60
|
||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||
|
||||
#define PREHEAT_2_TEMP_HOTEND 240
|
||||
@ -1345,6 +1339,7 @@
|
||||
//
|
||||
// Add individual axis homing items (Home X, Home Y, and Home Z) to the LCD menu.
|
||||
//
|
||||
// INDIVIDUAL_AXIS_HOMING_MENU is incompatible with DELTA kinematics.
|
||||
//#define INDIVIDUAL_AXIS_HOMING_MENU
|
||||
|
||||
//
|
||||
@ -1673,8 +1668,8 @@
|
||||
#define FILAMENT_SENSOR_EXTRUDER_NUM 0 // Index of the extruder that has the filament sensor (0,1,2,3)
|
||||
#define MEASUREMENT_DELAY_CM 14 // (cm) The distance from the filament sensor to the melting chamber
|
||||
|
||||
#define MEASURED_UPPER_LIMIT 3.30 // (mm) Upper limit used to validate sensor reading
|
||||
#define MEASURED_LOWER_LIMIT 1.90 // (mm) Lower limit used to validate sensor reading
|
||||
#define MEASURED_UPPER_LIMIT 1.95 // (mm) Upper limit used to validate sensor reading
|
||||
#define MEASURED_LOWER_LIMIT 1.20 // (mm) Lower limit used to validate sensor reading
|
||||
#define MAX_MEASUREMENT_DELAY 20 // (bytes) Buffer size for stored measurements (1 byte per cm). Must be larger than MEASUREMENT_DELAY_CM.
|
||||
|
||||
#define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA // Set measured to nominal initially
|
||||
|
@ -419,25 +419,6 @@
|
||||
// Actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS
|
||||
#define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0} // AZTEEG_X3_PRO
|
||||
|
||||
//===========================================================================
|
||||
//============================== Delta Settings =============================
|
||||
//===========================================================================
|
||||
|
||||
#if ENABLED(DELTA_AUTO_CALIBRATION)
|
||||
/**
|
||||
* Set the height short (H-10) with M665 Hx.xx.
|
||||
* Set the delta_radius offset (R-5, R-10, R+5, R+10) with M665 Rx.xx.
|
||||
* Run G33 Cx V3 (C2, C-2) with different values for C and R
|
||||
* Take the average for R_FACTOR and maximum for H_FACTOR.
|
||||
* Run the tests with default values!!!
|
||||
*/
|
||||
//#define DELTA_CALIBRATE_EXPERT_MODE
|
||||
|
||||
// Remove the comments of the folling 2 lines to overide default values
|
||||
#define H_FACTOR 1.02 // 1.0 < H_FACTOR < 1.11, default 1.00
|
||||
#define R_FACTOR -3.95 // -6.7 < R_FACTOR < -2.25, default -2.25
|
||||
#endif
|
||||
|
||||
//===========================================================================
|
||||
//=============================Additional Features===========================
|
||||
//===========================================================================
|
||||
|
@ -444,10 +444,10 @@
|
||||
#define DELTA_CARRIAGE_OFFSET 22.0 // mm
|
||||
|
||||
// Horizontal distance bridged by diagonal push rods when effector is centered.
|
||||
#define DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET-(DELTA_EFFECTOR_OFFSET)-(DELTA_CARRIAGE_OFFSET))
|
||||
#define DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET - DELTA_EFFECTOR_OFFSET - DELTA_CARRIAGE_OFFSET) //mm // get this value from auto calibrate
|
||||
|
||||
// height from z=0.00 to home position
|
||||
#define DELTA_HEIGHT 280 // get this value from auto calibrate
|
||||
#define DELTA_HEIGHT 280 // get this value from auto calibrate - use G33 C-1 at 1st time calibration
|
||||
|
||||
// Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
|
||||
#define DELTA_PRINTABLE_RADIUS 85.0
|
||||
@ -457,28 +457,28 @@
|
||||
// See http://minow.blogspot.com/index.html#4918805519571907051
|
||||
//#define DELTA_CALIBRATION_MENU
|
||||
|
||||
// set the radius for the calibration probe points - max 0.8 * DELTA_PRINTABLE_RADIUS if DELTA_AUTO_CALIBRATION enabled
|
||||
#define DELTA_CALIBRATION_RADIUS (DELTA_PRINTABLE_RADIUS - 17) // mm
|
||||
|
||||
// G33 Delta Auto-Calibration (Enable EEPROM_SETTINGS to store results)
|
||||
//#define DELTA_AUTO_CALIBRATION
|
||||
#if ENABLED(DELTA_AUTO_CALIBRATION)
|
||||
#define DELTA_CALIBRATION_DEFAULT_POINTS 3 // set the default number of probe points : n*n (1-4)
|
||||
#define DELTA_CALIBRATION_RADIUS (DELTA_PRINTABLE_RADIUS - 15) // set the radius for the calibration probe points
|
||||
#define DELTA_CALIBRATION_DEFAULT_POINTS 3 // set the default number of probe points : n*n (-7 -> +7)
|
||||
#endif
|
||||
|
||||
// After homing move down to a height where XY movement is unconstrained
|
||||
//#define DELTA_HOME_TO_SAFE_ZONE
|
||||
|
||||
//#define DELTA_ENDSTOP_ADJ { 0, 0, 0 }
|
||||
#define DELTA_ENDSTOP_ADJ { 0, 0, 0 } // get these from auto calibrate
|
||||
|
||||
// Trim adjustments for individual towers
|
||||
#define DELTA_RADIUS_TRIM_TOWER_1 0.0
|
||||
#define DELTA_RADIUS_TRIM_TOWER_2 0.0
|
||||
#define DELTA_RADIUS_TRIM_TOWER_3 0.0
|
||||
#define DELTA_DIAGONAL_ROD_TRIM_TOWER_1 0.0
|
||||
#define DELTA_DIAGONAL_ROD_TRIM_TOWER_2 0.0
|
||||
#define DELTA_DIAGONAL_ROD_TRIM_TOWER_3 0.0
|
||||
#define DELTA_TOWER_ANGLE_TRIM_1 0.0
|
||||
#define DELTA_TOWER_ANGLE_TRIM_2 0.0
|
||||
#define DELTA_TOWER_ANGLE_TRIM_3 0.0
|
||||
// tower angle corrections for X and Y tower / rotate XYZ so Z tower angle = 0
|
||||
// measured in degrees anticlockwise looking from above the printer
|
||||
#define DELTA_TOWER_ANGLE_TRIM { 0, 0, 0 } // get these from auto calibrate
|
||||
|
||||
// delta radius and diaginal rod adjustments measured in mm
|
||||
//#define DELTA_RADIUS_TRIM_TOWER {0, 0, 0}
|
||||
//#define DELTA_DIAGONAL_ROD_TRIM_TOWER {0, 0, 0}
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/**
|
||||
/**
|
||||
* Marlin 3D Printer Firmware
|
||||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
||||
*
|
||||
@ -419,25 +419,6 @@
|
||||
// Actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS
|
||||
#define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0} // AZTEEG_X3_PRO
|
||||
|
||||
//===========================================================================
|
||||
//============================== Delta Settings =============================
|
||||
//===========================================================================
|
||||
|
||||
#if ENABLED(DELTA_AUTO_CALIBRATION)
|
||||
/**
|
||||
* Set the height short (H-10) with M665 Hx.xx.
|
||||
* Set the delta_radius offset (R-5, R-10, R+5, R+10) with M665 Rx.xx.
|
||||
* Run G33 Cx V3 (C2, C-2) with different values for C and R
|
||||
* Take the average for R_FACTOR and maximum for H_FACTOR.
|
||||
* Run the tests with default values!!!
|
||||
*/
|
||||
//#define DELTA_CALIBRATE_EXPERT_MODE
|
||||
|
||||
// Remove the comments of the folling 2 lines to overide default values
|
||||
#define H_FACTOR 1.02 // 1.0 < H_FACTOR < 1.11, default 1.00
|
||||
#define R_FACTOR -3.95 // -6.7 < R_FACTOR < -2.25, default -2.25
|
||||
#endif
|
||||
|
||||
//===========================================================================
|
||||
//=============================Additional Features===========================
|
||||
//===========================================================================
|
||||
|
Reference in New Issue
Block a user