Slow and weird at 140mm/s on curvy/circular path
-
If it's a regular speed up/slow down when printing "cylinders" with small numbers of facets, then higher M566 values do help to achieve higher print speeds. However, the blobbing in the image suggests something else, which is that the cylinder has a very large number of facets (therefore many gcode commands per perimeter). and the gcode processing and lookahead system isn't filling the pipeline as fast as the motion generation system can empty it when it runs at the requested speed. This is confirmed by the high underrun count. The underrun count is incremented every time the lookahead system finds that in trying to achieve the requested speed for one move, it needs to adjust then profile of some earlier move, that move has already been frozen because it is due to be executed soon.
-
In effect, as bot says, the resolution is too high. This used to be a problem with S3D but using Cura or Slic3r did not have the same issues. If you have tried these and still the same issue maybe try reducing the number of facets of the model?
-
Sorry soccer evening (and we won !! ) !
Thanks for your feedback i will try the experimental firmware tomorow, and it's sure exchanging the 0.9 motor by a 1.8 and if not enough going to a direct extruder, the e3d titan combine to 0.9 motor need lot of signal… I design this bot to be speed but this extruder combo were just here cause my own design are still in work in progress (1.8 motor and geared drive 1 : 2).I experimented this issue with lot of model, astrobot, morena treefrog... Always when curve or and loop are sharp and short.
I tried kisslicer and it seem to work because the oversampling was set really low but i 've the same issue with slic3r on the same cylinder.Is there a way to calculate the limit the duetwifi can achieve per configuration ?
-
dc42 has been making improvements in just that area recently, so the numbers are liable to improve. He has mentioned the latest speeds here: https://www.duet3d.com/forum/thread.php?pid=447#p447
I'm not sure that you can directly calculate the exact speeds you can move, as they depend on the number of individual commands that makeup the steps, how many motors are moving, etc.
You could also try lowering the microstepping to 8x instead of 16x, but I'm not sure the results will be excellent.
-
Hi,
So i tested the experimental firmware, i didn't see lot of difference, each time i go upper than 100 mm/s i see and heard this jerky motion and it's not going to the speed asked. I also replace my extruder motor by a 1.8° and the issue is the same.
Is it only me who get this problem when going over 100mm/s in curve ?I will try your suggestion to lower microstepping and see what's happen. I'm here to test !
-
I really don't think lower microstepping will help (just as using a 1.8deg motor didn't), because the problem isn't the step generation rate. Can you tell me the length of each line segment in the gcode for the cylinder that gets jerky above 100mm/sec?
-
I don't know if it can help, this is a cut and past from my gcode file :
; inner perimeter
G1 X100.300 Y114.322 F6000
G1 X99.700 Y114.322 E0.0104 F4650
G1 X99.100 Y114.297 E0.0104
G1 X98.503 Y114.246 E0.0104
G1 X97.907 Y114.171 E0.0105
G1 X97.316 Y114.071 E0.0104
G1 X96.729 Y113.946 E0.0104Segment are really small…
-
So the segments are 0.6mm long. At 100mm/sec that's 167 segments per second. The current firmware tries to freeze moves 1/8 sec before they are needed, so it wants to freeze 20 moves. But the length of the move queue is only 20 moves in firmware 1.14 and earlier, and 30 in 1.15beta1. That explains the underruns.
I've changed the code to freeze at most half of the queue capacity, and increased the queue capacity further to 40 moves. Please try the new beta at https://dl.dropboxusercontent.com/u/19369680/DuetWiFiFirmware.bin. Let me know if it improves the quality at high speed and/or decreases the underrun count.
-
AMAZING ! it's working and now really smooth !
MaxReps: 8, StepErrors: 0. Underruns: 0I pushed the printer to 140 mm/s and no visual degradation, at 200 it jerk.
Thanks !!!! You're a great master !
-
Oh sweet.
Just a note, I think it might have worked had he replaced the MOTION steppers with 1.8 degrees, not just the extruder stepper. A firmware fix is always a nicer solution.
Edit: Though, I guess I didn't understand the problem fully. Step generation wasn't the issue, it was merely the lookahead queue? Or was it a combination of both?
-
The problem was lookahead, in other words the g-code segments were very short and the queue was starving.
Changing the steppers or microstepping would not have changed that.
-
The improvement is really, and as my english is not really fluent i took a short moovie, inner path are at 100mm/s in first moovie part and speed increase to 150 % in second part.
https://youtu.be/gBk3flOt3-wI just notice that when you increase speed by the web the retraction and prime are also afected, mainly the prime, result is a bad seam where speed change because you will appear a big blob.
-
Indeed, however in theory you could make gcode with even smaller segments or go even faster. I think that either slicers or the model being sliced should work at the resolution of the type of printer being sliced for.
For reference I have used programs like EasyFit (no cost) to drop the number of triangles on really detailed models.
-
Cubexupgrade, our posts crossed.
you are right the speed slider on the web interface increases all speeds including extrude and retraction speeds. this can have bad effects on extruders which don't like going 1.5x faster for example, retraction skips and then you get a huge over extrude when the next extrude command is issued. I find the speed slider useful for testing speeds but always re-slice t the faster speed for actual prints to keep my retraction speed constant.
-
Thanks for the informations, i didn't know this soft. My main workflow are rhinoceros3d and fusion360 and they are not really good (or me) for mesh generation.
One thing i didn't understand is why we cannot send a STEP file into a slicer to generate a gcode ++…. Maybe in few years !
-
Thanks for the clarification about the speed slider, i noticed this but was not sure.
-
Incidentally, I printed a stress test file yesterday and got 50,000 underruns. I'll reprint with new firmware before I post the ugly results
-
I ran out of filament during the re-print, but after 2.5 hours there were 0 underruns, so I think that specific problem is fixed. And I've discovered that I had some slightly loose arm joints, so I can't conclude much from the print quality issues that I was seeing. Will attempt another go at it.
-
You bit the record ! 50 000 ! Are you slicing a dental model ?
For me motion is now really clean, i waiting my PT100 to get clean print, i installed an old thermistor that i don't all informations and i have wave on my print evry 10mm… -
you are right the speed slider on the web interface increases all speeds including extrude and retraction speeds. this can have bad effects on extruders which don't like going 1.5x faster for example, retraction skips and then you get a huge over extrude when the next extrude command is issued. I find the speed slider useful for testing speeds but always re-slice t the faster speed for actual prints to keep my retraction speed constant.
I could modify the code so that moves that only involve extrusion or retraction and possibly Z movement (no X or Y movement) are not affected by the speed slider. Would this be a good idea?
However, there are already two ways round this issue:
1. Even when you use the speed slider, the speed limits set by M203 are respected. So you can set the E parameter in your M203 command to the maximum extrude or retract speed that you want to use. Of course, this will also limit the speed at which you can load or unload filament.
2. Some slicers have a "use firmware retraction" option. If you use this, then you define the retraction amount and speed using M207 and the speed is not affected by the slider. See http://reprap.org/wiki/G-code#M207:_Set_retract_length.