Bed mesh compensation not applied to all the tools
-
config.g
; Configurat; Configuration file for Duet WiFi / Ethernet ; executed by the firmware on start-up ; General preferences M111 S0 ; Debugging off G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves M555 P2 ; Set firmware compatibility to look like Marlin ; Network ; Read https://duet3d.dozuki.com/Wiki/Gcode#Section_M587_Add_WiFi_host_network_to_remembered_list_or_list_remembered_networks M550 P"ToolChanger" ; Set machine name M552 S1 ; Enable Networking M586 P0 S1 ; Enable HTTP M586 P1 S0 ; Disable FTP M586 P2 S0 ; Disable Telnet M667 S1 ; Select CoreXY mode ; Endstops ;M574 Y1 S3 ; Set X / Y endstop stall detection M574 X1 S1 P"^xstop" M574 Y1 S1 P"^ystop" M574 Z1 S2 ; Set Z endstop probe M558 P8 C"zstop" H5 F120 T10000 A5 S0.01 ;M558 P7 X0 Y0 Z2 H3 F360 I0 T20000 ; Set Z probe type to switch, the axes for which it is used and the dive height + speeds G31 P200 X0 Y0 Z0 ; Set Z probe trigger value, offset and trigger height M557 X10:290 Y20:180 S40 ; Define mesh grid ; Drive direction M569 P0 S0 ; Drive 0 X M569 P1 S0 ; Drive 1 Y M569 P2 S1 ; Drive 2 Z M569 P3 S0 ; Drive 3 E0 M569 P4 S0 ; Drive 4 E1 M569 P5 S1 ; Drive 5 E2 M569 P6 S1 ; Drive 6 E3 M569 P7 S0 ; Drive 7 COUPLER M569 P8 S0 ; Drive 8 UNUSED M569 P9 S0 ; Drive 9 UNUSED M584 X0 Y1 Z2 C7 E3:4:5:6 ; Apply custom drive mapping M208 X-35:328.5 Y-49:243 Z0:300 C0:500 S0 ; Set axis maxima & minima ;M350 E8:8:8:8 C8 I0 ; Configure microstepping without interpolation M350 E16:16:16:16 I1 M350 C8 I0 M350 X16 Y16 Z16 I1 ; Configure microstepping with interpolation M92 X100 Y100 Z1600 C100 E837:837:837:837 ; Set steps per mm (old 417) M566 X400 Y400 Z8 C2 E2:2:2:2 ; Set maximum instantaneous speed changes (mm/min) M203 X35000 Y35000 Z1200 C5000 E5000:5000:5000:5000 ; Set maximum speeds (mm/min) M201 X6000 Y6000 Z400 C400 E2500:2500:2500:2500 ; Set accelerations (mm/s^2) ;M906 X2000 Y2000 Z1330 C400 E1680:1680:1680:1680 I30 ; Set motor currents (mA) and motor idle factor in percent M906 X1000 Y1000 Z1330 C400 E900:900:900:900 I30 M84 S120 ; Set idle timeout ;Stall Detection M915 C S5 F0 H200 R4700 ; Coupler ;Stall Detection ;M915 Y S5 F0 H400 R4700 ; X / Y Axes ; Heaters ;xxxxxxxxxxxx ;M305 P0 T100000 B4138 C0 ; Set thermistor ;M143 H0 S225 ; Set temperature limit for heater 0 to 225C ;M305 S"T0" P1 R4700 T100000 B4388 ; Set thermistor ;M143 H1 S300 ; Set temperature limit for heater 1 to 300C ;M305 S"T1" P2 R4700 T100000 B4388 ; Set thermistor ;M143 H2 S300 ; Set temperature limit for heater 2 to 300C ;M305 S"T2" P3 R4700 T100000 B4388 ;Set thermistor ;M143 H3 S300 ; Set temperature limit for heater 3 to 300C ;M305 S"T3" P4 R4700 T100000 B4388 ; Set thermistor ;M143 H4 S300 ; Set temperature limit for heater 4 to 300C ;xxxxxxxxxxxx ; Heaters RFF3 M308 S0 P"bedtemp" Y"thermistor" A"Bed" T100000 B4138 C0 ; Set thermistor M950 H0 C"bedheat" T0 ; Bed heater M140 H0 ; Add heater to bed after RRF3.01 RC10 M143 H0 S120 ; Set temperature limit for heater 0 to 120C M308 S1 P"e0temp" Y"thermistor" A"T0" T100000 B4725 C7.06e-8 ; Set thermistor M950 H1 C"e0heat" T1 ; Extruder 0 heater M143 H1 S300 ; Set temperature limit for heater 1 to 300C M308 S2 P"e1temp" Y"thermistor" A"T1" T100000 B4725 C7.06e-8 ; Set thermistor M950 H2 C"e1heat" T2 ; Extruder 0 heater M143 H2 S300 ; Set temperature limit for heater 2 to 300C M308 S3 P"e2temp" Y"thermistor" A"T2" T100000 B4725 C7.06e-8 ; Set thermistor M950 H3 C"duex.e2heat" T3 ; Extruder 0 heater M143 H3 S300 ; Set temperature limit for heater 3 to 300C ;M308 S4 P"e3temp" Y"thermistor" A"T3" T100000 B4725 C7.06e-8 ; Set thermistor ;M950 H4 C"duex.e3heat" T4 ; Extruder 0 heater ;M143 H4 S300 ; Set temperature limit for heater 4 to 300C ; Tools M563 P0 S"T0" D0 H1 ; Define tool 0 ;G10 P0 X0 Y0 Z0 ; Reset tool 0 axis offsets G10 P0 R0 S0 ; Reset initial tool 0 active and standby temperatures to 0C M563 P1 S"T1" D1 H2 ; Define tool 1 ;G10 P1 X0 Y0 Z0 ; Reset tool 1 axis offsets G10 P1 R0 S0 ; Reset initial tool 1 active and standby temperatures to 0C M563 P2 S"T2" D2 H3 ; Define tool 2 ;G10 P2 X0 Y0 Z0 ; Reset tool 2 axis offsets G10 P2 R0 S0 ; Reset initial tool 2 active and standby temperatures to 0C M563 P3 S"T3" ; Define tool 3 ;G10 P3 X0 Y0 Z0 ; Reset tool 3 axis offsets G10 P3 R0 S0 ; Reset initial tool 3 active and standby temperatures to 0C ; Fans ;xxxxxxxxxxxx ;M106 P0 S0 ; UNUSED ;M106 P1 S255 H1 T50 ; T0 HE ;M106 P2 S0 ; T0 PCF ;M106 P3 S255 H2 T50 ; T1 HE ;M106 P4 S0 ; T1 PCF ;M106 P5 S255 H3 T50 ; T2 HE ;M106 P6 S0 ; T2 PCF ;M106 P7 S255 H4 T50 ; T3 HE ;M106 P8 S0 ; T3 PCF ;xxxxxxxxxxxx ; Fans RFF3 ; Fan0 output is not used M950 F1 C"fan1" M950 F2 C"fan2" M950 F3 C"duex.fan3" M950 F4 C"duex.fan4" M950 F5 C"duex.fan5" M950 F6 C"duex.fan6" ;M950 F7 C"duex.fan7" ;M950 F8 C"duex.fan8" M106 P1 S255 H1 T50 ; T0 HE M106 P2 S0 ; T0 PCF M106 P3 S255 H2 T50 ; T1 HE M106 P4 S0 ; T1 PCF M106 P5 S255 H3 T50 ; T2 HE M106 P6 S0 ; T2 PCF ;M106 P7 S255 H4 T50 ; T3 HE ;M106 P8 S0 ; T3 PCF M593 F50 ; cancel ringing at 50Hz (https://forum.e3d-online.com/threads/accelerometer-and-resonance-measurements-of-the-motion-system.3445/) M376 H15 ; bed compensation taper ;https://forum.duet3d.com/topic/6800/doubts-about-mesh-bed-compensation-taper-height-solved ;tool offsets G10 P0 X-9.0 Y39.0 Z-4.8 ; T0 G10 P1 X-9.0 Y39.8 Z-4.8 ; T1 G10 P2 X-9.2 Y39.5 Z-4.8 ; T2 G10 P3 X-0.5 Y36.7 Z-35.26 ; T3 ;deselect tools T-1 ;M572 D0 S0.2 ; pressure advance T0 ;M572 D1 S0.2 ; pressure advance T1 ;M572 D2 S0.2 ; pressure advance T2 ;M572 D3 S0.2 ; pressure advance T3 M950 J0 C"^duex.e2stop" ; assign duex.e2stop pin to sensors.gpIn[0], inverted and pull-up activated M950 J1 C"!^duex.e3stop" ; dock 0 M950 J2 C"!^duex.e4stop" ; dock 1 M950 J3 C"!^duex.e5stop" ; dock 2 M950 J4 C"!^duex.e6stop" ; dock 3 M950 S9 C"duex.pwm5" ; M280 P9 S0; initialization ;panel M575 P1 S1 B57600
tfree :
; tfree2.g ; called when tool 2 is freed ;Drop the bed G91 G1 Z4 F1000 G90 ;mesh levelling off G29 S2 ;Purge nozzle ;M98 Ppurge.g ;Move In G1 Y170 F5000 G53 G1 X212.9 F5000 G53 G1 X212.9 Y200 F5000 G53 G1 X212.9 Y220 F5000 G53 G1 X212.9 Y240 F5000 ;Open Coupler M98 P/macros/Coupler - Unlock ;fan off M106 P6 S0 ;Move Out G53 G1 X212.9 Y175 F5000 M400 G4 P500
tpre :
; tpre2.g ; called before tool 2 is selected ;Ensure no tool is selected ;T-1 M400 G4 P1000 ;Unlock Coupler M98 P/macros/Coupler - Unlock ;Move to location G1 Y170 F5000 G1 X212.9 F5000 ;Move in G1 X212.9 Y230 F5000 ;Collect G1 X212.9 Y240 F2500 ;Close Coupler M98 P/macros/Coupler - Lock ;WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! ;if you are using non-standard length hotends ensure the bed is lowered enough BEFORE undocking the tool! G91 G1 Z4 F1000 G90
tpost
; tpost2.g ; called after tool 2 has been selected M400 G4 P500 ;heatup M116 P2 ;;;;;;; ;Move Out ;G1 X212.9 Y150 F4000 G1 Y150 F4000 ;;;;;;;; ;prime nozzle ;M98 Pprime.g ;mesh levelling on G29 S1 ;PCF fan on ;M106 P6 S255 G1 R2 X5 Y5 F5000 ; Y.. ok pour north G1 R2 Z0 F1500 G1 E0.4
-
Why is mesh levelling disabled in tfree and then reenabled in tpost?
-
This is default configuration of E3D Tool Changer bundle.
-
Can you try commenting out those lines? I'm not sure why it would be desirable to disable and re-enable mesh compensation during a tool change.
-
I already tried commenting all G29 in tfree and tpost wihtout success
-
Can you upload all of the tool files. (drag and drop into the post window show do it)
-
Job starts with T2, I see bed compensation running
then T3 becomes active.
gcode file :T3 G91 G1 Z5 F600 G90
As you can see I use G91 / G90 afteer T3 selection.
Could this explain that after this bed compensation doesn't work ?Thanks
-
@sylvain said in Bed mesh compensation not applied to all the tools:
As you can see I use G91 / G90 afteer T3 selection.
Could this explain that after this bed compensation doesn't work ?I don't think so.
I do think maybe there is a command to disable compensation in your tool changes, but I can't see the files to check.
-
Here it is.
Board: Duet 2 Ethernet (2Ethernet)
Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.1.1 (2020-05-19b2)tpost1.g tpost0.g tfree3.g tfree2.g tfree1.g tfree0.g tpre3.g tpre2.g tpre1.g tpre0.g tpost3.g tpost2.g
I made severall tests again.
I can see bed levelling on T2 (the fist tool used).
When switched to T3, no bed levelling.Thanks !
-
Do you get any errors if you send M98 P"config.g"?
-
@sylvain said in Bed mesh compensation not applied to all the tools:
Here it is.
Board: Duet 2 Ethernet (2Ethernet)
Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.1.1 (2020-05-19b2)tpost1.g tpost0.g tfree3.g tfree2.g tfree1.g tfree0.g config.g tpre3.g tpre2.g tpre1.g tpre0.g tpost3.g tpost2.g
I made severall tests again.
I can see bed levelling on T2 (the fist tool used).
When switched to T3, no bed levelling.Thanks !
G29 S1 is commented out (turned off) in your tpost3.g (and your tpost2.g you just uploaded!!!) whereas it is not commented out (turned on) in your tpost1.g.
In addition to that, like @Phaedrux said, some of your tfree files have G29 S2 still active. Going from T0 to some other tool, you are disabling mesh compensation via tfree0.g, but then because it is G29 S1 is commented out in T2 and T3 it wont turn back on.
-
Tfree1 tfree0 still has
;mesh levelling off
G29 S2And you've commented out all the G29 S1 to turn them on. Just remove all references to G29 in your tool files.
-
@Phaedrux said in Bed mesh compensation not applied to all the tools:
M98 P"config.g"?
=> no error
I will test with all G29 commented.
But as I told you I only use T2 and T3.
How could G29 in T0 or T1 could affect my print ?
All the more the print starts with T2 and bed levelling is active for this first tool.
Keep you updated !
-
@sylvain said in Bed mesh compensation not applied to all the tools:
@Phaedrux said in Bed mesh compensation not applied to all the tools:
M98 P"config.g"?
=> no error
I will test with all G29 commented.
But as I told you I only use T2 and T3.
How could G29 in T0 or T1 could affect my print ?
All the more the print starts with T2 and bed levelling is active for this first tool.
Keep you updated !
How high (in millimeters) is the object you are printing when the printer changes from T2 to T3?
-
The change to T3 is done at about 3 mm.
I also thought at M376 H15
but the bed levlling is stopped before.
Thanks
-
You have T-1 in your config to deselect all tools, so perhaps that's when the tfree files are getting called.
Removing all references should tell us.
-
T-1 and ALL G29 commented => same results...
If it could help, here is the part of gcode file when T3 is selected for the first time :
G1 X199.790 Y94.848 E0.0216 G1 X197.752 Y92.810 E0.1258 G1 X198.247 Y92.810 E0.0216 G1 X199.790 Y94.353 E0.0952 G1 X199.790 Y93.858 E0.0216 G1 X198.742 Y92.810 E0.0647 G1 X199.237 Y92.810 E0.0216 G1 X199.790 Y93.363 E0.0341 G1 X199.790 Y92.868 E0.0216 G1 X199.732 Y92.810 E0.0036 G1 E-4.0000 F4200 ; layer 7, Z = 2.167 T3 G91 G1 Z5 F600 G90 G1 X200.600 Y107.666 ; feature outer perimeter ; tool H0.250 W0.010 G1 Z6.667 F120 G1 X99.205 Y91.805 F120 G1 Z1.917 F120 G1 X200.795 Y91.805 E0.1056 F300 G1 X200.795 Y108.195 E0.0170 G1 X99.205 Y108.195 E0.1056 G1 X99.205 Y91.805 E0.0170
When T2 is selected again after T3 bed levelling is running again.
-
@sylvain said in Bed mesh compensation not applied to all the tools:
T-1 and ALL G29 commented => same results...
If it could help, here is the part of gcode file when T3 is selected for the first time :
G1 X199.790 Y94.848 E0.0216 G1 X197.752 Y92.810 E0.1258 G1 X198.247 Y92.810 E0.0216 G1 X199.790 Y94.353 E0.0952 G1 X199.790 Y93.858 E0.0216 G1 X198.742 Y92.810 E0.0647 G1 X199.237 Y92.810 E0.0216 G1 X199.790 Y93.363 E0.0341 G1 X199.790 Y92.868 E0.0216 G1 X199.732 Y92.810 E0.0036 G1 E-4.0000 F4200 ; layer 7, Z = 2.167 T3 G91 G1 Z5 F600 G90 G1 X200.600 Y107.666 ; feature outer perimeter ; tool H0.250 W0.010 G1 Z6.667 F120 G1 X99.205 Y91.805 F120 G1 Z1.917 F120 G1 X200.795 Y91.805 E0.1056 F300 G1 X200.795 Y108.195 E0.0170 G1 X99.205 Y108.195 E0.1056 G1 X99.205 Y91.805 E0.0170
When T2 is selected again after T3 bed levelling is running again.
I do not know, I'm sorry. It looks OK to me.
Just conjecture, but G10 and the taper command couldn't possibly be causing this right? I see no reason for that to be the case...
G10 P3 X-0.5 Y36.7 Z-35.26 ; T3
I recognize Z-35.26 is necessary.
@sylvain could you try commenting out M376 H15?
-
@sebkritikel said in Bed mesh compensation not applied to all the tools:
Just conjecture, but G10 and the taper command couldn't possibly be causing this right? I see no reason for that to be the case...
G10 P3 X-0.5 Y36.7 Z-35.26 ; T3I recognize Z-35.26 is necessary.
@sylvain could you try commenting out M376 H15?Worth a shot.
Also, are you sure you've got G29 S1 enabled somewhere else now? Should be in the slicer start gcode or start.g at least.
-
Commenting M376 solved the issue !
Thanks !