Can't get Klipper to probe bed before print.

This page summarizes the projects mentioned and recommended in the original post on /r/klippers

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured

    # This file contains pin mappings for the Creality "v4.2.7" board. To # use this config, during "make menuconfig" select the STM32F103 with # a "28KiB bootloader" and serial (on USART1 PA10/PA9) communication. # If you prefer a direct serial connection, in "make menuconfig" # select "Enable extra low-level configuration options" and select # serial (on USART3 PB11/PB10), which is broken out on the 10 pin IDC # cable used for the LCD module as follows: # 3: Tx, 4: Rx, 9: GND, 10: VCC # Flash this firmware by copying "out/klipper.bin" to a SD card and # turning on the printer with the card inserted. The firmware # filename must end in ".bin" and must not match the last filename # that was flashed. # See docs/Config_Reference.md for a description of parameters. [include mainsail.cfg] [stepper_x] step_pin: PB9 dir_pin: PC2 enable_pin: !PC3 microsteps: 16 rotation_distance: 40 endstop_pin: ^PA5 position_endstop: 0 position_max: 235 homing_speed: 50 [stepper_y] step_pin: PB7 dir_pin: PB8 enable_pin: !PC3 microsteps: 16 rotation_distance: 40 endstop_pin: ^PA6 position_endstop: 0 position_max: 235 homing_speed: 50 [stepper_z] step_pin: PB5 dir_pin: !PB6 enable_pin: !PC3 microsteps: 16 rotation_distance: 8 # position_endstop: 0.0 # disable to use BLTouch # endstop_pin: ^PA7 # disable to use BLTouch endstop_pin: probe:z_virtual_endstop # enable to use BLTouch position_min: -5 # enable to use BLTouch position_max: 250 [safe_z_home] # enable for BLTouch home_xy_position: 157.5,120.5 speed: 100 z_hop: 10 z_hop_speed: 5 [bltouch] # enable for BLTouch - fast-mode sensor_pin: ^PB1 control_pin: PB0 pin_up_touch_mode_reports_triggered: True probe_with_touch_mode: True x_offset: -44 # modify as needed for bltouch location y_offset: -6 # modify as needed for bltouch location #z_offset: 1.0 # modify as needed for bltouch or run PROBE_CALIBRATE speed: 10 samples: 3 sample_retract_dist: 5.0 # Can be set lower, example 2.5 depending on height of bltouch from bed lift_speed: 40 samples_tolerance_retries: 3 speed: 10 samples: 2 [bed_mesh] speed: 125 horizontal_move_z: 5 mesh_min: 18,18 mesh_max: 175,202 probe_count: 3,3 algorithm: bicubic # # manual Bed adjustment via BED_SCREWS_ADJUST # [bed_screws] # screw1: 72.5, 41.5 # screw1_name: front left screw # screw2: 198.5,35.5 # screw2_name: front right screw # screw3: 198.5,205.5 # screw3_name: rear right screw # screw4: 28.5,205.5 # screw4_name: rear left screw # horizontal_move_z: 10 # speed: 50 [screws_tilt_adjust] screw1: 72.5, 41.5 screw1_name: front left screw screw2: 198.5,41.5 screw2_name: front right screw screw3: 198.5,212.5 screw3_name: rear right screw screw4: 72.5,212.5 screw4_name: rear left screw horizontal_move_z: 10 speed: 50 screw_thread: CW-M4 [input_shaper] shaper_freq_x:92.2 shaper_type: mzv shaper_freq_y:43.4 shaper_type: mzv [gcode_macro G29] gcode: G28 BED_MESH_CALIBRATE G0 X0 Y0 Z10 F6000 BED_MESH_PROFILE save=Current [extruder] max_extrude_only_distance: 100.0 step_pin: PB3 dir_pin: PB4 enable_pin: !PC3 microsteps: 16 rotation_distance: 31.490 nozzle_diameter: 0.600 filament_diameter: 1.750 heater_pin: PA1 sensor_type: EPCOS 100K B57560G104F sensor_pin: PC5 control: pid pid_Kp: 21.527 pid_Ki: 1.063 pid_Kd: 108.982 min_temp: 0 max_temp: 250 pressure_advance: 0.332 [heater_bed] heater_pin: PA2 sensor_type: EPCOS 100K B57560G104F sensor_pin: PC4 control: pid pid_Kp: 54.027 pid_Ki: 0.770 pid_Kd: 948.182 min_temp: 0 max_temp: 130 [fan] pin: PA0 [mcu] serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0 restart_method: command [printer] kinematics: cartesian max_velocity: 300 max_accel: 3000 max_accel_to_decel: 3000 max_z_velocity: 5 max_z_accel: 100 [display] lcd_type: st7920 cs_pin: PB12 sclk_pin: PB13 sid_pin: PB15 encoder_pins: ^PB14, ^PB10 click_pin: ^!PB2 # Home, get position, throw around toolhead, home again. # If MCU stepper positions (first line in GET_POSITION) are greater than a full step different (your number of microsteps), then skipping occured. # We only measure to a full step to accomodate for endstop variance. # Example: TEST_SPEED SPEED=300 ACCEL=5000 ITERATIONS=10 [gcode_macro TEST_SPEED] gcode: # Speed {% set speed = params.SPEED|default(printer.configfile.settings.printer.max_velocity)|int %} # Iterations {% set iterations = params.ITERATIONS|default(5)|int %} # Acceleration {% set accel = params.ACCEL|default(printer.configfile.settings.printer.max_accel)|int %} # Bounding inset for large pattern (helps prevent slamming the toolhead into the sides after small skips, and helps to account for machines with imperfectly set dimensions) {% set bound = params.BOUND|default(20)|int %} # Size for small pattern box {% set smallpatternsize = SMALLPATTERNSIZE|default(20)|int %} # Large pattern # Max positions, inset by BOUND {% set x_min = printer.toolhead.axis_minimum.x + bound %} {% set x_max = printer.toolhead.axis_maximum.x - bound %} {% set y_min = printer.toolhead.axis_minimum.y + bound %} {% set y_max = printer.toolhead.axis_maximum.y - bound %} # Small pattern at center # Find X/Y center point {% set x_center = (printer.toolhead.axis_minimum.x|float + printer.toolhead.axis_maximum.x|float ) / 2 %} {% set y_center = (printer.toolhead.axis_minimum.y|float + printer.toolhead.axis_maximum.y|float ) / 2 %} # Set small pattern box around center point {% set x_center_min = x_center - (smallpatternsize/2) %} {% set x_center_max = x_center + (smallpatternsize/2) %} {% set y_center_min = y_center - (smallpatternsize/2) %} {% set y_center_max = y_center + (smallpatternsize/2) %} # Save current gcode state (absolute/relative, etc) SAVE_GCODE_STATE NAME=TEST_SPEED # Output parameters to g-code terminal { action_respond_info("TEST_SPEED: starting %d iterations at speed %d, accel %d" % (iterations, speed, accel)) } # Home and get position for comparison later: M400 # Finish moves - https://github.com/AndrewEllis93/Print-Tuning-Guide/issues/66 G28 # QGL if not already QGLd (only if QGL section exists in config) {% if printer.configfile.settings.quad_gantry_level %} {% if printer.quad_gantry_level.applied == False %} QUAD_GANTRY_LEVEL G28 Z {% endif %} {% endif %} # Move 50mm away from max position and home again (to help with hall effect endstop accuracy - https://github.com/AndrewEllis93/Print-Tuning-Guide/issues/24) G90 G1 X{printer.toolhead.axis_maximum.x-50} Y{printer.toolhead.axis_maximum.y-50} F{30*60} M400 # Finish moves - https://github.com/AndrewEllis93/Print-Tuning-Guide/issues/66 G28 X Y G0 X{printer.toolhead.axis_maximum.x-1} Y{printer.toolhead.axis_maximum.y-1} F{30*60} G4 P1000 GET_POSITION # Go to starting position G0 X{x_min} Y{y_min} Z{bound + 10} F{speed*60} # Set new limits SET_VELOCITY_LIMIT VELOCITY={speed} ACCEL={accel} ACCEL_TO_DECEL={accel / 2} {% for i in range(iterations) %} # Large pattern diagonals G0 X{x_min} Y{y_min} F{speed*60} G0 X{x_max} Y{y_max} F{speed*60} G0 X{x_min} Y{y_min} F{speed*60} G0 X{x_max} Y{y_min} F{speed*60} G0 X{x_min} Y{y_max} F{speed*60} G0 X{x_max} Y{y_min} F{speed*60} # Large pattern box G0 X{x_min} Y{y_min} F{speed*60} G0 X{x_min} Y{y_max} F{speed*60} G0 X{x_max} Y{y_max} F{speed*60} G0 X{x_max} Y{y_min} F{speed*60} # Small pattern diagonals G0 X{x_center_min} Y{y_center_min} F{speed*60} G0 X{x_center_max} Y{y_center_max} F{speed*60} G0 X{x_center_min} Y{y_center_min} F{speed*60} G0 X{x_center_max} Y{y_center_min} F{speed*60} G0 X{x_center_min} Y{y_center_max} F{speed*60} G0 X{x_center_max} Y{y_center_min} F{speed*60} # Small patternbox G0 X{x_center_min} Y{y_center_min} F{speed*60} G0 X{x_center_min} Y{y_center_max} F{speed*60} G0 X{x_center_max} Y{y_center_max} F{speed*60} G0 X{x_center_max} Y{y_center_min} F{speed*60} {% endfor %} # Restore max speed/accel/accel_to_decel to their configured values SET_VELOCITY_LIMIT VELOCITY={printer.configfile.settings.printer.max_velocity} ACCEL={printer.configfile.settings.printer.max_accel} ACCEL_TO_DECEL={printer.configfile.settings.printer.max_accel_to_decel} # Re-home and get position again for comparison: M400 # Finish moves - https://github.com/AndrewEllis93/Print-Tuning-Guide/issues/66 G28 # This is a full G28 to fix an issue with CoreXZ - https://github.com/AndrewEllis93/Print-Tuning-Guide/issues/12 # Go to XY home positions (in case your homing override leaves it elsewhere) G90 G0 X{printer.toolhead.axis_maximum.x-1} Y{printer.toolhead.axis_maximum.y-1} F{30*60} G4 P1000 GET_POSITION # Restore previous gcode state (absolute/relative, etc) RESTORE_GCODE_STATE NAME=TEST_SPEED [gcode_macro PRESENT_PLATE] gcode: {% set posy = printer.toolhead.axis_maximum.y|float %} {% set posx = 5.0 %} G0 X{posx} Y{posy} F3000 [gcode_macro START_PRINT] gcode: # Parameters {% set bedtemp = params.bed|int %} {% set hotendtemp = params.hotend|int %} #{% set chambertemp = params.CHAMBER|default(0)|int %} SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=60 SET_HEATER_TEMPERATURE HEATER=extruder TARGET=150 G90 M190 S{bedtemp}. ; Wait for bed to heat up G28 G1 Z50 F240 ;Lower bed 50mm M117 BED_MESH_PROFILE LOAD=default G21 G90 ; absolute M107 #G1 Z5 #G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed #G0 X2 Y0 ; Move to the left of the brush #G1 Z3.0 F3000 ; Move Z Axis up little to prevent crashing with the bed retainer clip G1 X0.1 Y35 F5000.0 ; Move to start position #[include adxl.cfg] # Comment this out when you disconnect the accelerometer #*# <---------------------- SAVE_CONFIG ----------------------> #*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. #*# #*# [bltouch] #*# z_offset = 2.000 #*# #*# [bed_mesh Test2] #*# version = 1 #*# points = #*# -0.963750, -0.621250, -0.265000, 0.062500, 0.305000 #*# -0.925000, -0.621250, -0.316250, 0.007500, 0.163750 #*# -0.835000, -0.523750, -0.153750, -0.006250, 0.060000 #*# -0.781250, -0.562500, -0.328750, -0.131250, -0.042500 #*# -0.677500, -0.450000, -0.322500, -0.198750, -0.150000 #*# min_x = 18.0 #*# max_x = 175.0 #*# min_y = 18.0 #*# max_y = 202.0 #*# x_count = 5 #*# y_count = 5 #*# mesh_x_pps = 2 #*# mesh_y_pps = 2 #*# algo = bicubic #*# tension = 0.2 #*# #*# [bed_mesh Current] #*# version = 1 #*# points = #*# 0.267500, 0.048750, -0.266250 #*# 0.257500, 0.061250, -0.248750 #*# 0.177500, 0.047500, -0.245000 #*# x_count = 3 #*# y_count = 3 #*# mesh_x_pps = 2 #*# mesh_y_pps = 2 #*# algo = bicubic #*# tension = 0.2 #*# min_x = 18.0 #*# max_x = 175.0 #*# min_y = 18.0 #*# max_y = 202.0

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts