@droftarts Hi, thanks for the writeup.
I liked the idea using the arduino and it being separate from the printer electronics basically so I printed out Chameleon and during testing my version was not the most reliable.
Then I decided to go other route to use 2 steppers but same electronics (Arduino Uno with CNC Shield V3).
Additionally, I removed the tip shaping as I installed a mechanical cutter based on EVA3.0 toolhead.
So it tested and is working fine, every single time. A bit of tuning the times for the program choice but it can be done.
I thougth that perhaps I made a mistake with Orca or Prusa slicers so followed the Chameleon instructions closely, almost the same tool change in G code for both of them. I think now it is implemented in Chameleon code.
Here is auto generated GCode when you input required data for switch poisition and distances for filament.
I think the secret for tool chnage and choice is in the below lines:
; load extruder #{next_extruder}
M117 Loading Tool T{next_extruder}
{if previous_extruder>-1}
I have no issue to leave it as it is just wanted to see if nyone had similar issue with other MMUs which use similar slicer options.
; 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 Y378 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- Not Needed If You Have A 3DClippy Filament 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-95 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 P5000 ;
G0 Y-3;
G4 P400
{endif}
G0 Y3 F2000 ;
G4 P5000 ;
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 E70 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}