Auto matic Levelling Error
-
Progress has been made and we have managed to change the wiring (two Z drives) and up-date the following files
Bed
Config,
HomeALL,
Home Z etcALLworks well EXCEPT after power off & on when we get the following
########
16/10/2024, 10:44:02 Connected to 192.168.1.nnn
16/10/2024, 10:44:52 G28
Error: This kinematics does not support auto-calibration
#######If I open, close and run the Config file (without any changes) then all seems OK, as per below
16/10/2024, 10:45:59 Upload of config.g successful after 0s
16/10/2024, 10:46:04 M98 P"config.g"
HTTP is enabled on port 80
16/10/2024, 10:47:10 G28
Leadscrew adjustments made: -1.521 1.791, points used 2, (mean, deviation) before (0.135, 0.928) after (0.000, 0.000)My question is how to force Config to run at start up or what do I need to add as a MACRO do to avoid the 'initial' error?
Trying to make this 'idiot' proof.
I guess I've missed a step?
Alan
-
@Bridge-Of-Don Best post your bed, config and homeall files
-
Aye not a problem
BED
###########; bed.g ; called to level the bed ; ; generated by RepRapFirmware Configuration Tool v3.5.0 on Wed May 29 2024 09:26:56 GMT+0100 (British Summer Time) G29 ; call mesh bed compensation ;Extra for levelling oct 2024 G28 ; home G30 P0 X20 Y150 Z-99999 ; probe near LHS leadscrew, half way along Y axis G30 P1 X300 Y150 Z-99999 S2 ; probe near RHS leadscrew and calibrate 2 motors ;ADDED the whole of HOME Z into this section to reset the centre G1 X200 Y150 F6000 ; go to bed centre G30 ; probe the bed
CONFIG
#############; Configuration file for RepRapFirmware on Duet 2 WiFi ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.5.0 on Wed May 29 2024 09:26:56 GMT+0100 (British Summer Time) ; edits by Alan Tulloch 26th June 2024 ; General G90 ; absolute coordinates M83 ; relative extruder moves M550 P"Bridge" ; set hostname ; Accessories M575 P1 S0 B57600 ; configure PanelDue support ; Network M552 S1 ; configure WiFi adapter M586 P0 S1 ; configure HTTP ;############################## ; Smart Drivers for common Z drive all AXES reversed 29th May M569 P0 S0 D2 ; driver 0 goes backwards (X axis) M569 P1 S0 D2 ; driver 1 goes backwards (Y axis) M569 P2 S0 D2 ; driver 2 goes backwards (Z axis, both and LHS if running levelling) M569 P3 S1 D2 ; driver 3 goes forwards (extruder 0) M569 P4 S0 D2 ; driver 4 goes backwards (RHS Z axis) ; Motor Idle Current Reduction M906 I30 ; set motor current idle factor M84 S30 ; set motor current idle timeout ; Axes ;M584 X0 Y1 Z2 E3; set axis mapping with common Z drive, extruder on 3 ;Extra for two Z drives October 2024 M584 X0 Y1 Z2:4 E3; two Z motors connected to driver 2 top socket(left motor) and driver 4 E1 (right motor) M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation M906 X800 Y800 Z800 ; set axis driver currents M92 X80 Y80 Z400 ; configure steps per mm M208 X0:320 Y0:320 Z0:300 ; set minimum and maximum axis limits increased from 300 x 300 4th July 2024 ;Extra section for levelling, M671 X-90:410 Y160:160 S3 ; position of leadscrew/bed pivot point at left and right of X axis, maximum correction three mm M208 X0:300 Y0:300 ; X carriage moves from zero to 300 (ensures probe is above the table on LHS, and doesn't collide with frame at RHS) , Y bed goes from 0 to 310. Probe ~40mm to left of nozzle ;##############################;; ; start of original ; Smart Drivers ALL reversed 29th May ;M569 P0 S0 D2 ; driver 0 goes backwards (X axis) ;M569 P1 S0 D2 ; driver 1 goes backwards (Y axis) ;M569 P2 S0 D2 ; driver 2 goes backwards (Z axis) ;M569 P3 S1 D2 ; driver 3 goes forwards (extruder 0) ; Motor Idle Current Reduction ;M906 I30 ; set motor current idle factor ;M84 S30 ; set motor current idle timeout ; Axes ;M584 X0 Y1 Z2 ; set axis mapping ;M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation ;M906 X800 Y800 Z800 ; set axis driver currents ;M92 X80 Y80 Z400 ; configure steps per mm ;M208 X0:320 Y0:320 Z0:300 ; set minimum and maximum axis limits incresed from 300 x 300 4th July ;end of original config M566 X900 Y900 Z12 ; set maximum instantaneous speed changes (mm/min) M203 X6000 Y6000 Z180 ; set maximum speeds (mm/min) M201 X500 Y500 Z20 ; set accelerations (mm/s^2) ; Extruders M584 E3 ; set extruder mapping M350 E16 I1 ; configure microstepping with interpolation M906 E1000 ; set extruder driver currents M92 E420 ; configure steps per mm M566 E120 ; set maximum instantaneous speed changes (mm/min) M203 E3600 ; set maximum speeds (mm/min) M201 E250 ; set accelerations (mm/s^2) ; Kinematics M669 K1 ; configure CoreXY kinematics ; Probes M558 K0 P9 C"^zprobe.in" H5 F120 T6000 ; configure BLTouch probe via slot #0 this was ^exp.thermistor3 changed from info on Duet Forum G31 P500 X-38 Y-5 Z1.7 ; set Z probe trigger value, offset and trigger height was 0.7 initially, changed from 1.6 to 1.75 on 26th June, then 1.67 on 24th july M950 S0 C"exp.heater3" ; create servo #0 for BLtouch ; Endstops M574 X1 P"!xstop" S1 ; configure X axis endstop swapped to reverse logic 29th May M574 Y1 P"!ystop" S1 ; configure Y axis endstop swapped to reverse logic 29th May M574 Z2 S2 ; configure Z axis endstop ; Tools M563 P0 D0 H1 F0 ; create tool #0 M568 P0 R0 S0 ; set initial tool #0 active and standby temperatures to 0C
HOME ALL
##############; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v3.5.0 on Wed May 29 2024 09:27:02 GMT+0100 (British Summer Time) ; increase Z G91 ; relative positioning G1 H2 Z5 F6000 ; move Z relative to current position to avoid dragging nozzle over the bed G90 ; absolute positioning ; home XY var xTravel = move.axes[0].max - move.axes[0].min + 5 ; calculate how far X can travel plus 5mm var yTravel = move.axes[1].max - move.axes[1].min + 5 ; calculate how far Y can travel plus 5mm G91 ; relative positioning G1 H1 X{-var.xTravel} Y{-var.yTravel} F600 ; coarse home G1 H1 X{-var.xTravel} F600 ; coarse home in the -X direction G1 H1 Y{-var.yTravel} F600 ; coarse home in the -Y direction G1 X5 Y5 F6000 ; move back 5mm G1 H1 X{-var.xTravel} Y{-var.yTravel} F300 ; fine home G1 H1 X{-var.xTravel} F300 ; fine home in the -X direction G1 H1 Y{-var.yTravel} F300 ; fine home in the -Y direction G90 ; absolute positioning ; home Z var xCenter = move.compensation.probeGrid.mins[0] + (move.compensation.probeGrid.maxs[0] - move.compensation.probeGrid.mins[0]) / 2 - sensors.probes[0].offsets[0] var yCenter = move.compensation.probeGrid.mins[1] + (move.compensation.probeGrid.maxs[1] - move.compensation.probeGrid.mins[1]) / 2 - sensors.probes[0].offsets[1] G1 X160 Y150 F6000 ; Put nozzle to bed centre this was {var.xCenter} Y{var.yCenter} G30 ; probe the bed ;Extra for levelling oct 2024 G30 P0 X20 Y150 Z-99999 ; probe near LHS leadscrew, half way along Y axis G30 P1 X300 Y150 Z-99999 S2 ; probe near RHS leadscrew and calibrate 2 motors ;ADDED the whole of HOME Z into this section to reset the centre G1 X200 Y150 F6000 ; put probe to bed centre (probe ~40 to left of nozzle) G30 ; probe the bed
Hope this helps?
Alan
-
@Bridge-Of-Don so a few pointers
I wouldn't be calling G29 or G28 in bed.g
G29 should be called after all levelling is complete as its pretty pointless creating a mesh before your gantry is level.Nothing I would be changing in config.g
in homeall.g, lines 16 and 17 are a repeat of whats already commanded in line 15. The same with lines 20 and 21. They can be removed.
I would also be removing the levelling lines, 32 and 33 as this is handled with G32 that you could call after homing.
You also seem to be using G30 twice in 2 different places? You just need to pick one an use that -
@Bridge-Of-Don said in Auto matic Levelling Error:
Thanks for swift reply, some were there from the 'RepRap' set-up and I was reluctant to remove anything in case it went to a 'ball of chalk'G29 ; call mesh bed compensation
This bit was there 'initially' so i just left it , not sure what it did
The same applies to bit about 'coarse home' TBH I didn't even spot it was doing the same thing 'twice' !
I 'cheated' and added the levelling (rows 30 to 37) into 'Home All' & Home Z' so that it would do it during the first pass.
When does the DUET run the 'config' file? I assumed at 'power-up', but seems not?
I had a few reads of the duet Documention and reckone dI had it sussed
Maybe all I need to do then is to remove row 6 from the BED, so it is not calling the bed mesh?
@Bridge-Of-Don said in Auto matic Levelling Error:
G29 ; call mesh bed compensation
I'd also thought (maybe in error?) that i'd need to get the bed 'about' correct height (row 28 in Home All ) before probing Left & Right to get it level, and then to be safe I checked that the nozzle was correct distance from the bed (row 37)
I can't make any changes until Thursday AM as printer is in the 'Men's Shed'
Alan
-
@Bridge-Of-Don said in Auto matic Levelling Error:
When does the DUET run the 'config' file? I assumed at 'power-up', but seems not?
Yes, it does. But your issue is because there's an error in your config.g, caused by M671 (which defines the leadscrew position) being earlier in config.g than M669, which defines the kinematics. See https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m671-define-positions-of-z-pivot-points-or-bed-levelling-screws
Order dependency
M671 must come later in config.g than any command that changes the kinematics, e.g. M667 or M669.By running config.g again with M98, the kinematics are already set from running config.g at startup, so M671 is then recognised.
There's no reason to have the Kinematics section at the end; I usually have it as one of the first things in config.g
You also have two M208 commands, at line 44 and 48; the latter one sets X and Y smaller than the earlier one.
Ian
-
@droftarts said in Auto matic Levelling Error:
Yes, it does. But your issue is because there's an error in your config.g, caused by M671 (which defines the leadscrew position) being earlier in config.g than M669, which defines the kinematics.
Order dependency
M671 must come later in config.g than any command that changes the kinematics, e.g. M667 or M669.By running config.g again with M98, the kinematics are already set from running config.g at startup, so M671 is then recognised.
There's no reason to have the Kinematics section at the end; I usually have it as one of the first things in config.g
You also have two M208 commands, at line 44 and 48; the latter one sets X and Y smaller than the earlier one.
Ian
Ian
That will be the issue then!
AND I'd read the comment about M671 being after M669
I think that the kinematics was 'at the end' from the RepRap ? so was trying to copy/paste the levelling into the area for the 'configure drives' not realising I had messed up . ..I'd not spotted that I had M208 TWICE, I need to see how far in the Y direction we can really now travel. We changed the location clips from the side to hold the glass at front and rear (330 x 330) so we maybe need to adjust the zero on the Y to avoid those at the front and then shorten the Y travel.
Looks like I'll be loading a revised CONFIG on Thursday cos it's not weather to do anything else!!
Alan
-
@Bridge-Of-Don said in Auto matic Levelling Error:
I think that the kinematics was 'at the end' from the RepRap ?
Well, not at the end, but after the 'Smart Drives' section, and yes, the configuration tool put it there. In the old configuration tool, it put it at the beginning in the 'General preferences' section. I have asked @chrishamm, and he's agreed to move it in the new configuration tool to earlier in config.g, so it doesn't catch people out. Thanks for the idea!
Ian
-
@droftarts said in Auto matic Levelling Error:
'General preferences' section. I have asked @chrishamm, and he's agreed to move it in the new configuration tool to earlier in config.g, so it doesn't catch people out. Thanks for the idea!
Ian,
I'd hardly call it an 'idea' !!BTW just feel free to treat me as your 'tame idiot' to do any testing .. . . .
I'll let you know how it all goes , surely now all will be 'plug-n-play' for the other users at the 'Shed'?
Thanks again
Alan
-
Ian, Many thanks, all seems to work just fine, onwards??
-
-