Dual color print problems
Hello, I recently upgraded my machine to the Prometheus dual extrusion system. I'm currently stuck. I cannot get dual extrusion to work properly. The machine worked properly when using only one filament. When attempting dual extrusion test prints, the machine will stop and stay in one spot when the filament is supposed to switch. The machine will then retract the filament and extrude the other filament slightly only to retract it again. It will stay in the same spot and do this until I manually stop the print. I am using Cura to slice. I know this is vague, but I'm not sure what details would be helpful for me to provide.
I appreciate any help.
BPisLife last edited by
@ian-tech So a few things would help. Can you post your config file? Also, it sounds like gcode is not being generated properly since it sounds like the duet is ignoring more of the gcode and just initiating a tool change routine. Dual color printing is tricky and most of the time the problem is related to messing up the temperature with the nozzle (ie the nozzle extruding isn't the one thats hot).
one simple test will be to extrude something from both nozzles (or single nozzle if its like the cyclops). make sure the temperature adjusts as you would expect and the correct extruder is running.
Here is my config.g:
; Configuration file for Duet WiFi (firmware version 1.17)
; executed by the firmware on start-up
; generated by RepRapFirmware Configuration Tool on Fri Apr 28 2017 16:37:23 GMT-0500 (Central Daylight Time)
; General preferences
M111 S0 ; Debugging off
G21 ; Work in millimetres
G90 ; Send absolute coordinates...
M82 ; ...but relative extruder moves
M555 P2 ; Set firmware compatibility to look like Marlin
M563 P0 D4 H1
;Dual z axis
M584 X0 Y1 Z2:3 U3 E4:5
M667 S1 ; Select CoreXY mode
M208 X0 Y0 Z0 S1 ; Set axis minima
M208 X275 Y285 Z245 S0 ; Set axis maxima
M574 X1 Y1 Z2 U2 S0 ; Define active low and unused microswitches
M558 P5 X0 Y0 Z1 H5 F120 T6000 ; Set Z Probe to type Switch or Digital output where Z probe connector is used. Used for z only.
G31 P50 X0 Y-20 Z2.12 ; Set Z probe trigger value, offset and trigger height
M557 X15:260 Y15:270 S30 ; Define mesh grid
M569 P0 S1 ; Drive 0 goes forwards
M569 P1 S1 ; Drive 1 goes forwards
M569 P2 S0 ; Drive 2 goes backwards
M569 P3 S0 ; Drive 3 goes backwards
M569 P4 S0 ; Drive 4 goes backwards
M569 P5 S1 ; Drive 5 goes forwards
M350 X16 Y16 Z16 U16 E16:16 I1 ; Configure microstepping with interpolation
M92 X160 Y160 Z800 U800 E500:500 ; Set steps per mm
M566 X900 Y900 Z12 U12 E900:900 ; Set maximum instantaneous speed changes (mm/min)
M203 X6000 Y6000 Z600 U600 E3600:3600 ; Set maximum speeds (mm/min)
M201 X500 Y500 Z250 U250 E250:250 ; Set accelerations (mm/s^2)
M906 X800 Y800 Z800 U800 E1200:1200 I30 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout
M307 H7 A-1 C-1 D-1
M143 H0 S100; Set heated bed temperature to 100
M143 H1 S260 ; Set maximum hotend heater temperature to 260C
M305 P1 T100000 B4725 C7.060000e-8 R4700 ; Set thermistor + ADC parameters for heater 1
M305 P0 T100000 B4408 C7.269774e-8 R4700 ; set heated bed thermistor
M563 P0 D0 H1 ; 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 ; Define tool 1
G10 P1 X0 Y0 Z0 ; Set tool 1 axis offsets
G10 P1 R0 S0 ; Set initial tool 1 active and standby temperature to 0C
M550 PIanCorexy ; Set machine name
M551 PIcorexy ; Set password ;
M552 S1 ; Enable network and acquire dynamic address via DHCP
M106 P0 S0.3 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P1 S1 I0 F500 H-1 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P2 S1 I0 F500 H-1 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off
; Custom settings are not configured
I can also tell you that the system I use only has one hot end. Also it appears to extrude fine with each extruder when not in a print.
Do you have any commands in the tool change files tfree0.g, tpre0.g, tpost0.g and the same for tool 1?
It would also help to see the code that Cura has generated around a place where a tool change occurs.
I looked at the files with the 0 the end of name, and they are all empty. I'm not aware of any for tool 1. Also FYI the dual extrusion system uses only one hot end/nozzle.
Here is the Cura tool change code:
G91 ; relative positioning
G1 E18 F540 ; 9mm/s purge
G1 E-20 F3000 ; 50mm/s retract
G4 P2500 ; 2.5s cooling period
G1 E-140 F3000 ; 50mm/s long retract
G91 ; relative positioning
G1 E100 F3000 ; 50mm/s feed
G1 E50 F1500 ; 25mm/s feed
G1 E5 F300 ; 5mm/s feed
M104 T0 S180
M104 T0 S180
There is a problem right there. Cura is commanding the currently-selected tool (which is Tool 1) to 205C and then commanding Tool 0 to 180C. But you have only one heater. You need to configure Cura not to reduce the temperature of the inactive tool.
@dc42 So I fixed it so now tool 0 is set to the same temperature, but still no dice.
@ian-tech is cura still waiting commanding and waiting for the temperature changes?
deckingman last edited by
As you only have one heater, try putting this in your start gcode
G10 P0 S205 R205
G10 P1 S205 R205 (or whatever temperature you want to print at). That'll set the active and standby temperatures the same so you can instantly switch between tools.
Then make sure that Cura does nothing other than select a tool by putting in a "Tn" command (where "n" will be either 0 or 1). Oh, and make sure that there is nothing in your tool change files - at least for now.