Weeks in the making I finally got the servo to cut the filament reliably. The trick was a buck converter and using the upper range of the servos input Voltage.
My issue now is what to do with the mk4 gcode? It seems that the mk4 firmware has a servo action built in at a extruder change, separate from the mk4 gcode. What are the key command lines to tinker with? In mind mind, on a extruder change filament should back out of hot end, then a cut. Short end fed back in extruder other end retracted. Right now the servo does a cut but it doesn't retract out of the hotend. Right now my 3Dc loads the first extruder and will make a cut for the 2nd but won't load the 2nd correctly My assumptions are highlighted yellow.
; Auto generated 3D Chameleon Mk4 Mode 3 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 Y231 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-40 F500 ; retract a bit, adjust this to tune waste ; on the sprite extruder Hot end to extruder gears is about 44mm
; <<<< insert mechanical cutter code here! >>>>
; <<< Start Of Tip Shaping V3 >>>
;M702
;G92 E0 ; Zero the extruder
;G0 E10 F500; push out the molten filament
;G0 E-13 F4000; quickly retract
;G4 P5000 ; Wait for 5000ms (5 seconds)
;G1 E-50 F1500 ; Quickly retract 50mm to fully unload the filament
; <<< End Of Tip Shaping V3 >>>
; 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-0 F2000
G92 E0
G0 E20 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 E30 F1500; <<<--- adjust this E value to tune extruder loading was 25
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 E-25 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}
; This should be a purge line at the start of the print
{if previous_extruder==-1}
G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
G1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line
G92 E0 ; Reset Extruder
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish
{endif}
Hi Matthew, did You succeed to get the Clippy working? Let us please take a look at Your final Tool Change GCode, thanks.