Movement is stuttering. Appears to slow printing down
-
@asdasd1234 said in Movement is stuttering. Appears to slow printing down:
@burtoogle said in Movement is stuttering. Appears to slow printing down:
The inner walls appear to contain a real mixture of line segment lengths, some are really small. I see you are using pressure advance. I think maybe that combination has been reported to cause problems before now (not certain, just a vague recollection). So you could try disabling the pressure advance.
However, the fact that the outer walls don't seem to have such variation in line segment length makes me think that Cura has screwed up somewhere so I shall investigate that.
Turning off pressure advanced sped it up a massive amount!... But I would like to have pressure advance running Is this a known bug/incompatibility or is there a workaround?
Many thanks for your help so far though!
It sounds like your extruder instantaneous speed setting (jerk) is too low. That will cause problems with pressure advance.
Edit. Just looked at your config and see that you have it set to 120 mm/min which is really slow. That will slow everything down and is likely the cause of all your problems. I don't know what extruder you are running but I use 3600 with my Bondtechs and former Titans.
-
I changed it to 1200 following some advice above but it made no difference. I will try 3600 now though, and higher if needed to see if it starts working before other issues arive from it being too high. Thanks
-
@deckingman Just try to get my mind around this - I am still getting familiar with useful reasonable ranges for various settings.
At Jerk E3600 you are effectively disabling extruder acceleration for most extruder movement (< 60mm/sec), and effectively replacing all acceleration for the acceleration embedded in the Jerk movement. And for reference, Zesty Nimble (which I use) advise E40 for Jerk - 2 orders of magnitude apart. The Nimble cable response to Jerk is presumably the issue which doesn't apply elsewhere. I am in the middle of testing.
-
@garis Doesn't quite work like that because the extruder speed has to follow the axis speed, during acceleration as well as at steady speed. Having said that, you can't use the extruder jerk setting I suggested with a Nimble.
-
@garis Check with Zesty that the "40" for extruder "jerk" is mm/sec and not mm/min. If it's mm/min then that equate to 2,400 mm/sec. I don't have any hands on experience of the Nimble but my understanding is that it uses very high gearing which means that the steps per mm will be high.
.........Although, now I've looked again at you config and see that they are set to 420 which is about right for something like a Bondtech or Titan, so maybe I was wrong about the Nimble having high gearing and thus high steps per mm requirement.
-
Hello @Asdasd1234 , I think I know what's happening but don't yet have a fix. In the meantime, could you please print the attached gcode and report whether the slowdown/stuttering is any different to before. You need not print the whole object if there's no improvement. Thanks.
-
It definitely printed faster than the original file I uploaded. But it still stutters and causes a worse surface finish than just turning off Pressure Advance.
I've attached a picture of the 3 side by side (Set e-Jerk to 40000 on all to make sure its not that limiting it):
-
On the left, My original file. Pressure advance is on, Cura estimates 24 minutes print time. Actual print time, 48 Mins
Lots of stuttering, horrible surface finish. -
In the middle. I had the same settings but just turned off Pressure Advance. This gave a real nice surface finish, but I lose all benefits Pressure advance so the layer changes look horrible due to the oozing. Zero stuttering though. Cura estimates 24 minutes print time. Actual print time, 31 (still far form the 24 that cura thinks and I cant work out why )
-
On the Right. Your Gcode file you supplied this morning. Pressure advance is back on. It prints faster than the one on the left with an actual print time of 35 mins , but still suffers from stuttering and has worse surface finish due to that than the middle one which prints faster.
Also, I'm happy to print out as many test prints as I need, as none will be wasted. I'm trying to get the fast printing sorted so I can pump out 50 odd of them for a relative
Many thanks so far guys!
-
-
Had to put this pic in this post because the last one keeps flagging it as spam https://i.imgur.com/nHRrIsG.jpg
-
Thanks @asdasd1234 for the comprehensive report and photo. The results are pretty much what I was expecting.
So, the problem is that Cura is generating a mishmash of line segment lengths for the inner walls. The Duet's pressure advance doesn't like that and the result is poor print quality and slowness.
Unfortunately, I do not have a fix for the non-uniform line segment lengths yet but will continue to work on it and will come back to this topic if I make any progress. Fingers crossed.
-
No prob, thanks for spending time looking into it.
Is there any other free slicer you would recommend that might play nicer with my duet? -
@burtoogle said in Movement is stuttering. Appears to slow printing down:
Thanks @asdasd1234 for the comprehensive report and photo. The results are pretty much what I was expecting.
So, the problem is that Cura is generating a mishmash of line segment lengths for the inner walls. The Duet's pressure advance doesn't like that and the result is poor print quality and slowness.
Unfortunately, I do not have a fix for the non-uniform line segment lengths yet but will continue to work on it and will come back to this topic if I make any progress. Fingers crossed.
Having different line segment lengths shouldn't cause a problem for pressure advance, provided that the angles between adjacent segments are small enough to be handled by the allowed XY jerk. What pressure advance has a hard time with is small segments with speed changes or extrusion rate changes from one to the next.
-
@dc42 said in Movement is stuttering. Appears to slow printing down:
Having different line segment lengths shouldn't cause a problem for pressure advance, provided that the angles between adjacent segments are small enough to be handled by the allowed XY jerk. What pressure advance has a hard time with is small segments with speed changes or extrusion rate changes from one to the next.
The XY jerk should be sufficient since just turning off pressure advance allows it to print without stuttering? I'd assume the xy jerk to cause issues in both cases if it were too low?
-
@asdasd1234 said in Movement is stuttering. Appears to slow printing down:
The XY jerk should be sufficient since just turning off pressure advance allows it to print without stuttering? I'd assume the xy jerk to cause issues in both cases if it were too low?
Yes, that's correct.
-
@dc42 said in Movement is stuttering. Appears to slow printing down:
@burtoogle said in Movement is stuttering. Appears to slow printing down:
Thanks @asdasd1234 for the comprehensive report and photo. The results are pretty much what I was expecting.
So, the problem is that Cura is generating a mishmash of line segment lengths for the inner walls. The Duet's pressure advance doesn't like that and the result is poor print quality and slowness.
Unfortunately, I do not have a fix for the non-uniform line segment lengths yet but will continue to work on it and will come back to this topic if I make any progress. Fingers crossed.
Having different line segment lengths shouldn't cause a problem for pressure advance, provided that the angles between adjacent segments are small enough to be handled by the allowed XY jerk. What pressure advance has a hard time with is small segments with speed changes or extrusion rate changes from one to the next.
Thanks for that info.
Looking at the gcode, I can see that the short lines do not diverge noticeably from the expected path but because the extrusion amounts are so small, I think there is scope for significant error in the extrusion rate calculation when it is converted into steps/mm.
Sorry, I am not familiar with how RRF handles changes in extrusion rate so this may be a silly question but does it compare the extrusion rates for adjacent line segments after conversion to extruder stepper steps or before? What I'm thinking is that the extrusion rate (mm of filament for mm of travel) could be fairly accurately determined even for very short line segments but after conversion to steps a lot of accuracy could be lost? So the Duet is detecting a bigger change in extrusion rate than is actually being commanded by the gcode?
Here's an example line segment that is very short and so requires a weeny extrusion but the gcode viewer is still reporting the same extrusion rate as the longer line segments that precede and follow the tiddler. So if the gcode viewer can still calculate an accurate mm/mm, can't the Duet do the same for the purposes of deciding whether the rate has changed or not?
That line segment is 0.039 mm long and and the E value is 0.0013 which is most likely going to be less than a extruder step but the rate is still calculable at 0.033 mm/mm.
-
So, can't the pressure advance calculation use the more accurate extrusion rate value rather than the extruder steps value (if that's what it does now)?
-
@burtoogle said in Movement is stuttering. Appears to slow printing down:
So, can't the pressure advance calculation use the more accurate extrusion rate value rather than the extruder steps value (if that's what it does now)?
I am 99% sure that the pressure advance calculation does use the commanded speeds and extrusion amount, before converting the extrusion amount to steps. Except that if the commanded extrusion is less than 1 microstep then it might be treated as a non printing move. Likewise if the commanded X and Y movements are both less than 1 microstep.
-
@dc42 said in Movement is stuttering. Appears to slow printing down:
@burtoogle said in Movement is stuttering. Appears to slow printing down:
So, can't the pressure advance calculation use the more accurate extrusion rate value rather than the extruder steps value (if that's what it does now)?
I am 99% sure that the pressure advance calculation does use the commanded speeds and extrusion amount, before converting the extrusion amount to steps. Except that if the commanded extrusion is less than 1 microstep then it might be treated as a non printing move. Likewise if the commanded X and Y movements are both less than 1 microstep.
Understood. In that case, is there a benefit to distinguishing between "real" non-printing moves and those that are non-printing because the extruder steps has come out at zero even though the commanded extrusion rate is > 0?
-
I'll review the code when I am back in the office.
-
Thanks for looking into it. But do you know of any workaround I can do to mitigate this issue for the time being. I'e, export my model a different way that would avoid whichever triggers are causing it?
-
@asdasd1234 said in Movement is stuttering. Appears to slow printing down:
Thanks for looking into it. But do you know of any workaround I can do to mitigate this issue for the time being. I'e, export my model a different way that would avoid whichever triggers are causing it?
At this time, I don't have a fix for Cura producing those short line segments so the only workaround I think you have is to disable the pressure advance. Personally, I don't use pressure advance and, generally, don't get ugly layer changes so perhaps there are some other settings you can tweak?