Closed nalimcos closed 1 year ago
Hey folks, I don't suppose there has been any update on this project by any chance? Seems this one is the only project that seems to be focusing on this topic.
https://github.com/MarlinFirmware/Marlin/commit/232a104a927988c63f8c0c53a8c2e26005166e2d fixed lin advance + s curve combo :) @tombrazier I salute you!
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Hello!
'Ringing' (wavy surface pattern) is a common problem when attempting higher printing speeds; vibration compensation has been brought up here before, but this approach seems new, and I believe it would require little enough processing power to comfortably run even on 8-bit controllers.
Quick description
<some math here, check the article for details>
By cutting each corner with an additional segment, along which the speed vector is the average of the speed vector for the previous and next segments, and starting T/4 before reaching the initial corner, and ending T/4 after when it would have been reached (i.e. T/2 after the start of the corrective segment), we can replace the usual oscillation by two waves which cancel each other, resulting in strongly reduced artefacts.
This image was output by a simple simulator I wrote to test my idea.
Full explanation with lots of math in attached PDF: vibcomp.pdf . Old work in progress so a bit messy though.
A simple acceleration-induced-vibration correction method as a by-product While extending this approach to compensate for linear-acceleration-induced vibrations is not as easy, acceleration can be replaced by segments of movement at varying velocities, such that each segment has the duration of half a vibration period of the uncorrected system. Incidentally, this requires much less processing power than even true linear acceleration.
I will add more information and further ideas later on, time for bed here!
Milan
EDIT: