Z tilt problems

Basic Information:

Printer Model: TRONXY X5SA PRO 500
MCU / Printerboard: Raspberry Pi B3 / Octopus Pro 1.0 (429)

Describe your issue:

hello everyone!

I have the following problem with my Tronxy X5SA 500 clipper:
The Z-axes are not leveled automatically and the bedmesh is always displayed crooked. I have already tried a few things but without success, can anyone give me some tips? thanks in advance! :slight_smile:

Picture of situation:

My config for Z:

#####################################################################
# 	Z Stepper Settings
#####################################################################

## Z0 Stepper - Right on MOTOR2_1 (labeled Z1 on wire)
[stepper_z]
step_pin: PF11
dir_pin: PG3
enable_pin: !PG5
microsteps: 16
rotation_distance: 8
endstop_pin: probe:z_virtual_endstop
#endstop_pin: PB7
position_max: 500
position_min: -3
# rotation_distance: 40
# gear_ratio: 80:16
# microsteps: 16
##  Z-position of nozzle (in mm) to z-endstop trigger point relative to print surface (Z0)
##  (+) value = endstop above Z0, (-) value = endstop below
##	Increasing position_endstop brings nozzle closer to the bed
##  After you run Z_ENDSTOP_CALIBRATE, position_endstop will be stored at the very end of your config
# position_endstop: -0.5
# homing_speed: 8
# second_homing_speed: 3
# homing_retract_dist: 3

##	Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_z]
uart_pin: PC6
interpolate: true
run_current: 0.8
hold_current: 0.8
sense_resistor: 0.110
stealthchop_threshold: 9999

##	Z1 Stepper - Left on MOTOR3 (labeled Z1 on wire)
[stepper_z1]
step_pin: PG4
dir_pin: PC1
enable_pin: !PA0
microsteps: 16
rotation_distance: 8

##	Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_z1]
uart_pin: PC7
interpolate: true
run_current: 0.8
hold_current: 0.8
sense_resistor: 0.110
stealthchop_threshold: 9999

[z_tilt]
z_positions: 
# XY Coords of the motors relative to the origin
  560,265
  -60,265
points:
# Points to probe to level
  30,265
  520,265
speed: 100
horizontal_move_z: 10
# z_positions: 
#     -78,167 
#     311.5,167
# points: 20,167 # Points to probe to level
#     100,167
#     200,167
#     280,167```

Hello @frankyisfix !

Please always attach the klippy.log and not a printer.cfg excerpt.

Have you done a manual levelling before?

Please attach the klippy.log to your next post.

Hi, as already noted by @EddyMI3D please always attach a complete klippy.log file.

Having said that, I see an immediate potential issue with your setup. Your z_positions coordinates are in “backwards” order with respect to the coordinate system. Assuming that your stepper_z is on the LEFT side of the gantry and your stepper_z1 is on the RIGHT side, you need to change the order as follows:

[z_tilt]
z_positions: 
# XY Coords of the motors relative to the origin
  -60,265
  560,265

Per Klipper documentation:

#z_positions:
#   A list of X, Y coordinates (one per line; subsequent lines
#   indented) describing the location of each bed "pivot point". The
#   "pivot point" is the point where the bed attaches to the given Z
#   stepper. It is described using nozzle coordinates (the X, Y position
#   of the nozzle if it could move directly above the point). The
#   first entry corresponds to stepper_z, the second to stepper_z1,
#   the third to stepper_z2, etc. This parameter must be provided.

The key here is this: “The first entry corresponds to stepper_z, the second to stepper_z1, the third to stepper_z2, etc.”

@ReXT3D

here is my klippy.log :

klippy-5.log.zip (1.0 MB)

an here is the result of your tipp with changing :

i dont understand this problem… :confused:

Does it properly finish the z_tilt or what says the console at the end?
What probe are you using?
Are all coordinates of the joints and probing points correct?

I lastly had a similar issue where my inductive probe measured at the edge of the bed on one side having a false reference.
After moving that probe point a bit to the center of the bed all was fine.

You should level the bed first manually:

https://www.klipper3d.org/Manual_Level.html#adjusting-bed-leveling-screws

I have a few generic suggestions for you in addition to those already provided by others:

  1. Make sure that the printer geometry is correctly defined in your configuration file. Specific to your issue, ensure that as minimum the following values are correct for your specific printer: (1) [stepper_x] and [stepper_y] position_endstop, position_min and position_max; (2) [probe] x_offset and y_offset; (3) [z_tilt] z_positions and points.
    For example, I quickly scaled the X5SA-500 Pro frontal photo from the Tronxy web site and obtained an approximate distance between the Z and Z1 steppers of ~680 mm (conservatively assuming the print bed width is 500 mm), while your [z_tilt] configuration defines this distance as 620 mm (from -60 mm to +560 mm). Please measure this distance on your printer and confirm the correct value.
    Similarly, your configuration suggests that your X axis end stop is at 0 mm. This implies that when the X axis hits the stop the print nozzle is exactly at the point where you want your print volume to start along the X axis (X = 0.0 mm). Is this truly the case - is the nozzle above the bed where you want the X = 0.0 mm reference to be?
    Probe offset relative to the nozzle position must be correctly defined and accounted for in your printer configuration. So if your Z probe is, let’s say 25 mm to the left of the nozzle, the x_offset value has to be set to -25.0. In addition, you have to account for this probe offset when you define the list of points for [z_tilt] because the values used by [z_tilt] are in the NOZZLE coordinate system. So, if you want the PROBE to measure at X = 25 mm and your offset is -25 mm, the NOZZLE has to be at 50.0 mm. The X reference you use in the list of points coordinates would therefore be 50. It is also very important to note that [bed_mesh] is configured using the PROBE coordinate system so you do not have to manually account for the probe offset. This can be a bit confusing.

  2. After validating the values listed above in point 1, home the printer with G28 and then run Z_TILT_ADJUST several times to confirm that the Z adjustment values shown at the end are converging. For example, when I do this on one of my printers I get the following result (probe values have been removed from the below), noting that with each subsequent Z_TILT_ADJUST the adjustment values are getting substantially smaller:

$ G28

$ Z_TILT_ADJUST
// Making the following Z adjustments:
// stepper_z = 0.110269
// stepper_z1 = 0.092034

$ Z_TILT_ADJUST
// Making the following Z adjustments:
// stepper_z = 0.004653
// stepper_z1 = -0.002873

$ Z_TILT_ADJUST
/ Making the following Z adjustments:
// stepper_z = 0.000958
// stepper_z1 = -0.000777
1 Like

As I currently stumbled upon a Z tilting issue with my printer I cannot say enough how important it is to have the correct measurements of the Z joints and probing points!

This is often not the case if the tolerance values increases and the probing values differ too much.

At first carefully read through here:

This will hopefully make you familiar with the coordinates of a 3D printer.
Especially what 0,0 means (nozzle position)!

Then again measure and properly define your stepper minimums and maximums!
If an axes homes besides the bed or in front of it then the respective minimum/endstop value can be negative!

From the correct 0,0 point measure the X and Y coordinates to the bed joints (green dotted lines in the next photo).
That is not where the motors are mounted but where the bed is connected to Z and can rotate around it to some degree:

This has to be measured as exact as possible for all three joints referencing to 0,0.
Then depending on your used sensor/probe you choose your probing point as near to the joint points as possible.
For inductive probes stay on the flex steel plate and maybe incline your probing points a bit for safety reasons.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.