Delta calibration not accurate

Basic Information:

Printer Model: DIY Delta
MCU / Printerboard:Bigtreetech Tango V1.1
Host / SBC Rasberry Pi

klippyDelt.log (1.0 M)

I’ve had this printer up and running for close to 10 years now. I recently did a rehaul on it. New belts new effector and new bed. Now for the life of me, I can’t get the delta calibrate to work accurately. I’ve checked every bolt and nut to make sure everythings tight and not moving. I’m running manual calibrate with a paper trying to be very precise on now much pull there is on the paper and not touching the bed at all while I do this.

Very consistently, the head will not move parallel to the bed. After my latest calibration, when I bring the nozzle close to the bed, .7mm at the centre, and bring it closer to the front it raises. At x10.45 and Y 69.09 I have the nozzle very close almost touching the bed. At X10.45 and Y 205.9 it is a solid 4 mm from the bed. I’ve been trying to get this calibrated for 3 days now. I always get very similar results.

I used a big carpenter’s square to make sure the bed is square with the towers, I measured everything carefully to enter good values before starting calibration.

edit: I found a loose endstop. I thought I had it licked. No Joy. I recalibrated with the exact same results.

One thing I did notice. Endstop B is always around 7 mm different in my calibration results. In actuallity masuredy by a caliper from the top of the frame, they are all within .5mm. I went through several config backups and found endstop B always off by about the same amount.

In the past, I had other software controling my printer. The name escapes me now, but to calibrate that, there was a process in which you centered the effector by using a rod or device to move all carriages a specific distance from a fixed part of the printer to exactly center the carriage. Then a home command measured the offset according to that position.

I feel like Klipper guesses on every aspect of Delta calibration. Sometimes that evidently works, but having one item on the calibration list that doesn’t need to be guessed at is important in some cases. How is klipper to know if my bed is tilted or my endstops are not on the same plane?