1 / 2
Rook 2020 Klicky PCB Dock — image 1
1 / 2

Rook 2020 Klicky PCB Dock

Order a print of this model

We calculate the final price from your selected file. You review and accept it before payment.

Saved on this device.

Klicky PCB on Rook 2020 without losing printable area

Rating
0 / 5
Likes
19
Downloads
99
Makes
0
Views
865
Reviews
0

Updated at source:

Model information

License
GNU General Public License v3.0

After a lot of experiments I found this setup working best on rook 2020. It contains mount, mirrored + longer arm and mirrored probe for front docking
To be mounted at max front right position. 

Configs below are designed for my Dragon Burner mount and Cowl, you'll have to modify them for your needs if you plan to use it with anything else.

You can use configs I use (all credits to https://github.com/kevinakasam/KlackEnder-Probe for reference) or try/port klicky ones:

 

[probe]
pin: ^PC15 # E0-STOP Connection on Skr Mini E3 V3
x_offset: 21 # negative = left of the nozzle
y_offset: 16 # negative = in front of of the nozzle
#z_offset: 0 # to be configured
speed: 5.0
lift_speed: 15.0
sample_retract_dist: 1
samples: 2
samples_tolerance_retries: 6

[screws_tilt_adjust] screw1: 39,9 screw1_name: Front screw2: 4,79 screw2_name: Back left screw3: 74,79 screw3_name: Back right horizontal_move_z: 15

[probe]

pin: ^PC15

x_offset: 21 # negative = left of the nozzle

y_offset: 16 # negative = in front of of the nozzle

z_offset: 0

#z_offset = 9.5

speed: 5.0

lift_speed: 15.0

sample_retract_dist: 1

samples: 2

samples_tolerance_retries: 6

##[(7x7)-1] / 2 = 24 ##[(5x5)-1] / 2 = 12 [bed_mesh] speed: 100 horizontal_move_z: 15 mesh_min: 21,5 mesh_max: 99,115 probe_count: 5,5 zero_reference_position: 60, 60 algorithm: bicubic fade_start: 1 fade_end: 10 #fade_target:

The z position in which fade should converge. When this value is set

to a non-zero value it must be within the range of z-values in the mesh.

Users that wish to converge to the z homing position should set this to 0.

Default is the average z value of the mesh.

split_delta_z: 0.015

The amount of Z difference (in mm) along a move that will

trigger a split. Default is .025.

move_check_distance: 3

The distance (in mm) along a move to check for split_delta_z.

This is also the minimum length that a move can be split. Default

is 5.0.

mesh_pps: 4,4

A comma separated pair of integers (X,Y) defining the number of

points per segment to interpolate in the mesh along each axis. A

"segment" can be defined as the space between each probed

point. The user may enter a single value which will be applied

to both axes. Default is 2,2.

#bicubic_tension: .2

When using the bicubic algorithm the tension parameter above

may be applied to change the amount of slope interpolated.

Larger numbers will increase the amount of slope, which

results in more curvature in the mesh. Default is .2.

[homing_override]

set_position_z:0 # Make printer think Z axis is at zero, so we can force a move upwards away from build plate

gcode:

G90

# Z10

G1 Z10 F3000 ; move up to prevent accidentally scratching build plate

G28 X

G28 Y

PROBE_OUT

G1 X117 Y117 F6000

G28 Z

PROBE_IN

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

KlackEnder- Macros

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

[gcode_macro PROBE_OUT] gcode: G90 G1 Z15 G1 Y20 G1 X118 G4 P300 G1 Y-17 G1 Y20

[gcode_macro PROBE_IN] gcode: G90 G1 Z15 G1 Y20 G1 X118 G4 P300 G1 Y-17 G1 X60

[gcode_macro G29] gcode: PROBE_OUT BED_MESH_CALIBRATE #G1 Y0 F20000 PROBE_IN

[gcode_macro Accuracy_Test] gcode: PROBE_OUT G90 G1 Y60 X60 F6000 PROBE_ACCURACY PROBE_IN

[gcode_macro PROBE_CALIBRATE] rename_existing: _PROBE_CALIBRATE gcode: {% if not 'xyz' in printer.toolhead.homed_axes %} G28 {% endif %} PROBE_OUT G90 G1 Z20 G1 X39 Y44 F6000 _PROBE_CALIBRATE TESTZ Z=15 M117 Remove the Klack to continue calibration!

[gcode_macro PROBE_ACCURACY] rename_existing: _PROBE_ACCURACY gcode: {% if not 'xyz' in printer.toolhead.homed_axes %} G28 {% endif %} PROBE_OUT G90 G1 Y60 X60 F6000 _PROBE_ACCURACY PROBE_IN

[gcode_macro SCREWS_TILT_CALCULATE] rename_existing: SCREWS_TILT_CALCULATE_BASE gcode: {% if not 'xyz' in printer.toolhead.homed_axes %} G28 {% endif %} PROBE_OUT SCREWS_TILT_CALCULATE_BASE

 

Other than this, you'll have to modify homing macros a little (credits to Kanrog87):

 

[gcode_macro _HOME_X]
gcode:
    # Always use consistent run_current on A/B steppers during sensorless homing
    {% set RUN_CURRENT_X = printer.configfile.settings['tmc2209 stepper_x'].run_current|float %}
    {% set RUN_CURRENT_Y = printer.configfile.settings['tmc2209 stepper_y'].run_current|float %}
    {% set HOME_CURRENT_RATIO = 0.7 %} # by default we are dropping the motor current during homing. you can adjust this value if you are having trouble with skipping while homing
    SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CURRENT_RATIO * RUN_CURRENT_X}
    SET_TMC_CURRENT STEPPER=stepper_y CURRENT={HOME_CURRENT_RATIO * RUN_CURRENT_Y}

