Solved Here's a strange filament change behavior!
So I have two tools set up on a duet 2 wifi.
When Cura switches between them the strangest thing seems to happen. Here's the setup...
When Cura calls "tool 0" or "tool 1" the printer executes "tfree1.g" or "tfree0.g" which both contain:
M302 P1 ; allow cold fusion M98 P"/macros/moveto/filchange.g" M98 P"/macros/loadunload/unload.g" M302 P0 ; prevent cold fusion
G91 ; rel moves G1 z.5 F99999 ; zhop G90 ; abs moves G1 x2 y140 F99999 ; move to purge spot
G1 E-8 F1000 ; initial retract G4 S10 ; dwell to cool filament G1 E-90 F99999 ; fully retract filament
Then the machine calls "tpre0.g" which contains nothing at he moment.
And then "tpost0.g" or "tpost1.g" is called which contains:
M302 P1 ; allow cold fusion G1 E99 F3600 ; quickly load back +1 G1 E10 F150 ; slowly purge 10mm M302 P0 ; prevent cold fusion
So what I'm observing is this
on changing over to "tool1" there seems to be a strange pause after
G1 E99 F3600 of load.g
then the slow purge which follows it...well it happens really rapidly instead of following the F150 speed....
This only happens on changing over to T1
going from T1 back to T0 the slow purge works fine...
fcwilt last edited by
Assuming each tool has it's on extruder stepper what are the stepper settings in config.g.
On my printer, which has a max extruder speed of F3600, extruding 99 mm would take awhile.
you're on the right track....it was a slicer setting
all aspects of each material profile are the same for both tools in this case....I missed one called "nozzle switch retraction distance" under dual extrusion in Cura....
I had it set to 16mm so there's the issue....over retraction and then sudden over extrusion because of the extra 16.
Actually I take it back....trying now with settings adjusted and Cura is still over extruding on tool change to T1.
fcwilt last edited by
Must be slicer because when I manually switch the tools back and forth there's no problem....I wonder what I'm missing in Cura for this strangeness to be happening..
G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"GEMLIN" ; set printer name M669 K1 ; select CoreXY mode ; Network M551 P"**************************" M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0 S1 ; physical drive 0 goes forwards M569 P1 S1 ; physical drive 1 goes backwards M569 P2 S0 ; physical drive 2 goes forwards M569 P3 S1 ; physical drive 3 goes forwards M569 P4 S1 ; physical drive 4 goes forwards M584 X3 Y4 Z0 E2:1 ; set drive mapping M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z400.00 E406.00:406.00 ; set steps per mm M566 X200.00 Y200.00 Z600.00 E600.00:600.00 ; set maximum instantaneous speed changes (mm/min) M203 X65000.00 Y65000.00 Z10000.00 E6000.00:6000.00 ; set maximum speeds (mm/min) M201 X6000.00 Y6000.00 Z500.00 E300.00:300.00 ; set accelerations (mm/s^2) M906 X2000 Y2000 Z750 E600:600 I75 ; set motor currents (mA) and motor idle factor in per centI30 M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X152 Y160 Z145 S0 ; set axis maxima ; Endstops M574 X2 S1 P"xstop" ; configure active-high endstop for high end on X via pin !xstop M574 Y2 S1 P"ystop" ; configure active-high endstop for high end on Y via pin !ystop M574 Z1 S1 P"zstop" ; configure active-high endstop for low end on Z via pin !zstop ; Z-Probe M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed M557 X15:135 Y15:135 S15 ; define mesh grid ; Heaters M308 S3 Y"mcu-temp" A"CPU" ; Board thermal sensor M912 P0 S-8 ; MCU tempurature sensor correction (subtract 8°c) ;Bed heater dual thermistor setup M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 A"Bed Pad" ; configure sensor 0 as thermistor on pin bedtemp M308 S2 P"e0temp" Y"thermistor" T100000 B3950 A"Bed Plate" M950 H0 C"bedheat" T2 ; create bed heater output on bedheat and map it to sensor 2 M307 H0 B0 R0.135 C1478.8 D30.02 S1.00 V23.8 ; disable bang-bang mode for the bed heater and set PWM limit M307 H0 B0 R0.135 C1478.8 D30.02 S1.00 V23.8 M140 H0 ; map heated bed to heater 0 M143 H0 P1 T0 A2 S130 C0 ; Regulate (A2) bed heater (H0) to have pad sensor (T0) below 110°C. Use Heater monitor 1 for it M143 H0 P2 T0 A1 S145 C0 ; Shut off (A1) bed heater (H0) if pad sensor (T0) exceeds 120°C. Use Heater monitor 2 for it M143 H0 S110 ; set temperature limit for heater 0 to 120C ;hot end M308 S1 P"e1temp" Y"thermistor" T100000 B3950 ; configure sensor 1 as thermistor on pin e0temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M307 H1 B0 R3.366 C143.3 D8.26 S1.00 V23.8 ; disable bang-bang mode for heater and set PWM limit H1 B0 R3.366 C143.3 D8.26 S1.00 V23.8 M143 H1 S280 ; set temperature limit for heater 1 to 280C ; Fans M950 F0 C"fan0" Q120 ; part cooler, set to 20Hz PWM M106 P0 S0 H-1 C"TOOL FAN" L0.25 B0.1 ; Name it "PartCooler" ;Hot End M950 F1 C"fan1" Q120 ; create fan 1 on pin fan1 and set its frequency M106 P1 H1 T45:270 C"HotEndFan" L0.25 B0.1 ; set fan 1 value. Thermostatic control is turned on ; controller / electronics fan M950 F2 C"fan2" Q120 ; create fan 2 on pin fan2 and set its frequency M106 P2 H3 T20:35 C"ElectronicsFan" L0.40 B0.1 ; fan is activated when MCU reports 35°C; runs on full speed from 50°C on H100:101:102 M950 F3 C"e1heat" Q120 ; create fan 2 on pin fan2 and set its frequency M106 P3 H1 T45:190 C"Lights" L0.0 B0.0 ; fan is activated when MCU reports 35°C; runs on full speed from 50°C on H100:101:102 ; Tools M563 P0 D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C M563 P1 D1 H1 F0 ; define tool 1 G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C ; Custom settings are not defined ; Miscellaneous M575 P1 S1 B57600 ; enable support for PanelDue M501 ; load saved parameters from non-volatile memory M911 S23 R24 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss ;T0 ; select first tool M302 S160 R20 M572 D0:1 S0.2 ; pressure advance
So I'm observing the change over on T1 and there's two moves on re-priming one short and then one the normal length...this cant be the slicer at this point in the code as the printer has full control...unless it's a buffered move? I just don't get it...how could the slicer be affecting things at this point.
Oh god...never friggin mind....
I had inserted a 16mm compensation in tpost1.g this morning at 4am which I forgot about....
All better now close post.....mark as solved.....revoke my 3dP license..