bonjour je viens d'installer le chameleon sur mon imprimante j'ai configuré prusa slicer pour 4 extrudeur et mi le gcode générer pour le mk3 le souci je fait des testes sur 2 couleurs au lancement du print pas de souci il me charge la couleur 1 mes quand mon imprimante appuis sur le bouton pour changer la couleur il décharge et recharge la même couleur et non la 2 pourtant pas d'erreur sur le gcode ou un truck que j'ai loupé ?
sur le slicer j'ai bien mi extrudeuse 1 pour la couleur et extrudeuse 2 pour la deuxième couleur
mes sur le bouton il n'appuis qu'une foi et pas deux
voila le gcode
; Auto generated 3D Chameleon Mk3 Tool Change GCode for PrusaSlicer
; - 3D Chameleon Mk3 Tool T{next_extruder} -
;begin switch from extruder {previous_extruder} to extruder #{next_extruder}
M117 Unloading Tool T[previous_extruder]
M82 ; turn absolute distances for the extruder
; unload extruder {previous_extruder}
G92 E0
; go to holding position to unload the stock extruder
G0 X99.5 Y199 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
M82
{if previous_extruder>-1}
; cool (and size) in 1.8mm tube
G0 E-20 F4000 ; quickly retract the filament to shape it
G0 E-10 F600; slowly allow it to cool
G0 E1 F2000 ; blob elimination
; back to tip size
G0 E-20 F4000 ; quickly retract the filament to shape it
G0 E-10 F600; slowly allow it to cool
G0 E1 F4000 ; blob elimination
G0 E-10 F4000 ; quickly retract the filament to shape it
G0 E1 F4000 ; quickly ram the filament to shape it
G0 E-10 F4000 ; quickly retract the filament to shape it
G0 E1 F4000 ; quickly ram the filament to shape it
; back to 1.8 constriction
G0 E-50 F4000 ; quickly retract the filament to shape it
G0 E-80 F100; slowly allow it to cool
; turn the fan off
M107 ; this printer has the fan in the way, so turn it off
; 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-35 F2000
G92 E0
G0 E-30 F2000
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}
; load extruder #{next_extruder}
M117 Loading Tool T{next_extruder}
; press the button to select the new extruder
G0 X3 Y3 F2000 ; press the button
{if next_extruder==0}
G4 P100 ; dwell for .1 seconds
{endif}
{if next_extruder==1}
G4 P200 ; dwell for .2 seconds
{endif}
{if next_extruder==2}
G4 P300 ; dwell for .3 seconds
{endif}
{if next_extruder==3}
G4 P400 ; dwell for .4 seconds
{endif}
G0 X-3 Y-3 ; back off the button
G4 S15; wait for it to happen ; adjust this time to match the actual tool change time - subtract the time it takes to load for the last 1" into the extruder
G0 E75 F1500 ; << ------- ADJUST THE E50 VALUE TO STOP IT RIGHT AFTER IT LOADS INTO THE STOCK EXTRUDER (50mm is the default)
; ADJUST THE F1500 TO MATCH THE SPEED OF THE FILAMENT FROM THE 3D CHAMELEON
; NOTE: This defaults should work, but you can always tune them to be perfect.
G4 P1500 ; This is just a half second extra reloading time... just to make sure
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 E35 F2000 ; <<<<<----------- EDIT THIS DISTANCE TO FINE TUNE THE FILAMENT LOADING TO STOP BLOBBING OR UNDEREXTRUSION
G92 E0
M83 ; turn relative distances for the extruder
M117 3D Chameleon Tool T{next_extruder}
Ok... I can see your Auto Generated GCode has not been corrected to match the proper timing. Please regenerate the GCode... I've updated it to make it better match the timing. Also, my documentation needs to improve on this process... I'm going to record a video this weekend to show how it's done. In summary, there are two ways to get accurate button press timing. The first way is to use the Autogenerated GCode and edit the press times to make the G4 P{time} values to match exactly what your printer is doing. This is the simplest to understand... and you can actually do it by trial and error. The button pulses are about .5 seconds apart...so you can set the times for the buttons to match that... for example, the gcode now uses P500 for 1/2 second for the first extruder, P1000 for the second, P1500 for the third and P2000 for the fourth. That might be too long or too short for your printer. So you can adjust them up or down... for example, if it's too short, you might change them to P600, P1200, P1800 and P2400. They're all always multiples of the first value, however. So a 7 pulse would be P4200 or 4.2 seconds, for example. The second way is to allow the system to time the pulses. The 15 pulse command allows for that. The idea is that you're supposed to use the start gcode and the 15 pulse command to program exactly how long it should be waiting. Please not the 15 pulse timing requirement... it's exactly the same process as above, where you enter the time it takes to do the 15 pulses... but that is the only point you need to do it. All the rest will automatically happen. So... in your case, you might have a block of commands that look like this in your start GCode after you home it: ; button press calibration - place after your homing sequence in the start gcode G0 X99.5 Y199 F2000 ; go to the holding location G0 Y202 ; hit the button G4 P7000 ; waits long enough to trigger the 15 pulses <--- Make sure you tune this actually match your 15 pulse time! (Count the pulses as it presses the button... too many pulses, shorten the time... too few, increase the time)
G0 Y199; back off the button
G4 S2 ; just wait a second for it to respond - should vibrate 3 times
; ok, here is where we program your P100 timing the rest of the code uses
G0 Y202 ; hit the button
G4 P100 ; this matches your #1 extruder command G0 Y199; back off the button
G4 S2 ; this waits for 2 seconds... it should vibrate once here G0 Y202 ; hit the button a second time
G4 P200 ; wait twice as long as #1 command... (same as #2... but the unit factors out any time delays due to motion.) G0 Y199; back off the button
G4 S2 ; this waits for 2 seconds... again, it will vibrate in response
; this block should home the unit - if it doesn't, adjust the P100 above until it does
G0 Y202 ; hit the button
G4 P700 ; this is 7X the P100 value... which is a homing press
G0 Y199; let off the button
G4 S2 ; wait 2 second for it to happen
; ok - this is the end of the calibration code What this code does is give it two example button press commands... a 1 pulse and a 2 pulse command. The unit then calculates exactly how long it takes for each pulse to occur and maps the internal clock to exactly what your printer is doing. Bill