Page MenuHomeAleph Objects Inc

Update Banded and Dingy re-wipe temperature
Closed, ResolvedPublic

Description

Looking at banded wipe temperatures, we would like the re-wipe temp increased to 170c to be more uniform across all materials:

PLA - 160
ABS - 170
X-Strand - 180
NinjaFlex - 180
PETG - 180
PA-CF - 165

Event Timeline

karrad created this task.Oct 9 2018, 8:49 AM
karrad triaged this task as Normal priority.
karrad created this object with edit policy "Marlin (Project)".
marcio added a comment.EditedOct 9 2018, 8:55 AM

Not sure why this is in the Marlin board. Marlin does not change the temperature during a rewipe. It never has.

karrad added a comment.Oct 9 2018, 9:02 AM

@marcio Failed probe, leads to a re-wipe. All controlled in marlin correct?

marcio added a comment.Oct 9 2018, 9:03 AM

@karrad: Yes. But there is currently no change in temperature during that process.

marcio added a comment.Oct 9 2018, 9:10 AM

@karrad:

These are the scripts that execute during a rewipe for gladiola:

#define LULZBOT_G29_RECOVER_COMMANDS \
    "M117 Rewiping nozzle\n"              /* Status message */ \
    "M121\n"                              /* Turn off endstops so we can move */ \
    "G0 Z10\n"                            /* Raise nozzle */ \
    "G28 X0 Y0\n"                         /* G29 on older minis shifts the coordinate system */ \
    "G12 P0 S12 T0\n"                     /* Wipe nozzle */ \
    "M120\n"                              /* Restore endstops */ \
    "M117 Probing bed"                    /* Status message */

For Mini 2/TAZ 7:

#define LULZBOT_G29_RECOVER_COMMANDS \
    LULZBOT_MENU_AXIS_LEVELING_COMMANDS   /* Level X axis */ \
    "M117 Rewiping nozzle\n"              /* Status message */ \
    "G12 P0 S12 T0\n"                     /* Wipe nozzle */ \
    "M117 Probing bed"                    /* Status message */

And for TAZ:

#define LULZBOT_G29_RECOVER_COMMANDS \
    "M117 Rewiping nozzle\n"              /* Status message */ \
    "G0 Z10\n"                            /* Raise nozzle */ \
    "G12 P0 S12 T0\n"                     /* Wipe nozzle */ \
    "M117 Probing bed"                    /* Status message */

If you want additional temperature control, modify these scripts as you see fit and I can add them to Marlin.

karrad added a comment.Oct 9 2018, 9:16 AM

@marcio Ahh my apologies. I think the issue is it is re-wiping at probing temperature, which is usually lower than wipe temp. Any way we can include a set re wipe temp, followed by a set probe temp? Thinking 160 probe 170 wipe

karrad added a comment.Oct 9 2018, 9:40 AM

@marcio please review, don't want to break anything =P

#define LULZBOT_G29_RECOVER_COMMANDS \
    "M117 Heating Nozzle\n"              /* Status message */ \
    "M109 R170\n"                        /*Heating nozzle and wait*/\
    "M117 Wiping Nozzle\n"                /*Status message*/\
    "M121\n"                              /* Turn off endstops so we can move */ \
    "G0 Z10\n"                            /* Raise nozzle */ \
    "G28 X0 Y0\n"                         /* G29 on older minis shifts the coordinate system */ \
    "G12 P0 S12 T0\n"                     /* Wipe nozzle */ \
    "M120\n"                              /* Restore endstops */ \
     "M109 R160\n"                    /*Setting probing temperature*/\
    "M117 Probing bed"                    /* Status message */

Mini2 TAZ 7

