1. Got a question or need help troubleshooting? Post to the troubleshooting forum or Search the forums!

New and novel way of reducing ringing and increasing print speeds

Discussion in 'Off Topic' started by WheresWaldo, Oct 20, 2017.

  1. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,586
    mark tomlinson likes this.
  2. OutsourcedGuru

    OutsourcedGuru Active Member

    Joined:
    Jun 3, 2017
    Messages:
    752
    Likes Received:
    141
    Good luck with that, there's a patent which will likely mean that nobody will pick this up. It's like the arch-enemy of open-source.
     
  3. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,586
    The Lab is working to incorporate this into OSS firmware projects. It could also be like the Fraunhofer FDK AAC Codec Library where even though there are patented technologies involved you are free to use it in many but not all incarnations. So UM could do a lower resolution algorithm patent free and a higher resolution version requiring licensing. Their paper outlines such a scenario with Full Preview Filtered B-spine (FPFBS) and Limited Preview Filtered B-spine (LPFBS).

    Universities routinely patent their ideas as a way to protect themselves.
     
    #3 WheresWaldo, Oct 21, 2017
    Last edited: Oct 21, 2017
  4. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,586
  5. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,586
    There is no hope of this ever being implemented in Marlin https://github.com/MarlinFirmware/Marlin/issues/8071
    They mention misleading comments by the authors as well as the fact that the required equipment necessary to measure all the variables are out of reach for most users.
     
  6. sgomes

    sgomes Active Member

    Joined:
    Dec 29, 2016
    Messages:
    136
    Likes Received:
    55
    The characteristics would likely be the same across every instance of a particular model (unless modded), so perhaps there's hope for the feature to land in Marlin and for it to be enabled (and calibrated) by manufacturers?
     
  7. daniel871

    daniel871 Well-Known Member

    Joined:
    Apr 18, 2015
    Messages:
    1,322
    Likes Received:
    510
    The characteristics would not even be the same between two stepper motors, much less an entire 3d printer assembly. There are too many variables to control for.
     
    Geof likes this.
  8. Geof

    Geof Volunteer Moderator
    Staff Member

    Joined:
    Nov 9, 2015
    Messages:
    6,713
    Likes Received:
    2,320
    Seems like a long shot at this stage. Like all things, someone will innovate on the idea eventually if its wanted bad enough.
     
  9. daniel871

    daniel871 Well-Known Member

    Joined:
    Apr 18, 2015
    Messages:
    1,322
    Likes Received:
    510
    The only truly effective way to do it would be to migrate from open-loop steppers to closed-loop servos or something where the machine is actually getting genuine feedback about the status of the stepper and how far it's moved something while it's moving.
     
    WheresWaldo and Geof like this.
  10. daniel871

    daniel871 Well-Known Member

    Joined:
    Apr 18, 2015
    Messages:
    1,322
    Likes Received:
    510
  11. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    22,635
    Likes Received:
    7,234
    "For those who have spent a bit more time than they may care to admit tuning and calibrating 3D printers"


    Pish-posh, who does that :)
     
    Geof likes this.
  12. Geof

    Geof Volunteer Moderator
    Staff Member

    Joined:
    Nov 9, 2015
    Messages:
    6,713
    Likes Received:
    2,320
    My printer didn't come with strings to tune?
     
  13. OutsourcedGuru

    OutsourcedGuru Active Member

    Joined:
    Jun 3, 2017
    Messages:
    752
    Likes Received:
    141
    Actually, I was considering re-purposing cello microtuners for bed leveling.

    Anyway, was thinking about the original idea but believe that I have an easier method. Basically, read the GCODE file, parse it for travel lines (and optionally choose internal geometry as a safe choice) and then decompose that vector into three moves: slow (5% of distance), fast (90%), slow (5%). The math shouldn't be too difficult. I just won't be dropping this on my stack of outstanding projects soon. Probably 2018Q1 though.
     
  14. Geof

    Geof Volunteer Moderator
    Staff Member

    Joined:
    Nov 9, 2015
    Messages:
    6,713
    Likes Received:
    2,320
    Why bother? These machines run on Marlin, update to UBL or mesh bed and be done with it lol. @WheresWaldo pretty much did all the necessary work to implement for everybody already. Seems a waste of time :D
     
  15. daniel871

    daniel871 Well-Known Member

    Joined:
    Apr 18, 2015
    Messages:
    1,322
    Likes Received:
    510
    That is literally what Firmware-coded Acceleration/Jerk parameters are for.
     
  16. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    22,635
    Likes Received:
    7,234
    Those don't apply during bed leveling, but otherwise ... yea :)


    edit: in Marlin at least, might in others...
    edit: edit: but the autoleveling is not done with explicit gcode strings/chains... so.... <shrug> not sure what he is getting at
     
    Geof likes this.
  17. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,586
    @OutsourcedGuru You parser for Slow Fast Slow printing is already implemented in Marlin. It is not enabled because it takes human observation to decide which values work. It is called Linear Advance (LIN_ADVANCE). Of course LIN_ADVANCE is for printing moves not travel moves. Since travel moves should be minimized by your slicer choices I am not sure how much that actually contributes to ringing (my guess is little to none).

    I have tested LIN_ADVANCE on the Robo and my particular printer setting was about 75, others may vary some. But I also found that LIN_ADVANCE didn't really improve the print quality as much as all the slicer setting you have to turn off to make sure you are not sending g-code that thwarts LIN_ADVANCE in the first place.
     
    #17 WheresWaldo, Dec 4, 2017
    Last edited: Dec 5, 2017
    mark tomlinson and Geof like this.
  18. daniel871

    daniel871 Well-Known Member

    Joined:
    Apr 18, 2015
    Messages:
    1,322
    Likes Received:
    510
    That's why I didn't quote the bed leveling portion (and probably why it was originally written with a hard return and the start of a new paragraph). :p
     
    Geof and mark tomlinson like this.
  19. OutsourcedGuru

    OutsourcedGuru Active Member

    Joined:
    Jun 3, 2017
    Messages:
    752
    Likes Received:
    141
  20. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,586
    Don't forget that you must disable coasting and extra restart distance if you are an S3D user in your slicer. And you have to enable LIN_ADVANCE in Configuration_adv.h or else M900 doesn't actually do anything
     

Share This Page