Can 'pressure advance' cause negative filament feed ?
-
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 -
Cura appears to be doing some awful things to the teeth. I would suggest trying to slice it in Prusa Slicer for a sanity check.
Also, I don't think that .3mf worked quite right. It's still just the sliced gcode.
I may have misled you by saying Export. To get the proper 3mf simply go to File, Save in Cura to produce a .3mf archive of the entire platter including STL, printer settings, and print settings.
And yes you'll have to change the extension to post it to the forum.
-
M122 reports no hiccups, the print completed just fine.
I have a wipe of 0.1 mm for the outer wall and 0.0575 on the infill
Here is the 'saved' version of the 3mf file:
0_1566274537842_reduced hirth.3mf.txt -
Ok that one worked properly. I can see your printer setup and print settings as well as the STL. It slices ok and the gcode preview looks acceptable now.
@jens55 said in Can 'pressure advance' cause negative filament feed ?:
I have a wipe of 0.1 mm for the outer wall and 0.0575 on the infill
I would recommend disabling wipe and coast when using pressure advance. They can interact in strange ways. Wipe and coast are basically the slicer attempting to do what pressure advance is meant to do, so use one or the other.
0.4 is quite a large amount of pressure advance. I'm not sure how well the model functions at that range. Things may start to break down? I'm not sure. How did you arrive at 0.4? Have you tested less?
Can you post your config.g as well so we can see what your overall setup is?
-
I am working with a bowden tube that is approximately 650 mm long so pressure advance will be a bit on the high side. Having said that, with this particular configuration of nozzle, speed and temperature I can easily go to zero on pressure advance. I have used numbers as high as 1.0. At this point it is more about trying to find out if there is a bug in pressure advance or if things are working as they should.
config. g:
0_1566314419755_config.g -
@jens55 Your instantaneous speed change (jerk) for the extruder is set to 120mm/min (2mm/sec). This will play havoc with pressure advance (and likely slow down all your print moves). I use 3,000 but that's with a geared extruder. Even so, try it or at least use 1,000. And for now, put you extruder steps per mm back to 16X with interpolation.
BTW, if you M350 after your M92, the firmware will re- calculate the steps per mm for you. It's a useful way of trying different micro-stepping because you can then change it "on the fly" and not have to worry about re-calculating the steps per mm.
-
Thank you, I have changed extruder jerk to 1000 and switched M350 and M92 (I was going to investigate why I had to recalculate ... but you solved that for me). I also went back to 16X microstepping with interpolation.
The next print was a mess with all kinds of over extrusion and weird periods of more extrusions than normal. I went back to 256 microsteps and the over extrusion issues went away. The interesting thing .... the reverse feed for the teeth issue seems to have been masked by the over extrusion but was back when I reverted to 256 microsteps on the extruder. -
@jens55 when you swtiched back to x16 microstepping did you also change your steps per mm to match?
-
@phaedrux said in Can 'pressure advance' cause negative filament feed ?:
@jens55 when you swtiched back to x16 microstepping did you also change your steps per mm to match?
Yes. Looking at what was happening, it appeared like the extruder was taking larger steps which was reflected in occasional periods of over extrusion.
I don't quite understand the business with 16X and interpolation .... but it seemed to behave as if it was doing the 16 steps business. Does interpolation mean 256 steps or does it do 16 steps and only calculate at 256 steps ? -
It means the cpu calculates steps at x16 and the drive takes those steps and sends x256 pulses to the motorsfor smoother quieter motion.
-
@phaedrux said in Can 'pressure advance' cause negative filament feed ?:
It means the cpu calculates steps at x16 and the drive takes those steps and sends x256 pulses to the motorsfor smoother quieter motion.
So when the cpu says 'do one step' the drive in fact takes 16 tiny steps. So resolution is the same as 16 microsteps just smoother. So when I need a single 1/256 of extruder motion it sits and does nothing and when I get to 9/256 for extruder steps it then sends 16 tiny steps.
If I understand that right then I can see why it makes a mess out of tiny details alternately under extruding and over extruding ..... -
Possibly. @deckingman has a few blog posts exploring this topic for mixing extruders where one color may be at single digit steps compared to the other colors. Using higher microstepping can resolve the issue.
It's also been theorized that it would have an impact on printing very small things with low layer Heights and small nozzles and slow speeds where the extrusion amount is very low.
Your case may be a good example of requiring x128 or x256 natural steps.
-
@phaedrux said in Can 'pressure advance' cause negative filament feed ?:
It's also been theorized that it would have an impact on printing very small things with low layer Heights and small nozzles and slow speeds where the extrusion amount is very low.
That is exactly what I am doing !
So, is there a possibility that the logic behind pressure advance does not function properly with tiny amounts of extrusion ?
-
Well I think it may be a case where your pressure advance value needs to be very well tuned. Such a large value coupled with such tiny movements is an odd corner case for pressure advance to deal with. Usually it's dealing with long movements that build up a lot of pressure. But since you have such a long bowden tube, you need large amounts of pressure advance, but you're printing very tiny things, so you only maybe need very small amounts of pressure advance.
In this case, I think the right tool for the job is a geared direct drive extruder rather than a bowden system.
The tiny movements required for making those fine details is getting gobbled up by the slack and play in the bowden tube. In other words, you're trying to tie your shoes with chopsticks while standing on stilts.
Here's what I would do to try and get the best of the setup as it is.
- Switch to relative extrusion. Absolute extrusion has been out of style since the early days. This may help avoid some rounding errors.
- use x256 microsteps on the extruder. But be aware this will limit your maximum retraction speed due to step pulse generation limits. You can use this tool to figure out what your max retraction speed without missing steps will be: https://wilriker.github.io/microstep-calculator/ Based on what I see, I think your retraction speed limit at x256 would be 1200mm/min.
- I would then re calibrate the esteps at your printing temperature using x256 microsteps, because at such fine features you need it to be spot on.
- Then I would retune retraction for that nozzle size and print speed to get it as low as possible.
- then try retuning pressure advance with that nozzle size. This may allow you to reduce retraction even further. Bear in mind the advice from deckingman on the extruder jerk. It will need to be high enough to allow pressure advance to function properly.
Other things to try involving hardware swaps. Switch to capricorn tubing, move the extruder to allow it to be shorter, or switch to a direct drive geared extruder.