Input Shaping makes no difference whatsoever
-
@mrdui Just to be clear did you check the Apply/M593 during a print (as it may do things differently if a print is not active)?
As a further data point I've often used that same test print to check input shaping options and have certainly seen differences in the print quality. But when doing that I've always applied the input shaping values by entering them into the console during the print.
One thing I noticed is that you have a relatively low acceleration limit set on X and Y. I wonder if that might be preventing input shaping from operating correctly? It might be worth temporarily increasing that limit to see if it changes anything.
-
@mrdui said in Input Shaping makes no difference whatsoever:
I indeed use mesh bed compensation, so there might be something there. Is there any workaround? I really need the bed compensation on this machine because its size makes it difficult to find a mirror flat enough to get consistent good first layers on the whole surface.
Do you use Z hop? I am looking at change the code so that if a travel move is executed when Z hop has been used before that move, segmentation won't be used on that travel move. So the height at the end of the move will still have mesh compensation applied, but the intermediate points won't. This should be OK provided that the amount of Z hop is greater than the maximum compensation amount in the height map.
-
@gloomyandy said in Input Shaping makes no difference whatsoever:
@mrdui Just to be clear did you check the Apply/M593 during a print (as it may do things differently if a print is not active)?
No I did it at idle, I will try during a print tomorrow just to be sure, but I'm pretty confident it will be the same (still gonna try it for good measure)
One thing I noticed is that you have a relatively low acceleration limit set on X and Y. I wonder if that might be preventing input shaping from operating correctly? It might be worth temporarily increasing that limit to see if it changes anything.
Yeah I wondered about that too, I can go higher on accelerations just to try it.
-
@dc42 said :
Do you use Z hop? I am looking at change the code so that if a travel move is executed when Z hop has been used before that move, segmentation won't be used on that travel move. So the height at the end of the move will still have mesh compensation applied, but the intermediate points won't. This should be OK provided that the amount of Z hop is greater than the maximum compensation amount in the height map.
I have z hop enabled for every travel <5mm, optional for any travel >3mm. z hop height is currently set up at 0.5mm
Earlier you were mentioning bed compensation, and I have a question regarding how bed compensation works, if you don't mind:
Does it compensate for the bed planeity during the whole print or only for the first few layers?It seems to me, according to the noise my Z axis makes during the print, that it compensates during the whole print, which, in my mind doesn't really makes sense because it would report the bed planeity errors over the whole print, so every face of it is being very slightly deformed.
Wouldn't it be better to compensate the bed deformations for just a few layers that we could define ourselves, the printer gradually correcting by averaging differences layer after layer so it eventually comes down to no correction after a while?
In my opinion that would marginally correct some tiny inacuracies, but more importantly on my machine at least, this would make the Z axis a lot quieter. -
@oliof said in Input Shaping makes no difference whatsoever:
@mrdui if you modify the speed of the printhead while printing, does the distance of the ringing artifacts change (should be wider when faster)? If not, the artifacts is likely not from printheads vibration but another cause like belt cogging or related phenomenons.
Yeah that's a good question, I wanted to try that but I couldn't remember the command to change the acceleration while the printer is running. Didn't want to edit config.g mid print since I was afraid it might cause some trouble.
I'll try that too and report back -
@mrdui said in Input Shaping makes no difference whatsoever:
It seems to me, according to the noise my Z axis makes during the print, that it compensates during the whole print, which, in my mind doesn't really makes sense because it would report the bed planeity errors over the whole print, so every face of it is being very slightly deformed.
I think you are looking for M376.
@mrdui said in Input Shaping makes no difference whatsoever:
Didn't want to edit config.g mid print
A wise decision: in order to apply changes from the config, you have to run config.g - a bad idea while printing. For modifications "on the fly", you simply send gCodes from the console.
-
@MrDui you would not need to change acceleration, but speed -- https://docs.duet3d.com/User_manual/Reference/Gcodes#m220-set-speed-factor-override-percentage
-
This post is deleted! -
@dc42 said in Input Shaping makes no difference whatsoever:
@mrdui do you have mesh bed compensation enabled, or move segmentation enabled? It has come to light that move segmentation interferes with input shaping, where the segment length or mesh spacing interval is too short to contain the acceleration or deceleration part of the move.
Interesting info, I heavily rely on mesh bed compensation and always failed to see any real difference with IS enabled...
-
@infiniteloop said in Input Shaping makes no difference whatsoever:
I think you are looking for M376.
Oh, that's great, exactly the feature I was dreaming of! Thanks a lot for sharing it!
Noob question: should I put this gcode in the config.g or in the bed.g file?
I suppose probably in the bed.g file right after the G29 command ?There's so many features in those firmwares it's hard to keep track sometimes.
Anyway, thanks, that will definitely help, I'll try it right away! -
@mrdui said in Input Shaping makes no difference whatsoever:
should I put this gcode in the config.g or in the bed.g file?
That's a really good question. As
M376
is not persistent (i.e. doesn't survive a reset) and is not a property of the mesh either (the taper is not stored in heightmap.csv), we have several options - the config being one of them. bed.g is fine, too, as long as you always level your bed after a restart of the Duet.As I do not use compensation all of the time, I have macros to switch it on (
G29 S1
) or off (G29 S2
), and that's where I putM376
, too. In case you want to apply taper on a per-print base, start.g is another option.EDIT The S parameter of the second G29 command was wrong. Now corrected.
-
@oliof said in Input Shaping makes no difference whatsoever:
@mrdui if you modify the speed of the printhead while printing, does the distance of the ringing artifacts change (should be wider when faster)? If not, the artifacts is likely not from printheads vibration but another cause like belt cogging or related phenomenons.
Ok so I did the test and it seems like the artifacts vary depending on the speed, as expected.
-
@mrdui OK. You can measure the distance between repeats of the ringing (peak-to-peak) and divide your speed by that distance to get the ringing frequency. Compare that to your accelerometer values and let us know what the results are.
-
@gloomyandy I tried another print to check if the input shapers were active during the print after I click on apply, and it seems like the shaper is active indeed after applying it when I ask using M593. So everything seems to work perfectly normally, aside from the fact I get no actual difference on the print quality of course.
I think the issue might be in the input shaper code somewhere, as suggested by @dc42
So I guess I will have to wait for a fix someday, hopefully.
Let me know if I can be of any help for testing when/if this gets fixed!Ah also I tried the bed compensation taper (M376) and it worked great, thank you very much @infiniteloop !!
(did no difference on the input shaper after the printer finished tapering though, same results during bed compensation and after tapering was done) -
@oliof said in Input Shaping makes no difference whatsoever:
@mrdui OK. You can measure the distance between repeats of the ringing (peak-to-peak) and divide your speed by that distance to get the ringing frequency. Compare that to your accelerometer values and let us know what the results are.
The measures indicate about 20 Hz. The accelerometer said 16Hz so I guess it's close enough.
-
@mrdui pretty close by, true. I would try with 20Hz mzv and a damping factor 0f 0.1 just to be safe.
-
@oliof said in Input Shaping makes no difference whatsoever:
@mrdui pretty close by, true. I would try with 20Hz mzv and a damping factor 0f 0.1 just to be safe.
Doesn't make any difference at all.
-
@mrdui very interesting. Maybe due to the heavy print head?
-
@mrdui 20Hz is a pretty low frequency for the input shaper. You might want to try something higher like 40Hz, just to see if that makes any difference. Some of the shapers cover a fairly wide frequency range so even if not on the primary frequency they may still help with the ringing.
-
@gloomyandy said in Input Shaping makes no difference whatsoever:
@mrdui 20Hz is a pretty low frequency for the input shaper. You might want to try something higher like 40Hz, just to see if that makes any difference. Some of the shapers cover a fairly wide frequency range so even if not on the primary frequency they may still help with the ringing.
I've got the same result with 40Hz, and tried many other frequencies, both lower or higher.
I don't think its a problem of settings anymore, there would be at least some pattern change, it looks like it is just off.