Movement is stuttering. Appears to slow printing down
-
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?
-
Fair enough. The layer changes are most likely just an adjustment to do with retraction priming that I'm sure I can sort easily. I'll turn it off on this model, but I'd like to use it for other models where tolerances are more crucial.
Fingers crossed it get's solved in a future update then
-
@dc42 said in Movement is stuttering. Appears to slow printing down:
I'll review the code when I am back in the office.
Hi,
Did anything come of this in the end? And would increasing the microstepping on my extruder give me a higher upper-speed-limit before hitting this issue since it seems linked to the distance of a single step?
Printing at high speed without pressure advance adds way to much inaccuracy to tolerances for me print without it. I feel like I'm missing out on printing at double the speed at the momentMany thanks
-
It's still on my list for review before I release 2.02RC4. i think there is probably an issue with the code, but whether it is connected with extruder movements less than one microstep, I can't yet say. The code does make allowances for extruding moves sometimes resulting in no actual extruder movement, but I am not sure it allows for that everywhere it needs to.
Meanwhile, I suggest you try increasing extruder microstepping. The only downside is that if you increase it too much, the retraction speed that can be achieved may be reduced.
-
No problem, I've been experimenting yesterday with increasing the microstepping and sticking a larger nema17 motor on my extruder to provide the extra torque for the time being, and I've lucked out finding a setting that's quite a bit faster, and although it still stutters like mad, it at least does the outer wall without stuttering on this particular print, so that'll keep me occupied for now
Many thanks
-
@asdasd1234 Do you have control over the number of line segments in the STL file? I have noticed with Cura it will generate ridiculously short segments if the model has them. As I model in OpenSCAD I can simply set $fs to half my extrusion width and then I don't get any segments shorter than 0.25mm. There really isn't any point in printing shorter segments. Skeinforge combines segments that are too small, not sure about other slicers.