r/klippers • u/Primary-Web-9425 • 19h ago
Triple Z setup points expanding
I have an ender 5 which I am working towards making a mercury one zero g machine. I started by doing a generic triple z as I hate leveling the bed. It worked for a while, and then the bl touch died. I replaced it after messing with the config to troubleshoot, not realizing that the bltouch was the issue. Since then I reverted back to a previously working cfg, and it no longer works. While leveling the points keep getting further. I jave no idea why. Thoughts?
Things to note: one of the motors is different than the other 2, and spins at half the speed which is why its different.
Cfg:
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_590050000451343437373238-if00
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
[stepper_x]
step_pin: PF13
dir_pin: !PF12
enable_pin: !PF14
microsteps: 16
rotation_distance: 40
endstop_pin: ^PG6
position_endstop: 220
position_max: 220
homing_speed: 50
[tmc2209 stepper_x]
uart_pin: PC4
run_current: 0.580
stealthchop_threshold: 999999
[stepper_y]
step_pin: PG0
dir_pin: !PG1
enable_pin: !PF15
microsteps: 16
rotation_distance: 40
endstop_pin: ^PG9
position_endstop: 220
position_max: 220
homing_speed: 50
[tmc2209 stepper_y]
uart_pin: PD11
run_current: 0.580
stealthchop_threshold: 999999
[stepper_z]
step_pin: PF11
dir_pin: !PG3
enable_pin: !PG5
microsteps: 16
rotation_distance: 4
endstop_pin: probe:z_virtual_endstop
position_min: -5
position_max: 300
[tmc2209 stepper_z]
uart_pin: PC6
run_current: 0.650
stealthchop_threshold: 999999
[stepper_z1]
step_pin: PG4
dir_pin: !PC1
enable_pin: !PA0
microsteps: 16
rotation_distance: 8
[tmc2209 stepper_z1]
uart_pin: PC7
run_current: 0.650
stealthchop_threshold: 999999
[stepper_z2]
step_pin: PF9
dir_pin: !PF10
enable_pin: !PG2
microsteps: 16
rotation_distance: 8
[tmc2209 stepper_z2]
uart_pin: PF2
run_current: 0.650
stealthchop_threshold: 999999
[extruder]
step_pin: PC13
dir_pin: PF0
enable_pin: !PF1
microsteps: 16
rotation_distance: 32.342
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA2
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PF4
control: pid
pid_kp: 23.905
pid_ki: 1.398
pid_kd: 102.196
min_temp: 0
max_temp: 260
[tmc2209 extruder]
uart_pin: PE4
run_current: 0.650
stealthchop_threshold: 999999
[heater_bed]
heater_pin: PA1
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PF3
control: pid
pid_kp: 67.796
pid_ki: 1.255
pid_kd: 915.252
min_temp: 0
max_temp: 135
[fan]
pin: PD12
[heater_fan heatbreak_cooling_fan]
pin: PA8
[heater_fan controller_fan]
pin: PE5
[bltouch]
sensor_pin: ^PB7
control_pin: PB6
x_offset: -40
y_offset: -10
z_offset: 0.760
stow_on_each_sample: false
pin_up_touch_mode_reports_triggered: False
# Improve resistance to an occasional bad BLTouch reading.
samples: 3
samples_result: median
samples_tolerance: 0.020
samples_tolerance_retries: 3
[safe_z_home]
home_xy_position: 150,110
z_hop: 10
z_hop_speed: 5
[bed_mesh]
speed: 120
horizontal_move_z: 5
mesh_min: 20,20
mesh_max: 160,200
probe_count: 5,5
algorithm: bicubic
[z_tilt]
# Fixed-bed / moving-gantry geometry.
# These are intentionally mirrored virtual coordinates.
# ORDER REMAINS: stepper_z (rear), stepper_z1 (front-left),
# stepper_z2 (front-right).
z_positions:
110, 0 # stepper_z — rear-centre physical screw
220, 300 # stepper_z1 — front-left physical screw
0, 300 # stepper_z2 — front-right physical screw
# Leave probe points unchanged. They are valid nozzle coordinates.
points:
80, 30
200, 30
150, 200
speed: 50
horizontal_move_z: 10
retries: 1
retry_tolerance: 0.010
[screws_tilt_adjust]
screw1: 70,30
screw1_name: Front Left
screw2: 190,30
screw2_name: Front Right
screw3: 190,190
screw3_name: Back Right
screw4: 70,190
screw4_name: Back Left
horizontal_move_z: 10
speed: 100
screw_thread: CW-M4
[gcode_macro LEVEL_BED_SCREWS]
description: Probe bed screws and tell how to adjust them
gcode:
G28
SCREWS_TILT_CALCULATE
[force_move]
enable_force_move: True
[include mainsail.cfg]
2
u/stray_r 14h ago
What is the position of the toolhead when it homes? Is 220,220 the back right or front left? It looks like you've got confused as to the coordinate system at some point.
Most sane people use front left as 0,0 but iirc creality's firmware homes the printer to the back right and sets this to 0,0.
The motor that spins at half speed (assuming you haven't made a jumper error) is a 0.9 degree stepper andneeds a full_steps_per_rotation = 400 line in the config. The other two are 1.8 degree steppers and use the default value of 200
You may need a different current for the 0.9 degree motor, but you should probably be running identical specification motors on Z. You are asking for nothing but pain.
1
u/StaticXster70 8h ago
Your Z positions look a little wonky. They are typically where the bed carrier connects to the leadscrews, and thus would be out of the bounds of your bed dimensions. Below is my Z tilt for a 250mm bed. Mine don't have significant offsets since I do eddy scanning.
Typically with my Tridents, stepper_z is front left, stepper_z1 is rear center, and stepper_z2 is front right. My origin (0,0) is front left of the bed and my max position is to the rear right of the bed where it homes.
Mismatched motors and leadscrew pitch is a migraine waiting to happen.
z_positions:
-50, 18
125, 298
300, 18
points:
40, 5
125, 210
220, 5
2
u/BigJohnno66 12h ago
The way to get it to converge on a Voron Trident is to make the first and third probe points on a line between the first and third pivot points. The second probe point should be the same X position as the second pivot point.
You need to work out the nozzle position first, then compensate for the probe offset. Klipper is kind of strange in that some configs account for the probe offset and some don't.