Duet Wifi and nimble acceleration issue
-
@svalsorim said in Duet Wifi and nimble acceleration issue:
so can I keep PA with nimble?
The low jerk required for the nimble makes that problematic as PA expects to be able to adjust the position of the extruder rapidly.
-
I have a nimble with pressure advance and the following settings seem to work fine. See attached file (how do I get this to display?).
The pressure advance setting is still a work in progress, but currently:
M207 S0.35 R0.10 F2100 T1800 Z0.00
M572 D0 S0.05.
These are for an E3D Volcano, and the settings vary a bit for nozzle diameter and filament (of course?).
dynamics_H2.g -
; DYNAMICS ; M98 "dynamics.g" M566 X800 Y800 Z5 E72 ; max instant change (mm/min^2)[alt M205(mm/s^2)] M203 X12000 Y12000 Z800 E2100 ; maximum speeds (mm/min) M201 X8000 Y8000 Z400 E400 ; accelerations Axes (mm/s^2) M204 P3000 T6000 ; accelerations Moves(mm/s^2) M290 R0 S 0.04 ; Reset Baby Steps
-
A pressure advance of 0.05 with "jerk" of only 72mm/min is going to result in PA slowing down the overall print.
How much? It's actually fairly easy to figure it out. Slice a typical (but small) model and simulate it on the duet. Ensure the gcode does NOT contain any M572 command (or M566.)
Then, with the DWC console, manually set the jerk (M566 E72) and PA (M572 D0 S0.05) and then simulate the print. Then change the PA to 0.04 (M572 D0 S0.04) and simulate it again. Keep doing that until the PA is down to 0. After each simulation, write down the simulated time for the print.
On my printer (nimble v1.2, steppersonline nema17 1amp pancake stepper on the nimble), I can use a jerk of 125 without any issue. I had to bring PA all the way down to 0.02 before it stopped having a significant impact on my print times.
I spent many hours one day testing a simple gcode file comparing the simulated times with different values of M566 E (E-Jerk) and M572 (PA.) Below, you can see my own notes on it.
asterisk (*) - "sweet spot" (increment that only increases print time by 2 seconds or less)
Establish baselines for impact of jerk with NO PA: (this seems to demonstrate that jerk plays no significant role in retractions or un-retractions - likely due to high accel)
jerk 50: 15:50
jerk 125: 15:49
jerk 500: 15:49Summary of ideal combinations: PA 0.04, E-Jerk 225 / PA 0.03, E-Jerk 175 / PA 0.02, E-Jerk 125
impact of PA with jerk at 125 (shows increasing print times as PA increases.)
jerk @ 125, PA 0.04: 16:32
jerk @ 125, PA 0.03: 16:11
jerk @ 125, PA 0.02: 15:51impact of E-Jerk at PA 0.02 : (no significant impact as low as 125)
jerk @ 125, PA 0.02: 15:51
jerk @ 250, PA 0.02: 15:49
jerk @ 500, PA 0.02: 15:49impact of PA with jerk at 500: (no significant impact up to 0.1)
jerk @ 500, PA 0.02: 15:49
jerk @ 500, PA 0.04: 15:49
jerk @ 500, PA 0.10: 15:59impact of jerk at PA 0.04 (below jerk 225, things slow down)
jerk @ 125, PA 0.04: 16:32 (+24)
jerk @ 150, PA 0.04: 16:18 (+11)
jerk @ 175, PA 0.04: 16:07 (+07)
jerk @ 200, PA 0.04: 16:00 (+ 7)
jerk @ 225, PA 0.04: 15:53 (+ 2) *
jerk @ 250, PA 0.04: 15:51 (+ 2)
jerk @ 500, PA 0.04: 15:49impact of jerk at PA 0.03 (below jerk 175, things slow down)
jerk @ 125, PA 0.03: 16:11 (+11)
jerk @ 150, PA 0.03: 16:00 (+ 8 )
jerk @ 175, PA 0.03: 15:52 (+ 2) *
jerk @ 200, PA 0.03: 15:50impact of jerk at PA 0.02 (impact acceptable at jerk 125)
jerk @ 125, PA 0.02: 15:51 (+ 2) *
jerk @ 150, PA 0.02: 15:49 -
(as often as this topic comes up, I wonder if I should copy the above instructions and results to a wiki page...)
-
@garyd9 About 18 months ago when I had less understanding of the interaction of all the settings (not that I have enough yet) I wrote a Python Script for generating a print file for 3 highly configurable polygons each at different speeds, with 3 nested loops of any combination of M codes that varied over a range of layer heights - in order to determine sensible starting points for all config settings, and for which setting should go into slicer gcodes. My thought at the time was that the common wisdom on this and other forums may not apply to Nimbles and Volcanos, and with larger nozzles.
I have the same pancake stepper as you have. All my tests at that time were with PETG in a Volcano with 0.6 nozzle. They still appear reasonable with the 0.4 nozzle in one of my printers.
Ejerk~70 and Eacceleration~400 seemed to produce the best quality, although I did not worry about print time, and I would not have focussed on the differences in times you have documented. The Zesty recommended jerk of 40 was too low.
There were some combination of settings that I have not documented and now forgotten where print speeds did drop dramatically. Probably PA settings that were outliers.
-
@garyd9 That is one of the most interesting and useful pieces of testing that I have seen in a very long time. I never considered using simulation to quantify the correlation between E jerk and PA. My machine is in pieces again at the moment. Could you possibly establish the minimum jerk that does not slow down the print time for a PA value of 0.5? If not, no worries - I'll add it to my to-do list.
-
The relationship is:
max_extruder_acceleration_during_printing_moves = min(configured_extruder_acceleration, jerk/pressure_advance)
where jerk is specified in mm/sec. You have set jerk to 72mm/min, so with PA 0.05 the max extruder acceleration for printing moves will be 72/(60 * 0.05) = 24 mm/sec^2. That is indeed a very low acceleration.
Does the Nimble need the jerk to be set as low as 72mm/min ?
-
@dc42 said in Duet Wifi and nimble acceleration issue:
You have set jerk to 72mm/min, so with PA 0.05 the max extruder acceleration for printing moves will be 72/(60 * 0.05) = 24 mm/sec^2. That is indeed a very low acceleration.
Does the Nimble need the jerk to be set as low as 72mm/min ?
I can't answer that with a clear "yes" or "no", but I can give you a bunch of numbers that might put it into context.
For the Zesty Nimble (both the older v1.2 with a 30:1 ratio, and newer v2 with a 20:1 ratio), they suggest a "jerk" of 40mm/min with an acceleration of 120mm/sec^2.
I can understand the limits with the 30:1 ratio: A jerk of 60 (1mm/sec) is an instant movement (or stop) of ~2700steps. (2700steps/mm with a 1.8 degree stepper and 16 microsteps.) That's over 4/5's (84%) of a full turn of the stepper shaft as instant movement. Not only does the extruder shaft have to move 84% of a full revolution, but so does the drive cable and worm gear...
For my own configuration, I started with their suggested numbers and did a bunch of testing. I don't have my physical testing notes anymore, but I did leave this tidbit in my config.g:
M566 E125 ; zesty suggest 40. 350 works, but clicks madly. 125 works smoothly even on retractions when printing a 0.8 nozzle at 50mm/sec (print speed, not extrusion speed.) Possible (?) that a jerk too high can damage the plastic nimble worm gear
I also have acceleration working at 900mm/sec^2. (At 1000mm/sec, there's a risk of the stepper shaft not turning.)
I'd guess that the flex3drive has the same or a similar issue due to it's 40:1 ratio. (However, I've never used or installed that particular remote direct drive extruder, so I am only guessing.)
max_extruder_acceleration_during_printing_moves = min(configured_extruder_acceleration, jerk/pressure_advance)
where jerk is specified in mm/sec.I'm trying to reconcile that formula with my actual experience, and it doesn't quite match. (I'm not saying that you are wrong - I'm just trying to fit it into my real world simulated experience.) In all the tests I mention above, my accel was at 900. In every test case I made, that 900 would be greater than the result of jerk/PA, so the jerk would always be slowing down the print.
For example, a jerk of 500 (8.33mm/sec) and a jerk of 0.02 results in 416.65 (which is less than half of the 900 accel.) Yet, my testing showed that a jerk of 500 had no impact on the print time with any PA value from 0.0 to as high as 0.1. (0.1 resulting in 8.3/0.1 == 83.)
(I need to add this line to my signature for work emails: "I'm not saying that you are wrong - I'm just trying to fit it into my real world simulated experience.")
-
@deckingman said in Duet Wifi and nimble acceleration issue:
@garyd9 That is one of the most interesting and useful pieces of testing that I have seen in a very long time. I never considered using simulation to quantify the correlation between E jerk and PA. My machine is in pieces again at the moment. Could you possibly establish the minimum jerk that does not slow down the print time for a PA value of 0.5? If not, no worries - I'll add it to my to-do list.
I long ago deleted the gcode file for the print, so any newly sliced file wouldn't have any relation to the existing results.
As well, simulations on my machine with my config would have different results from yours. I'm using a delta with high accel and movements speeds in x/y/z due to having a very light effector, but with low "E" values for max movement, accel, etc. I'm going to assume that your printer has much higher "E" values, but much slower X/Y/Z speeds and accel due to (sarcasm) you moving 48 nozzles and heaters, 14 diamond hot ends, a dozen bondtech extruders, a few boulders, and the entire population of at least one major city. (Or, at least that was my impression the last time I saw a video of your machine running.)
Seriously, though, while the PA vs jerk would raise/lower the print times, I don't completely understand how all the other variables might interact to impact the results. I'm sure my limited E accel would play a part, but I don't know what else would.
-
@garyd9 said in Duet Wifi and nimble acceleration issue:
I'd guess that the flex3drive has the same or a similar issue due to it's 40:1 ratio.
doesn't that's the major difference I find between the two f3d is way faster, you only need to get E motor that can go fast. I had some issues with high impedance motor but when I found a better one it's crazy fast, attm I'm running jerk 500 and accel 2000 for the f3d. I'm not happy how PA works with f3d with the old shaft but new shaft they supplied (I broke one of the old shafts) seems to be working ok for PA too (they switched to a thicker shafts, differently wound and they come in "no clue what but not ptfe any more" new type of slieve.
-
Hi,
What does PA do for a Nimble?
I've been happy with my two Nimble setups using the recommended settings.
Frederick
-
@garyd9 Yes it's true that my machine is a CoreMostOfTheAlphabet etc. . But I thought DCs comment clarified something that I've been wondering about. In other threads, it has been suggested that what would appear to be silly high jerk values should never be necessary. But my multi input beast needs a PA value of around 0.5. Which means that my "silly high" E jerk of 3600 translates to extruder acceleration of 30mm/sec^2 when PA is set to 0.5.
I'll run my own tests when I get my machine back together. Could you describe what your test part looked like? I'm guessing it had lots of curves or cylinders. -
@deckingman said in Duet Wifi and nimble acceleration issue:
I'll run my own tests when I get my machine back together. Could you describe what your test part looked like? I'm guessing it had lots of curves or cylinders.
Based on my notes, the file name was "2x ear protector v5 (08 nozzle).gcode" If you really, really want, I can go back into fusion360's history to get v5, but here's v7 of the same file. (It's one of those surgical mask ear protectors, but oversized for people with big heads.)
When I print those with a 0.8 nozzle, the first layer has a height of .4 and the remaining layers are at .3. Print speeds are fairly slow at 40mm/sec. I can send you the full cura profile if you really want (but can't post it directly in this message due to file extension limitations.)
Anyway, here's the stl file: ear protector v7.stl
@arhi said in Duet Wifi and nimble acceleration issue:
f3d is
I'll respond in a private message. This thread shouldn't turn into one of the many (now closed) ProductX vs ProductY threads.
-
@garyd9 said in Duet Wifi and nimble acceleration issue:
[...]
@dc42 said in Duet Wifi and nimble acceleration issue:max_extruder_acceleration_during_printing_moves = min(configured_extruder_acceleration, jerk/pressure_advance)
where jerk is specified in mm/sec.I'm trying to reconcile that formula with my actual experience, and it doesn't quite match. (I'm not saying that you are wrong - I'm just trying to fit it into my real world simulated experience.) In all the tests I mention above, my accel was at 900. In every test case I made, that 900 would be greater than the result of jerk/PA, so the jerk would always be slowing down the print.
For example, a jerk of 500 (8.33mm/sec) and a jerk of 0.02 results in 416.65 (which is less than half of the 900 accel.) Yet, my testing showed that a jerk of 500 had no impact on the print time with any PA value from 0.0 to as high as 0.1. (0.1 resulting in 8.3/0.1 == 83.)
(I need to add this line to my signature for work emails: "I'm not saying that you are wrong - I'm just trying to fit it into my real world simulated experience.")
You have to keep in mind, the result of that formula is EXTRUDER acceleration.
Jerk/accel for E axis is a slightly different game, because their relationships to the X/Y axes is based on volume of extrudate.
[edit: though, I may have misunderstood your post. I thought you were talking about your X/Y acceleration. I need a second coffee, sorry.]
-
@garyd9 said in Duet Wifi and nimble acceleration issue:
This thread shouldn't turn into one of the many (now closed) ProductX vs ProductY threads
I agree 100%, just answered the question with my experience
I found many had issues with remote direct and PA and I have same experience, I can get high jerk/accel but no luck with PA on remote direct
-
How much PA is needed on a RDD extruder anyway?
-
@dc42 said in Duet Wifi and nimble acceleration issue:
How much PA is needed on a RDD extruder anyway?
That's a good question as the tension of the cable buffers the pressure in the hotend. The problem I had was I was getting zero quality improvements with change of PA and I was getting huge slowdowns so I gave up setting PA on RDD
-
@dc42 said in Duet Wifi and nimble acceleration issue:
How much PA is needed on a RDD extruder anyway?
More than I thought, if I use the python script test that has been posted on the forums (and comes up every now and then.) It's the one that prints a double thick wall with motion speeding up and slowing down while printing - and slowly increasing PA over the vertical space.
Based on that test alone, the 30:1 nimble on a smart effector with a standard E3D v6 setup needed a PA between 0.15 and 0.20 PA before the "fast" and "slow" sections started getting near the same thickness. To compare to that, I used to use a titan extruder with a precision piezo orion module and v6 heat break, all hanging from my effector. That only needed a PA of 0.04, and the length between the extruder hob and nozzle was about 15mm longer than what I have with the zesty nimble and smart effector assembly.
What was interesting with the nimble PA test is that the resulting print didn't "tear" at very low levels of PA (as pictures I've seen seem to indicate happens with bowden setups.) In fact, the print looked nearly identical all the way from PA 0 to PA .12 or so.
That leads me to guess that there is some pressure build up in the drive cable causing the issue. Perhaps M572 is entirely the wrong answer to that issue. Unfortunately, PA is the only tool that I know of that deals with that kind of symptom, so it's what I try to use. (If you only have a wrench, but you need to drive in a nail... that wrench starts looking like a hammer.)
I will mention that when I print "normal things" with a higher jerk (250 or so) and a PA of 0.04, as long as I can ignore the noises, the prints do look slightly better than prints with a PA of 0. In particular, it's nearly impossible for me to identify where lines of extrusion start/stop with a PA of 0.04.
All that being said.. I just (about 20 minutes ago) replaced my NEMA17 pancake stepper that was driving the nimble with a 1 amp NEMA14. It has less torque (12.5Ncm vs 16Ncm), but half the rotor inertia, so I'm hoping it behaves better with the sudden direction changes from higher jerk and PA. I think I'd be happier if I could keep jerk at 250 (and not have slowdowns with PA 0.04.)
-
I did away with all the settings and interaction problems by going to Portescap P430 258 005 01 3.6 degree ultra low rotor inertia disc permanet magnet steppers for my Nimble extruders. I'll never go back to conventional steppers with a high ratio extruder after using them, they are like a sports car vs a Yugo for starting, stopping, and reversing direction in comparison to the suggested Nema 17 pancake and Nema 14. Expensive new, but they can occasionally be found used at a decent cost.