Notifications
Clear all

BUG: Color Change - Nozzle Puke  

Page 1 / 2
  RSS
LBussy
(@lbussy)
Cunning Linguist
BUG: Color Change - Nozzle Puke

When you do a color change and continue, the nozzle will immediately puke about 40mm of filament and then move to it's position to print. One has to be quick and pull this off or else it gets embedded in the print. I believe it is this code:

<deleted> see post below.

Bad decisions make good stories

Publié : 16/01/2017 1:38 pm
LBussy
(@lbussy)
Cunning Linguist
Topic starter answered:
Re: BUG: Color Change - Nozzle Puke

Raised an issue:

https://github.com/prusa3d/Original-Prusa-i3/issues/18

Bad decisions make good stories

Publié : 16/01/2017 1:48 pm
LBussy
(@lbussy)
Cunning Linguist
Topic starter answered:
Re: BUG: Color Change - Nozzle Puke

@cahe on Slack looked at this and found that the extrusion in GCode is there before and after color processing on the website. He did find this portion of the firmware that seems likely on line 4944 of Marlin_main.cpp:

//Not let's go back to print

//Feed a little of filament to stabilize pressure
target[E_AXIS]+= FILAMENTCHANGE_RECFEED;
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], FILAMENTCHANGE_EXFEED, active_extruder);

//Retract
target[E_AXIS]+= FILAMENTCHANGE_FIRSTRETRACT;
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], FILAMENTCHANGE_RFEED, active_extruder);

If I can, I plan to compile after commenting this out and check behavior.

Bad decisions make good stories

Publié : 16/01/2017 2:02 pm
PJR
 PJR
(@pjr)
Antient Member Moderator
Re: BUG: Color Change - Nozzle Puke

Lee

It is actually a lot simpler.

Take a look in Configuration_prusa.h; this is where the filament change values are defined:

#define FILAMENTCHANGEENABLE
#ifdef FILAMENTCHANGEENABLE
#define FILAMENTCHANGE_XPOS 211
#define FILAMENTCHANGE_YPOS 0
#define FILAMENTCHANGE_ZADD 2
#define FILAMENTCHANGE_FIRSTRETRACT -2
#define FILAMENTCHANGE_FINALRETRACT -80

#define FILAMENTCHANGE_FIRSTFEED 70
#define FILAMENTCHANGE_FINALFEED 50
#define FILAMENTCHANGE_RECFEED 5

#define FILAMENTCHANGE_XYFEED 50
#define FILAMENTCHANGE_EFEED 20
#define FILAMENTCHANGE_RFEED 400
#define FILAMENTCHANGE_EXFEED 2
#define FILAMENTCHANGE_ZFEED 15

#endif

And that is where you need to make any changes.

However, I would add that this has been working happily for most users for some time now...

Peter

Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…

Publié : 16/01/2017 6:33 pm
LBussy
(@lbussy)
Cunning Linguist
Topic starter answered:
Re: BUG: Color Change - Nozzle Puke

However, I would add that this has been working happily for most users for some time now...
Do you sit there, ready to clean the nozzle as soon as you click "yes", or do you let that piece of filament embed itself into your project?

I daresay anyone who has spent an afternoon changing colors as I did would welcome some refinement to this process.

Bad decisions make good stories

Publié : 16/01/2017 6:38 pm
PJR
 PJR
(@pjr)
Antient Member Moderator
Re: BUG: Color Change - Nozzle Puke

No, I change the filament, click on "Yes", and hold the filament as the nozzle moves, then as it's about to restart the print, I pull the filament away.

Any I worked that out all by myself...

Peter

Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…

Publié : 16/01/2017 6:46 pm
LBussy
(@lbussy)
Cunning Linguist
Topic starter answered:
Re: BUG: Color Change - Nozzle Puke

Any I worked that out all by myself...

That sounds very condescending.

Apparently there are no bugs or opportunities for improvement so I'll shut my mouth and go elsewhere.

Bad decisions make good stories

Publié : 16/01/2017 10:57 pm
mavu
 mavu
(@mavu)
Estimable Member
Re: BUG: Color Change - Nozzle Puke

Any I worked that out all by myself...

That sounds very condescending.

Apparently there are no bugs or opportunities for improvement so I'll shut my mouth and go elsewhere.

Yeah, I have to agree that PJR seems to have had a bad day, don't judge too harshly, it happens to everyone.

On the color change mechanic, I only used it a couple of times some weeks back, and don't remember having to be quick with removing extruded filament. But I do remember that I had to answer the "color clear?" question no the first time, and let it extrude a second length of plastic. Then (as far as I remember) I removed the excess, and clicked yes, and it just started printing again.

Could you try that? maybe it will not work because I misremembered, but if it works, it might help finding out whats going wong.

Publié : 17/01/2017 12:06 am
PJR
 PJR
(@pjr)
Antient Member Moderator
Re: BUG: Color Change - Nozzle Puke

Yeah, I have to agree that PJR seems to have had a bad day

Marco, you are indeed correct in that I do have occasional "bad days", but when I spend my time giving help, for someone to post a cryptic "Do you sit there..." comment rather than thank me for saving their time, I get a little upset and wonder why I bother.