# Home
G28 X
# Move away
G91
G1 X-25 F1200

# Wait just a second… (give StallGuard registers time to clear)
G4 P1000
G90
# Set current during print
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={RUN_CURRENT_X}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={RUN_CURRENT_Y}

[gcode_macro _HOME_Y] gcode: # Set current for sensorless homing {% set RUN_CURRENT_X = printer.configfile.settings['tmc2209 stepper_x'].run_current|float %} {% set RUN_CURRENT_Y = printer.configfile.settings['tmc2209 stepper_y'].run_current|float %} {% set HOME_CURRENT_RATIO = 0.7 %} # by default we are dropping the motor current during homing. you can adjust this value if you are having trouble with skipping while homing SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CURRENT_RATIO * RUN_CURRENT_X} SET_TMC_CURRENT STEPPER=stepper_y CURRENT={HOME_CURRENT_RATIO * RUN_CURRENT_Y}

# Home
G28 Y
# Move away
G91
G1 Y-10 F1200


# Wait just a second… (give StallGuard registers time to clear)
G4 P1000
G90
# Set current during print
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={RUN_CURRENT_X}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={RUN_CURRENT_Y}</code></pre><p>I also use <a href="https://github.com/kyleisah/Klipper-Adaptive-Meshing-Purging">https://github.com/kyleisah/Klipper-Adaptive-Meshing-Purging</a> for bed meshing with following settings:</p><pre><code class="language-plaintext">

The following variables are for those with a dockable probe like Klicky, Euclid, etc. # ---------------- Attach Macro | Detach Macro

variable_probe_dock_enable: True # Set to True to enable the usage of a dockable probe. # --------------------------------------------- variable_attach_macro: 'PROBE_OUT' # The macro that is used to attach the probe. # Klicky Probe: 'Attach_Probe' | 'Dock_Probe' variable_detach_macro: 'PROBE_IN' # The macro that is used to store the probe. # Euclid Probe: 'Deploy_Probe' | 'Stow_Probe' # Legacy Gcode: 'M401' | 'M402'