Mutli Head Duplication Methods



  • Looking for info on how to run a second or third slave printhead that runs along with my primary Y carriage on a (Duet Wifi) CoreXY machine. Seems this would be a Slicer function to just duplicate the primary extruder gcodes to a second extruder, and also heater control. I have seen this done before, but not sure what its called, so please forgive my ignorance.


  • administrators

    The usual solution is IDEX (independent dual X carriages) which offers dual material prints, duplication mode, and mirror mode. Duplication and mirror modes are handled in firmware, no slicer involvement is needed.



  • Thanks Dave, I just plan on staking extra printheads to the existing drive belt. Im using Zesty Nimbles, and if I could just link the drive cables together on one stepper I would be all set, save for the extra demand on the stepper. So, is there an easy way in firmware to map my selected tool to multiple E steppers?

    The other thing im not sure about is how to run multiple tool heaters simultaneously. I have a Duex 5 with extra heater outputs if I want to put more than two heads on one printer. Probably need to up my power supply depending on how many I run at a time.

    Any thoughts would be greatly appreciated.



  • @henrydara said in Mutli Head Duplication Methods:

    ...................So, is there an easy way in firmware to map my selected tool to multiple E steppers?

    ....................The other thing im not sure about is how to run multiple tool heaters simultaneously.

    Any thoughts would be greatly appreciated.

    M563 is the command you want. https://duet3d.dozuki.com/Wiki/Gcode#Section_M563_Define_or_remove_a_tool

    So e.g, M563 P0 D0:1:2 H1:5:6 would map extruder drives 0,1 and 2 and heaters 1, 5 and 6 to Tool 0.

    Depending on how you have the extruders connected, you would then use M567 to set the mixing ratio. https://duet3d.dozuki.com/Wiki/Gcode#Section_M567_Set_tool_mix_ratios



  • @deckingman Thank You Sir!! Seems so obvious now. Silly me. 🙂



  • No matter what, only E0 extrudes, but I need both to run

    I can operate E0 and E1 on the web interface, and they work predictably, but when I run a print that is set for Tool 1, only the E0 Extruder spins. If I swap D1 for D0 in M563, the other drive runs, but still not both. My extruder motors are connected to E0 and E1. Pretty sure I have something messed up, but just cant see it.

    It all looked pretty straightforward, my config is like this...

    ; Drive/Axis Setup
    M584 X0 Y1 Z5:6:7 E3:4:8:9 ; Drive Mapping

    ;Tool Setup
    M563 P0 S"2 Nozzle Ditto Mode" D1:0 H1:2 ; Ditto printing 2 tools
    ;M563 P0 S"RT Tool" D0 H2 ; Std Printing - Define tool 0
    G10 P0 S0 R0 X-30 Y0 ; Set tool 0 temperatures and offsets
    ;M563 P1 S"LT Tool" D1 H1 ; Std Printing - Define tool 1
    G10 P0 S0 R0 X30 Y0 ; Set tool 1 temperatures and offsets

    Full config...

    ; Configuration file for Duet WiFi (firmware version 1.21)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2 on Sat Dec 08 2018 12:14:23 GMT-0500 (Eastern Standard Time)

    ; General preferences

    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves
    M200 D1.75 ; set all extruder filament diameters to 1.75mm
    M667 S1 ; Select CoreXY mode

    ; Z-Probe
    M307 H6 A-1 C-1 D-1 ; Disable the 6th Heater to free up PWM channel 4 on the Duex board. (Special Parameters to chg PWM ch to discreet)
    M307 H7 A-1 C-1 D-1 ; Disable the 7th Heater to free up PWM channel 5 on the Duex board. (Special Parameters to chg PWM ch to discreet)
    M558 P5 H5 F50 T2000 X0 Y0 Z1 ; Set Z probe type/mode 5. H=Dive Height. F=Speed the bed moves T=Travel Speed(From https://betrue3d.dk/bltouch-on-duet-wifi-configuratio-and-usage/#wiring)
    ;G31 P100 X22 Y0 Z1.25 ;Dry print(Z - larger number = smaller gap) Set Z probe trigger value, offset and trigger height
    G31 P100 X-3 Y30 Z.50 ;(Z - larger number = smaller gap) Set Z probe trigger value, offset and trigger height
    ;G29 S1 ; Enable Mesh Bed Compensation (S1 = Load Prev Grid, S0 = New grid probe on pwr up))
    M557 X60:370 Y10:350 S50 ; Define mesh grid for printing compensation
    M376 H10 ; Set Mesh Bed Taper Height.

    ; Network
    M550 P"Venom II" ; Set machine name
    M551 P"ADLLC: ; Set password
    M552 S1 ; Enable network
    ;*** Access point is configured manually via M587
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Drive Directions
    M569 P0 S0 ; Drive 0 goes forwards
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S1 ; Drive 2 goes forwards
    M569 P3 S0 ; Drive 3 goes forwards
    M569 P4 S0 ; Drive 4 goes forwards
    M569 P5 S0 ; Drive 5 goes forwards
    M569 P6 S0 ; Drive 6 goes forwards
    M569 P7 S0 ; Drive 7 goes forwards

    ; Drive Scaling
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
    M92 X160.00 Y160.00 Z1600.00 E2660 ; Set steps per mm

    M566 X15 Y15 Z.5 E20 ; Set maximum instantaneous speed changes (mm/min)
    M201 X800.00 Y800.00 Z100.00 E1200.00 ; Set accelerations (mm/s^2)
    M203 X18000.00 Y18000.00 Z1200.00 E10000.00 ; Set maximum speeds (mm/min)
    M204 R1000 ; Set Retract accelerations
    M906 X1000.00 Y1000.00 Z800.00 E600.00 I30 ; Set motor currents(mA) and motor idle factor in percent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; Set axis minima
    M208 X365 Y395 Z440 S0 ; Set axis maxima

    ; Drive/Axis Setup
    M584 X0 Y1 Z5:6:7 E3:4:8:9 ; Drive Mapping
    M671 X12:455:455 S3 Y167:390:0 ; Set XY offsets for Z screws at

    ; External IO
    M581 E5 S0 T0 C0 ; Configure E-Stop as E5(E6) S0(NC) T0(Trigger EStop) C0 (Anytime)

    ; Endstops
    M574 X1 Y1 S1 ; Set active high endstops for X and Y axis
    M574 Z1 S2 ; Set endstops controlled by probe (disabled for commissioning W/O Z probe)

    ; Heaters
    M307 H0 B0 S1.00 ; Disable bang-bang mode for the bed heater and set PWM limit
    M305 P0 T100000 B4643 R4700 ; Set thermistor + ADC parameters for bed heater 0
    M143 H0 S120 ; Set temperature limit for heater 0 to 120C

    M305 P1 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280 ; Set temperature limit for heater 1 to 280C
    M305 P2 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 2
    M143 H2 S280

    ;This section from testing mosquito hot end
    ;M305 P1 T100000 B4634 C1.068831e-7 ; Set thermistor + ADC parameters for heater 1 (Mosquito Thermistor)
    ;M305 P1 T500000 B9000 C1.196220e-7 ; Set thermistor + ADC parameters for heater 1 (Mosquito Thermistor Original)
    ;M143 H1 S280 ; Set temperature limit for heater 1 to 280C
    ;M305 P2 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 2 (E3D Thermistor)
    ;M305 P2 T500000 B4634 C1.068831e-7 ; Set thermistor + ADC parameters for heater 2 (Mosquito Thermistor)
    ;M143 H2 S280 ; Set temperature limit for heater 1 to 280C

    M305 P3 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 3
    M143 H3 S50
    M305 P4 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 4
    M143 H4 S50
    M305 P5 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 5
    M143 H5 S80

    ; Fans
    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 H1 T45 C"Box_Fan" ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    ;M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on
    ;M106 P1 S0.3 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off

    ; Tools

    M563 P0 S"2 Nozzle Ditto Mode" D1:0 H1:2 ; Ditto printing 2 tools
    ;M563 P0 S"RT Tool" D0 H2 ; Std Printing - Define tool 0
    G10 P0 S0 R0 X-30 Y0 ; Set tool 0 temperatures and offsets
    ;M563 P1 S"LT Tool" D1 H1 ; Std Printing - Define tool 1
    G10 P0 S0 R0 X30 Y0 ; Set tool 1 temperatures and offsets

    ;M572 D0 S0.05 ; Set Pressure Advance for Extruder 1
    ;M572 D1 S0.05 ; Set Pressure Advance for Extruder 2

    ; Automatic power saving
    ;M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss

    ; Custom settings are not configured

    ; Simulated print time: 0



  • correction I am trying to print using Tool 0

    Couldnt edit prior post cause it kept flagging me as spam ???



  • @henrydara You need to set the mixing ratio for the tool to 1.00:1.00. I'm on my phone right now and can't off hand remember the gcode command so you'll have to look it up.


Log in to reply