# Z\_TILT\_ADJUST goes the wrong way

**URL:** <https://klipper.discourse.group/t/z-tilt-adjust-goes-the-wrong-way/7739>\
**Category:** General Discussion\
**Created:** [April 10, 2023, 3:01am UTC](https://klipper.discourse.group/t/z-tilt-adjust-goes-the-wrong-way/7739 "2023-04-10T03:01:39Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![SaltyDoug](https://avatars.discourse-cdn.com/v4/letter/s/858c86/32.png) [@SaltyDoug](https://klipper.discourse.group/u/SaltyDoug)\
**Post date:** [April 10, 2023, 3:01am UTC](https://klipper.discourse.group/t/z-tilt-adjust-goes-the-wrong-way/7739/1 "2023-04-10T03:01:39Z")

</div>

### Basic Information:

Printer Model: Proforge 3.5  
 MCU / Printerboard: BTT v2  
 `klippy.log`  
[logs-202330-194759.zip](https://klipper.discourse.group/uploads/short-url/ceNLxHRDUrNQvwAvQOeZ20b3Siy.zip) (315.3 KB)

### Describe your issue:

My printer powers up with the left front (0, 0) corner low. I home it, then do a Z\_TILT\_ADJUST.  
After a few iterations I get the message below. I do not get this message if I manually turn the Z lead screw to raise the corner before homing.  
Can someone explain what is going on and/or What I could do to get rid of this issue?

7:16 PM

```auto
Retries aborting: Probed points range is increasing.

7:16 PM

Retries: 3/6 Probed points range: 0.451875 tolerance: 0.010000

7:16 PM

Making the following Z adjustments:
stepper_z = 0.007378
stepper_z1 = 0.667655
stepper_z2 = 0.017877

7:16 PM

probe at 235.000,240.000 is z=1.521602

7:16 PM

probe at 235.000,240.000 is z=1.520352

7:16 PM

probe at -10.000,240.000 is z=1.890352

7:16 PM

probe at -10.000,240.000 is z=1.870352

7:15 PM

probe at -10.000,-5.000 is z=1.426602

7:15 PM

probe at -10.000,-5.000 is z=1.430352

7:15 PM

Retries: 2/6 Probed points range: 0.393750 tolerance: 0.010000

7:15 PM

Making the following Z adjustments:
stepper_z = -0.004102
stepper_z1 = 0.571243
stepper_z2 = 0.009570

7:15 PM

probe at 235.000,240.000 is z=1.515737

7:15 PM

probe at 235.000,240.000 is z=1.513237

7:15 PM

probe at -10.000,240.000 is z=1.834487

7:15 PM

probe at -10.000,240.000 is z=1.815737

7:15 PM

probe at -10.000,-5.000 is z=1.426987

7:15 PM

probe at -10.000,-5.000 is z=1.435737

7:15 PM

Retries: 1/6 Probed points range: 0.350000 tolerance: 0.010000

7:15 PM

Making the following Z adjustments:
stepper_z = -0.104446
stepper_z1 = 0.389624
stepper_z2 = -0.243237

7:15 PM

probe at 235.000,240.000 is z=1.300200

7:15 PM

probe at 235.000,240.000 is z=1.296450

7:15 PM

probe at -10.000,240.000 is z=1.656450

7:15 PM

probe at -10.000,240.000 is z=1.640200

7:15 PM

probe at -10.000,-5.000 is z=1.306450

7:15 PM

probe at -10.000,-5.000 is z=1.313950

7:15 PM

Retries: 0/6 Probed points range: 1.626250 tolerance: 0.010000

7:15 PM

Making the following Z adjustments:
stepper_z = 1.936538
stepper_z1 = 2.217818
stepper_z2 = -0.722700

7:15 PM

probe at 235.000,240.000 is z=1.391250

7:15 PM

probe at 235.000,240.000 is z=1.391250

7:14 PM

probe at -10.000,240.000 is z=3.013750

7:14 PM

probe at -10.000,240.000 is z=3.021250

7:14 PM

probe at -10.000,-5.000 is z=2.826250

7:14 PM

probe at -10.000,-5.000 is z=2.823750

7:14 PM

Z_TILT_ADJUST

```

…

---

<div class="post-metadata">

**Author:** ![EddyMI3D](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/eddymi3d/32/1981_2.png) [@EddyMI3D](https://klipper.discourse.group/u/EddyMI3D)\
**Post date:** [April 10, 2023, 6:44am UTC](https://klipper.discourse.group/t/z-tilt-adjust-goes-the-wrong-way/7739/2 "2023-04-10T06:44:38Z")

</div>

Why is the code snippet in the reverse order?  
Usually you you have the most recent line at the bottom.  
Was a bit confused when I read it.

You have a different `full_steps_per_rotation` for `[stepper_z]`. Do you have a different stepper for that axes?  
You only should use `rotation_distance`.

You also may check for the correct rotation direction of all z-axes.  
Also check for the correct values with the `x/y_offset` of the probe and the distances on `[z_tilt]`

---

<div class="post-metadata">

**Author:** ![SaltyDoug](https://avatars.discourse-cdn.com/v4/letter/s/858c86/32.png) [@SaltyDoug](https://klipper.discourse.group/u/SaltyDoug)\
**Post date:** [April 10, 2023, 2:20pm UTC](https://klipper.discourse.group/t/z-tilt-adjust-goes-the-wrong-way/7739/3 "2023-04-10T14:20:19Z")

</div>

Hi Eddy, Sorry, I neglected to state that before I posted this issue I spent several hours reading all of the posts on Z\_TILT\_ADJUST. Then I went through my printer checking that the Z-motors were connected to the correct outputs, rotating the correct direction, the PRINTER.cfg had the correct parameters for the 3 motors, the Z-carriage wae level to the frame, the X - Y offsets of the Z-Probe, and the Z offset of the nozzles were correct.

The “code” is the terminal output from Mainsail. It comes out in reverse order.

Yes, the printer came with two different types of stepper motors on the Z axis, a 1.8 deg and two 0.9 deg motors. That is why the configurations are different. The lead screws are the same pitch so the rotation distance is the same for all three but the steps per rotation are different.

I do not understand why the Z\_TILT routine keeps moving the z1 axis bigger when the z axis needs to move smaller.

---

<div class="post-metadata">

**Author:** ![EddyMI3D](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/eddymi3d/32/1981_2.png) [@EddyMI3D](https://klipper.discourse.group/u/EddyMI3D)\
**Post date:** [April 10, 2023, 6:45pm UTC](https://klipper.discourse.group/t/z-tilt-adjust-goes-the-wrong-way/7739/4 "2023-04-10T18:45:14Z")

</div>

I think Klipper tries to compensate your setting errors:  
The rotation distance can’t be the same with different stepper resolutions.

From here: [Rotation distance - Klipper documentation](https://www.klipper3d.org/Rotation_Distance.html)

```auto
rotation_distance = <full_steps_per_rotation> * <microsteps> / <steps_per_mm>

```

changed to `<steps_per_mm>`

```auto
 <steps_per_mm> = <full_steps_per_rotation> * <microsteps> /rotation_distance

```

For `stepper_z`

```auto
 <steps_per_mm> = 200 * 16 / 8 = 400

```

For stepper\_z1 and stepper\_z2

```auto
 <steps_per_mm> = 400 * 16 / 8 = 800 

```

Assuming all have the same lead screw pitch, this system can not work.

Either you increase the microsteps with z1 and Z2 to 32 or decrease the , or - recommended - decrease the microsteps with z to 8.

Best solution would be to have identical steppers on all 3 z axes.

---

<div class="post-metadata">

**Author:** ![jakep\_82](https://avatars.discourse-cdn.com/v4/letter/j/ea666f/32.png) [@jakep\_82](https://klipper.discourse.group/u/jakep_82)\
**Post date:** [April 11, 2023, 12:29am UTC](https://klipper.discourse.group/t/z-tilt-adjust-goes-the-wrong-way/7739/5 "2023-04-11T00:29:23Z")

</div>

> [@EddyMI3D](#):
>
> The rotation distance can’t be the same with different stepper resolutions.

Yes it can. Rotation distance is the distance an axis moves with one full rotation of the motor, regardless of how many steps it takes to achieve that revolution. If all three lead screws are the same pitch, then the rotation distance is the same for each motor on the Z axis. As long as full steps per rotation is configured correctly, Klipper will do the math internally to send the correct number of pulses to each motor.

---

<div class="post-metadata">

**Author:** ![SaltyDoug](https://avatars.discourse-cdn.com/v4/letter/s/858c86/32.png) [@SaltyDoug](https://klipper.discourse.group/u/SaltyDoug)\
**Post date:** [April 11, 2023, 12:39am UTC](https://klipper.discourse.group/t/z-tilt-adjust-goes-the-wrong-way/7739/6 "2023-04-11T00:39:05Z")

</div>

Thanks @jakep_82,  
I ordered a 0.9 deg Stepper anyway and installed it. The problem is still there.

[logs-202331-17388.zip](https://klipper.discourse.group/uploads/short-url/xXQ1vDXrDVMPofrAwnQp0omEwmG.zip) (15.4 KB)

```auto
5:26 PM

**Retries aborting: Probed points range is increasing.**

5:26 PM

Retries: 4/6 Probed points range: 0.213125 tolerance: 0.010000

5:26 PM

Making the following Z adjustments:
stepper_z = 0.001132
stepper_z1 = 0.312551
stepper_z2 = 0.009665

5:26 PM

probe at 235.000,240.000 is z=1.523546

5:26 PM

probe at 235.000,240.000 is z=1.523546

5:25 PM

probe at -10.000,240.000 is z=1.698546

5:25 PM

probe at -10.000,240.000 is z=1.683546

5:25 PM

probe at -10.000,-5.000 is z=1.476046

5:25 PM

probe at -10.000,-5.000 is z=1.479796

5:25 PM

Retries: 3/6 Probed points range: 0.173750 tolerance: 0.010000

5:25 PM

Making the following Z adjustments:
stepper_z = 0.005204
stepper_z1 = 0.259095
stepper_z2 = 0.011607

5:25 PM

probe at 235.000,240.000 is z=1.527650

5:25 PM

probe at 235.000,240.000 is z=1.527650

5:25 PM

probe at -10.000,240.000 is z=1.670150

5:25 PM

probe at -10.000,240.000 is z=1.658900

5:25 PM

probe at -10.000,-5.000 is z=1.488900

5:25 PM

probe at -10.000,-5.000 is z=1.492650

5:25 PM

Retries: 2/6 Probed points range: 0.108750 tolerance: 0.010000

5:25 PM

Making the following Z adjustments:
stepper_z = -0.026328
stepper_z1 = 0.125252
stepper_z2 = -0.071400

5:25 PM

probe at 235.000,240.000 is z=1.459249

5:25 PM

probe at 235.000,240.000 is z=1.459249

5:25 PM

probe at -10.000,240.000 is z=1.572999

5:25 PM

probe at -10.000,240.000 is z=1.562999

5:25 PM

probe at -10.000,-5.000 is z=1.460499

5:25 PM

probe at -10.000,-5.000 is z=1.467999

5:24 PM

Retries: 1/6 Probed points range: 0.404375 tolerance: 0.010000

5:24 PM

Making the following Z adjustments:
stepper_z = -0.210364
stepper_z1 = 0.244445
stepper_z2 = -0.486749

5:24 PM

probe at 235.000,240.000 is z=1.087506

5:24 PM

probe at 235.000,240.000 is z=1.086256

5:24 PM

probe at -10.000,240.000 is z=1.495006

5:24 PM

probe at -10.000,240.000 is z=1.487506

5:24 PM

probe at -10.000,-5.000 is z=1.176256

5:24 PM

probe at -10.000,-5.000 is z=1.183756

5:24 PM

Retries: 0/6 Probed points range: 2.472500 tolerance: 0.010000

5:24 PM

Making the following Z adjustments:
stepper_z = 2.693559
stepper_z1 = 3.179432
stepper_z2 = -1.291256

5:24 PM

probe at 235.000,240.000 is z=1.115000

5:24 PM

probe at 235.000,240.000 is z=1.113750

5:24 PM

probe at -10.000,240.000 is z=3.583750

5:24 PM

probe at -10.000,240.000 is z=3.590000

5:24 PM

probe at -10.000,-5.000 is z=3.255000

5:24 PM

probe at -10.000,-5.000 is z=3.253750

5:24 PM

Z_TILT_ADJUST

```

Any ideas on what to check next?

---

<div class="post-metadata">

**Author:** ![jakep\_82](https://avatars.discourse-cdn.com/v4/letter/j/ea666f/32.png) [@jakep\_82](https://klipper.discourse.group/u/jakep_82)\
**Post date:** [April 11, 2023, 12:43am UTC](https://klipper.discourse.group/t/z-tilt-adjust-goes-the-wrong-way/7739/7 "2023-04-11T00:43:39Z")

</div>

All I can suggest is running stepper\_buzz on each motor to make certain you have each motor at the correct location. I’m on mobile and can’t look at your log at the moment, but it’s possible your z tilt config doesn’t match your motor order.

---

<div class="post-metadata">

**Author:** ![SaltyDoug](https://avatars.discourse-cdn.com/v4/letter/s/858c86/32.png) [@SaltyDoug](https://klipper.discourse.group/u/SaltyDoug)\
**Post date:** [April 12, 2023, 3:10pm UTC](https://klipper.discourse.group/t/z-tilt-adjust-goes-the-wrong-way/7739/8 "2023-04-12T15:10:29Z")

</div>

@Jakep_82

> [@SaltyDoug](#):
>
> Then I went through my printer checking that the Z-motors were connected to the correct outputs, rotating the correct direction, the PRINTER.cfg had the correct parameters for the 3 motors, the Z-carriage wae level to the frame, the X - Y offsets of the Z-Probe, and the Z offset of the nozzles were correct.

The Z\_TILT section od Printer is correct.  
If I manually rotate the 1st Z motor to level Z\_TILT will pass.

---

<div class="post-metadata">

**Author:** ![SaltyDoug](https://avatars.discourse-cdn.com/v4/letter/s/858c86/32.png) [@SaltyDoug](https://klipper.discourse.group/u/SaltyDoug)\
**Post date:** [April 24, 2023, 3:50am UTC](https://klipper.discourse.group/t/z-tilt-adjust-goes-the-wrong-way/7739/9 "2023-04-24T03:50:09Z")

</div>

I think I found the problem and fixed it. It was a mechanical issue, the Z-motors are on the bottom end of the lead screws. There was a special flexible coupling between the motors and the lead screws. This coupling would pull apart if the lead screw tried to pull the Z-stage down.  
 ![IMG_4025](https://global.discourse-cdn.com/free1/uploads/klipper/original/2X/b/b6296726d94915764a80f8f869d3058de9af7522.jpeg)

 ![Plate Mounts](https://global.discourse-cdn.com/free1/uploads/klipper/original/2X/b/b10d2c7582846529231b1c1b5dc278f7ec93ac48.jpeg)  
I used 1/4" brass strips from a hobby/hardware store and made clips to keep the couplings together and used cable ties to keep the clips in place.  
 ![IMG_4063](https://global.discourse-cdn.com/free1/uploads/klipper/original/2X/e/e386f2f94c4a88e3606cc48c339944d890acc25a.jpeg)  
The Z\_TILT\_ADJUST Macro works fine now.

---

<div class="post-metadata">

**Author:** ![EddyMI3D](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/eddymi3d/32/1981_2.png) [@EddyMI3D](https://klipper.discourse.group/u/EddyMI3D)\
**Post date:** [September 8, 2023, 7:57pm UTC](https://klipper.discourse.group/t/z-tilt-adjust-goes-the-wrong-way/7739/10 "2023-09-08T19:57:17Z")

</div>


