More strange pressure advance behaviour
-
Ian, when you print a series of short segmented moves to approximate a curve, ideally the change in angle between segments will be small enough that the velocity change is within the allowed XY jerk. In this situation, if the slicer has done its job properly the segments will be printed at constant speed, the extrusion rate will be constant, and there will be no pressure advance movement.
As it appears that you are not achieving constant speed, you may wish to either adjust the model to have more segments so that there is a smaller change in angle at the segment boundaries, or use a higher XY jerk setting.
HTH David
-
Ahh. Thanks David. It's a bit late now but I'll give that a go tomorrow night. If I remember rightly, the model was created with 100 segments (at least $fn set to 100 in OpenScad) and I do usually set that to 300. X and Y jerk are set to 1200 (mm/min) does that sound low to you? Given my heavy carriage I felt it might be necessary to set it low.
-
I would have thought that 100 segments ought to be sufficient. Some slicers may combine short segments when generating the gcode. I suggest you examine some of the gcode for perimeters of small holes that are showing the problem, to see whether the number of segments has been reduced.
Another possibility is that move queue underrun is occurring. You can check this in the M122 report.
-
David,
OK so I've gone right back to basics with this. Rendered the object again using $fn=300 (300 segments) and re-sliced it. Turned off pressure advance and started to print. Using a tool with a mix ratio of 90:05:05 i.e 90% extruder 0, 5% extruders 1 and 2.
1st layer all at 45mm/sec printed fine - small circles, large circles all perfect.
2nd layer "normal speed" for me - that is 75mm/sec external perimeters, 90mm/sec internal perimeters and infill, small perimeters 25mm/sec. Again, all circles perfect but signs of under/over extrusion at the ends of long moves.
3rd layer. Pressure advance set to 0.1 (all 3 extruders). Small circles OK but slightly slower perhaps - difficult to be sure. Large circle showing definite pauses or jerkiness and signs of lumpiness (i,e faceted finish). Ends of long moves slightly better.
4th Layer. Pressure advance 0.2. Small circles showing sign of pauses/jerks -looks just like it does if I'm printing a hexagonal nut trap but the finish is only slightly faceted - certainly not as much as being a hexagon. Large circle jerkier and more faceted finish. Long move ends better still.
5th Layer. Pressure advance set to 0.4. Small circles very jerky and slow but finish only marginally faceted. Large circle likewise. Ends of long moves perfect.
6th and 7th layers still with 0.4 pressure advance. All jerk values doubled from 1200 to 2400. No difference to print quality large and small circles still slow, jerky and with faceted finish. BUT, drastic change to non-print move speed - see separate thread.
8th and 10 layers. Lower jerk settings. Same XY jerk but higher E jerk. No change
11th Layer. Pressure advance set to zero. All circles, large and small printed perfect and fast.
12th layer onwards - 0.4 pressure advance then doing M122 at various times.
What seem to be significant is running M122 while it is printing the big circle with pressure advance. What smacks me in the face is the Driver status. e.g.
Driver 4: stalled open-load-B
Driver 5: stalled open-load-A open load-BIt's usually drivers 4 and 5 which are extruders but I've also seen it drive 1 which is one of the XY motors. It can also be open-load-A or open-load-B or both.
All the M122 reports showed step errors of 32 but I'm fairly sure this happened when the jerk was high and it tried to do instantaneous high speed non-print moves (scary to watch with my 3kgs being thrown around).
I've also got error status: 2 - don't know if that has any significance. Code queue is empty. Is that what you meant by move queue under run?
I did video that print (or at least the circular perimeters with and without the various pressure advance settings - do you want me render and upload it? Anything else you need from M122?
Ian
-
Ian, thanks for doing those tests. Can you look at that gcode file to see whether the extrusion speed really is constant? If the slicer is slightly mis-calculating the extrusion amounts so that they are not exactly proportional to the segment lengths, that could cause a problem.
I guess some sort of rounding error in the firmware is another possibility.
I'm tied up with other things for the rest of this week, so please remind me to look at it next weekend.
-
Ian I think you might have something else at play here…. I do not have circle issues regardless of pressure advance setting.
Here are some photos (I printed these at 45mm/s with no reductions in speed regardless of feature because i like calibrating the printer without the slicer getting in the way)
and here was a half circle at 65mm/s
the first image was running pressure advance 0.2 with no retraction and the second was changed twice from 0.2 to 0.1 to 0.132
-
I dont have a photo of it but the small holes for the M3 screws came out perfect for that 65mm/s print as well
-
@Whitewolf. That's interesting. If pressure advance is working normally for you then in a way that makes me feel better. At least we know it works differently for different setups so maybe we are in with a chance of finding what's causing my issues.
Could you do one quick test when you get chance? Print something with circles using 0.4 pressure advance just to see. I know that might be a high setting for your machine but if you get good circles, then we can be sure it's something else interacting with pressure advance. You don't have to print the entire object - you'll know straight away if it's screwy so you can abort after the first layer or two.
Off hand I can think of 3 possibilities
It could be slicer related as David has said - I'll check that out but which slicer are you using? I'm using slic3r.
It could be something to do with machine kinematics - mine is CoreXY, what is yours?
It could be firmware - I first noticed this with 1.19beta8. At the moment I'm unable to revert back to 1.18.1. to check if the problem is present there. Which version are you using?
Ian
Edit. There is a forth possibility. I'm using 3 extruders and I guess you just have the one?
-
Yes just a single extruder, as far as slicer goes its S3D… that is what i was hinting at... open your slicer up do not do any reductions or optimizations this way the slicer does not get in the way of calibrating.
My printer is a Cartesan and much less weight than yours which could also be a factor.
Link an object you want me to print so you can do a side by side comparison... something with circles and long runs.
Ill print it at 0.1 0.2 0.3 0.4 pressure advance with retraction off
-
-
Here were my settings for the second photo the clear x carriage:
-
The speed override for small layers was also unchecked for both prints
-
I also ran these prints with firmware settings similar to yours:
[c]M92 X80.00 Y80.00 Z2560.00 E97.009 ; Set steps per mm
M566 X833 Y583 Z3000 E1800:1800 ; Set maximum instantaneous speed changes (mm/min)
M203 X18000 Y18000 Z400 E3600:3600 ; Set maximum speeds (mm/min)
M201 X833 Y583 Z3000 E1800:1800 ; Set accelerations (mm/s^2)
M906 X765 Y850 Z850 E850 I30 ; Set motor currents (mA) and motor idle factor in per cent[/c]Obviously none of these firmware settings or slicer settings are ideal, its just how I have been testing pressure advance in an unrestricted way….. eventually I will move my accelerations to be 3000mm/m to be in line with the 300mm/s printing speed test article but I wanted to align everything with what you had to see the kind of results I could achieve with it.
-
Previously I had much higher maximum speed changes and still had great results but not into the 120mm/s range…. So I lowered those for now but will eventually see how high I can push them.
-
Also one of the reasons I dont want the slicer getting in the way of my printer tuning is because i dont want the printers optimum performance to be reliant on the slicer. In my opinion the slicer should only compensate for different filaments. By tuning the printer to a baseline on ABS or PLA for best quality at the highest speed possible then the slicer can then be brought into the picture for minor tweaks when needed between filaments and the same gcode could theoretically be used across a number of printers if they were all tuned in the same fashion and hence all giving the same great results regardless of kinematics.
-
Which firmware version are you running?
As for slicer, I'm not going to start playing around with the settings that have taken my many hours over many months to optimise. The same applies to my other printer settings. My prints are just fine apart from a touch of over/under extrusion at the ends of long moves which pressure advance fixes but causes other issues.
If I have to choose, then I'll simply not use pressure advance and live with the over/under extrusion at the ends of long moves (I can always print slower to eliminate them if I have to). In any case, this has nothing to do with slicer speed. Whether it's first layer at 45mm/sec, inner perimeters at 90mm/sec, outer perimeters at 75mm/sec or small perimeters at 25mm/sec, they all exhibit exactly the same behaviour.
I think what David is hinting at is slicer behaviour in that there might be variations in extruder speed during small segmented moves which screw up or interfere with pressure advance. The only way to check that is to go through the gcode file, somehow find an arc, then check each X Y move and see if the E move is correspondingly proportional. That's proving hard to do so I think I'll create a simple 1 wall thick circular object, slice it and then check the gcode E moves which ought to be the same.
If they aren't then it will mean that pressure advance with Duet is slicer dependent. In which case I'll have to live without using pressure advance as slic3r is the best of a bad bunch when it comes to multiple (more than 2) extruders.
-
Also one of the reasons I dont want the slicer getting in the way of my printer tuning is because i dont want the printers optimum performance to be reliant on the slicer. In my opinion the slicer should only compensate for different filaments. By tuning the printer to a baseline on ABS or PLA for best quality at the highest speed possible then the slicer can then be brought into the picture for minor tweaks when needed between filaments and the same gcode could theoretically be used across a number of printers if they were all tuned in the same fashion and hence all giving the same great results regardless of kinematics.
Of course, you should set up your basic printer parameters first but you'll find later on, when you've gained a bit more experience that slicer settings are very important and to some extent machine specific as well as object specific. Things like whether extra perimeters are needed, detecting thin walls, detecting bridge perimeters, whether you want to avoid crossing perimeters, seam position, infill type, whether you want a skirt and or brim, etc etc but speeds are especially important . To get the best out of your printer you'll find that you need different speeds for internal perimeters, external perimeters, small perimeters, top and bottom layers, infill, solid infill, support material, bridges etc.
Anyway, this is all getting way off topic.
Let's get back to pressure advance behaviour please.
-
Does slic3r not have the concept of profiles and processes? With S3D I have known processes that work then i just add a new process that i open up for tuning the firmware. switching back is just a matter of changing processes and commenting out my test firmware settings.
With S3D the extruder speed gets modified if the box is checked for speed overrides for layers under "X" seconds but i run with this turned off.
I know in Cura there is something similar but called something completely different i just cant remember the name of it….
I have never used Slic3r but maybe there is something similar in it.
-
Deckingman, maybe try the capricorn ptfe tube. the differences in amount of retraction and pressure advance needed are huge and the print quality is much better. As you can see by the following thread others who have installed Capricorn have experienced the same thing.
-
Can we just keep this on topic please.