[First Batch Shipped Out] FAQs of Dual Extrusion 3D Printing Module for Snapmaker 2.0

This is my first dual color print. Using two colors of Hatchbox PLA. Sliced with PrusaSlicer. I started by making a first attempt to calibrate the E-steps for each extruder. The values were different and different enough to warrant additional work. Check out my toolchange g-code below. All told, I think it is a good first result. I’m going to probably continue to refine the e-steps and flow rate first.




If anyone is interested, here is my current custom G-code in PrusaSlicer. I do think it needs some additional tweaking, so use it at your own risk.
Start G-code:

M82 ;absolute extrusion mode
;Start GCode begin
{if initial_extruder == 0}M92 E672.60081{elsif initial_extruder == 1}M92 E680.07339{endif}
M140 S[first_layer_bed_temperature]   ;Start warming Bed
G28 ; home all axes
G90 ;absolute positioning
G1 X-20 Y-10 F3000
G1 Z0 F1800
M190 S[first_layer_bed_temperature]   ;Wait For Bed Temperature
{if is_extruder_used[0]}M104 S[first_layer_temperature_0] T0 ;Start warming Left Nozzle{endif}
{if is_extruder_used[1]}M104 S[first_layer_temperature_1] T1 ;Start warming Right Nozzle{endif}
; M109 S[first_layer_temperature] ;Wait for Hotend Temperature
{if is_extruder_used[0]}M109 S[first_layer_temperature_0] T0 ;Wait for Left Hotend Temperature{endif}
{if is_extruder_used[1]}M109 S[first_layer_temperature_1] T1 ;Wait for Right Hotend Temperaturee{endif}

; Is T0 Used? [is_extruder_used_0]
; Is T1 Used? [is_extruder_used_1]
{if is_extruder_used[0]} ;This stuff will only get "executed" if left extruder is used
T0
G1 X-25 Y-10 F3000
G92 E0
G1 E20 F200
G92 E0
G1 F2100 E-1{endif}
{if is_extruder_used[1]} ;This stuff will only get "executed" if right extruder is used
T1
G1 X-25 Y-10 F3000
G92 E0
G1 E20 F200
G92 E0
G1 F2100 E-1{endif}
T[initial_extruder] ;Set initial extruder

;LAYER_COUNT:[total_layer_count]

End G-code:

; End GCode begin
; M104 S0 ;extruder heater off
{if is_extruder_used[0]}M104 S0 T0 ;Left Hotend Off{endif}
{if is_extruder_used[1]}M104 S0 T1 ;Right Hotend Off{endif}
M140 S0 ;heated bed heater off
G90 ;absolute positioning
G92 E0
G1 E-2 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure
G28 X0 Y0 Z+10; home
M84 ;steppers off
M107 ;fan off
M82 ;absolute extrusion mode
; MAXZ:[max_layer_z]
; End GCode end

Tool change G-code:

{if next_extruder == 0}M92 E672.60081{elsif next_extruder == 1}M92 E680.07339{endif}

The tool change G-code is the key to making it work, I think. It’s what allows you to have different e-steps for each extruder and manually load them with each extruder change.The first M92 is for the left extruder. The second M92 is for the right extruder. The values I used are for my machine. You need to determine your own values.

For all things calibration, I like this site: https://teachingtechyt.github.io/calibration.html

I know it’s frustrating. I’ve been frustrated too. I still have yet to get breakaway PLA or PVA to work as support material with PS. But, I’m going to continue to work on that. But, at least this shows that it is possible to get pretty good results with the dual extruder.

EDIT: Updated start G-code to my current setup.

6 Likes