Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Prusa XL Toolchanger] Unchangable Dwell time setting on toolhead change causes blobs on print #13987

Closed
1 of 2 tasks
Stippy19 opened this issue Jan 15, 2025 · 7 comments
Closed
1 of 2 tasks

Comments

@Stippy19
Copy link

Stippy19 commented Jan 15, 2025

Description of the bug

After completing a layer in one color, the toolhead freezes for a little over a second before parking the head. In this time, the toolhead may* stay on the printed part, causing blobs by oozing filament. This seems to be caused by "G4 S1.500 ;" command in the CP TOOLCHANGE START block. However, it does not seem to be able to somehow change that by any settings in the slicer.

*Additionally to this setting not being changable: Using two toolheads, the first toolhead goes to the wipe tower, then does the 1.5s dwelling and then docks that toolhead while the second toolhead does the dwelling on the printed part and then is docked directly. I am not sure, if there is another option in the slicer I am missing for that.

Issue originally found by reddit user "finestaut", just matching my issue I had the same day. I am just writing his findings here, to be sure it's seen for Slicer development.
Link

Project file & How to reproduce

Basically every project using multiple toolheads. Example: case_no_toggle.zip

Checklist of files included above

  • Project file
  • Screenshot

Version of PrusaSlicer

2.9.0

Operating system

Windows 10

Printer model

Prusa XL

@Mike-Flexicon
Copy link

I have fixed mostly fixed this with custom code in the "tool change G-code" It drove me crazy that one head would go immediately to the wipe tower and the other would go to the part.. dwell.. then go to the wipe tower. This code fixes that for me, besides having to update the location of the wipe tower when it's moved.

Printer: Modix Big-60
Firmware: RepRap
Board: Duet 2 wifi with duex
Physical Extruders: 2

My custom toolchange G-code:
{if next_extruder == 0}
G91
G0 Z5
G90
G0 X474 Y346 F4800 ; Go to Wipe tower. This should be a parameter instead of having to update it when I move the wipe tower
G91
G0 Z-5
G90
T0
{else}
T1
{endif}

@pipcorona
Copy link

I am seconding this issue. I don't know when it changed, but older sliced files of mine did not have this issue. I recently re-sliced some files and noticed at the end of the print the tool head dwelled on the part before parking. As I was printing TPU, it was leaving a blob on the print. I looked into the gcode and found the same G4 S1.500; code. Manually changing that to S0 after slicing fixed the issue.

It would be nice to be able to control this option in the slicer, or have it where it only dwells if the nozzle is over the purge tower but not over the part.

@kubispe1
Copy link
Collaborator

Hi everyone,

It looks like the 1.5-second pause G4 S1.5, originally intended for ramming in the MMU3, has unintentionally made its way into some tool changer G-code. This pause is meant to ensure the melt zone is warm enough before ramming, which helps remove 100% of the melted filament—but it doesn't make sense in a tool changer setup and should be removed.

This is a bug, and we will suppress the pause in an upcoming Final release. The pause should only appear before the wipe tower in an MMU3+MK4.
Thanks for you help
SPE-2687

there is also X report, so I am linking it together:
https://x.com/gonecozycrafts/status/1891140558220923109

@Stippy19
Copy link
Author

Hi everyone,

It looks like the 1.5-second pause G4 S1.5, originally intended for ramming in the MMU3, has unintentionally made its way into some tool changer G-code. This pause is meant to ensure the melt zone is warm enough before ramming, which helps remove 100% of the melted filament—but it doesn't make sense in a tool changer setup and should be removed.

This is a bug, and we will suppress the pause in an upcoming Final release. The pause should only appear before the wipe tower in an MMU3+MK4. Thanks for you help SPE-2687

there is also X report, so I am linking it together: https://x.com/gonecozycrafts/status/1891140558220923109

Good to know you found the bug :)
I don't think it's fixed in the current new version 2.9.1, right?

@lukasmatena
Copy link
Collaborator

I don't think it's fixed in the current new version 2.9.1, right?

It's not fixed in 2.9.1-alpha1 yet.

@legomind
Copy link

While waiting for the fix, here is a post-processing script to remove the G4 commands. Since post processing scripts are not compatible with binary gcode, you must turn that off in printer settings. Forgive the uglyness, python is not my programming language of choice.

#!/usr/bin/python
import sys
import re
import os

sourceFile=sys.argv[1]

# Read the ENTIRE g-code file into memory
with open(sourceFile, "r") as f:
    lines = f.readlines()

destFile = re.sub('\\.gcode$','',sourceFile)

search_block = False
with open(destFile, "w") as of:
    for lIndex in range(len(lines)):
        oline = lines[lIndex]
        # Parse gcode line
        parts = oline.split(';', 1)
        if len(parts) > 1:
            comment = parts[1].strip()
            
            if comment == "CP TOOLCHANGE UNLOAD":
                search_block = True
            
            if comment == "CP TOOLCHANGE END":
                search_block = False
        
        elif search_block:
            # Parse command
            command = parts[0].strip()

            if command == "G4 S1.500":
               continue 
            
        # Write original line       
        of.write(oline)
of.close()
f.close()

@lukasmatena
Copy link
Collaborator

Fixed in 2.9.1-beta1. Closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants