Z leadscrew coordinates are not configured
-
I just rebuilt one of my printers and upgraded from the Duet 2 to the Duet 3 6HC. I have M671 configuring with my 3 Z axis leadscrews. But I am having a strange problem. I can run the bed leveling but it does not perform any corrections. I get an error that says "This kinematics does not support auto-calibration" When I run M671 in the console I get the following report. "Z leadscrew coordinates are not configured". What I have to do is comment out the M671 line, Reboot, go back and uncomment the M671 line it will work fine one time, Then the next time I have to go thru it all over again. I don't think it's related to my code but here is my M671 line.
; Axes
M584 X0.0 Y0.1 Z0.2:0.4:0.5 ; set axis mapping
M671 X330:650:00 Y300:50:50 S2 ; Set the 3 Z motor leadscrew locations and max correction in mm -
@KenD post your full config, bed file and firmware version
-
-
@jay_s_uk ; Configuration file for RepRapFirmware on Duet 3 Main Board 6HC
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.5.0-rc.3 on Sat Mar 02 2024 14:18:20 GMT-0500 (Eastern Standard Time); General
M550 P"Core6" ; set hostname; Accessories
M575 P1 S0 B57600 ; configure PanelDue support; Network
M552 P192.168.9.240 S1 ; configure Ethernet adapter
M586 P0 S1 ; configure HTTP; Smart Drivers
M569 P0.0 S0 D2 ; driver 0.0 goes forwards (X axis)
M915 P0.0 S12 F1 R2 ; set StallGuard threshold
M569 P0.1 S1 D2 ; driver 0.1 goes backwards (Y axis)
M915 P0.1 S12 F1 R2 ; set StallGuard threshold
M569 P0.2 S0 D2 v400; driver 0.2 goes backwards (Z axis)
M569 P0.3 S1 D2 v400; driver 0.3 goes forwards (extruder 0)
M569 P0.4 S0 D2 v400; driver 0.4 goes backwards (Z axis)
M569 P0.5 S0 D2 ; driver 0.5 goes backwards (Z axis); Motor Idle Current Reduction
M906 I50 ; set motor current idle factor
M84 S60 ; set motor current idle timeout;copy of probe points for bed leveling in bed.g
;G30 P0 X330 Y300 Z-99999 ; probe near a leadscrew (rear center)
;G30 P1 X650 Y50 Z-99999 ; probe near a leadscrew (front right)
;G30 P2 X00 Y50 Z-99999 S3 ; probe near a leadscrew (front left) apply leveling correction; Axes
M584 X0.0 Y0.1 Z0.2:0.4:0.5 ; set axis mapping
M671 X330:650:00 Y300:50:50 S2 ; Set the Z motor locations and max correction in mm
M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation
M906 X1000 Y1000 Z1000 ; set axis driver currents
M92 X80 Y80 Z6405 ; configure steps per mm
M208 X0:680 Y0:320 Z0:365 ; set minimum and maximum axis limits
M566 X900 Y900 Z120 ; set maximum instantaneous speed changes (mm/min)
M203 X7000 Y7000 Z500 ; set maximum speeds (mm/min)
M201 X500 Y500 Z100 ; set accelerations (mm/s^2); Extruders
M584 E0.3 ; set extruder mapping
M350 E16 I1 ; configure microstepping with interpolation
M906 E1000 ; set extruder driver currents
M92 E830 ; configure steps per mm
M566 E150 ; set maximum instantaneous speed changes (mm/min)
M203 E7000 ; set maximum speeds (mm/min)
M201 E400 ; set accelerations (mm/s^2); Core XY Kinematics
M669 K1 ; configure CoreXY kinematics; Probes
M558 K0 P8 C"io3.in" H5 F200 T6000 ; configure to MODE 8 for IR Z PROBE and Probe this point 3 TIMES. On Duet 3, the IR probe is always in digital mode.
G31 P475 X-23 Y0 Z2.23 ; set Z probe trigger value, offset and trigger height; Endstops
M574 X2 S4 ; configure X axis high end endstop for multiple motor stall
M574 Y1 S4 ; configure Y axis low end endstop for multiple motor stall
M574 Z1 S2 ; configure Z axis low end endstop for IR probe; Mesh Bed Compensation
M557 X3:9 Y3:5 S30:30 ; define grid for mesh bed compensation; Sensors
M308 S0 P"temp0" Y"thermistor" A"Heated Bed" T100000 B4138 C0 R4700 ; configure sensor #0
M308 S1 P"temp1" Y"thermistor" A"nozzle" T500000 B4723 C1.196220e-7 ; configure sensor #1
;M308 S1 P"temp1" Y"pt1000" A"Nozzle" ; configure sensor #1
M308 S2 P"temp2" Y"thermistor" A"ambient" T100000 B4725 C7.06e-8 ; configure sensor #2
M308 S10 Y"mcu-temp" A"MCU" ; defines sensor 10 as MCU temperature sensor
M308 S11 Y"drivers" A"Duet stepper drivers" ; defines sensor 11 as stepper driver temperature sensor
; Case fan - configure sensor 2 as temperature warning and overheat flags on the TMC2660 on Duet
; !!! Reports 0C when there is no warning, 100C if any driver reports over-temperature
; !!! warning , and 150C if any driver reports over-temperature shutdown; Heaters
M950 H0 C"out0" T0 ; create bed heater #0
M143 H0 P0 T0 C0 S140 A0 ; configure heater monitor #0 for heater #0
M307 H0 R0.407 K0.878:0.000 D1.74 E1.35 S1.00 B0 ; configure model of heater #0
M950 H1 C"out1" T1 ; create nozzle heater #1
M143 H1 P0 T1 C0 S285 A0 ; configure heater monitor #1 for heater #1
M307 H1 R2.608 K0.408:0.000 D3.88 E1.35 S1.00 B0 V23.9 ; configure model of heater #1; Heated beds
M140 P0 H0 ; configure heated bed #0; Fans
M950 F0 C"out3" ; create Part fans 24v 2 wire Fan #0
M106 P0 C"Part" S0 L0 X1 B0.5 ; configure fan #0
M950 F1 C"out2" ; create Tool Fan 24v 2 wire Fan #1
M106 P1 C"Tool" S0 B0.5 H1 T40 ; configure fan #1
M950 F2 C"out7" ; create MCU Fan 12v 2 wire. Fan #2
M106 P2 C"Case" S0 L0 X1 B0.5 T35 H10 ; configure fan #2; Tools
M563 P0 S"Mosquito" D0 H1 F1 ; create tool #0
M568 P0 R0 S0 ; set initial tool #0 active and standby temperatures to 0C; Miscellaneous
M501 ; load saved parameters from non-volatile memory
T0 ; select first tool -
@jay_s_uk ; bed.g
; called to perform True bed leveling via G32;G29 S2 ; disable heightmap (does not delete it)
G28 ; home all
G30 P0 X330 Y300 Z-99999 ; probe near a leadscrew (rear center)
G30 P1 X650 Y50 Z-99999 ; probe near a leadscrew (front right)
G30 P2 X00 Y50 Z-99999 S3 ; probe near a leadscrew (front left) apply leveling correction
G1 X345 Y170 F7000 ; move to center of bed
;G28 Z ; Home Z
;G29 ; Run mesh Compensation probe
;G29 S1 ; loads height map and enables compensation -
@KenD Sorry, Firmware is Duet 3 MB6HC 3.5.0-rc.3
-
@KenD So you are using G32 in console, or... how? It is not clear for me from your posts, but maybe I did not paid attention enough...
-
@KenD said in Z leadscrew coordinates are not configured:
M669 K1 ; configure CoreXY kinematics
Your M669 command is after the M671 command. From the documentation:
Order dependency
M669 must come earlier in config.g than any M671 command.See: https://docs.duet3d.com/User_manual/Reference/Gcodes#order-dependency-26
-
@gloomyandy Thanks! I overlooked this. I had this right at one time but then my Config.G and Config.Bak got deleted due to the factory 2 test Macro still being on the SD card. Apparently the config file I used to restore it did not have that correction in it
-
-