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!
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.”
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.
I have a few generic suggestions for you in addition to those already provided by others:
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.
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
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.