Duet Wifi and nimble acceleration issue
-
Im fairly new user of RRF but Im a convert already! Anyhow my problem is that Zesty in their documentation is saying "M566 should have E value set to E40 (as it is set per minute)" but if I do that my printer(corexy) would really slow down acceleration seems to be maybe 500 or less by eye even though its set at 2000 in firmware. As soon as I increase M566 E40 to lets say 80, its speeds up. Obviously i dont understand relations between print acceleration and E jerk. What am I missing here, leaving it at recommended E40 is not an option as is.
-
Update: Just found out that actually pressure advance is the cause of slowdown. so can I keep PA with nimble?
-
@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