need help with levelling



  • okay, so i bought an ender 3 pro, big tree tech skr mini e3 v2.0 bl touch (version 3) and some sturdier springs and got it all setup. (no lcd upgrade)

    I've had a few prints off it but that first layer is so inconsistent across the bed its insane i cant work it out for love nor money.

    i've had the BLtouch set to probe a 5x5 grid with fade turned on and triple probing to try and get the most accuracy out of it.

    my offsets are set accurately after much trail and error in the initial setup (i.e running the bed levelling checking it was probing dead center, changing offsets and reapplying the firmware.

    my z probe offset is 4mm, extruder temp is 200, bed temp is 60 with esun pla+ 1.75![0_1602792932529_20201015_100428.jpg](Uploading 3%)

    i've added a couple of pictures so you can see what i mean, the white is just a skirt that wasnt laying right so i cancelled the print. the red, you can see how it fades in and out across the layer and its rough in spots.

    i just cannot work out what is going on with this.

    https://drive.google.com/file/d/18JafBjXv6K46jmWzkzVksEEuN8925jw5/view?usp=sharing

    https://drive.google.com/file/d/1pDw-e0NugyqHLY0hzuY7Ap0Taa5eMz9-/view?usp=sharing

    https://drive.google.com/file/d/1PlMJb4si5JADXJIKpAC8JoNy16vBg4ss/view?usp=sharing

    heres the BLtouch settings in marlin as well

    bltouch

    //===========================================================================
    //============================= Z Probe Options =============================
    //===========================================================================
    // @section probes
    
    //
    // See https://marlinfw.org/docs/configuration/probes.html
    //
    
    /**
     * Enable this option for a probe connected to the Z-MIN pin.
     * The probe replaces the Z-MIN endstop and is used for Z homing.
     * (Automatically enables USE_PROBE_FOR_Z_HOMING.)
     */
    #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
    
    // Force the use of the probe for Z-axis homing
    //#define USE_PROBE_FOR_Z_HOMING
    
    /**
     * Z_MIN_PROBE_PIN
     *
     * Define this pin if the probe is not connected to Z_MIN_PIN.
     * If not defined the default pin for the selected MOTHERBOARD
     * will be used. Most of the time the default is what you want.
     *
     *  - The simplest option is to use a free endstop connector.
     *  - Use 5V for powered (usually inductive) sensors.
     *
     *  - RAMPS 1.3/1.4 boards may use the 5V, GND, and Aux4->D32 pin:
     *    - For simple switches connect...
     *      - normally-closed switches to GND and D32.
     *      - normally-open switches to 5V and D32.
     *
     */
    //#define Z_MIN_PROBE_PIN 32 // Pin 32 is the RAMPS default
    
    /**
     * Probe Type
     *
     * Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
     * Activate one of these to use Auto Bed Leveling below.
     */
    
    /**
     * 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
     * or (with LCD_BED_LEVELING) the LCD controller.
     */
    //#define PROBE_MANUALLY
    //#define MANUAL_PROBE_START_Z 0.2
    
    /**
     * A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
     *   (e.g., an inductive probe or a nozzle-based probe-switch.)
     */
    //#define FIX_MOUNTED_PROBE
    
    /**
     * Use the nozzle as the probe, as with a conductive
     * nozzle system or a piezo-electric smart effector.
     */
    //#define NOZZLE_AS_PROBE
    
    /**
     * Z Servo Probe, such as an endstop switch on a rotating arm.
     */
    //#define Z_PROBE_SERVO_NR 0       // Defaults to SERVO 0 connector.
    //#define Z_SERVO_ANGLES { 70, 0 } // Z Servo Deploy and Stow angles
    
    /**
     * The BLTouch probe uses a Hall effect sensor and emulates a servo.
     */
    #define BLTOUCH
    
    /**
     * Pressure sensor with a BLTouch-like interface
     */
    //#define CREALITY_TOUCH
    
    /**
     * Touch-MI Probe by hotends.fr
     *
     * This probe is deployed and activated by moving the X-axis to a magnet at the edge of the bed.
     * By default, the magnet is assumed to be on the left and activated by a home. If the magnet is
     * on the right, enable and set TOUCH_MI_DEPLOY_XPOS to the deploy position.
     *
     * Also requires: BABYSTEPPING, BABYSTEP_ZPROBE_OFFSET, Z_SAFE_HOMING,
     *                and a minimum Z_HOMING_HEIGHT of 10.
     */
    //#define TOUCH_MI_PROBE
    #if ENABLED(TOUCH_MI_PROBE)
      #define TOUCH_MI_RETRACT_Z 0.5                  // Height at which the probe retracts
      //#define TOUCH_MI_DEPLOY_XPOS (X_MAX_BED + 2)  // For a magnet on the right side of the bed
      //#define TOUCH_MI_MANUAL_DEPLOY                // For manual deploy (LCD menu)
    #endif
    
    // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
    //#define SOLENOID_PROBE
    
    // A sled-mounted probe like those designed by Charles Bell.
    //#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.
    
    // A probe deployed by moving the x-axis, such as the Wilson II's rack-and-pinion probe designed by Marty Rice.
    //#define RACK_AND_PINION_PROBE
    #if ENABLED(RACK_AND_PINION_PROBE)
      #define Z_PROBE_DEPLOY_X  X_MIN_POS
      #define Z_PROBE_RETRACT_X X_MAX_POS
    #endif
    
    // Duet Smart Effector (for delta printers) - https://bit.ly/2ul5U7J
    // When the pin is defined you can use M672 to set/reset the probe sensivity.
    //#define DUET_SMART_EFFECTOR
    #if ENABLED(DUET_SMART_EFFECTOR)
      #define SMART_EFFECTOR_MOD_PIN  -1  // Connect a GPIO pin to the Smart Effector MOD pin
    #endif
    
    /**
     * Use StallGuard2 to probe the bed with the nozzle.
     * Requires stallGuard-capable Trinamic stepper drivers.
     * CAUTION: This can damage machines with Z lead screws.
     *          Take extreme care when setting up this feature.
     */
    //#define SENSORLESS_PROBING
    
    //
    // For Z_PROBE_ALLEN_KEY see the Delta example configurations.
    //
    
    /**
     * Nozzle-to-Probe offsets { X, Y, Z }
     *
     * - Use a caliper or ruler to measure the distance from the tip of
     *   the Nozzle to the center-point of the Probe in the X and Y axes.
     * - For the Z offset use your best known value and adjust at runtime.
     * - Probe Offsets can be tuned at runtime with 'M851', LCD menus, babystepping, etc.
     *
     * Assuming the typical work area orientation:
     *  - Probe to RIGHT of the Nozzle has a Positive X offset
     *  - Probe to LEFT  of the Nozzle has a Negative X offset
     *  - Probe in BACK  of the Nozzle has a Positive Y offset
     *  - Probe in FRONT of the Nozzle has a Negative Y offset
     *
     * Some examples:
     *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, -1 }   // Example "1"
     *   #define NOZZLE_TO_PROBE_OFFSET {-10,  5, -1 }   // Example "2"
     *   #define NOZZLE_TO_PROBE_OFFSET {  5, -5, -1 }   // Example "3"
     *   #define NOZZLE_TO_PROBE_OFFSET {-15,-10, -1 }   // Example "4"
     *
     *     +-- BACK ---+
     *     |    [+]    |
     *   L |        1  | R <-- Example "1" (right+,  back+)
     *   E |  2        | I <-- Example "2" ( left-,  back+)
     *   F |[-]  N  [+]| G <-- Nozzle
     *   T |       3   | H <-- Example "3" (right+, front-)
     *     | 4         | T <-- Example "4" ( left-, front-)
     *     |    [-]    |
     *     O-- FRONT --+
     */
    #define NOZZLE_TO_PROBE_OFFSET { -44, -10, 0 }
    
    // Most probes should stay away from the edges of the bed, but
    // with NOZZLE_AS_PROBE this can be negative for a wider probing area.
    #define PROBING_MARGIN 10
    
    // X and Y axis travel speed (mm/min) between probes
    #define XY_PROBE_SPEED (133*60)
    
    // Feedrate (mm/min) for the first approach when double-probing (MULTIPLE_PROBING == 2)
    #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
    
    // Feedrate (mm/min) for the "accurate" probe of each point
    #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
    
    /**
     * Multiple Probing
     *
     * You may get improved results by probing 2 or more times.
     * With EXTRA_PROBING the more atypical reading(s) will be disregarded.
     *
     * A total of 2 does fast/slow probes with a weighted average.
     * A total of 3 or more adds more slow probes, taking the average.
     */
    #define MULTIPLE_PROBING 3
    //#define EXTRA_PROBING    1
    
    /**
     * Z probes require clearance when deploying, stowing, and moving between
     * probe points to avoid hitting the bed and other hardware.
     * Servo-mounted probes require extra space for the arm to rotate.
     * Inductive probes need space to keep from triggering early.
     *
     * Use these settings to specify the distance (mm) to raise the probe (or
     * lower the bed). The values set here apply over and above any (negative)
     * probe Z Offset set with NOZZLE_TO_PROBE_OFFSET, M851, or the LCD.
     * Only integer values >= 1 are valid here.
     *
     * 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  5 // Z Clearance between probe points
    #define Z_CLEARANCE_MULTI_PROBE     5 // Z Clearance between multiple probes
    //#define Z_AFTER_PROBING           5 // Z position after probing is done
    
    #define Z_PROBE_LOW_POINT          -2 // Farthest distance below the trigger-point to go before stopping
    
    // For M851 give a range for adjusting the Z probe offset
    #define Z_PROBE_OFFSET_RANGE_MIN -20
    #define Z_PROBE_OFFSET_RANGE_MAX 20
    
    // Enable the M48 repeatability test to test probe accuracy
    //#define Z_MIN_PROBE_REPEATABILITY_TEST
    
    // Before deploy/stow pause for user confirmation
    //#define PAUSE_BEFORE_DEPLOY_STOW
    #if ENABLED(PAUSE_BEFORE_DEPLOY_STOW)
      //#define PAUSE_PROBE_DEPLOY_WHEN_TRIGGERED // For Manual Deploy Allenkey Probe
    #endif
    
    /**
     * Enable one or more of the following if probing seems unreliable.
     * Heaters and/or fans can be disabled during probing to minimize electrical
     * noise. A delay can also be added to allow noise and vibration to settle.
     * These options are most useful for the BLTouch probe, but may also improve
     * readings with inductive probes and piezo sensors.
     */
    //#define PROBING_HEATERS_OFF       // Turn heaters off when probing
    #if ENABLED(PROBING_HEATERS_OFF)
      //#define WAIT_FOR_BED_HEATER     // Wait for bed to heat back up between probes (to improve accuracy)
    #endif
    //#define PROBING_FANS_OFF          // Turn fans off when probing
    //#define PROBING_STEPPERS_OFF      // Turn steppers off (unless needed to hold position) when probing
    //#define DELAY_BEFORE_PROBING 200  // (ms) To prevent vibrations from triggering piezo sensors
    
    // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
    // :{ 0:'Low', 1:'High' }
    #define X_ENABLE_ON 0
    #define Y_ENABLE_ON 0
    #define Z_ENABLE_ON 0
    #define E_ENABLE_ON 0 // For all extruders
    
    // Disable axis steppers immediately when they're not being stepped.
    // WARNING: When motors turn off there is a chance of losing position accuracy!
    #define DISABLE_X false
    #define DISABLE_Y false
    #define DISABLE_Z false
    
    // Turn off the display blinking that warns about possible accuracy reduction
    //#define DISABLE_REDUCED_ACCURACY_WARNING
    
    // @section extruder
    
    #define DISABLE_E false             // Disable the extruder when not stepping
    #define DISABLE_INACTIVE_EXTRUDER   // Keep only the active extruder enabled
    
    // @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_Y_DIR true
    #define INVERT_Z_DIR false
    
    // @section extruder
    
    // For direct drive extruder v9 set to true, for geared extruder set to false.
    #define INVERT_E0_DIR true
    #define INVERT_E1_DIR false
    #define INVERT_E2_DIR false
    #define INVERT_E3_DIR false
    #define INVERT_E4_DIR false
    #define INVERT_E5_DIR false
    #define INVERT_E6_DIR false
    #define INVERT_E7_DIR false
    
    // @section homing
    
    //#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed
    
    //#define UNKNOWN_Z_NO_RAISE      // Don't raise Z (lower the bed) if Z is "unknown." For beds that fall when Z is powered off.
    
    //#define Z_HOMING_HEIGHT  4      // (mm) Minimal Z height before homing (G28) for Z clearance above the bed, clamps, ...
                                      // Be sure to have this much clearance over your Z_MAX_POS to prevent grinding.
    
    //#define Z_AFTER_HOMING  10      // (mm) Height to move to after homing Z
    
    // Direction of endstops when homing; 1=MAX, -1=MIN
    // :[-1,1]
    #define X_HOME_DIR -1
    #define Y_HOME_DIR -1
    #define Z_HOME_DIR -1
    
    // @section machine
    
    // The size of the print bed
    #define X_BED_SIZE 230
    #define Y_BED_SIZE 220
    
    // Travel limits (mm) after homing, corresponding to endstop positions.
    #define X_MIN_POS 0
    #define Y_MIN_POS 0
    #define Z_MIN_POS 0
    #define X_MAX_POS X_BED_SIZE
    #define Y_MAX_POS Y_BED_SIZE
    #define Z_MAX_POS 250
    
    /**
     * Software Endstops
     *
     * - Prevent moves outside the set machine bounds.
     * - Individual axes can be disabled, if desired.
     * - X and Y only apply to Cartesian robots.
     * - Use 'M211' to set software endstops on/off or report current state
     */
    
    // Min software endstops constrain movement within minimum coordinate bounds
    #define MIN_SOFTWARE_ENDSTOPS
    #if ENABLED(MIN_SOFTWARE_ENDSTOPS)
      #define MIN_SOFTWARE_ENDSTOP_X
      #define MIN_SOFTWARE_ENDSTOP_Y
      //#define MIN_SOFTWARE_ENDSTOP_Z
    #endif
    
    // Max software endstops constrain movement within maximum coordinate bounds
    #define MAX_SOFTWARE_ENDSTOPS
    #if ENABLED(MAX_SOFTWARE_ENDSTOPS)
      #define MAX_SOFTWARE_ENDSTOP_X
      #define MAX_SOFTWARE_ENDSTOP_Y
      #define MAX_SOFTWARE_ENDSTOP_Z
    #endif
    
    #if EITHER(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS)
      //#define SOFT_ENDSTOPS_MENU_ITEM  // Enable/Disable software endstops from the LCD
    #endif
    
    /**
     * Filament Runout Sensors
     * Mechanical or opto endstops are used to check for the presence of filament.
     *
     * RAMPS-based boards use SERVO3_PIN for the first runout sensor.
     * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc.
     */
    //#define FILAMENT_RUNOUT_SENSOR
    #if ENABLED(FILAMENT_RUNOUT_SENSOR)
      #define FIL_RUNOUT_ENABLED_DEFAULT true // Enable the sensor on startup. Override with M412 followed by M500.
      #define NUM_RUNOUT_SENSORS   1          // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each.
      #define FIL_RUNOUT_STATE     LOW        // Pin state indicating that filament is NOT present.
      #define FIL_RUNOUT_PULLUP               // Use internal pullup for filament runout pins.
      //#define FIL_RUNOUT_PULLDOWN           // Use internal pulldown for filament runout pins.
    
      // Set one or more commands to execute on filament runout.
      // (After 'M412 H' Marlin will ask the host to handle the process.)
      #define FILAMENT_RUNOUT_SCRIPT "M600"
    
      // After a runout is detected, continue printing this length of filament
      // before executing the runout script. Useful for a sensor at the end of
      // a feed tube. Requires 4 bytes SRAM per sensor, plus 4 bytes overhead.
      //#define FILAMENT_RUNOUT_DISTANCE_MM 25
    
      #ifdef FILAMENT_RUNOUT_DISTANCE_MM
        // Enable this option to use an encoder disc that toggles the runout pin
        // as the filament moves. (Be sure to set FILAMENT_RUNOUT_DISTANCE_MM
        // large enough to avoid false positives.)
        //#define FILAMENT_MOTION_SENSOR
      #endif
    #endif
    

    bed levelling

    //===========================================================================
    //=============================== Bed Leveling ==============================
    //===========================================================================
    // @section calibrate
    
    /**
     * Choose one of the options below to enable G29 Bed Leveling. The parameters
     * and behavior of G29 will change depending on your selection.
     *
     *  If using a Probe for Z Homing, enable Z_SAFE_HOMING also!
     *
     * - AUTO_BED_LEVELING_3POINT
     *   Probe 3 arbitrary points on the bed (that aren't collinear)
     *   You specify the XY coordinates of all 3 points.
     *   The result is a single tilted plane. Best for a flat bed.
     *
     * - AUTO_BED_LEVELING_LINEAR
     *   Probe several points in a grid.
     *   You specify the rectangle and the density of sample points.
     *   The result is a single tilted plane. Best for a flat bed.
     *
     * - AUTO_BED_LEVELING_BILINEAR
     *   Probe several points in a grid.
     *   You specify the rectangle and the density of sample points.
     *   The result is a mesh, best for large or uneven beds.
     *
     * - AUTO_BED_LEVELING_UBL (Unified Bed Leveling)
     *   A comprehensive bed leveling system combining the features and benefits
     *   of other systems. UBL also includes integrated Mesh Generation, Mesh
     *   Validation and Mesh Editing systems.
     *
     * - 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
    #define AUTO_BED_LEVELING_BILINEAR
    //#define AUTO_BED_LEVELING_UBL
    //#define MESH_BED_LEVELING
    
    /**
     * Normally G28 leaves leveling disabled on completion. Enable
     * this option to have G28 restore the prior leveling state.
     */
    //#define RESTORE_LEVELING_AFTER_G28
    
    /**
     * Enable detailed logging of G28, G29, M48, etc.
     * Turn on with the command 'M111 S32'.
     * NOTE: Requires a lot of PROGMEM!
     */
    //#define DEBUG_LEVELING_FEATURE
    
    #if ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_BILINEAR, 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<height>
      #define ENABLE_LEVELING_FADE_HEIGHT
    
      // For Cartesian machines, instead of dividing moves on mesh boundaries,
      // split up moves into short segments like a Delta. This follows the
      // contours of the bed more closely than edge-to-edge straight moves.
      #define SEGMENT_LEVELED_MOVES
      #define LEVELED_SEGMENT_LENGTH 5.0 // (mm) Length of all segments (except the last one)
    
      /**
       * Enable the G26 Mesh Validation Pattern tool.
       */
      //#define G26_MESH_VALIDATION
      #if ENABLED(G26_MESH_VALIDATION)
        #define MESH_TEST_NOZZLE_SIZE    0.4  // (mm) Diameter of primary nozzle.
        #define MESH_TEST_LAYER_HEIGHT   0.2  // (mm) Default layer height for the G26 Mesh Validation Tool.
        #define MESH_TEST_HOTEND_TEMP  205    // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
        #define MESH_TEST_BED_TEMP      60    // (°C) Default bed temperature for the G26 Mesh Validation Tool.
        #define G26_XY_FEEDRATE         20    // (mm/s) Feedrate for XY Moves for the G26 Mesh Validation Tool.
        #define G26_RETRACT_MULTIPLIER   1.0  // G26 Q (retraction) used by default between mesh test elements.
      #endif
    
    #endif
    
    #if EITHER(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR)
    
      // Set the number of grid points per dimension.
      #define GRID_MAX_POINTS_X 5
      #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
    
      // 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_UBL)
    
      //===========================================================================
      //========================= Unified Bed Leveling ============================
      //===========================================================================
    
      //#define MESH_EDIT_GFX_OVERLAY   // Display a graphics overlay while editing the mesh
    
      #define MESH_INSET 1              // Set Mesh bounds as an inset region of the bed
      #define GRID_MAX_POINTS_X 10      // Don't use more than 15 points per axis, implementation limited.
      #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
    
      #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
      #define UBL_SAVE_ACTIVE_ON_M500   // Save the currently active mesh in the current slot on M500
    
      //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
                                              // as the Z-Height correction value.
    
    #elif ENABLED(MESH_BED_LEVELING)
    
      //===========================================================================
      //=================================== Mesh ==================================
      //===========================================================================
    
      #define MESH_INSET 10          // Set Mesh bounds as an inset region of the bed
      #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
    
    /**
     * Add a bed leveling sub-menu for ABL or MBL.
     * Include a guided procedure if manual probing is enabled.
     */
    #define LCD_BED_LEVELING
    
    #if ENABLED(LCD_BED_LEVELING)
      #define MESH_EDIT_Z_STEP  0.025 // (mm) Step size while manually probing Z axis.
      #define LCD_PROBE_Z_RANGE 4     // (mm) Z Range centered on Z_MIN_POS for LCD Z adjustment
      //#define MESH_EDIT_MENU        // Add a menu to edit mesh points
    #endif
    
    // Add a menu item to move between bed corners for manual bed adjustment
    //#define LEVEL_BED_CORNERS
    
    #if ENABLED(LEVEL_BED_CORNERS)
      #define LEVEL_CORNERS_INSET_LFRB { 30, 30, 30, 30 } // (mm) Left, Front, Right, Back insets
      #define LEVEL_CORNERS_HEIGHT      0.0   // (mm) Z height of nozzle at leveling points
      #define LEVEL_CORNERS_Z_HOP       4.0   // (mm) Z height of nozzle between leveling points
      //#define LEVEL_CENTER_TOO              // Move to the center after the last corner
    #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.
    // - 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_CENTER  // X point for Z homing
      #define Z_SAFE_HOMING_Y_POINT Y_CENTER  // Y point for Z homing
    #endif
    
    // Homing speeds (mm/min)
    #define HOMING_FEEDRATE_XY (20*60)
    #define HOMING_FEEDRATE_Z  (4*60)
    
    // Validate that endstops are triggered on homing moves
    #define VALIDATE_HOMING_ENDSTOPS
    
    // @section calibrate
    
    /**
     * Bed Skew Compensation
     *
     * This feature corrects for misalignment in the XYZ axes.
     *
     * Take the following steps to get the bed skew in the XY plane:
     *  1. Print a test square (e.g., https://www.thingiverse.com/thing:2563185)
     *  2. For XY_DIAG_AC measure the diagonal A to C
     *  3. For XY_DIAG_BD measure the diagonal B to D
     *  4. For XY_SIDE_AD measure the edge A to D
     *
     * Marlin automatically computes skew factors from these measurements.
     * Skew factors may also be computed and set manually:
     *
     *  - Compute AB     : SQRT(2*AC*AC+2*BD*BD-4*AD*AD)/2
     *  - XY_SKEW_FACTOR : TAN(PI/2-ACOS((AC*AC-AB*AB-AD*AD)/(2*AB*AD)))
     *
     * If desired, follow the same procedure for XZ and YZ.
     * Use these diagrams for reference:
     *
     *    Y                     Z                     Z
     *    ^     B-------C       ^     B-------C       ^     B-------C
     *    |    /       /        |    /       /        |    /       /
     *    |   /       /         |   /       /         |   /       /
     *    |  A-------D          |  A-------D          |  A-------D
     *    +-------------->X     +-------------->X     +-------------->Y
     *     XY_SKEW_FACTOR        XZ_SKEW_FACTOR        YZ_SKEW_FACTOR
     */
    //#define SKEW_CORRECTION
    
    #if ENABLED(SKEW_CORRECTION)
      // Input all length measurements here:
      #define XY_DIAG_AC 282.8427124746
      #define XY_DIAG_BD 282.8427124746
      #define XY_SIDE_AD 200
    
      // Or, set the default skew factors directly here
      // to override the above measurements:
      #define XY_SKEW_FACTOR 0.0
    
      //#define SKEW_CORRECTION_FOR_Z
      #if ENABLED(SKEW_CORRECTION_FOR_Z)
        #define XZ_DIAG_AC 282.8427124746
        #define XZ_DIAG_BD 282.8427124746
        #define YZ_DIAG_AC 282.8427124746
        #define YZ_DIAG_BD 282.8427124746
        #define YZ_SIDE_AD 200
        #define XZ_SKEW_FACTOR 0.0
        #define YZ_SKEW_FACTOR 0.0
      #endif
    
      // Enable this option for M852 to set skew at runtime
      //#define SKEW_CORRECTION_GCODE
    #endif
    

    and advanced.config

    // @section bltouch
    
    #if ENABLED(BLTOUCH)
      /**
       * Either: Use the defaults (recommended) or: For special purposes, use the following DEFINES
       * Do not activate settings that the probe might not understand. Clones might misunderstand
       * advanced commands.
       *
       * Note: If the probe is not deploying, do a "Reset" and "Self-Test" and then check the
       *       wiring of the BROWN, RED and ORANGE wires.
       *
       * Note: If the trigger signal of your probe is not being recognized, it has been very often
       *       because the BLACK and WHITE wires needed to be swapped. They are not "interchangeable"
       *       like they would be with a real switch. So please check the wiring first.
       *
       * Settings for all BLTouch and clone probes:
       */
    
      // Safety: The probe needs time to recognize the command.
      //         Minimum command delay (ms). Enable and increase if needed.
      #define BLTOUCH_DELAY 500
    
      /**
       * Settings for BLTOUCH Classic 1.2, 1.3 or BLTouch Smart 1.0, 2.0, 2.2, 3.0, 3.1, and most clones:
       */
    
      // Feature: Switch into SW mode after a deploy. It makes the output pulse longer. Can be useful
      //          in special cases, like noisy or filtered input configurations.
      //#define BLTOUCH_FORCE_SW_MODE
    
      /**
       * Settings for BLTouch Smart 3.0 and 3.1
       * Summary:
       *   - Voltage modes: 5V and OD (open drain - "logic voltage free") output modes
       *   - High-Speed mode
       *   - Disable LCD voltage options
       */
    
      /**
       * Danger: Don't activate 5V mode unless attached to a 5V-tolerant controller!
       * V3.0 or 3.1: Set default mode to 5V mode at Marlin startup.
       * If disabled, OD mode is the hard-coded default on 3.0
       * On startup, Marlin will compare its eeprom to this value. If the selected mode
       * differs, a mode set eeprom write will be completed at initialization.
       * Use the option below to force an eeprom write to a V3.1 probe regardless.
       */
      //#define BLTOUCH_SET_5V_MODE
    
      /**
       * Safety: Activate if connecting a probe with an unknown voltage mode.
       * V3.0: Set a probe into mode selected above at Marlin startup. Required for 5V mode on 3.0
       * V3.1: Force a probe with unknown mode into selected mode at Marlin startup ( = Probe EEPROM write )
       * To preserve the life of the probe, use this once then turn it off and re-flash.
       */
      //#define BLTOUCH_FORCE_MODE_SET
    
      /**
       * Use "HIGH SPEED" mode for probing.
       * Danger: Disable if your probe sometimes fails. Only suitable for stable well-adjusted systems.
       * This feature was designed for Delta's with very fast Z moves however higher speed cartesians may function
       * If the machine cannot raise the probe fast enough after a trigger, it may enter a fault state.
       */
      //#define BLTOUCH_HS_MODE
    
      // Safety: Enable voltage mode settings in the LCD menu.
      //#define BLTOUCH_LCD_VOLTAGE_MENU
    
    #endif // BLTOUCH
    

    i hope ive been able to provide all the information you'll need to help out with getting this bed levelled.

    also i did take the mat off and wipe the bed and under the mat.


Log in to reply
 

Copyright © 2020 Shenzhen Creality 3D Technology Co., Ltd All Rights Reserved.