Issue with Bed_Mesh calibration

Hi all,

I’m trying to get Besh mesh calibration to work on my Sidewinder X1 but I’m getting a Move out of range error: Move out of range: -22.000 85.000 5.000 [0.000]

I’m using a SKR 1.4 Turbo with 5160 drivers

Here’s my printer.cfg, any help to help me sort this issue will be highly appreciated :

This file contains common pin mappings for the BIGTREETECH SKR V1.4

board. To use this config, the firmware should be compiled for the

LPC1768 or LPC1769(Turbo).

See docs/Config_Reference.md for a description of parameters.

[printer]
kinematics: cartesian
max_velocity: 250
max_accel: 3000
max_z_velocity: 20
max_z_accel: 100
square_corner_velocity: 5

[display]
lcd_type: emulated_st7920
spi_software_miso_pin: EXP1_6
spi_software_mosi_pin: EXP1_3
spi_software_sclk_pin: EXP1_5
en_pin: EXP1_4
encoder_pins: ^EXP2_3, ^EXP2_5
click_pin: ^!EXP1_2

[output_pin beeper]
pin: EXP1_1

[mcu]
serial: /dev/serial/by-id/usb-Klipper_lpc1769_10A00010C09869AF64D2405EC22000F5-if00
baud: 250000
restart_method: command

[stepper_x]
step_pin: P2.2
dir_pin: P2.6
enable_pin: !P2.1
microsteps: 16
rotation_distance: 40
endstop_pin: !P1.29
position_endstop: 0
position_max: 300
homing_speed: 100

[stepper_y]
step_pin: P0.19
dir_pin: P0.20
enable_pin: !P2.8
microsteps: 16
rotation_distance: 40
endstop_pin: !P1.28
position_endstop: 0
position_max: 300
homing_speed: 100

[stepper_z]
step_pin: P0.22
dir_pin: !P2.11
enable_pin: !P0.21
microsteps: 16
rotation_distance: 8
endstop_pin: probe:z_virtual_endstop
position_min: -2
position_max: 400

[stepper_z1]
step_pin: P1.15
dir_pin: !P1.14
enable_pin: !P1.16
microsteps: 16
rotation_distance: 8

[extruder]
step_pin: P2.13
dir_pin: !P0.11
enable_pin: !P2.12
microsteps: 16
rotation_distance: 7.823960880195599
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: P2.7
sensor_type: ATC Semitec 104GT-2
sensor_pin: P0.24
#control: pid
#pid_Kp: 33.24
#pid_Ki: 2.96
#pid_Kd: 93.24
min_extrude_temp: 190
min_temp: 5
max_temp: 325

[heater_bed]
heater_pin: P2.5
sensor_type: EPCOS 100K B57560G104F
sensor_pin: P0.25
#control: pid
#pid_Kp: 10.00
#pid_Ki: 0.023
#pid_Kd: 305.4
min_temp: 5
max_temp: 130

[fan]
pin: P2.3

[heater_fan extruder_fan]
pin: P2.4
heater: extruder
heater_temp: 50.0
fan_speed: 1.0

[bltouch]
sensor_pin: P0.10
control_pin: P2.0
x_offset: 52
y_offset: -55
#z_offset: 1.5
samples: 2
samples_result:average
probe_with_touch_mode: true
stow_on_each_sample: false

[safe_z_home]
home_xy_position: 150,150 # Change coordinates to the center of your print bed
speed: 100
z_hop: 20 # Move up 10mm
z_hop_speed: 20

[bed_screws]
screw1: 55,55
screw1_name: front left
screw2: 255,55
screw2_name: front right
screw3: 255,255
screw3_name: back right
screw4: 55,255
screw4_name: back left
speed: 100.0

[screws_tilt_adjust]
screw1: 22,83
screw1_name: front left
screw2: 222,83
screw2_name: front right
screw3: 22,283
screw3_name: back left
screw4: 222,283
screw4_name: back right
speed: 100.0
screw_thread: CW-M5

[bed_mesh]
speed: 800
mesh_min: 30,30
mesh_max: 270,270
probe_count: 3,3
mesh_pps: 2,2
algorithm: bicubic
bicubic_tension: 0.2
move_check_distance: 3.0
split_delta_z: .010
fade_start: 1.0
fade_end: 5.0

########################################

TMC2209 configuration

########################################

#[tmc2209 stepper_x]
#uart_pin: P1.10
#run_current: 0.650
#hold_current: 0.500
#stealthchop_threshold: 250

