May 19, 2025
Description
Experimental dual hotend switching, built with PETG and a few screws, still in the process of improvement, so far tested with an SKR Pro 1.2 board, and an Ender 3 frame
MARLIN
// A dual-nozzle that uses a servomotor to raise/lower one (or both) of the nozzles
#define SWITCHING_NOZZLE
#if ENABLED(SWITCHING_NOZZLE)
#define SWITCHING_NOZZLE_SERVO_NR 0
//#define SWITCHING_NOZZLE_E1_SERVO_NR 1 // If two servos are used, the index of the second
#define SWITCHING_NOZZLE_SERVO_ANGLES { 120, 0 } // A pair of angles for { E0, E1 }.
// For Dual Servo use two pairs: { { lower, raise }, { lower, raise } }
#define SWITCHING_NOZZLE_SERVO_DWELL 2500 // Dwell time to wait for servo to make physical move
#endif
// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
// For the other hotends it is their distance from the extruder 0 hotend.
#define HOTEND_OFFSET_X { 0.0, 25.00 } // (mm) relative X-offset for each nozzle
#define HOTEND_OFFSET_Y { 0.0, -1.00 } // (mm) relative Y-offset for each nozzle
#define HOTEND_OFFSET_Z { 0.0, -2.00 } // (mm) relative Z-offset for each nozzle
Extruder t1 offset cura
X 25.00
Y -1.00
CURA ULTIMAKER
G-code
Start g code
Inicar g code
G28 ;Home all axes
T
G92 E0 ;Zero the extruded length
G1 Z2.0 F6000 ;Move Z axis up little to prevent scratching of heat bed
;Prime the extruder
M107 ; Fan Off
G92 E0 ; Reset extruder
G1 Z2.0 F3000 ; Move z axis up litte to prevent scratching of heat bed
; end of custom star g code
End code
Finalizar gcode
G4 P500 ; Dwell for 1/2 second
T0 ;select T0 as the active tool
M104 T0 S0 ;Set the temperature extruder to 190oC
M104 T1 S0 ;Set the temperature extruder to 190oC
M140 S0; Set Bed Temperature (Fast) 0°C
M220 S100 ; Reset speed factor override percentage to default (100%)
M221 S100 ; Reset extruder factor override percentage to default (100%)
;Retract the filament
G92 E1 ;; Reset Extruder
G1 E-1 F300 ;retract filament 1mm to prevent oozing
G1 X0 Y200 F3000 ; move axis to prepare for part removal
M84 ;disable motors
;end of custom star g code
G-Code extrusor T0
Start g code
T0 ;select T0 as the active tool
M280 P0 S120 ; ángulo para T0
End g code
T0 ;select T0 as the active tool
G-Code extrusor T1
Start g code
T1 ;select T1 as the active tool
M280 P0 S0 ; ángulo para T1
End g code
T0 ;select T0 as the active tool
License:
Creative Commons — Attribution
7