There are reasons why the filament change does what it does; if someone wishes to change that default behaviour, they can quite easily do so.

Peter

Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…

Publié : 17/01/2017 8:03 am
mavu
 mavu
(@mavu)
Estimable Member
Re: BUG: Color Change - Nozzle Puke

Yeah, I have to agree that PJR seems to have had a bad day

There are reasons why the filament change does what it does; if someone wishes to change that default behaviour, they can quite easily do so.

Peter

Its a valid comment though, isn't it?
I have to try color changing again, because I really don't remember it being as described in OP.
And if that actually happens, I'd agree that its weird and possibly something to be changed in the default settings.

I'll try a color change later today and see what happens.

Publié : 17/01/2017 11:08 am
PJR
 PJR
(@pjr)
Antient Member Moderator
Re: BUG: Color Change - Nozzle Puke

Marco

Absolutely and it is also very easily changed by amending the code I provided.

But the reason for it happening is also documented in the code provided by Lee:

"//Feed a little of filament to stabilize pressure"

Peter

Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…

Publié : 17/01/2017 11:55 am
LBussy
(@lbussy)
Cunning Linguist
Topic starter answered:
Re: BUG: Color Change - Nozzle Puke

Just because a programmer puts a comment in there does not necessarily mean it was the right choice for the workflow. And also consider not everyone is a programmer, and many Prusa customers would not be poking about in the source code for a "solution".

Peter, if you can't be bothered to help without being an asshat, please just ignore the thread. Just because you think you helped doesn't mean you actually did. It's not my fault if you're having a bad day. If you want to help people then help. Conversely if all you are here to do is tell people they did it wrong, I invite you to take your Steve Jobs approach elsewhere.