#define LULZBOT_G29_RECOVER_COMMANDS \
    LULZBOT_MENU_AXIS_LEVELING_COMMANDS   /* Level X axis */ \
    "M117 Heating nozzle\n"              /* Status message */ \
    "M109 R170\n"                               /*Setting wipe temp and wait*/\
    "M117 Rewiping nozzle\n"              /* Status message */ \
    "G12 P0 S12 T0\n"                     /* Wipe nozzle */ \
    "M109 R160\n"                            /* Setting probe temp and wait*/\
    "M117 Probing bed"                    /* Status message */

TAZ

#define LULZBOT_G29_RECOVER_COMMANDS \
    "M117 Heating nozzle\n"              /* Status message */ \
    "M109 R170\n                                /* Setting wipe temperature and wait*/\
    "M117 Rewiping nozzle\n"              /* Status message */ \
    "G0 Z10\n"                            /* Raise nozzle */ \
    "G12 P0 S12 T0\n"                     /* Wipe nozzle */ \
    "M109 R160\n"                           /*Set probing temperature*/\
    "M117 Probing bed"                    /* Status message */
marcio added a comment.Oct 9 2018, 1:09 PM

@brent.i: Need to know whether it is okay to do this change across the board, rather than just for Banded and Dingy.

karrad added a comment.Oct 9 2018, 2:25 PM

@marcio Lets try it for all printers, we will not incorporate into CUra until we have done more testing with various materials

@karrad: .22 implements the feature.

However, when I used it on my Mini 2, I am noticing that it pushes down on the bed really hard, suggesting to me the nozzle isn't quite clean after the rewipe. I believe this is either caused by oozing or the nozzle resting on the pad when warm and lifting material off the pad as it raises.

One thing to notice is that M109 isn't as precise as you may need it for this application. M109 only waits until the temperature is within 10 degrees of the target, so when you ask the temperature to drop from 170 to 160 after wiping, there is no wait since those two numbers are within 10 degrees of each other.

I'll experiment with a variation where the temperature is dropped back down to 160 at the start of the nozzle wipe. Perhaps having the nozzle cool as it is being wiped will cause any oozing filament to be wiped off, until the temp falls low enough to solidify any filament inside the hotend, while still finishing off the wipe.

@karrad: Two different firmwares for you to try:

.22 uses the following wipe sequence. This one is like what you proposed, only that I added a M104 before the axis leveling to cut down on wait time:

"M104 S170\n"                         /* Start heating to wipe temp */ \
LULZBOT_MENU_AXIS_LEVELING_GCODE      /* Level X axis */ \
"M109 R170\n"                         /* Setting wipe temp and wait */ \
"M117 Rewiping nozzle\n"              /* Status message */ \
"G12 P0 S12 T0\n"                     /* Wipe nozzle */ \
"M109 R160\n"                         /* Setting probe temp and wait*/ \
"M117 Probing bed"                    /* Status message */

While testing with PLA with no retraction and heavy ooze, I found this variant pushes down on the bed quite hard, but does succeed the probe.

.23 uses the following wipe sequence that employs fan-assisted cooling while wiping:

"M109 R170\n"                         /* Wait for wipe temp */ \
"M117 Rewiping nozzle\n"              /* Status message */ \
"G12 P0 S4 T0\n"                      /* Wipe nozzle while hot */ \
"M104 S160\n"                         /* Drop to probe temp during wipe */ \
"M106 S255\n"                         /* Turn on fan to aid with cooling */ \
"G4 S5\n"                             /* Wait for temperature to drop */ \
"G12 P0 S4 T0\n"                      /* Wipe nozzle while cooling */ \
"G4 S5\n"                             /* Wait for temperature to drop */ \
"G12 P0 S4 T0\n"                      /* Wipe nozzle while cooling */ \
"M107\n"                              /* Turn off fan */

While testing with PLA with no retraction and heavy ooze, I found this variant probes beautifully and causes absolutely no flex of the build bed.

@marcio On the V3 dual extruder I am not seeing any temperature changes on the second extruder. It also appears to pause when re-wiping?

karrad updated the task description. (Show Details)Oct 15 2018, 1:37 PM

