@camfarris said in Delta X/Y scaling issue:
@dc42 Yes. Every time I power on, I run:
G28
G30
G32 x3Mostly because I'm a little superstitious.
G28 followed by one G32 should be sufficient, if the initial M665 and M666 parameters are close to correct.
FWIW this is what I use in bed.g, using RRF 3.01beta:
; Auto calibration routine for large delta printer M561 ; clear any bed transform ; If the printer hasn't been homed, home it if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed G28 ; Probe the bed and do auto calibration G1 X0 Y140 Z10 F10000 ; go to just above the first probe point while true if iterations = 5 abort "too many auto calibration attempts" G30 P0 X0.00 Y140.00 Z-99999 if result != 0 continue G30 P1 X70.00 Y121.24 Z-99999 if result != 0 continue G30 P2 X121.24 Y70.00 Z-99999 if result != 0 continue G30 P3 X140.00 Y0.00 Z-99999 if result != 0 continue G30 P4 X121.24 Y-70.00 Z-99999 if result != 0 continue G30 P5 X70.00 Y-121.24 Z-99999 if result != 0 continue G30 P6 X0.00 Y-134.85 Z-99999 if result != 0 continue G30 P7 X-65.57 Y-113.57 Z-99999 if result != 0 continue G30 P8 X-112.29 Y-64.83 Z-99999 if result != 0 continue G30 P9 X-130.59 Y-0.00 Z-99999 if result != 0 continue G30 P10 X-115.90 Y66.91 Z-99999 if result != 0 continue G30 P11 X-69.45 Y120.29 Z-99999 if result != 0 continue G30 P12 X0.00 Y70.00 Z-99999 if result != 0 continue G30 P13 X60.62 Y-35.00 Z-99999 if result != 0 continue G30 P14 X-52.28 Y-30.19 Z-99999 if result != 0 continue G30 P15 X0 Y0 Z-99999 S8 if result != 0 continue if move.calibrationDeviation.deviation <= 0.03 break echo "Repeating calibration because deviation is too high (" ^ move.calibrationDeviation.deviation ^ "mm)" ; end loop echo "Auto calibration successful, deviation", move.calibrationDeviation.deviation ^ "mm" G1 X0 Y0 Z150 F10000 ; get the head out of the wayIt homes the printer if it hasn't already been homed, then runs auto calibration until the deviation is low enough (which normally happens after the first time).