Can 'pressure advance' cause negative filament feed ?
-
If the speed at the start of a very short line segment is much greater than the speed at the end, then with pressure advance enabled it is possible that the overall extrusion amount could be negative. But if the speeds are similar or both zero, then the net extrusion commanded must be positive.
-
I assume you already checked if the feeder motors lose steps? Feel the feeder motors, there could be distinguishable vibration when this occurs.
Can you post the gcode?
-
@deckingman said in Can 'pressure advance' cause negative filament feed ?:
@jens55 Depending on your speed, you might have been hitting the step pulse frequency limit at 128x which would have led to missed steps. Dunno - just a guess. But PA shouldn't affect the total amount of filament extruded.
I went from a 16X microstep (with interpolation) to 128X microstepping and there was no change. In desperation I tried to run the part with no pressure advance and it no longer had the issue of feeding backwards. To me that seems to indicate that it was not a problem with nozzle clogging or other similar issues (which were my first guess).
I did not try upping the microsteps to 255X
-
@edgars-batna said in Can 'pressure advance' cause negative filament feed ?:
I assume you already checked if the feeder motors lose steps? Feel the feeder motors, there could be distinguishable vibration when this occurs.
Can you post the gcode?
See my comment re feeder motor not loosing steps in my previous reply.
I attached a recreated gcode file ... I am not sure all the settings in Cura are in fact the same as on the model I was working with earlier but it should produce similar backwards feed at the end when it prints the tiny teeth if pressure advance is enabled.
-
@dc42 said in Can 'pressure advance' cause negative filament feed ?:
If the speed at the start of a very short line segment is much greater than the speed at the end, then with pressure advance enabled it is possible that the overall extrusion amount could be negative. But if the speeds are similar or both zero, then the net extrusion commanded must be positive.
I was printing fairly slow (either 60 or 40 mm/sec) but travel speed was up at 200 mm/sec. The line segments would have been in the order of 1/2 to 3/4 of a mm. Pressure advance was at 0.4.
-
My apologies for the late reply - I had set the topic to 'watched' but for some reason was not notified of any replies. Today I decided to check the actual thread and sure enough there were three replies.
On thinking a bit more on this issue, I can live with the issue as I can turn off pressure advance for models of this nature but I think the documentation should make mention of the possibility of retraction happening. There is a clear mention that motion of the extruder can be in reverse towards the end of a line segment but it never occurred to me that there was a possibility of the total feed of a particular line segment (the accelerated feed at the beginning, the main feed and then the reduced feed at the end) could all add up to a negative amount (negative feed doesn't make sense). I was always under the impression that the total filament feed during the printing of a line segment would reflect the actual Gcode sent .... it does not in this situation .... the gcode shows positive filament feed but the extruder's total feed is negative.
I am thinking that there might be a bug of some kind in that feature but I don't know. In any case, the particular model I was trying to print was well outside of what FDM printers are expected to achieve so this particular set of conditions was probably never tested for. -
@jens55 said in Can 'pressure advance' cause negative filament feed ?:
negative feed doesn't make sense
It does if the line segment is a very short part of a decelerating sequence as dc42 explained. During deceleration the pressure has to be reduced and that means feeding less filament in than is coming out. The amount extruded during the line should always be positive and proportional to its length but that isn't the same as what is feed into the extruder while accelerating and decelerating with pressure advance.
However, in any sequence of segments from a start to a stop the total fed in should equal the total out, so that should always be positive and match the sum of the E values in the G-code.
-
@nophead said in Can 'pressure advance' cause negative filament feed ?:
@jens55 said in Can 'pressure advance' cause negative filament feed ?:
negative feed doesn't make sense
However, in any sequence of segments from a start to a stop the total fed in should equal the total out, so that should always be positive and match the sum of the E values in the G-code.
.... and that is exactly what I would think 'should' happen but it is not what is happening when I print the part in question. Gcode says to extrude filament (very small sections) but when pressure advance is on, the extruder ends up retracting more than it advances giving a net negative feed.
-
@jens55 Well, I tried this print. I'm definitely hearing those loud "click" sounds as I usually do when losing steps on the extruder. On my printer it happens when the head is doing the top and bottom fill with the back-and-forth moves. But, having discussed this thing multiple times and implementing dirty hacks in the firmware already, I don't know what to think of it.
The infill looks borked, but it's probably just the unfitting 0.4 nozzle.
Have you tried scaling the model up 5x or 10x to see if the issue changes?
-
@jens55 I talked too early. Layers ~64-77 are just retracting indefinitely on my printer without losing many steps...
-
@edgars-batna said in Can 'pressure advance' cause negative filament feed ?:
@jens55 Well, I tried this print. I'm definitely hearing those loud "click" sounds as I usually do when losing steps on the extruder. On my printer it happens when the head is doing the top and bottom fill with the back-and-forth moves. But, having discussed this thing multiple times and implementing dirty hacks in the firmware already, I don't know what to think of it.
The infill looks borked, but it's probably just the unfitting 0.4 nozzle.
Have you tried scaling the model up 5x or 10x to see if the issue changes?
Something is amiss here .... first of, you are talking about a 0.4 mm nozzle - I am using a 0.2 mm nozzle.
I also don't understand how you could get over feeding on a nozzle that is twice the size this print was made for.
I can only guess that when I recreated the gcode file (I didn't have the original any more), I messed up someplace.
The model prints fine here (actually not just fine but perfect) until I get to the little teeth on the top. Even those print fine with no pressure advance. With 0.4 pressure advance the teeth start printing for maybe one layer and then stop as the extruder starts going backwards. If I recall, it doesn't go backwards continuously but I don't think I ever watched it well enough to be sure about that. All I know for sure is that the print works with no pressure advance but doesn't with 0.4 pressure advance. I also know that the when the print is finished the filament is no longer in the nozzle. I can disengage the pressure on the feed wheel and manually advance the filament an inch or two before it hits the nozzle area. -
Oh, the model started out about twice the size and the teeth reached further towards the center of the model. I printed it with a 0.4 mm nozzle and 0.08 mm layer height and it was a bit of a mess. The mess part was caused by a bit of a stringing issue on this printer that I am still fighting but also because the resolution with the larger nozzle. I decided that the model was too large for it's purpose and scaled it down and altered the teeth. This was when I switched to the 0.2 mm nozzle and 0.08 layers. As I indicated though, the model prints fine until the printer gets to the teeth.
-
I decided to print the gcode I posted here and so far (I am at layer 18) all is looking good .... but that is with a 0.2mm nozzle.
-
So it seems I have a bit of egg on my face here ....
First attempt at printing with pressure advance failed about 3/4 the way up the main section.
Attempt two, without pressure advance, printed fine until it got to the teeth and then the RETRACTION screwed up. The extruder went back and forth but the NET effect was a negative filament feed. Something I had previously attributed to pressure advance. I should point out that I believe I changed retraction from 1.5 mm to 2 mm somewhere very recently and this may have affected the outcome because I did in fact print the model fine without pressure advance before. Maybe some unknown interaction, maybe something I am doing .... who knows. I don't want to re-slice the model for fear of introducing some other oddity. I did verify that the E count went up in the gcode so going backwards is not supposed to happen.
Next attempt, again without pressure advance, I have increased E steps from 128 to 256 microsteps to see if that makes a difference.
Update ... still turning backwards in this configuration.
A couple of odd observations not verified yet .... at level 57, the extruder drive numbers gradually go down but later on the numbers inexplicably gradually go up. By the time the print finishes, the extruder number shows about the same as they were on level 57. Lastly, the web interface tells me it is at level 57 out of 77 when the print is finished. It also shows 166 mm out of 166 mm of filament used. I have no idea what this means or why it is happening ..... -
Looks like besides having egg on my face, I need to eat some crow
I just re-sliced the model and discovered that Cura had a negative 'retraction extra prime amount' set up for the current profile. I have no idea if that was there when I originally recreated the gcode file.
I will now crawl in my hole and keep my head low until I can maybe get something right -
Can you export a .3MF from Cura so we can see your cura settings as well?
Do you have wipe enabled? In the gcode preview in Cura is appears there is a slowdown at the ends of some lines.
-
@jens55 said in Can 'pressure advance' cause negative filament feed ?:
I have increased E steps from 128 to 256 microsteps
128x microstepping may already be too high for your retraction speed which may be losing steps. If you send M122 after the print has finished, do you see a number of hiccups reported?
It sounds like you're using absolute extrusion. You should be using relative extrusion. The setting can be found in Cura under the special moves menu. It may be hidden by default.
-
@jens55 said in Can 'pressure advance' cause negative filament feed ?:
Looks like besides having egg on my face, I need to eat some crow
I just re-sliced the model and discovered that Cura had a negative 'retraction extra prime amount' set up for the current profile. I have no idea if that was there when I originally recreated the gcode file.
I will now crawl in my hole and keep my head low until I can maybe get something rightI missed this before I made my previous replies.....
-
Sticking my head out ever so carefully ....
I have done two prints with a pressure advance of 0.4 - both failed at the teeth. The failure is slightly different in that the net extrusion is positive but it is well below what is required for the teeth to be printed (virtual zero extrusion). The counter for the extruder 'seems' to report correct amounts but what I see as far as the extruder turning is concerned it is quite a bit short of what the extruder counter reports. The result is that the teeth do not print because there is not enough filament.
I have printed one print so far with the pressure advance turned off and the teeth printed just fine (although not as nice as I had hoped for).
I am in the process of printing the second model without pressure advance.So, it would appear that my initial issue was valid - pressure advance causes extrusion issues.
I will attach the corrected gcode file as well as the .3mf file.
Yes, I am using absolute extrusion. I have not tried relative extrusion because I do not know enough about how to set that up yet.
M122 reports no hiccups but this is after I started the new print so I am not sure if the hiccups number is correct.0_1566272573372_CFFFP_reduced hirth.gcode [0_1566272599436_CFFFP_reduced hirth.3mf](Uploading 100%) -
hmmmm, not sure if the upload worked so I am re-doing it
The gcode:
0_1566272710536_CFFFP_reduced hirth.gcodethe .3mf file: ..... I had to stick on a .txt in order for the system to accept the .3mf file
[0_1566272789447_CFFFP_reduced hirth.3mf](Uploading 100%) 0_1566272850068_CFFFP_reduced hirth.3mf.txt