I'm having a problem getting started with my 3D Chameleon MK4. After installing the hardware, generating the g-code, and installing the filament about 1" from the Y connector my prints start with the 3D Chameleon backing out my T0 filament, so that when it issues the load command it doesn't go into the extruder.
I'm on an Ender 3 Neo (V1) and running Klipper. My Switch is on the end of the Y-Axis Y220.
Tool Change Code: (I commented out the 302 commands)
; Auto generated 3D Chameleon Mk4 Tool Change GCode for PrusaSlicer
; - 3D Chameleon Mk4 Tool T{next_extruder} -
;begin switch from extruder {previous_extruder} to extruder #{next_extruder}
M117 Unloading Tool T[previous_extruder]
M83 ; turn relative distances for the extruder
; unload extruder {previous_extruder}
G92 E0
; go to holding position to unload the stock extruder
G0 Y217 F2000 ; <<----- EDIT THIS LINE TO SET THE INITIAL LOCATION OF THE BUTTON
; if this is the first load, then don't unload
G91 ; move to relative mode
M83
; load extruder #{next_extruder}
M117 Loading Tool T{next_extruder}
{if previous_extruder>-1}
; back out the filament for cutting
G0 E-20 F500 ; retract a bit, adjust this to tune waste
; <<<< insert mechanical cutter code here! >>>>
;<<< Start Of Tip Shaping- Remove If No Cutter! >>>
M109 R180; cool down to prevent swelling
;M302 S0 ; enable cold extrusion
M106 S255
G0 E20 F1500 ;
G0 E-5 F500 ;
M109 R165; cool down to prevent swelling
G0 E5 F1500 ;
G0 E-1 F500 ;
M109 R155; cool down to prevent swelling
G0 E1 F1500 ;
G0 E-25 F500 ;
M109 R150; cool down to prevent swelling
G0 E24 F1500 ; last tip dip with cold tip
G0 E-24 ; last tip dip with cold tip
M109 R180; ok... go back up in temp so we can move the extruder
G0 E-80 F500 ; back out of the extruder
G92 E0
M104 S[temperature];
;<<< End Of Tip Shaping >>>
; we skipped to here if it was extruder -1
{endif}
{if previous_extruder>-1}
; retract it back out of the extruder
G92 E0
G0 E-100 F2000
G92 E0
G0 E-100 F2000
G92 E0
G0 E-100 F2000
G92 E0
G0 E-100 F2000
G92 E0
G0 E-40 F2000
G92 E0
G0 E-30 F2000 ; <<<---- if mechanical cutter, change to a positive value of at least 5mm
G92 E0
; ok - out of extruder - press button to remove it all the way
G91 ; move to relative mode
M82
; we skipped to here if it was extruder -1
{endif}
; press the button to select the new extruder
G0 Y3 F2000
{if next_extruder==0}
G4 P500 ; dwell for .5 seconds - adjust this to match your machines single pulse time
{endif}
{if next_extruder==1}
G4 P1000 ; dwell for 1.0 seconds - adjust this to match your machines two pulse time
{endif}
{if next_extruder==2}
G4 P1500 ; dwell for 1.5 seconds - adjust this to match your machines three pulse time
{endif}
{if next_extruder==3}
G4 P2000 ; dwell for 2.0 seconds - adjust this to match your machines four pulse time
{endif}
G0 Y-3
G4 P2000 ; wait for cutter to work
; ok command selected - back out filament if needed after cut
{if previous_extruder>-1}
G0 Y3 F2000 ;
G4 P4500 ;
G0 Y-3;
G4 P400
{endif}
G0 Y3 F2000 ;
G4 P4500 ;
G0 E25 F1500; <<<--- adjust this E value to tune extruder loading
G0 Y-3;
G4 P400
G92 E0
G90 ; move back to absolute mode
M83 ; but make sure the extruder stays in relative
; reload filament all the way into extruder
G92 E0
G0 E100 F2000
G92 E0
G0 E100 F2000
G92 E0
G0 E100 F2000
G92 E0
G0 E100 F2000
G92 E0
G0 E15 F2000 ; <<<<<----------- EDIT THIS DISTANCE TO FINE TUNE THE FILAMENT LOADING TO STOP BLOBBING OR UNDEREXTRUSION
G92 E0
M83 ; turn relative distances for the extruder
;M302 S180 ; prevent cold extrusion
M117 3D Chameleon Tool T{next_extruder}
Working on trying to find the right timings now.
Ok... the start up conditions of the 3DChameleon are not being met. When you turn on the the device, it needs to be homed (7 pulses). Optionally, you can add that to the start gcode as well as automatic unloading of the last used in the end gcode. For examples of that (using Klipper) take a look at our Creality K1 SE sample code on Printables. You can test it by simply homing the unit before the print starts.
Bill