@droftarts Thanks, Ian. I started a trace because I am even more suspicious that it has to do with running 3.5.x on my 5 inch Paneldue.
Here’s my config.g:
; Configuration file for Duet WiFi / Ethernet
; executed by the firmware on start-up
; *** General preferences ***
;
M111 S0 ; Debugging off
M550 P"ToolChanger" ; Set machine name
G21 ; Work in millimetres
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves
M555 P2 ; Set firmware compatibility to look like Marlin
;
; *** Network ***
;
M552 S1 ; Enable Networking
M586 P0 S1 ; Enable HTTP
M586 P1 S1 ; Enable FTP
M586 P2 S0 ; Disable Telnet
;
; *** Kinematics ***
;
M667 S1 ; Select CoreXY mode
;
; *** Endstops ***
;
M574 X1 P"xstop" S1 ; Set X endstop as active high switch
M574 Y1 P"ystop" S1 ; Set Y endstop as active high switch
M574 Z1 S2 ; Set Z endstop probe
; note that M574 not used here for A or C
M915 C S5 F0 H200 ; Coupler end stop is stall
M915 A S10 F0 H200 ; Wiper "A" end stop is stall
;M915 B S10 F0 H200 ; Wiper "B" end stop is stall
M558 P8 C"zstop" X0 Y0 Z2 H3 F360:180 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
;
; *** Bed Leveling ***
;
M557 X10:290 Y20:180 S40 ; Define mesh grid
M376 H15 ; bed compensation taper
if !exists(global.freshMesh)
global freshMesh = false
else
set global.freshMesh = false
G29 Q2 ; turn off bed mesh compensation (shouldn't be on, but ...)
;
; *** Drive direction ***
;
M569 P0 S0 ; Drive 0 X
M569 P1 S0 ; Drive 1 Y
M569 P2 S1 ; Drive 2 Z
M569 P3 S1 ; Drive 3 E0 - something strange here
M569 P4 S1 ; Drive 4 E1
M569 P5 S1 ; Drive 5 E2
M569 P6 S1 ; Drive 6 E3
M569 P7 S0 ; Drive 7 COUPLER
M569 P8 S1 ; Drive 8 Wiper "A"
;M569 P9 S1 ; Drive 9 Wiper "B"
;
; *** Drive Mapping ***
;
M584 X0 Y1 Z2 A8 C7 E3:4:5:6 ; Apply custom drive mapping
;M584 B9 ; Apply custom drive mapping
;
; *** AXES min and max ***
;
M208 X-27:330 Y-49:243 Z0:300 A-43:0 C0:500 S0 ; Set axis maxima & minima
; M208 B0:43
;
; *** Stepping ***
;
M92 X100 Y100 Z1600 ; Set steps per mm at default 1/16 microstepping
M350 X16 Y16 Z16 I1 ; Configure microstepping with interpolation
M350 E16:16:8:16 A16 C8 I1 ; Configure microstepping without interpolation except for Extruder 3
;M350 B16
M92 C100 A400 E690:690:417:409 ; Set steps per mm at just defined microstepping
;M92 B400
;
; *** Motion Settings ***
;
M566 X400 Y400 Z8 A8 C2 E300:300:300:300 ; Set maximum instantaneous speed changes (mm/min)
;M566 B8
M203 X35000 Y35000 Z1200 A1200 C5000 E7200:7200:3600:3600 ; Set maximum speeds (mm/min)
;M203 B1200
M201 X6000 Y6000 Z400 A400 C400 E7000:7000:600:3000 ; Set accelerations (mm/s^2)
;M201 B400
;M593 F48 ; cancel ringing at 50Hz (https://forum.e3d-online.com/threads/accelerometer-and-resonance-measurements-of-the-motion-system.3445/)
;
; *** Drive Currents ***
;
; motor currents (mA) maxes
M906 X1400 Y1400 I30
M906 E1200:1200:500:1380 I10
M906 A700 I40
;M906 B700 I40
M906 C600 I50
M906 Z1250 I70
;
M84 S120 ; Set idle timeout
;
; *** PanelDue 5i ***
;
M575 P1 S1 B57600 ; set baud rate to PanelDue 5
;
; *** fine Z offset - only adjust if probe has changed trigger point ***
;
var z_trigger_offset = -0.01
;
; *** Define Tools ***
;
if !exists(global.toolA)
global toolA = 0
if !exists(global.toolB)
global toolB = 1
if !exists(global.toolC)
global toolC = 2
if !exists(global.toolD)
global toolD = 3
;
; *** *** > Bed <
;
M308 S0 P"bedtemp" Y"thermistor" A"bed" T100000 B4138 C0 ; Thermistor
M950 H0 C"bedheat" T0 ; Heater
M140 H0 ; define the bed heater
M143 H0 S225 ; Set temperature limit to 225C (bed)
M307 H0 R1.001 C428.841:428.841 D10.89 S1.00 V24.4 B0 I0 ; set PID parameters
;
; *** *** > Tool 0 <
;
M308 S1 P"spi.cs1" Y"rtd-max31865" A"T0" F60 ; PT100
M950 H1 C"e0heat" T1 ; Heater
M143 H1 S390 ; Set temperature limit to 390C
M307 H1 R1.631 C239.974:239.974 D4.07 S1.00 V24.3 B0 I0 ; set PID parameters
;
M950 F8 C"fan1" ; HE fan
M106 P8 S255 H1 T70
M950 F0 C"fan2" ; PCF fan 0
M106 P0 S0
;
M569 P3 S1 ; Extruder Stepper
;
M563 P0 D0 H1 F2 ; Define tool
;
M568 P0 R0 S0 ; Reset initial tool active and standby temperatures to 0C
;
G10 P0 X-9.0 Y39.0 Z{-5.02 + var.z_trigger_offset} ; Define Tool Offset; homed and leveled hot, bed mesh on, measured at bed=85c, nozzle=240c
;
;M572 D0 S0.025 ; pressure advance for Orbiter
if !exists(global.T0_Park_X)
global T0_Park_X = -4.2
global T0_Park_Y = 240.0
;
; *** *** > Tool 1 <
;
M308 S2 P"spi.cs2" Y"rtd-max31865" A"T1" F60 ; PT100
M950 H2 C"e1heat" T2 ; Heater
M143 H2 S390 ; Set temperature limit to 390C
M307 H2 R1.940 C222.050:222.050 D5.17 S1.00 V24.3 B0 I0 ; set PID parameters
;
M950 F9 C"duex.fan3" ; HE fan
M106 P9 S255 H2 T70
M950 F1 C"duex.fan4" ; PCF fan 1
M106 P1 S0
;
M569 P4 S1 ; Extruder Stepper
;
M563 P1 D1 H2 F4 ; Define tool
;
M568 P1 R0 S0 ; Reset initial tool active and standby temperatures to 0C
;
G10 P1 X-8.65 Y39.15 Z{-5.06 + var.z_trigger_offset} ; Define tool offset - was x-9.1
;M572 D1 S0.025 ; pressure advance for Orbiter
M207 P1 S1.5 F7200 T3000 Z0.075 ; for hardware based retraction
if !exists(global.T1_Park_X)
global T1_Park_X = 86.0 ; strange change here
global T1_Park_Y = 240.5
;
; *** *** > Tool 2 (unpopulated) <
;
;M308 S3 P"spi.cs3" Y"rtd-max31865" A"T2" F60 ; PT100
;M950 H3 C"duex.e2heat" T3 ; Heater
;M143 H3 S390 ; Set temperature limit to 390C
;
;M950 F5 C"duex.fan5" ; HE fan
;M106 P5 S255 H3 T70
;M950 F6 C"duex.fan6" ; PCF fan
;M106 P6 S0
;
;M569 P5 S1 ; Extruder Stepper
;
;M563 P2 D2 H3 F6 ; Define tool
;G10 P2 X0 Y0 Z0 ; Reset tool axis offsets
;G10 P2 R0 S0 ; Reset initial tool active and standby temperatures to 0C
;
;G10 P2 X-9 Y39 Z-5 ; Define Tool Offset
;
; *** *** > Tool 3 (Hemera) <
;
M308 S4 P"spi.cs4" Y"rtd-max31865" A"T3" F60 ; PT100
M950 H4 C"duex.e3heat" T4 ; Heater
M143 H4 S390 ; Set temperature limit to 390C
;M307 H4 ... ; Set PID values
;
M950 F11 C"duex.fan7" ; HE fan
M106 P11 S255 H4 T70
M950 F3 C"duex.fan8" ; PCF fan 3
M106 P3 S0
;
M569 P6 S1 ; Extruder Stepper
;
M563 P3 D3 H4 F8 ; Define tool
;
M568 P3 R0 S0 ; Reset initial tool active and standby temperatures to 0C
;
G10 P3 X19.77 Y43.50 Z{-5.71 + var.z_trigger_offset} ; z was -6.06, then 6.00, y43.65
;
;M572 D3 S0.07 ; ? Pressure advance ???
if !exists(global.T3_Park_X)
global T3_Park_X = 308
global T3_Park_Y = 225.25
;
; *** Accelerometer ***
M955 P0 C"duex.cs5+duex.cs6"
;
; *** Define Servos ***
; > Wiper A <
M950 P0 C"duex.pwm4" Q50
; > Wiper B <
M950 P1 C"duex.pwm5" Q50
;
; *** Stepper noise tuning
;M569 P0 F1 Y10:00
;M569 P1 F12 Y10:00
;M569 P2 F6 Y05:03
;
; M501
;
; *** Actions ***
;
T-1 ;de-select all tools
;
; finis
And this is my “nozzle cleaning” macro:
; for tools T0 and T1
;
echo "begin pblwiper_A"
var extlen=15
;if exists(param.L)
; set var.extlen=param.L
;
var fanspd=0.0
if exists(param.F)
set var.fanspd = param.F / 100
;
var cooltime=1500
if exists(param.C)
set var.cooltime=param.C
;
var scrubOnly=false
if exists(param.S)
set var.scrubOnly=true
;
var a0_to_wiper=-5.25
var a0_to_brush=-8.50
;
;;;;;;; g-code below
;
G91
G1 Z1 F500 ; Drop Z 1mm for Safety
G90
G1 E-1.00 F1800 ; retract
;
G1 Y175 F2000 ; move tool to standby position
G1 X-20 F2000
;
M98 p"/macros/set_A_min.g" ; set A wiper to use bottom endstop
;
G1 A-33 F500 ; move A wiper out of the way
M280 P0 S170 ; move wiper arm to ready position
G4 P1000
;
; Set Up for Pebble Purge
;
G1 X-25.7 Y147.9 F24000 ; move to brad location - here to make testing easier - only for tools 0 and 1
;
M98 p"/macros/set_A_max.g" ; set A wiper to use top endstop - determine nozzle tip location
;
G1 A{var.a0_to_wiper} E0.75 F500 ; move wiper to tip of std v6 nozzle
;
if !var.scrubOnly
G4 P0
M280 P0 S18 ; cut off any hanging string from the nozzle
G4 P1000 ;
;
G1 A-2 F500 ; move brass brad closer
G4 P0 ;
;
G1 E1 F120 ; trying to avoid strange extrusion speed that happens here
G1 P500
;
echo "...Extruding"
G1 E{var.extlen} F300 ; Pebble Purge
G4 P0 ;
G1 A-6 F500 ; move away from nozzle tip
M106 S1.00 ; Cooling On
M106 S0.93 ;
G1 E-0.6 F300 ; Retract
G4 P{var.cooltime} ; Dwell for cooltime
;
;M280 P0 S170 ; Servo Wipe 1 - toss pebble
G4 P500 ;
;
;M280 P0 S18 ;
G4 P1000 ;
M280 P0 S170
G4 P1000
;
G1 A{var.a0_to_wiper} F500 ; go back to nozzle tip
;
M280 P0 S18 ;
G4 P500 ;
M280 P0 S170
G4 P1000
else
G1 E1.0 F1800 ; restore retracted plastic
echo "...Wiping"
M42 P0 S0 ; Turn Servo off
;
;
; Move Nozzle Across Nylon Brush
;
G1 A{var.a0_to_brush} F500 ; move brush down
;
G91
G1 X+0 Y-50 F6000
G1 X+5 Y+50
G1 X+5 Y-50
;
G1 Z-1 F500 ; restore Z height
;
G90 ; locations now absolute
;
G92 E0 ; Reset Extrusion - extruding ?
echo "M106 S", {var.fanspd}
M106 S{var.fanspd} ; restore fan speed
G4 P0
echo "End of pblwiper_a"
;
;finis