#[tmc2209 stepper_y]
#uart_pin: P1.9
#run_current: 0.650
#hold_current: 0.500
#stealthchop_threshold: 250

#[tmc2209 stepper_z]
#uart_pin: P1.8
#run_current: 0.650
#hold_current: 0.450
#stealthchop_threshold: 250

#[tmc2209 stepper_z1]
#uart_pin: P1.1
#run_current: 0.650
#hold_current: 0.450
#stealthchop_threshold: 250

#[tmc2209 extruder]
#uart_pin: P1.4
#run_current: 0.650
#hold_current: 0.500
#stealthchop_threshold: 10

########################################

TMC5160 configuration

########################################

[tmc5160 stepper_x]
cs_pin: P1.10
spi_software_miso_pin: P0.5
spi_software_mosi_pin: P1.17
spi_software_sclk_pin: P0.4
run_current: 0.800
hold_current: 0.500
stealthchop_threshold: 999999
diag1_pin: P1.29

[tmc5160 stepper_y]
cs_pin: P1.9
spi_software_miso_pin: P0.5
spi_software_mosi_pin: P1.17
spi_software_sclk_pin: P0.4
run_current: 0.800
hold_current: 0.500
stealthchop_threshold: 999999
diag1_pin: P1.28

[tmc5160 stepper_z]
cs_pin: P1.8
spi_software_miso_pin: P0.5
spi_software_mosi_pin: P1.17
spi_software_sclk_pin: P0.4
run_current: 0.650
hold_current: 0.450
stealthchop_threshold: 999999
diag1_pin: P1.27

[tmc5160 stepper_z1]
cs_pin: P1.1
spi_software_miso_pin: P0.5
spi_software_mosi_pin: P1.17
spi_software_sclk_pin: P0.4
run_current: 0.800
hold_current: 0.500
stealthchop_threshold: 999999
diag1_pin: P1.25

[tmc5160 extruder]
cs_pin: P1.4
spi_software_miso_pin: P0.5
spi_software_mosi_pin: P1.17
spi_software_sclk_pin: P0.4
run_current: 0.800
hold_current: 0.500
stealthchop_threshold: 999999
diag1_pin: P1.26

[virtual_sdcard]
path: ~/gcode_files

[display_status]

########################################

Macro configs

########################################

[gcode_macro PAUSE]
rename_existing: BASE_PAUSE
default_parameter_X: 220 # edit to your preferred park position
default_parameter_Y: 220 # edit to your preferred park position
default_parameter_Z: 10 # edit to your preferred park position
default_parameter_E: 1 # edit to your preferred retract length
gcode:
SAVE_GCODE_STATE NAME=PAUSE_state
BASE_PAUSE
G91
G1 E-{E} F2100
G1 Z{Z}
G90
G1 X{X} Y{Y} F6000

[gcode_macro RESUME]
rename_existing: BASE_RESUME
default_parameter_E: 1 # edit to your preferred retract length
gcode:
G91
G1 E{E} F2100
G90
RESTORE_GCODE_STATE NAME=PAUSE_state MOVE=1
BASE_RESUME

[gcode_macro CANCEL_PRINT]
rename_existing: BASE_CANCEL_PRINT
gcode:
TURN_OFF_HEATERS
CLEAR_PAUSE
SDCARD_RESET_FILE
BASE_CANCEL_PRINT

Do nozzle priming

[gcode_macro PRIME_EXTRUDER]
gcode:
M117 Priming
G92 E0
G1 X10.1 Y20 Z2.0 F2000
G1 X10.1 Y200 Z0.28 F2000.0 E15; Draw the first line
G1 X10.4 Y200 Z0.28 F5000.0; Move to the side a little
G1 X10.4 Y20.0 Z0.28 F2000.0 E30; Draw the second line
G92 E0
G1 F2400 E-0.7 # Small retract to remove pressure
G1 Z2.0 F3000 ;Move Z Axis up

[gcode_macro PART_COOLING_FAN_ON]
gcode:
M106 S255

[gcode_macro PART_COOLING_FAN_OFF]
gcode:
M106 S0

[gcode_macro G29]
gcode:
BED_MESH_CLEAR
G28
BED_MESH_CALIBRATE
BED_MESH_PROFILE SAVE=x1

#[gcode_macro G34]
#gcode:

G28

Z_TILT_ADJUST

[gcode_macro G35]
gcode:
G28
SCREWS_TILT_CALCULATE

