I'm moving my MK3 to a different machine and I need to configure the new setup. I put the new numbers into the 4 code generator and the code is causing the switch to be pressed but not released.
Thanks for the help. Moving back a couple more mm off the button solved the first problem. I need to reconfigure all my P-times to get the motor switch timing.
Another question-- at the start of the button code, there are three quick presses. What are those presses for, and are they supposed to be long enough to get the filament motor to cycle one time? I've reviewed the video, but I can't tell for sure the specific details.
You're only moving 1mm to engage and disengage the switch. Our gcode generator (and the recommended distance) is 3mm. I don't know of any switches that will work with just 1mm of motion.
Please post your code. The Mk4 is identical in function to the Mk3 except for an extra 2 second pause for the Mk3 Mode 3 code. There is no Mode 2 in the Mk4.
I followed Chris's Basement part 3 to reconfigure. The first block is the Start G code and the second is the Tool Change G code. I don't think I'm getting to the Tool Change at this point.
Start:
G90 ; use absolute coordinates
M83 ; extruder relative mode
M104 S{is_nil(idle_temperature[0]) ? 150 : idle_temperature[0]} ; set temporary nozzle temp to prevent oozing during homing
M140 S{first_layer_bed_temperature[0]} ; set final bed temp
G4 S30 ; allow partial nozzle warmup
G28 ; home all axis
G1 Z50 F240
G1 X2.0 Y10 F3000
M104 S{first_layer_temperature[0]} ; set final nozzle temp
M190 S{first_layer_bed_temperature[0]} ; wait for bed temp to stabilize
M109 S{first_layer_temperature[0]} ; wait for nozzle temp to stabilize
G1 Z0.28 F240
G92 E0
G90
M83
G92 E0 ; Extruder Step Count
G0 X0 Y194 F2000 ; Move to button
G0 X0 Y195 F2000 ; Press Button
G4 P150 ; Wait 150ms
G0 X0 Y194 F2000 ; Move to button
G4 P150 ; Wait 150ms
G0 X0 Y195 F2000 ; Press Button
G4 P150 ; Wait 150ms
G0 X0 Y194 F2000 ; Move to button
G4 P150 ; Wait 150ms
G0 X0 Y195 F2000 ; Press Button
G4 P150 ; Wait 150ms
G0 X0 Y194 F2000 ; Move to button
G4 P150 ; Wait 150ms
G0 X0 Y195 F2000 ; Press Button
G4 P32000 ; Wait 7 Pulses
G0 X0 Y194 F2000 ; Move to button
G4 P5000 ; Wait 5 Seconds
Tool
; 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 Y192 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-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 P550 ; 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 P1900 ; 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 P8000 ;
G0 Y-3;
G4 P400
{endif}
G0 Y3 F2000 ;
G4 P7800 ;
G0 E50 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
Thanks for the help. Moving back a couple more mm off the button solved the first problem. I need to reconfigure all my P-times to get the motor switch timing.
Another question-- at the start of the button code, there are three quick presses. What are those presses for, and are they supposed to be long enough to get the filament motor to cycle one time? I've reviewed the video, but I can't tell for sure the specific details.
You're only moving 1mm to engage and disengage the switch. Our gcode generator (and the recommended distance) is 3mm. I don't know of any switches that will work with just 1mm of motion.
Bill
Please post your code. The Mk4 is identical in function to the Mk3 except for an extra 2 second pause for the Mk3 Mode 3 code. There is no Mode 2 in the Mk4.
Bill