Simulation time way off
-
I seem to recall @bot posting some similar observations with PA and simulation.
Here it is: https://forum.duet3d.com/topic/15516/simulated-print-time-longer-with-pa-disabled/2?_=1596047378473
I notice you are also using a very low E jerk value.
-
Yeah. In my case, it was just that the estimated print time was counter-intuitively lower when pressure advance was enabled, up until a certain point where the estimated time became much higher, as expected.
I now have to rely on other methods to get accurate print estimates. I find this website: G-Code Analyser provides very accurate estimates as well as some other helpful information and visualization. (But now I remember that website doesn't support Pressure Advance, so if your extruder limits the speed due to PA, the estimates will not be accurate.)
-
@Phaedrux
I had the feeling that those jerk values were pretty standard. What would you suggest ?
Also, I think it should the board that should give accurate estimation instead of me trying to match its predictions. -
@bot
Interresting, I will give it a try. -
@HDavid said in Simulation time way off:
I had the feeling that those jerk values were pretty standard. What would you suggest ?
120mm/min is only 2mm/s. The extruder, being a purely rotational axis doesn't have a lot of mass to move, so higher jerk and acceleration values are generally possible.
Having a low jerk value isn't a problem per se, but it does have the consequence that in a coordinated move, the lowest jerk value will be honored. So when pressure advance is trying to rapidly pull the filament back prior to a retraction in coordination with XY movement, the low jerk value on E means that XY and movement will have to honor the lower limit imposed by the E movement. And hence, slower than requested print speed.
Setting a higher E jerk and acceleration allows the XY movement to be unaffected by the Extruder movement during pressure advance. This can also generally improve print quality due to less dwelling at transition points like layer changes or travel moves.
You'll have to experiment with higher values to see what works well for you, but I think in general using 3000 for jerk, accel, and retraction speed is a good starting point.
-
It did not occur to me the jerk value of E could affect XY. That is good to know. I will try that and see where it leads me.
Thank for the tip. -
@HDavid Normally (without PA) it doesn't, because the extruder is slowly and steadily extruding during the XY move and then it all stops, extruder retracts, and then XY travels to the next point to resume. Pressure advance complicates that because it's now altering the extruder speed and even stopping and reversing during the XY movement. And because it's a coordinated move, the slowest axis dictates.
-
- Are you running the simulation under exactly the same conditions as the actual print? In particular, same height map loaded (if you are using one), and same pressure advance? Note, if the print file includes a G28 command, simulation doesn't run that; therefore if you load a height map file in one of your homing files, or set PA or max acceleration or speed, it won't be loaded when you simulate.
- When you do the print, does M122 report a lot of hiccups if you run it during or after the print?
-
@dc42 said in Simulation time way off:
Are you running the simulation under exactly the same conditions as the actual print?
My workflow is: upload g-code -> run simulation -> do the real run.
I run the G28 before every print so I guess the loaded height map during simulation is the one from the previous print.
My pressure advance setting is set at the beginning of the g-code file, unless I miss something, I would says it is the same between print and simulation.I did not know of M122 before you mentioned it. I read the documentation but I am not sure when to use it and what should I look for in the results.
Below the start of a g-code a file that takes double the time:
It contains G28, G29 then M572 (PA);FLAVOR:RepRap ;TIME:7563 ;Filament used: 25.5252m ;Layer height: 0.28 ;MINX:117.65 ;MINY:67.226 ;MINZ:0.2 ;MAXX:181.778 ;MAXY:232.778 ;MAXZ:60 ;Generated with Cura_SteamEngine 4.6.1 T0 M190 S60 M104 S200 M109 S200 M82 ;absolute extrusion mode G90 ; use absolute coordinates M83 ; extruder relative mode G28 ; home all axes ;M104 S120 ; set extruder temp M140 S60 ; set bed temp M190 S60 ; wait for bed temp G29; Auto bed leveling M572 D0 S0.8 ; set pressure advance value G1 Z5 F5000 ; lift nozzle G1 X2 Y10 F3000 M109 S200 ; wait for extruder temp G1 Z0.3 F240 G92 E0.0 G1 Y190 E15.0 F1500.0 ; intro line G1 X2.3 F5000 G1 Y10 E30 F1200.0 ; intro line G92 E0.0 M83 ;relative extrusion mode G1 F3600 E-9 ;LAYER_COUNT:211 ;LAYER:0 M107 P1 G1 F1800 Z1.2 G0 X130.784 Y67.25 Z1.2 ;TYPE:SKIRT G1 F1800 Z0.2 G1 F3600 E9
-
@HDavid said in Simulation time way off:
I did not know of M122 before you mentioned it. I read the documentation but I am not sure when to use it and what should I look for in the results.
Look for the word hiccups.
Can you try simulating that file again, but this time load the heightmap and set the pressure advance before simulating it.
-
@Phaedrux
Should I run it at a specific time, like just after a print or it does not matter ? -
@HDavid said in Simulation time way off:
@Phaedrux
Should I run it at a specific time, like just after a print or it does not matter ?After a print is probably best. When you run it it displays all the counters and things and then resets them. So if you run it after a print it will show you everything that happened during that print.