How to prevent Autocalibration from altering Delta Arm length?
-
I'm running a Duet 2 Wifi on my AnyCubic Linear Plus with 288.19 mm Hayden magnetic arms, a Smart Effector, and a Mosquito Magnum. I've run Autocalibration a few times and it always changes my arm length to ~303 mm. How can I lock in my arm length (since it is known) and still run autocalibrate before a print?
config g
; Configuration file for Duet WiFi (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.2.3 on Sat Apr 10 2021 22:20:00 GMT-0700 (Pacific Daylight Time); General preferences
M564 H0 ; allow axis movement before homing
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"AnyCubic Linear+" ; set printer name
M665 L288.19:288.19:288.19 R145.308 H226.971 B118.5 X0.525 Y0.411 Z0.000 ; Set delta radius, diagonal rod length, printable radius and homed height
M666 X1.151 Y-1.084 Z-0.067 A-0.69 B0.53 ; put your endstop adjustments here, or let auto calibration find them; Network
M552 S1 ; enable network
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; Drives
M564 H0 ; allow axis movement before homing
M569 P0 S1 ; physical drive 0 goes forwards
M569 P1 S1 ; physical drive 1 goes forwards
M569 P2 S1 ; physical drive 2 goes forwards
M569 P3 S0 ; physical drive 3 goes forwards
M584 X0 Y1 Z2 E3 ; set drive mapping
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z80.00 E389.598 ; set steps per mm
M566 X18000.00 Y18000.00 Z18000.00 E1740.00 ; set maximum instantaneous speed changes (mm/min)
M203 X720000.00 Y720000.00 Z720000.00 E1800.00 ; set maximum speeds (mm/min)
M201 X3000.00 Y3000.00 Z3000.00 E1000.00 ; set accelerations (mm/s^2)
M906 X1275 Y1275 Z1275 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M564 H0 ; allow axis movement before homing
M208 Z0 S1 ; set minimum Z; Endstops
M564 H0 ; allow axis movement before homing
M574 X2 S1 P"xstop" ; configure active-high endstop for high end on X via pin xstop
M574 Y2 S1 P"ystop" ; configure active-high endstop for high end on Y via pin ystop
M574 Z2 S1 P"zstop" ; configure active-high endstop for high end on Z via pin zstop; Z-Probe
M564 H0 ; allow axis movement before homing
M558 P5 R0.4 C"zprobe.in+zprobe.mod" H5 F1200 T6000 ; set Z probe type to effector and the dive height + speedsG31 P200 X0 Y0 Z-0.75 ; set Z probe trigger value, offset and trigger height
M557 R85 S20 ; define mesh grid; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
M308 S1 P"e0temp" Y"thermistor" T500000 B4723 C1.19622e-7 ; configure sensor 1 as thermistor on pin e0temp
M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S305 ; set temperature limit for heater 1 to 305C; Fans
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 C"Part Fan" S0 H-1 ; set fan 0 name and value. Thermostatic control is turned off
M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P1 C"Mosquito Fan" S0 H1 T45 ; set fan 1 name and value. Thermostatic control is turned on; Tools
M563 P0 D0 H1 F0 ; define tool 0
G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C; Custom settings are not defined
; Miscellaneous
M575 P1 S1 B57600 ; enable support for PanelDue
M501 ; load saved parameters from non-volatile memory
M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss -
Forgot to include Bed G
; bed.g
; called to perform automatic delta calibration via G32
;
; generated by RepRapFirmware Configuration Tool v3.2.3 on Sat Apr 10 2021 22:20:00 GMT-0700 (Pacific Daylight Time)
M561 ; clear any bed transform
; Probe the bed at 6 peripheral and 6 halfway points, and perform 9-factor auto compensation
; Before running this, you should have set up your Z-probe trigger height to suit your build, in the G31 command in config.g.
G30 P0 X0 Y104.9 H0 Z-99999
G30 P1 X90.85 Y52.45 H0 Z-99999
G30 P2 X90.85 Y-52.45 H0 Z-99999
G30 P3 X0 Y-104.9 H0 Z-99999
G30 P4 X-90.85 Y-52.45 H0 Z-99999
G30 P5 X-90.85 Y52.45 H0 Z-99999
G30 P6 X0 Y52.4 H0 Z-99999
G30 P7 X45.38 Y26.2 H0 Z-99999
G30 P8 X45.38 Y-26.2 H0 Z-99999
G30 P9 X0 Y-52.4 H0 Z-99999
G30 P10 X-45.38 Y-26.2 H0 Z-99999
G30 P11 X-45.38 Y26.2 H0 Z-99999
G30 P12 X0 Y0 H0 Z-99999 S9
; Use S-1 for measurements only, without calculations. Use S4 for endstop heights and Z-height only. Use S6 for full 6 factors
; If your Z probe has significantly different trigger heights depending on XY position, adjust the H parameters in the G30 commands accordingly. The value of each H parameter should be (trigger height at that XY position) - (trigger height at centre of bed) -
@gigapunk said in How to prevent Autocalibration from altering Delta Arm length?:
G30 P12 X0 Y0 H0 Z-99999 S9
Change the S9 to S6 or S8
-
@jay_s_uk Thank you! I had read a reference hear on the forum to S6 or S8 autocalibration, but I wasn't sure where to change it. Now I do!
-
-
Thank you both!
I updated my G30 in the bed.g file to
G30 P15 X0 Y0 Z-99999 S8
and now, even after autocalibration I still have my Hayden derived arm measurements!
M665 L288.190:288.190:288.190 R140.235 H226.502 B118.5 X0.376 Y0.195 Z0.000