For those who might be interested in the workflow:

  • The head retracts and moves off-print

  • The filament ejects

  • The UI prompts you to change filament

  • You select "Yes", "Not clear" or "No" (words may not be exact) for the status after the initial filament load and purge

  • I select "Not clear" a few times to get a clean color

  • I make sure the nozzle is clean, and select "Yes"

  • The nozzle "pressurizes" and extrudes more filament
  • Steps 6-7 are where a person can simply hold onto the "tail" of the filament which was extruded in steps 4-5 and hope you get a clean break (and a clean nozzle) when it moves. It's been my experience that this does not happen consistently. I often get a small blob when the next perimeter starts. Therefore I try to clean the nozzle after it "pressurizes" and just as it begins to move since there's no delay.

    So this is what I view as a less than optimal setup. It's not sacrilege to point it out, and I am not attacking anyone who needs defending. I'm pointing out the user experience which comes from a programming decision. Any code can be improved.

    Does this rise to the level of Prusa doing something in their fork? I don't know. That's not my decision. I'm just trying to provide some visibility. I don't see a lot of multi-color printer parts (the main product of the printer farm @ Prusa) so maybe this is not something they see every day. When you consider the multi-material product uses a "purge tower" as a solution for this rather than a user trying to clear the nozzle, I think it's reasonable to say someone thought about this and thought a programmatic solution was appropriate.

    Bad decisions make good stories

    Publié : 17/01/2017 2:46 pm
    PJR
     PJR
    (@pjr)
    Antient Member Moderator
    Re: BUG: Color Change - Nozzle Puke

    Steps 6-7 are where a person can simply hold onto the "tail" of the filament which was extruded in steps 4-5 and hope you get a clean break (and a clean nozzle) when it moves.

    Lee

    Whenever I have used the filament change with an M600 code, then I have always managed to get a clean nozzle.

    There are a couple of "gotchas" in there though, regarding the "blob" that is printed on the part.

    1. If you have used the ColorPrint software to add the M600 code, then all should be OK (but never having used that program, I don't know if it removes the prime line - see below)

    2. If you have added the M600 code manually, then there is also a prime after retract that needs to be removed from the GCode; the M600 is usually inserted between layers and the slicer will usually be set to retract/move/prime at that point.

    3. If you are using the "filament change" option then there may or may not be a prime instruction immediately following a change; it will be pure luck whether you get a blob or not.

    There will always be an element of ooze when moving back to the part following a filament change and that is what needs to be "caught" I stand by the printer, hold the extruded filament and as the Z axis lowers, I do a quick pull; everything is clean with no blobbing.

    I only use the "Change Filament" menu option when I am about to run out of filament and I manually insert the M600 code for colour changes, deleting the following prime commands.

    I do hope this helps.

    Peter

    Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…

    Publié : 17/01/2017 5:57 pm
    LBussy
    (@lbussy)
    Cunning Linguist
    Topic starter answered:
    Re: BUG: Color Change - Nozzle Puke

    I will try some controlled prints and monitor my results when only pulling the filament as it moves after the extrusion and report my results. I'll endeavor to take pictures if I can.

    Bad decisions make good stories

    Publié : 17/01/2017 6:57 pm
    PJR
     PJR
    (@pjr)
    Antient Member Moderator
    Re: BUG: Color Change - Nozzle Puke

    OK, so I just looked at your github report.

    M600
    G1 E0.80000 F2100.00000

    That is the prime after the previous retract that the M600 is placed after. The 0.8mm extrusion will extrude 2.4 * 0.8 mm^3 of filament or about 15mm @ 0.4mm diameter. which may be the cause (but obviously not 40mm!). It will actually be less than 15mm, as the nozzle will need some repressurisation.

    As I previously mentioned, this prime after retract should be removed (as it does leave a blob on the part), which is simple enough to do if you are adding the M600 yourself.

    Depending on the slicer you use, you may be able to add comments to the GCode, in which case, it should be fairly straight forward to add the M600 manually during infill. Find the layer you need the change, then scroll down and you should see the infill.

    Peter

    Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…

    Publié : 17/01/2017 10:51 pm
    LBussy
    (@lbussy)
    Cunning Linguist
    Topic starter answered:
    Re: BUG: Color Change - Nozzle Puke

    Thanks Peter, I'll look at that too.

    Bad decisions make good stories

    Publié : 17/01/2017 11:15 pm
    LBussy
    (@lbussy)
    Cunning Linguist
    Topic starter answered:
    Re: BUG: Color Change - Nozzle Puke

    It has taken me a while to get back here and post. I have been doing a lot of color printing and feel like I both understand it more, and can confirm there is area for improvement.

    There are two places we are getting extrusions, one is in the firmware:

    //Not let's go back to print

    //Feed a little of filament to stabilize pressure
    target[E_AXIS]+= FILAMENTCHANGE_RECFEED;
    plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], FILAMENTCHANGE_EXFEED, active_extruder);

    //Retract
    target[E_AXIS]+= FILAMENTCHANGE_FIRSTRETRACT;
    plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], FILAMENTCHANGE_RFEED, active_extruder);

    ... and one is in the gcode:

    M600
    G1 E0.80000 F2100.00000

    The first one is handled by process. Instead of dutifully cleaning the nozzle after you finish loading filament, you leave the extrusion on there, hit "ok" and hold on to the extrusion. The firmware extrusion hits, the head moves, and since you have a hold of it the entire strand will break off at once. Cool there. Simply something a guy has to learn.

    The second place we get an extrusion is the G1 immediately after the M600. I believe this is there because there is a retraction before it changes level:

    G1 X156.062 Y88.655 E-0.76000

    The ColorPrint process inserts the head movement and the M600 after the Z move and retraction so the "second" extrusion remains. It is this extrusion that leaves a small blob of extruded filament on the print.

    ... or that's my theory

    If you are printing from the inside-out with enough perimeters, there's no issue. It will be covered up. If you are printing let's say 3 perimeters or less, the blob is visible in the print.

    So what's the answer? Removing that line is one possibility. Taking into consideration the relatively simple approach, I'm not sure how else to do it. I would argue that it's preferable to have that slight void (if it would actually create one) in the inside of the perimeters than the extra extrusion on the outside. Of course if you are printing in vase mode it's a tossup whether you want a blob or a void.

    Those are my findings and observations. I appreciate all who have contributed to my increased understanding. Maybe some smart person can figure out a way around this.

    Bad decisions make good stories

    Publié : 04/02/2017 9:19 pm
    tim.h3
    (@tim-h3)
    Active Member
    Re: BUG: Color Change - Nozzle Puke

    I love the color change feature, but I have to agree that there's something funny going on.
    I see the same behavior where there extruder spits out a few cm on it's way to start printing.
    For now, I make sure I'm on the spot with my little spatula to knock it off before printing starts.
    I often use colorprint to put text on objects, so the extra extrusion is disastrous if I miss it.
    I'll try the "just hang on" technique the next time I use it.

    Publié : 28/03/2017 5:08 am
    PJR
     PJR
    (@pjr)
    Antient Member Moderator
    Re: BUG: Color Change - Nozzle Puke

    The ColorPrint process inserts the head movement and the M600 after the Z move and retraction so the "second" extrusion remains. It is this extrusion that leaves a small blob of extruded filament on the print.

    ... or that's my theory.

    Lee

    That is exactly the cause of the blob on the part and it's the reason why I manually add the M600 code and at the same time remove the destring prime.

    However, I have been finding out (with the MM upgrade) that 3D printing is not straight forward. When printing, the nozzle needs an amount of pressure to extrude correctly and this pressure is lost on a filament change and has to be built up again when printing resumes.

    In Slic3r, this is labelled "Pressure Advance" (other slicers use different names) and is currently an "experimental feature" (best not used).

    Bottom line is that without the destring prime, you can get under-extrusion (resulting in a dimple), but with it you can get a blob.

    The M600 is a long way from being perfect, but in the main it "works" for most users.

    Peter

    Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…

    Publié : 28/03/2017 9:54 am
    james.c10
    (@james-c10)
    Eminent Member
    Re: BUG: Color Change - Nozzle Puke

    What about printing a small throw away tower next to the main object when you want to print with a color change?

    This way you could let the small blob happen but contain it in the tower rather than the main object. It would waste some filament but it might be worth it to not have a blob or void on the main item you are printing.

    Publié : 28/03/2017 1:59 pm
    Page 1 / 2
    Partager :