More strange pressure advance behaviour
-
Sorry too - frustration made me hasty.
Anyway, I have found the problem - or at least the source of the problem. It's multiple extruders. I defined a simple tool using just a single extruder, started printing the same part and there is no problem with curves using pressure advance.
That's the reason I have the problem ad no one else does. Now it's over to David (as and when he gets chance).
Interesting! When you say a tool using a single extruder, do you mean that you are not moving the other 2 extruders at all?
When you observed the problem before, were you using a 33/33/34 or a 97/1/1 mix, or something else?
-
Interesting! When you say a tool using a single extruder, do you mean that you are not moving the other 2 extruders at all?
When you observed the problem before, were you using a 33/33/34 or a 97/1/1 mix, or something else?
Correct. That is to say, commenting out all my tool definitions and mixing settings and adding a simple tool defined thus…...........
M563 P0 D0 H1
................does not exhibit any problems printing curves using pressure advance values up to 0.4.
My "default" tool definitions are as follows.
M563 P0 D0:1:2 H1 ; Define tool 0
G10 P0 X0 Y0 ; Set tool 0 axis offsets
G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
M568 P0 S1 ; Enable mixing for tool 0
M567 P0 E0.90:0.05:0.05 ; Set mixing ratios for tool 0
M563 P1 D0:1:2 H1 ; Define tool 1
G10 P1 X0 Y0 ; Set tool 1 axis offsets
G10 P1 R0 S0 ; Set initial tool 1 active and standby temperatures to 0C
M568 P1 S1 ; Enable mixing for tool 1
M567 P1 E.05:0.90:0.05 ; Set mixing ratios for tool 1
M563 P2 D0:1:2 H1 ; Define tool 2
G10 P2 X0 Y0 ; Set tool 2 axis offsets
G10 P2 R0 S0 ; Set initial tool 2 active and standby temperatures to 0C
M568 P2 S1 ; Enable mixing for tool 2
M567 P2 E0.05:0.05:.90 ; Set mixing ratios for tool 2
M563 P3 D0:1:2 H1 ; Define tool 3
G10 P3 X0 Y0 ; Set tool 3 axis offsets
G10 P3 R0 S0 ; Set initial tool 3 active and standby temperatures to 0C
M568 P3 S1 ; Enable mixing for tool 3
M567 P3 E0.34:0.33:0.33 ; Set mixing ratios for tool 3Most of the testing was done using tool 0, so with 90:05:05 mixing ratio. Using this tool, I had the jerky movement and M122 reporting step errors and driver open load errors (only when using pressure advance). IIRC, I did try tool 3 (mixing ratio of 34:33:30) and it exhibited the same problems as tool 0.
-
…....................................................
I'm tied up with other things for the rest of this week, so please remind me to look at it next weekend.I bit late as the weekend has passed but here is the reminder.
-
@CaLviNx:
Here Let me pick your dummy off the floor, there there its not so bad…..............
Are personal snipes really necessary?
-
@CaLviNx:
Here Let me pick your dummy off the floor, there there its not so bad…..............
Lighten up a little my friend its not as if it's life or death
I'd like to point out that Ian already apologised here https://www.duet3d.com/forum/thread.php?pid=18656#p18656.
-
Thanks David,
I'm just trying to keep this thread on track so that we can seriously address these pressure advance issues, but it keeps veering off topic, which makes me angry and frustrated. Now I have personal snipes to contend with as well.
-
Any progress on this? Just got back from holiday and have looked through the release notes of all the firmwares but couldn't see anything that indicates if it has been addressed or not. To summarise, the problem existed when using multiple extruders (mixing) but was no present when I changed to a simple single drive tool. Having seen the potential of using pressure advance, I'd really like to be able to use it. Thanks
Ian -
I appreciate that nothing much is likely to happen on this due to the impending TCT show but I've been doing a bit of testing and have some info which might help diagnose and fix this issue.
To cut a long story short, when using pressure advance with a single extruder there are no issues, but with multiple extruders there are problems which are severe enough to ruin a print. This applies to tools set up as mixing tools as well as being defined to use a single extruder. What I mean by that is if a tools is defined to use all 3 extruders but the mixing ratio is set to 1.00:0.00:0.00, there will be no issues. The problems occur only when using multiple extruders, so with a mixing ratio of (say) 0.33:0.33:0.34.
The problem manifests itself when doing arcs i.e circular perimeters. It can occur when printing objects such as rectangles with rounded corners, where it will show up during the arc moves. I have a feeling that it is more likely to occur when the arc comes immediately after a long straight move but this is just a feeling. I've seen it on arcs ranging in radius from 5mm to 21mm. I haven't tested smaller or larger radii.
I can reproduce the problem but not consistently. That is to say, if I print a test piece which is a number of cylinders of different sizes, I can pretty much guarantee that it will manifest itself doing the perimeter of at least one of the cylinders at every layer change. However, it won't necessarily manifest itself on the same cylinder at the next layer change but may instead show up on a different cylinder. Hence my feeling that it might be related to the move that precedes the arc as the cylinder perimeters are not done in the same order for every layer.
When it's behaving itself, observing the extruder while the arc is being laid down, I can see that pressure advance is not being applied to individual segments as would be expected (or at least it is so small as to not be visible), although it does seem to be applied at the very end - i.e the final move of the arc seems to be treated as if it were the end of a long move. However, when it misbehaves, I can see the extruders slow down/run backwards. It's as if at some point, the firmware decides that this is not a series of short arcs but a few long moves that need pressure advance applying to each. The result is that the object gets printed as if it were a multi faceted shape (Hexagon, Octagon, Dodecagon, or some such). Or an alternative is that it applies pressure advance to a very small segment, then because that has slowed things down, it throws away the next few segments in order to catch up to where it should be. Once it starts misbehaving, it will continue to misbehave until it finishes that arc. Then the print will move on and it may or may not misbehave on the next arc.
While printing the multiple cylinders, I can toggle between a tool with a mixing ratio of 1.0 where everything prints just as expected, and a tool that uses more than 1 extruder and it will misbehave. It seems to manifest itself regardless of what the actual pressure advance setting is but is more noticeable with larger values. For whatever reason, I need to use large values in the region of 0.4 to 0.6 with the Diamond hot end but I've seen the effect using 0.1 and even 0.05 but obviously it's not as severe.
Hope this information helps in diagnosing and ultimately fixing this issue. I'd very much like to be able to use pressure advance with multiple extruders. I'd have thought that it could have been simulated without physically have a mixing hot end. Just define a mixing tool and run an "air" print? Happy to supply any info and/or run tests.
Ian -
Thanks for the info. I've added this to the fix list for firmware 1.20.
Does the problem also occur using a mixing ratio of 0.98:0.01:0.01 ?
Does the problem occur more readily when you use a smaller layer height?
-
I'll run those tests when I get chance and report back
-
OK David. I have some more information for you. BTW I'm now using 5 extruders whereas before it was only 3. I can go back to 3 if you really want me to but it means a lot of editing to config,g - let me know.
So using a mixing ratio of 1.00:0.00:0.00:0.00:0.00 does NOT provoke the problem (as previously stated but just to recap)
A mixing ratio of 0.96:0.01:0.01:0.01:0.1 also does NOT provoke the problem.
However, a mixing ratio of 0.92:0.02:0.02:0.02:0.02 DOES provoke the problem as does any other mixing ratio. By visual observation, with this ratio the problem was as bad as 0.20:0.20:0.20:0.20:0.20 (equal amounts of all 5).With this mixing ratio 0.60:0.10:0.10:0.10:0.10 the problem was much worse and this one 0.80:0.05:0.05:0.05:0.05 is deadly. Unless it was just a factor of time into the print (can't think why), I can guarantee that when set to that, the problem will manifest itself, especially on any circle with radius of 10mm or less. If you set a highish pressure advance value, you can see that it is being applied at a number of points around the circle, just as if it was at the beginning/end of a longish move and each time it does that, the entire print slows down and becomes jerky.
Since I originally came across the issue, I have halved my print accelerations from 1000 to 500 for X and Y so I don't think acceleration setting is a factor.
While it was in "problem mode" - i.e. with the mixing ratio set to 0.80:0.05:0.05:0.05:0.05, I played around with few things to see if I could make it better or worse. I halved the print speed which made no difference other than the fact that visually, the jerky behaviour didn't look as dramatic it but was still there. I also tried setting the extrusion multiplier to 50% for all extruders. Obviously this showed up on the print but the behaviour of the XY axis and the extruders themselves was unaffected. i.e the problem still persists at 50% lower extrusion rate (and 50% lower speed).
I also did M122 and I have a hard copy of the result. I don't know what might be useful. Here are a few things
These are the 5 extruder drivers
Driver 5: stalled open-load-A
Driver 6: stalled
Driver 7: stalled open-load-B
Driver 8: stalled open-load-A
Driver 9: stalledDon't know if the main loop time is relevant but here it is along with the step errors (0).
Slowest main loop (seconds): 0.607156; fastest: 0.000000
=== Move ===
MaxReps: 12, StepErrors: 0, FreeDm: 86, MinFreeDm 30, MaxWait: 5768300ms, Underruns: 630, 0
Scheduled moves: 111998, completed moves: 111968Let me know what else I can do to help.
Cheers
-
Thanks. Are you quite certain that the jerky movements are a consequence of using pressure advance, and that you don't get them if you set pressure advance to zero?
-
Thanks. Are you quite certain that the jerky movements are a consequence of using pressure advance, and that you don't get them if you set pressure advance to zero?
Absolutely 100% certain. My default is not to use pressure advance at all (i.e, to have pressure advance set to zero) in config.g for that very reason. If I want to use it, I put it in the start gcode file for a particular print, first making sure that I'll only be using single extruders, then turn it off in the end gcode. It's caught me out too many times to do otherwise.
-
Just wanted to add that during a print I can "toggle" the problem on and off in one of two ways. Either by switching between a tool that only uses a single extruder (toggles it off) and one which uses multiple extruders (toggles it on), or by setting pressure advance to zero for all extruders (toggles it off) and setting pressure advance to a non zero value (toggles it on).
-
Further update. Jerk setting have no effect on this issue. I usually run around 2400 and have just tried values down to 600 and up to 4800 for X,Y and all 5 "E"s
-
Hi Ian,
Investigating this is now close to the top of my list.
1. Please run commands M201, M203 and M566 without parameters and confirm that they report the same values for all 3 extruders.
2. Please confirm that mix ratios of 0:1:0 and 0:0:1 work just as well as 1:0:0 i.e. the problem doesn't occur.
3. Please share the STL for your test piece with the cylinders.
Thanks - David
-
PS - please also confirm that you configured the same pressure advance for all the extruders.
-
Hi David,
1. as follows (copied and pasted from console). BTW, it's 5 extruders now. All values are the same for all 5 extruders
11:58:11
M566
Maximum jerk rates: X: 2400.0, Y: 2400.0, Z: 20.0, E: 2400.0:2400.0:2400.0:2400.0:2400.0
11:57:43
M203
Maximum feedrates: X: 50000.0, Y: 35000.0, Z: 300.0, E: 7200.0:7200.0:7200.0:7200.0:7200.0
11:57:09
M201
Accelerations: X: 1000.0, Y: 1000.0, Z: 20.0, E: 7200.0:7200.0:7200.0:7200.0:7200.02. I'll run tests and report back (as above, I'll do all 5, not 3)
3. I've created a folder on my Google Drive. It contains the STL, the OpenScad file and the Gcode file. I sliced it with one bottom layer and a single perimeter. Here is a link to that folder https://drive.google.com/drive/folders/0B_MwtHtQR_Zvd1BSd1RKSFYwbTQ?usp=sharing
Ref the "Ps" Yes, I can confirm that the same pressure advance was configured for all 5 extruders (drives 0 to 4 inclusive).
Console display looks like this :
12:14:10
M572 D4 S0.4
12:14:04
M572 D3 S0.4
12:13:59
M572 D2 S0.4
12:13:53
M572 D1 S0.4
12:13:47
M572 D0 S0.4BTW, I've always entered it this way and that's how my config.g looks (when they are not commented it out that is). Could I use the format "M572 S0.4 D0:1:2:3:4" instead of 5 separate lines?
Cheers
Ian
-
Hi David,
Ref your number "2" I can confirm that all mixing ratio using a single extruder behave themselves. So all these do NOT exhibit the problem:
1.00:0.00:0.00:0.00:0.00
0.00:1.00:0.00:0.00:0.00
0.00:0.00:1.00:0.00:0.00
0.00:0.00:0.00:1.00:0.00
0.00:0.00:0.00:0.00:1.00Actually, I could have told you that before because the "Banded Vase" that I might print at the show is sliced at 90mm/sec so I used pressure advance on it with all 5 extruders (tools 0 to 4) set to 100% mixing ratio. Actually, it has 3 solid bottom layers using tool 5 (the sixth one) which is set to 0.20:0.20:0.20:0.20:0.20 and IIRC it did misbehave on the rounded corners.
Ref my last post, I lied - twice. The pressure advance is set to zero in config.g, not commented out and I sliced the cylinders with two perimeters, not one.
I've put a copy of my config.g into the same folder as the STL etc, in case you want to check any settings.
Cheers
-
Hi David,
BTW, I've always entered it this way and that's how my config.g looks (when they are not commented it out that is). Could I use the format "M572 S0.4 D0:1:2:3:4" instead of 5 separate lines?Not yet, but I was thinking of adding that facility.