I an trying to add another extruder onto my VORON 2.4 printer but I want to keep most parts the same and do minimum changes to the original designed parts. So I have to draft from the sketch and combined accessories from two BMG extruduers, the last version suit for V6 hot-end.
Now, the current version can compatible with Mosquito and Dragon Hot-ends. They can be assembled into the previous single hot-end X-carrier and perfectly fitted into the VORON X-carriage.
So all units used for this Dual Extruder is accessible when you build the VORON printers. No need to purchase other new stuff.
I have modified the Klipper and slicing software, it worked well when it replaced the old single filament extruder. You can see the printed STARWARS key chain.
Please follow the instruction and read all comments below to modify your klipper .cfg
##Add following code into Extruder section after the E0
##If you are using the most recent verson of klipper, please copy the E0 section and do similar adjustment according to the comments.
##E1 on MCU X/Y
[extruder1]
step_pin: P0.1 ##This is the pin number on SKR 1.3 board, please check the pin on your own board.
dir_pin: P0.0 ##This is the pin number on SKR 1.3 board, please check the pin on your own board.
enable_pin: !P0.10 ##This is the pin number on SKR 1.3 board, please check the pin on your own board.
##16 microsteps Mobius 3 ~= 0.00180
##Update value below when you perform extruder calibration
##Higher value means less filament extruded
##If you ask for 100mm of filament, but in reality it is 98mm:
##step_distance = 98 / 100 * step_distance_old
##0.00240 a good starting value for Afterburner, 0.00180 for Mobius
step_distance: 0.00225 ##A simple way is keep this the same as E0, but you can run the calabriation to further improve this value.
nozzle_diameter: 0.400 ##the same as E0
filament_diameter: 1.75 ##the same as E0
max_extrude_only_distance:100 ##the same as E0
shared_heater:extruder ##this defins the extruder 1 using extruder's hot end, so following section is disabled.
##heater_pin: P2.7
##Validate the following thermistor type to make sure it is correct
##sensor_type: NTC 100K beta 3950
##sensor_pin: P0.24
##min_temp: 0
##max_temp: 270
##max_power: 0.5
##min_extrude_temp: 150
###control = pid
###pid_kp = 26.213
###pid_ki = 1.304
###pid_kd = 131.721
##Try to keep pressure_advance below 1.0
pressure_advance: 0.0935 ##A simple way is keep this the same as E0, but you can run the calabriation to further improve this value.
##Default is 0.040, leave stock
pressure_advance_smooth_time: 0.040
##E1 on MCU X/Y
##Make sure to update below for your relevant driver (2208 or 2209)
[tmc2208 extruder1]
uart_pin: P1.4 ##This is the pin number on SKR 1.3 board, please check the pin on your own board.
microsteps: 16
interpolate: false
run_current: 0.5
hold_current: 0.3
sense_resistor: 0.110
stealthchop_threshold: 0
##Add following into [Macro] section
[gcode_macro T1]
#Script
to activate second extruder
gcode:
G92 E0
G1 E-65 F1200 ; 65 is the retraction distacne for filament change in E3D V6, you can adjust this value if you used different extruder.
ACTIVATE_EXTRUDER extruder=extruder1
G92 E0
G1 E64 F1200 ; 64 is the retraction distacne for filament change in E3D V6, you can adjust this value if you used different extruder.
##SAVE_VARIABLE VARIABLE=currentextruder VALUE='"extruder"' ; I disabled the save current extruder function since the extrduder can always be defined during slicing.
[gcode_macro T0]
#Script
to activate first extruder
gcode:
G92 E0
G1 E-65 F1200 ; 65 is the retraction distacne for filament change in E3D V6, you can adjust this value if you used different extruder.
ACTIVATE_EXTRUDER extruder=extruder
G92 E0
G1 E64 F1200 ; 64 is the retraction distacne for filament change in E3D V6, you can adjust this value if you used different extruder.
##SAVE_VARIABLE VARIABLE=currentextruder VALUE='"extruder 1"' ; I disabled the save current extruder function since the extrduder can always be defined during slicing.
##I will force the printer change back to E0 after each printing.
[gcode_macro PRINT_END]
Use PRINT_END for the slicer ending script - please customise for your slicer of choice
gcode:
M400 ; wait for buffer to clear
G92 E0 ; zero the extruder
G1 E-10.0 F3600 ; retract filament
G91 ; relative positioning
G0 Z1.00 X20.0 Y20.0 F20000 ; move nozzle to remove stringing
T0 ; force the printer change back to E0 after each printing.
TURN_OFF_HEATERS
M107 ; turn off fan
G1 Z2 F3000 ; move nozzle up 2mm
G90 ; absolute positioning
G0 X330 Y330 F3600 ; park nozzle at rear
BED_MESH_CLEAR
Thanks for your support. Recently, I am working on a switchable multi-extruder system with configuration updates. Hopping it can be released soon!!