Hi All,
I recently got back on the 3d printing scene after about a decade (Time flies!), the other day I was inspecting a failed print for a spool holder and noticed the Z axis striations seemed to follow some kind of oscillating pattern for the most part.
This made me think of the early day flight recording units and I thought if we were able to quantify these oscillations and compare them to the gcode we could derive what types of movement are causing these issues and hopefully troubleshoot them (perhaps even beyond our naked eyes capabilities)
So I drew up this back of an envelope concept and since I’m relatively inexperienced with 3D printing, I wanted to post it here and see what the communities thoughts are on it.
If it seems like a worthwhile endeavour I would be happy to invest my time in making it a reality and could hopefully publish this work (under FOSS of course) to help benefit everyones prints.
Getting good data would be very hard, a dial indicator probably won’t work very well with 0.2mm layer height and smaller. Maybe a laser would work better, but the amount of noise would be pretty high since 3D prints usually aren’t as consistent to begin with.
A much better way this is done these days is an accelerometer on the print head. Then you can put the printer through a test program which wiggles the thing in different directions at different frequencies. The accelerometer can compare the expected result with the actual result and can pick out any weird oscillations or ringing of the machine. The data from this can then be applied when slicing, to compensate for the machine properties.
This is a pretty standard function on most high-end printers these days. And is even in reach for cheap machines, since you can buy USB accelerometers for this purpose. The downside of those is the USB cable skews the result a little bit, but if mounted permanently and the cable routing is done well it can work great.
And there is little reason to do input shaping on the start of every print unless you change the mass of the moving parts by a noticeable amount. And even then, it does nothing once the print starts. You get what you get anyway when the print is finished.
What would be better is if a printer could measure and adapt to the changing resonances as the printer was printing. But I suspect that ain’t going to happen anytime soon due the complexity and the ultimate question: “How good does good enough really need to be.”