I just finished up my ender SW build with this probe and downloaded and edited the macros as per the instructions.
When I try to home X or Y separately, X moves down a fair bit and then moves like 10 mm to one side, and it's "homed". If I home it again, it will go to the end and stop there (sensorless). Y moves 10 mm every time I press home Y.
Inverting Z doesn't affect which way it moves when homing X, it only goes towards the bed.
If I home all axes, X homes fine, Y moves a bit and stops, and Z flys down towards the bed and crashes.
I'm really at a loss here, and would appreciate all the help I can get, this doesn't seem logical to me anymore.
x_offset: 1.7 # negative = left of the nozzle
y_offset: 35.5 # negative = in front of of the nozzle
speed: 5
lift_speed: 5
sample_retract_dist: 2
samples: 2
samples_tolerance_retries: 6
[gcode_macro _User_Variables]
variable_verbose: True # Enable verbose output
variable_debug: False # Enable Debug output
variable_travel_speed: 200 # how fast all other travel moves will be performed when running these macros
variable_move_accel: 1000 # how fast should the toolhead accelerate when moving
variable_dock_speed: 50 # how fast should the toolhead move when docking the probe for the final movement
variable_release_speed: 75 # how fast should the toolhead move to release the hold of the magnets after docking
variable_z_drop_speed: 20 # how fast the z will lower when moving to the z location to clear the probe
variable_safe_z: 25 # Minimum Z for attach/dock and homing functions
if true it will move the bed away from the nozzle when Z is not homed
variable_enable_z_hop: True # set this to false for beds that fall significantly under gravity (almost to Z max)
variable_max_bed_y: 220 # maximum Bed size avoids doing a probe_accuracy outside the bed
variable_max_bed_x: 220 # maximum Bed size avoids doing a probe_accuracy outside the bed
if a separate Z endstop switch is in
use, specify the coordinates of the switch here (Voron).
Set to 0 to have the probe move to center of bed
variable_z_endstop_x: 0
variable_z_endstop_y: 0
Check the printer specific documentation on klipper Dock/Undock configuration, these are dummy values
dock location
variable_docklocation_x: 180 # X Dock position
variable_docklocation_y: 110 # Y Dock position
variable_docklocation_z: -128 # Z dock position (-128 for a gantry/frame mount)
The following variables are used if the dock is deployed and retracted via a servo motor
variable_enable_dock_servo: True # Set to true if your klicky dock is servo-controlled
variable_servo_name: 'klicky_servo' # The name of the dock servo defined in printer.cfg under [servo]
variable_servo_deploy: 40 # This EXAMPLE is the value used to deploy the servo fully
variable_servo_retract: 105 # This EXAMPLE is the value used to retract the servo fully (initial_angle in [servo] config)
variable_servo_delay: 250 # This is a delay to wait the servo to reach the requested position, be carefull with high values
Dock move, final toolhead movement to release the probe on the dock
Umbilical to help untangle the umbilical in difficult situations
variable_umbilical: False # should we untangle the umbilical
variable_umbilical_x: 15 # X umbilical position
variable_umbilical_y: 15 # Y umbilical position
variable_version: 1 # Helps users to update the necessary variables, do not update if the variables above are not updated
Below this remark, you normally do not need to configure
Attach move2
Variable_attachmove2_x: 0 # intermediate toolhead movement to attach
Variable_attachmove2_y: 0 # the probe on the dock
Variable_attachmove2_z: 0 # (can be negative)
variable_home_backoff_x: 10 # how many mm to move away from the X endstop after homing X
this is useful for the voron v0 to enable the toolhead to move out of the way to allow an unstricted Y homing
variable_home_backoff_y: 10 # how many mm to move away from the Y endstop after homing Y
variable_override_homing: '' # configures what axis to home first
'' = default klicky behavior (tries to avoid the hitting the dock)
# 'X' = forces X to home first
# 'Y' = forces Y to home first
variable_dock_on_zhome: True # docks the probe on Z Homing if not necessary (avoids hitting the bed on some printers
Do not modify below
gcode:
{% set Mx = printer['configfile'].config["stepper_x"]["position_max"]|float %}
{% set My = printer['configfile'].config["stepper_y"]["position_max"]|float %}
{% set Ox = printer['configfile'].config["probe"]["x_offset"]|float %}
{% set Oy = printer['configfile'].config["probe"]["y_offset"]|float %}
{% set Oz = printer['configfile'].config["probe"]["z_offset"]|float %}
# If x, y coordinates are set for z endstop, assign them
{% if z_endstop_x != 0 or z_endstop_y != 0 %}
SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=z_endstop_x VALUE={ z_endstop_x }
SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=z_endstop_y VALUE={ z_endstop_y }
# if no x, y coordinates for z endstop, assume probe is endstop and move toolhead to center of bed
{% else %}
SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=z_endstop_x VALUE={ (Mx * 0.5) - Ox }
SET_GCODE_VARIABLE MACRO=_Probe_Variables VARIABLE=z_endstop_y VALUE={ (My * 0.5) - Oy }
{% endif %}
I just finished up my ender SW build with this probe and downloaded and edited the macros as per the instructions.
When I try to home X or Y separately, X moves down a fair bit and then moves like 10 mm to one side, and it's "homed". If I home it again, it will go to the end and stop there (sensorless). Y moves 10 mm every time I press home Y.
Inverting Z doesn't affect which way it moves when homing X, it only goes towards the bed.
If I home all axes, X homes fine, Y moves a bit and stops, and Z flys down towards the bed and crashes.
I'm really at a loss here, and would appreciate all the help I can get, this doesn't seem logical to me anymore.
############ PRINTER CFG
[stepper_x] step_pin: P2.2 dir_pin: P2.6 enable_pin: !P2.1 microsteps: 16 rotation_distance: 40 full_steps_per_rotation:400 endstop_pin: tmc2209_stepper_x:virtual_endstop position_endstop: 0 position_min: 0 position_max: 220 homing_speed: 40 homing_retract_dist: 0 #Normal 10
[stepper_y] step_pin: P0.19 dir_pin: P0.20 enable_pin: !P2.8 microsteps: 16 rotation_distance: 40 endstop_pin: tmc2209_stepper_y:virtual_endstop position_endstop: 0 position_min: 0 position_max: 220 homing_speed: 40 homing_retract_dist: 0 #Normal 10
[stepper_z] step_pin: P0.22 dir_pin: !P2.11 enable_pin: !P0.21 microsteps: 16 rotation_distance: 40 full_steps_per_rotation: 400 endstop_pin: probe:z_virtual_endstop #!P1.27 position_min: -8 position_max: 220 homing_speed: 10 second_homing_speed: 5 homing_retract_dist: 3
[probe] pin: ^P0.10
z_offset: 0 #Measure per your specific setup
x_offset: 1.7 # negative = left of the nozzle y_offset: 35.5 # negative = in front of of the nozzle speed: 5 lift_speed: 5 sample_retract_dist: 2 samples: 2 samples_tolerance_retries: 6
[extruder] step_pin: P2.13 dir_pin: !P0.11 enable_pin: !P2.12 microsteps: 16 rotation_distance: 7.48837 nozzle_diameter: 0.400 filament_diameter: 1.750 heater_pin: P2.7 sensor_type: EPCOS 100K B57560G104F sensor_pin: P0.24
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: -273 max_temp: 999999 max_extrude_only_distance: 100 max_extrude_cross_section: 30
[heater_bed] heater_pin: P2.5 sensor_type: EPCOS 100K B57560G104F sensor_pin: P0.25
control: pid
pid_Kp: 54.027
pid_Ki: 0.770
pid_Kd: 948.182
min_temp: -273 max_temp: 999999
[fan] pin: P2.3 max_power: 1 shutdown_speed: 0 kick_start_time: 0.5
[heater_fan heater_cooling_fan] pin: P2.4 max_power: 1.0 shutdown_speed: 0 kick_start_time: 0.5 heater: extruder heater_temp: 50.0 fan_speed: 0.6
[printer] kinematics: corexz max_velocity: 300 max_accel: 3000 max_accel_to_decel: 3000 max_z_velocity: 50 max_z_accel: 500 square_corner_velocity: 4.0
[bed_screws] screw1: 30, 30 screw2: 200, 30 screw3: 200, 200 screw4: 30, 200
########################################
TMC2209 configuration
########################################
[tmc2209 stepper_x] uart_pin: P1.10 diag_pin: P1.29 run_current: 0.800 stealthchop_threshold: 99999 driver_SGTHRS: 140
[tmc2209 stepper_y] uart_pin: P1.9 diag_pin: P1.28 run_current: 0.800 stealthchop_threshold: 99999 driver_SGTHRS: 140
[tmc2209 stepper_z] uart_pin: P1.8 run_current: 0.8 stealthchop_threshold: 99999
[tmc2209 extruder] uart_pin: P1.4 run_current: 0.800 stealthchop_threshold: 99999
[servo klicky_servo] pin: P2.0 maximum_servo_angle: 180 minimum_pulse_width: 0.00025 maximum_pulse_width: 0.0024
[gcode_macro _servo_test_angle] gcode: {% set ANGLE = params.ANGLE|int %}
############ KLICKY VARIABLES
[gcode_macro _User_Variables] variable_verbose: True # Enable verbose output variable_debug: False # Enable Debug output variable_travel_speed: 200 # how fast all other travel moves will be performed when running these macros variable_move_accel: 1000 # how fast should the toolhead accelerate when moving variable_dock_speed: 50 # how fast should the toolhead move when docking the probe for the final movement variable_release_speed: 75 # how fast should the toolhead move to release the hold of the magnets after docking variable_z_drop_speed: 20 # how fast the z will lower when moving to the z location to clear the probe
variable_safe_z: 25 # Minimum Z for attach/dock and homing functions
if true it will move the bed away from the nozzle when Z is not homed
variable_enable_z_hop: True # set this to false for beds that fall significantly under gravity (almost to Z max)
variable_max_bed_y: 220 # maximum Bed size avoids doing a probe_accuracy outside the bed variable_max_bed_x: 220 # maximum Bed size avoids doing a probe_accuracy outside the bed
if a separate Z endstop switch is in
use, specify the coordinates of the switch here (Voron).
Set to 0 to have the probe move to center of bed
variable_z_endstop_x: 0 variable_z_endstop_y: 0
Check the printer specific documentation on klipper Dock/Undock configuration, these are dummy values
dock location
variable_docklocation_x: 180 # X Dock position variable_docklocation_y: 110 # Y Dock position variable_docklocation_z: -128 # Z dock position (-128 for a gantry/frame mount)
The following variables are used if the dock is deployed and retracted via a servo motor
variable_enable_dock_servo: True # Set to true if your klicky dock is servo-controlled variable_servo_name: 'klicky_servo' # The name of the dock servo defined in printer.cfg under [servo] variable_servo_deploy: 40 # This EXAMPLE is the value used to deploy the servo fully variable_servo_retract: 105 # This EXAMPLE is the value used to retract the servo fully (initial_angle in [servo] config) variable_servo_delay: 250 # This is a delay to wait the servo to reach the requested position, be carefull with high values
Dock move, final toolhead movement to release the probe on the dock
it's a relative move
Variable_dockmove_x: 120 Variable_dockmove_y: 0 Variable_dockmove_z: 0
Attach move. final toolhead movement to attach the probe on the mount
it's a relative move
Variable_attachmove_x: 1000 Variable_attachmove_y: 0 Variable_attachmove_z: 0
Umbilical to help untangle the umbilical in difficult situations
variable_umbilical: False # should we untangle the umbilical variable_umbilical_x: 15 # X umbilical position variable_umbilical_y: 15 # Y umbilical position
location to park the toolhead
variable_park_toolhead: True # Enable toolhead parking variable_parkposition_x: 110 variable_parkposition_y: 220 variable_parkposition_z: 50
variable_version: 1 # Helps users to update the necessary variables, do not update if the variables above are not updated
Below this remark, you normally do not need to configure
Attach move2
Variable_attachmove2_x: 0 # intermediate toolhead movement to attach Variable_attachmove2_y: 0 # the probe on the dock Variable_attachmove2_z: 0 # (can be negative)
variable_home_backoff_x: 10 # how many mm to move away from the X endstop after homing X
this is useful for the voron v0 to enable the toolhead to move out of the way to allow an unstricted Y homing
variable_home_backoff_y: 10 # how many mm to move away from the Y endstop after homing Y
variable_override_homing: '' # configures what axis to home first
'' = default klicky behavior (tries to avoid the hitting the dock)
variable_dock_on_zhome: True # docks the probe on Z Homing if not necessary (avoids hitting the bed on some printers
Do not modify below
gcode: {% set Mx = printer['configfile'].config["stepper_x"]["position_max"]|float %} {% set My = printer['configfile'].config["stepper_y"]["position_max"]|float %} {% set Ox = printer['configfile'].config["probe"]["x_offset"]|float %} {% set Oy = printer['configfile'].config["probe"]["y_offset"]|float %} {% set Oz = printer['configfile'].config["probe"]["z_offset"]|float %}