Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
never mind, i worked it out, default x and y speed for probing was set on 8000 as default, bit fast i think
using an inductive sensor, the x-y motors struggle and skip and it seems to think 400mm is about 50mm, when the printer is normally moving around the bed, the calibration is spot on and no skipping motors, motor drivers drv8825 with 1 and 2 jumper removed so is 16 ms, z axis is no problem and the sensor does detect the bed. version marlin 1.1.01, already tried rc8 and 1.1
the whole sensing area according to the printer is about 4 inches by 10 as that is all it will probe
MESH_BED_LEVELING
Probe a grid manually
The result is a mesh, suitable for large or uneven beds. (See BILINEAR.)
For machines without a probe, Mesh Bed Leveling provides a method to perform
leveling in steps so you can manually adjust the Z height at each grid-point.
With an LCD controller the process is guided step-by-step.
*/
//#define AUTO_BED_LEVELING_3POINT
//#define AUTO_BED_LEVELING_LINEAR
NOTE: Requires a lot of PROGMEM!
*/
//#define DEBUG_LEVELING_FEATURE
if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_BILINEAR) || ENABLED(AUTO_BED_LEVELING_UBL)
// Gradually reduce leveling correction until a set height is reached,
// at which point movement will be level to the machine's XY plane.
// The height can be set with M420 Z
//#define ENABLE_LEVELING_FADE_HEIGHT
endif
if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
// Set the number of grid points per dimension.
define GRID_MAX_POINTS_X 3
define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
// Set the boundaries for probing (where the probe can reach).
define LEFT_PROBE_BED_POSITION 40
define RIGHT_PROBE_BED_POSITION 420
define FRONT_PROBE_BED_POSITION 30
define BACK_PROBE_BED_POSITION 440
// The Z probe minimum outer margin (to validate G29 parameters).
define MIN_PROBE_EDGE 10
// Probe along the Y axis, advancing X after each column
//#define PROBE_Y_FIRST
if ENABLED(AUTO_BED_LEVELING_BILINEAR)
// Beyond the probed grid, continue the implied tilt?
// Default is to maintain the height of the nearest edge.
//#define EXTRAPOLATE_BEYOND_GRID
//
// Experimental Subdivision of the grid by Catmull-Rom method.
// Synthesizes intermediate points to produce a more detailed mesh.
//
//#define ABL_BILINEAR_SUBDIVISION
#if ENABLED(ABL_BILINEAR_SUBDIVISION)
// Number of subdivisions between probe points
#define BILINEAR_SUBDIVISIONS 3
#endif
endif
elif ENABLED(AUTO_BED_LEVELING_3POINT)
// 3 arbitrary points to probe.
// A simple cross-product is used to estimate the plane of the bed.
define ABL_PROBE_PT_1_X 80
define ABL_PROBE_PT_1_Y 380
define ABL_PROBE_PT_2_X 450
define ABL_PROBE_PT_2_Y 75
define ABL_PROBE_PT_3_X 450
define ABL_PROBE_PT_3_Y 450
elif ENABLED(AUTO_BED_LEVELING_UBL)
//===========================================================================
//========================= Unified Bed Leveling ============================
//===========================================================================
define UBL_MESH_INSET 1 // Mesh inset margin on print area
define GRID_MAX_POINTS_X 3 // Don't use more than 15 points per axis, implementation limited.
define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
define UBL_PROBE_PT_1_X 20 // These set the probe locations for when UBL does a 3-Point leveling
define MESH_INSET 10 // Mesh inset margin on print area
define GRID_MAX_POINTS_X 3 // Don't use more than 7 points per axis, implementation limited.
define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
//#define MESH_G28_REST_ORIGIN // After homing all axes ('G28' or 'G28 XYZ') rest Z at Z_MIN_POS
endif // BED_LEVELING
/**
Use the LCD controller for bed leveling
Requires MESH_BED_LEVELING or PROBE_MANUALLY
*/
//#define LCD_BED_LEVELING
if ENABLED(LCD_BED_LEVELING)
define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
endif
/**
Commands to execute at the end of G29 probing.
Useful to retract or move the Z probe out of the way.
*/
//#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10"
// @section homing
// The center of the bed is at (X=0, Y=0)
//#define BED_CENTER_AT_0_0
// Manually set the home position. Leave these undefined for automatic settings.
// For DELTA this is the top-center of the Cartesian print volume.
//#define MANUAL_X_HOME_POS 0
//#define MANUAL_Y_HOME_POS 0
//#define MANUAL_Z_HOME_POS 0
// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.
//
// With this feature enabled:
//
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
// - If stepper drivers time out, it will need X and Y homing again before Z homing.
// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
// - Prevent Z homing when the Z probe is outside bed area.
define Z_SAFE_HOMING
if ENABLED(Z_SAFE_HOMING)
define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28).
define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28).
never mind, i worked it out, default x and y speed for probing was set on 8000 as default, bit fast i think
using an inductive sensor, the x-y motors struggle and skip and it seems to think 400mm is about 50mm, when the printer is normally moving around the bed, the calibration is spot on and no skipping motors, motor drivers drv8825 with 1 and 2 jumper removed so is 16 ms, z axis is no problem and the sensor does detect the bed. version marlin 1.1.01, already tried rc8 and 1.1
the whole sensing area according to the printer is about 4 inches by 10 as that is all it will probe
define AUTO_BED_LEVELING_BILINEAR
//#define AUTO_BED_LEVELING_UBL //#define MESH_BED_LEVELING
/**
if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_BILINEAR) || ENABLED(AUTO_BED_LEVELING_UBL)
// Gradually reduce leveling correction until a set height is reached, // at which point movement will be level to the machine's XY plane. // The height can be set with M420 Z
//#define ENABLE_LEVELING_FADE_HEIGHT
endif
if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
// Set the number of grid points per dimension.
define GRID_MAX_POINTS_X 3
define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
// Set the boundaries for probing (where the probe can reach).
define LEFT_PROBE_BED_POSITION 40
define RIGHT_PROBE_BED_POSITION 420
define FRONT_PROBE_BED_POSITION 30
define BACK_PROBE_BED_POSITION 440
// The Z probe minimum outer margin (to validate G29 parameters).
define MIN_PROBE_EDGE 10
// Probe along the Y axis, advancing X after each column //#define PROBE_Y_FIRST
if ENABLED(AUTO_BED_LEVELING_BILINEAR)
endif
elif ENABLED(AUTO_BED_LEVELING_3POINT)
// 3 arbitrary points to probe. // A simple cross-product is used to estimate the plane of the bed.
define ABL_PROBE_PT_1_X 80
define ABL_PROBE_PT_1_Y 380
define ABL_PROBE_PT_2_X 450
define ABL_PROBE_PT_2_Y 75
define ABL_PROBE_PT_3_X 450
define ABL_PROBE_PT_3_Y 450
elif ENABLED(AUTO_BED_LEVELING_UBL)
//=========================================================================== //========================= Unified Bed Leveling ============================ //===========================================================================
define UBL_MESH_INSET 1 // Mesh inset margin on print area
define GRID_MAX_POINTS_X 3 // Don't use more than 15 points per axis, implementation limited.
define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
define UBL_PROBE_PT_1_X 20 // These set the probe locations for when UBL does a 3-Point leveling
define UBL_PROBE_PT_1_Y 180 // of the mesh.
define UBL_PROBE_PT_2_X 60
define UBL_PROBE_PT_2_Y 180
define UBL_PROBE_PT_3_X 20
define UBL_PROBE_PT_3_Y 40
//#define UBL_G26_MESH_EDITING // Enable G26 mesh editing
elif ENABLED(MESH_BED_LEVELING)
//=========================================================================== //=================================== Mesh ================================== //===========================================================================
define MESH_INSET 10 // Mesh inset margin on print area
define GRID_MAX_POINTS_X 3 // Don't use more than 7 points per axis, implementation limited.
define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
//#define MESH_G28_REST_ORIGIN // After homing all axes ('G28' or 'G28 XYZ') rest Z at Z_MIN_POS
endif // BED_LEVELING
/**
if ENABLED(LCD_BED_LEVELING)
define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
endif
/**
// @section homing
// The center of the bed is at (X=0, Y=0) //#define BED_CENTER_AT_0_0
// Manually set the home position. Leave these undefined for automatic settings. // For DELTA this is the top-center of the Cartesian print volume. //#define MANUAL_X_HOME_POS 0 //#define MANUAL_Y_HOME_POS 0 //#define MANUAL_Z_HOME_POS 0
// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area. // // With this feature enabled: // // - Allow Z homing only after X and Y homing AND stepper drivers still enabled. // - If stepper drivers time out, it will need X and Y homing again before Z homing. // - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28). // - Prevent Z homing when the Z probe is outside bed area.
define Z_SAFE_HOMING
if ENABLED(Z_SAFE_HOMING)
define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28).
define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28).
endif
// Homing speeds (mm/m)
define HOMING_FEEDRATE_XY (50*60)
define HOMING_FEEDRATE_Z (4*60)