Mesh Bed Compensation
-
I have recently purchased an E3D Tool changer and have just about sorted out the configuration. All is working well except for Mesh Bed Compensation. I am using a Duet 2 and RRF2. I can produce the height map with G29 and it looks fine except for a slight bowl in the center. If I use the first tool all works well when I print. However on the three remaining tools there is no mesh adjustment. I misaligned the bed slightly to exaggerate the Z movement but nothing. Each tool is configured with a G29 S1 in its tpostx.g file and in addition I included G29 S1 in the startup script in my slicer, Simply 3D.
Any help would be appreciated.
Regards John -
What firmware version specifically are you using?
Can you post your config/tool change files?If you check M122 does it show mesh compensation in use?
-
Phaedrux thanks for your reply.
M122 gives RepRapFirmware for Duet 2 WiFi/Ethernet version 2.05.1 running on Duet WiFi 1.02 or later + DueX5
....
Bed compensation in use: mesh, comp offset 0.000The compensation shown is consistent across all tools.
Config Files are modified versions of config supplied by E3D0:/sys/config.g
; 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
M669 K1 ; Select CoreXY mode; 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
M551 Preprap ; Machine password (used for FTP); Endstops
M574 Z1 S2 ; Set Z endstop probe
M574 Y1 S1 ; set endstop configuration (Y endstop only, at Low end,
M574 X2 S1 ; set endstop configuration (X endstop only, at High end,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 S1 ; Drive 4 E1
M569 P5 S0 ; Drive 5 E2
M569 P6 S0 ; Drive 6 E3
M569 P7 S0 ; Drive 7 COUPLER
M569 P8 S0 ; Drive 8 CLEANING BRUSH (Right)
M569 P9 S0 ; Drive 9 CLEANING BRUSH (Left)M584 X0 Y1 Z2 C7 U8 E3:4:5:6 ; Apply custom drive mapping
M208 X-25:325.5 Y-49:250 Z0:300 C0:260 U0:100 S0 ; Set axis maxima & minima
M350 E8:8:8:8 C8 U8 I0 ; Configure microstepping without interpolation
M350 X16 Y16 Z16 I1 ; Configure microstepping with interpolation
M92 X100 Y100 Z1600 C100 U2000 E400:409:400:402 ; Set steps per mm
M566 X400 Y400 Z8 C2 U2 E2:2:2:2 ; Set maximum instantaneous speed changes (mm/min)
M203 X12000 Y12000 Z1000 C5000 U500 E5000:5000:5000:5000 ; Set maximum speeds (mm/min)
M201 X3000 Y3000 Z100 C400 U400 E2500:2500:2500:2500 ; Set accelerations (mm/s^2)
M906 X2000 Y2000 Z1000 C400 U1000 E1400:1000:1000:1000 I30 ; Set motor currents (mA) and motor idle factor in percent
M84 S30 ; Set idle timeout;Stall Detection
M915 C S5 F0 H200 ; Coupler
M574 U2 S3 ; Set U endstop stall detection
M915 U S5 F0 H200 ; U Axes Right Brush; Heaters
;Bed
M305 P0 T100000 B4725 C7.06e-8 ; Set thermistor
M143 H0 S160 ; Set temperature limit for heater 0 (Bed)160C
M307 H0 A313.6 C235.3 D1.8 V24.2 S0.5 B0 ; PIDM305 S"T0" P1 T100000 B4725 C7.06e-8 ; Set thermistor
M143 H1 S280 ; Set temperature limit for heater 1 to 280C
M307 H1 A414.9 C221.2 D3.8 V24.2 B0 ; PIDM305 S"T1" P2 T100000 B4725 C7.06e-8 ; Set thermistor
M143 H2 S280 ; Set temperature limit for heater 2 to 280C
M307 H2 A458.2 C218.0 D4.2 V24.2 B0 ; PIDM305 S"T2" P3 T100000 B4725 C7.06e-8 ; Set thermistor
M143 H3 S280 ; Set temperature limit for heater 3 to 280C
M307 H3 A484.6 C225.0 D3.6 V24.3 B0 ; PIDM305 S"T3" P4 T100000 B4725 C7.06e-8 ; Set thermistor
M143 H4 S280 ; Set temperature limit for heater 4 to 280C
M307 H0 A468.2 C284.7 D4.0 V 24.3 B0 ; PID; Tools
M563 P0 S"T0" D0 H1 F2 ; Define tool 0
G10 P0 X0 Y0 Z2.85 ; Reset tool 0 axis offsets
G10 P0 R0 S0 ; Reset initial tool 0 active and standby temperatures to 0CM563 P1 S"T1" D1 H2 F4 ; Define tool 1
G10 P1 X0 Y0 Z2.85 ; Reset tool 1 axis offsets
G10 P1 R0 S0 ; Reset initial tool 1 active and standby temperatures to 0CM563 P2 S"T2" D2 H3 F6 ; Define tool 2
G10 P2 X0 Y0 Z2.85 ; Reset tool 2 axis offsets
G10 P2 R0 S0 ; Reset initial tool 2 active and standby temperatures to 0CM563 P3 S"T3" D3 H4 F8 ; Define tool 3
G10 P3 X0 Y0 Z2.85 ; Reset tool 3 axis offsets
G10 P3 R0 S0 ; Reset initial tool 3 active and standby temperatures to 0C; Fans
M106 P0 S0 ; UNUSED
M106 P1 S200 H1 T45 ; T0 HE
M106 P2 S0 ; T0 PCF
M106 P3 S255 H2 T45 ; T1 HE
M106 P4 S0 ; T1 PCF
M106 P5 S255 H3 T45 ; T2 HE
M106 P6 S0 ; T2 PCF
M106 P7 S255 H4 T45 ; T3 HE
M106 P8 S0 ; T3 PCFM593 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;tool offsets
G10 P0 X15 Y60 Z-5.6 ; T0
G10 P1 X10 Y55 Z-30.77 ; T1
G10 P2 X-25 Y55 Z-30.65 ; T2
G10 P3 X-26 Y47 Z-39.38 ; T3T-1 ;deselect tools
;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##############
; tpost2.g
; called after tool 2 has been selected;heatup
M116 P2;prime nozzle
;M98 Pprime.g;mesh levelling on
G29 S1;PCF fan on
M106 P6 R2###################
; tpre2.g
; called before tool 2 is selected;Ensure no tool is selected
T-1;Unlock Coupler
M98 P/macros/Coupler - Unlock;Move to location
G1 X224.5 Y180 F50000;Move in
G1 X224.5 Y200 F50000;Collect
G1 X224.5 Y220.5 F3500;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 Z40 F1000
G90;Move Out
G1 X214.5 Y150 F4000 -
@johneato said in Mesh Bed Compensation:
G10 P0 X15 Y60 Z-5.6 ; T0
G10 P1 X10 Y55 Z-30.77 ; T1
G10 P2 X-25 Y55 Z-30.65 ; T2
G10 P3 X-26 Y47 Z-39.38 ; T3i was under the impression that all tools would be at the same position with a toolchanger.
does the nozzle position really vary by 4 cm between the tools?
-
Veti
"does the nozzle position really vary by 4 cm "
Yes it does. The shortest is T0 with an E3D Aero and the longest is T3, a bondtech with a Volcano -
Veti
I have just read your post again and realised I miss understood your question. I thought you were referring to the Z offsets.
The X and y offsets have not been setup yet, just positioned to somewhere near the centre of the bed. I'll sort those when I get to multi tool printing.
I would appreciate any steer on the mesh leveling problem -
@johneato said in Mesh Bed Compensation:
M208 X-25:325.5 Y-49:250 Z0:300 C0:260 U0:100 S0 ; Set axis maxima & minima
try allowing negative z movements
-
@johneato said in Mesh Bed Compensation:
M376 H15 ; bed compensation taper
Can you try setting your taper height to 0 so that mesh compensation is always applied? I suspect your tool offsets are raising the height above the taper height and so no (or no noticeable) compensation is being applied at that height.
See here for what sounds like a similar problem: https://forum.duet3d.com/topic/19190/bed-mesh-compensation-not-applied-to-all-the-tools
-
This post is deleted! -
@Phaedrux
That's the one. I removed reference to M376 and now it works fine.
Thanks for your help -
DC42 is taking a look to add a fix for 3.2. So if you want to use taper you'd have to upgrade, otherwise the workaround should be fine if you want to stick with RRF2.