@karrad: Probing only happens using the first extruder, so Marlin will only rewipe that nozzle. I put in the pauses to give the nozzle some time to cool down. So it should be wipe... pause... wipe... pause... wipe. Not a very long pause though, just a few seconds.

@marcio I will need to double check, but we do wipe both nozzle. I also believe we probe using T1 for the right hand probe points. (currently print running will verify tomorrow)

marcio added a comment.EditedOct 15 2018, 3:02 PM

@karrad: I believe you are correct, we fudged the probe point coordinates so the right nozzle hits the probe points, but really Marlin thinks it is probing with the left nozzle (even though it isn't).

The built-in Marlin clean nozzle GCODE G12 can only handle one wipe pad, so in all previous and current V3 FW, only the left nozzle would get rewiped. Since then, I've modified the rewipe routine so it can use any arbitrary GCODE script, so we could add additional commands to clean the right nozzle.

@marcio We had to widen the wipe pad for the V3 dual, so the second nozzle is currently getting wiped with our existing script. It just does not heat up and cool down like the first one does

@karrad: Oh. Okay. I guess it's just a matter of adding temp commands to T1 then.

@Orias @lansky Marlin 1.1.9.23 introduces some new re-wipe and probe behavior after a failed print.

This new firmware introduces temperature heat up and cool down after a failed probe, to get better cleaning. In previous versions of firmware, we would re-wipe at the probe temperature. As this is hard coded per machine, we are going with a 170 wipe and 160 probe.

This firmware also introduces a pause during the re-wipe, to allow for cooling to probing temperature. We need your feedback on the pause, and whether this is acceptable.

Our other option is to increase the number of wipes back and forth to allow time to cool to probing, but this will increase wear and tear on the wiper pads.

We appreciate it!

@karrad We will get this version installed and take a look.

@lansky tym! Sticky notes are the easiest way to force a failed probe

@lansky We are going to need feedback on this one today, please force a few failed probes using 1.1.9.26 (default FW in cura .32) Let us know what you think

karrad reassigned this task from marcio to lansky.Nov 1 2018, 10:21 AM
karrad raised the priority of this task from Normal to High.
karrad added a subscriber: marcio.

@karrad Alright I'll see what I can do.

Got a couple probe fails using the new firmware and in general I feel like the option of having the toolhead go back and for a few extra times would probably be less alarming for customers. I also am starting to see the telltale gouge in my wiper pad due to the nozzle pausing over one spot. So all in all I would say the wear to the pad would be about the same but wiping it will disperse the wear better.

tutley added a subscriber: tutley.Nov 1 2018, 1:35 PM

I also think customers will think their machine froze if it is wiping and then just stops for a bit

karrad added a comment.Nov 1 2018, 3:21 PM

I second tutleys observation. When first seeing this I thought I was having serial communications issues via cura

karrad claimed this task.Nov 8 2018, 10:19 AM
karrad closed this task as Resolved.

We removed the pause in re-wipe due to perceived issues of stalling/communication problems. This one is good to close

Note regarding the final commit for this task -- there's a rogue line continuation character left at the end of the macro definition (on line 1478, after the comment) that eats the #else on the next line, resulting in this issue in my Jenkins build:

"incompatible redefinition of macro "LULZBOT_WIPE_SEQUENCE_GCODE" (declared at line 1479)"

The source file in question is /Marlin/Conditionals_LulzBot.h

I guess it's up to the compiler to figure out which definition to use, but it'll be wrong for at least one of the two paths...

@mjwesterhof: Good catch. Since LULZBOT_ENHANCED_WIPE is always defined on line 1476, it looks like the consequence of this bug is that for all printers LULZBOT_WIPE_SEQUENCE_GCODE is redefined. The redefinition basically restores the old behavior in that there is no wait for the wipe temperature to be reached and also gets rid of the drop to probe temperature afterwards. Interesting.