[gcode_macro START_PRINT]

Reference klipper/Config_Reference.md at master · KevinOConnor/klipper · GitHub

On how to override default parameters

default_parameter_BED_TEMP: 60
default_parameter_EXTRUDER_TEMP: 200

gcode:

Home the printer

G28
#Probe Everytime
G29 
#load saved mesh at print start instead of probe. Uncomment to use but comment out G29
#BED_MESH_PROFILE LOAD=default   					 
# Use absolute coordinates
G90
# Move the nozzle near the bed
G1 X0 Y0 Z5 F3000
# Move the nozzle very close to the bed
G1 Z0.15 F300
G92 E0 ;Reset Extruder
G1 X20 Y5 Z0.3 F5000.0			   
G1 Z0.3 F1000 				    
G1 X200 Y5 F1500.0 E15 			   
G1 X200 Y5.3 Z0.3 F5000.0			    
G1 X5.3  Y5.3 Z0.3 F1500.0 E30 			
G1 Z3 F3000 				     
G21 ; set units to millimeters
G90 ; use absolute coordinates
M83 ; use relative	distances for extrusion
G92 E0

[gcode_macro END_PRINT]
gcode:
# Turn off bed, extruder, and fan
M140 S0
M104 S0
M106 S0
# Move nozzle away from print while retracting
G91
G1 X-2 Y-2 E-3 F300
# Raise nozzle by 10mm
G1 Z30 F3000
G90
# Disable steppers
M84

[pause_resume]
recover_velocity: 50.

########################################

EXP1 / EXP2 (display) pins

########################################

[board_pins]
aliases:
# EXP1 header
EXP1_1=P1.30, EXP1_3=P1.18, EXP1_5=P1.20, EXP1_7=P1.22, EXP1_9=,
EXP1_2=P0.28, EXP1_4=P1.19, EXP1_6=P1.21, EXP1_8=P1.23, EXP1_10=<5V>,
# EXP2 header
EXP2_1=P0.17, EXP2_3=P3.26, EXP2_5=P3.25, EXP2_7=P1.31, EXP2_9=,
EXP2_2=P0.15, EXP2_4=P0.16, EXP2_6=P0.18, EXP2_8=, EXP2_10=
# Pins EXP2_1, EXP2_6, EXP2_2 are also MISO, MOSI, SCK of bus “ssp0”

See the sample-lcd.cfg file for definitions of common LCD displays.

## <---------------------- SAVE_CONFIG ---------------------->
#
# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
##
#
# [extruder]
## control = pid
#
# pid_kp = 40.019
## pid_ki = 1.991
#
# pid_kd = 201.097
##
#
# [heater_bed]
## control = pid
#
# pid_kp = 48.706
## pid_ki = 1.065
#
# pid_kd = 557.078
##
#
# [bltouch]
#*# z_offset = 1.000

many thanks

The mesh_min and mesh_max values are relative to your probe location and not to the nozzle location.
This means you start your mesh 30, 30 and to reach mesh_max: 270,270 with an y_offset of -55, your nozzle would need to travel to Y 325

The same is true for X: Offset of 52, Start at 30 → Nozzle position = X-22

Hi Sineos,

Thanks for your help on this, so if I’m getting this right, by getting the probe to 270, I’m placing the nozzle at 325 (270+55), correct? so if I want the bed_mesh to work I need to set the Y to 255, that will be placing the nozzle at 300, it this correct or am I missing something here?

Well, it depends on your printer and the endstop positions in relation to the bed and the probe position in relation to your nozzle and your bed. As per your configuration the limits of travel for the nozzle are:

  • min: X0, Y0
  • max: X300, Y300

This also means that for probing the nozzle needs to stay within these limits. It also means that due to the probe offsets you will most likely not be able to probe your entire bed.

For mesh_max:

  • Place your nozzle at the maximum point it can go, making sure that the probe is still able to touch the bed
  • Get your coordinates from the nozzle (Command: GET_POSITION)
  • Correct them by your offsets

For mesh_min:

  • Place the probe tip over the minimum point that you can still reach within your travel limits
  • Get your coordinates from the nozzle (Command: GET_POSITION)
  • Correct them by your offsets

Sanity check:

  • Your values may never exceed position_max
  • Your values may never go below position_min or in your case position_endstop
1 Like

Thanks again Sineos, I’ve managed to get it working now. really appreciate you taking time to help me.

Hava a great rest of the day