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.
-
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 offsetsFull 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 mmM566 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 120CM305 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 280CM305 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.