Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Input Shaping driving me nuts

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    10
    38
    3.6k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Adamfilipundefined
      Adamfilip @Exerqtor
      last edited by

      @Exerqtor I get this frustration. Im at the point where I want to stop tinkering so much to get my printer to just print "normally" Bambu machines are looking better and better lol

      hestiahuangundefined 1 Reply Last reply Reply Quote 0
      • hestiahuangundefined
        hestiahuang @Adamfilip
        last edited by

        @Adamfilip said in Input Shaping driving me nuts:

        @Exerqtor I get this frustration. Im at the point where I want to stop tinkering so much to get my printer to just print "normally" Bambu machines are looking better and better lol

        Bambu is Klipper base?

        Adamfilipundefined 1 Reply Last reply Reply Quote 0
        • Adamfilipundefined
          Adamfilip @hestiahuang
          last edited by

          @hestiahuang dont know. its a closed firmware

          1 Reply Last reply Reply Quote 0
          • Al_Capwnundefined
            Al_Capwn
            last edited by

            UPDATE:

            Finally got around to trying things again now that there is a day of not rain, hail or near freezing temps.. only ran one test but it seems to have had large affect.

            @droftarts , lowering the jerk seemed to do the trick, i have them down to 150/150, i'm only able to push it to 2000 m/s accel though including pictures

            [link text](bc97f2b2-bb2c-4e05-8538-7c629e572c2d-image.png link url)

            alt text

            Here is a picture of the much better looking (imo) input shaping and a picture of the final product, the second ring from the bottom is 2000m/s and after it goes up 500 about every ring, there is a huge change from 2000 to 2500 which seems odd to me and it goes as high as 7000m/s.

            Anyway, tomorrow going to print (if its not raining) another set of speed tests to see if i can go faster then 50m/s in print speed, wish me luck and thanks all for the help ^_^ (Will post how that turns out as well, probably with another print for the voron to give a compare/contrast.

            dc42undefined Exerqtorundefined 2 Replies Last reply Reply Quote 0
            • dc42undefined
              dc42 administrators @Al_Capwn
              last edited by dc42

              @Al_Capwn I'm glad you are getting better results now.

              Large values of XY jerk do indeed reduce the effect of input shaping, so reducing XY jerk was the right thing to do. The main effect of low XY jerk is that curves that are made up of course segments will print more slowly.

              Extruder jerk does not need to be reduced for input shaping, so it should be kept fairly high in order not to reduce acceleration when pressure advance is used.

              You may also wish to try reducing the damping factor. I have a feeling that a damping factor of zero may be best when using the higher order input shapers, and the damping factor only really needs to be tuned when using the more basic shapers. On one of my printers, damping factor 0.0 certainly gives better results than 0.1.

              Duet WiFi hardware designer and firmware engineer
              Please do not ask me for Duet support via PM or email, use the forum
              http://www.escher3d.com, https://miscsolutions.wordpress.com

              Al_Capwnundefined 1 Reply Last reply Reply Quote 1
              • Exerqtorundefined
                Exerqtor @Al_Capwn
                last edited by

                @Al_Capwn
                Glad to see you getting some visible results! I've started testing with 150mm/min jerk today too.
                Spewing out some test prints atm ✌


                @dc42

                Maybe it should be covered in the jerk documentation now that input shaping has become a thing.
                What you just said would be valuable info for alot of us when we start tuning šŸ˜…

                Exerqtorundefined droftartsundefined 2 Replies Last reply Reply Quote 0
                • Exerqtorundefined
                  Exerqtor @Exerqtor
                  last edited by Exerqtor

                  Ok so in the quest to get this ghost into the proton pack I've and still being able to run high(ish) accelerations on most of the print WITHOUT using the PrusaSlicers built in acceleration control (I want to handle as much as possible in RRF) i think I've come up with a working solution.

                  By using regex in the PS G-code substitutions I'm now setting global.line_type to represent what kind of line/extrusion the printer is performing. Im doing this with Find: ^;TYPE:(.*) Replace with ;TYPE:$1\nset global.line_type = "$1".

                  Now that RRF know what's going on we have a bit more freedom to "manipulte" what happens. As of now i'm only changing what happens for External perimeters & Top solid infill since that's what we end up seeing anyways Ii'm also lowering the first layer acceleration, but that's for bed adhesion purposes).

                  The changes are done with daemon.g, who looks like this:

                    ; Print acceleration & input shaping controll
                    if global.accel_controll
                      if global.layer_number = 1
                        M204 P500                                                                ; Set printing acceleration(mm/s²)
                      else
                        if global.line_type = "External perimeter"
                          if move.printingAcceleration != global.low_accel
                            M204 P{global.low_accel}                                             ; Set printing acceleration(mm/s²)
                          if move.shaping.type != global.input_shaper
                            M593 P{global.input_shaper}                                          ; Configure input shaping
                        elif global.line_type = "Top solid infill"
                          if move.printingAcceleration != global.low_accel
                            M204 P{global.low_accel}                                             ; Set printing acceleration(mm/s²)
                        else
                          if move.printingAcceleration != global.def_print_accel
                            M204 P{global.def_print_accel}                                       ; Set printing acceleration(mm/s²)
                          if move.shaping.type != "none"
                            M593 P"none"                                                         ; Disable input shaping
                  

                  The globals referenced in daemon.g get set in globals.g at startup and look like this:

                  if !exists(global.input_shaper)
                    global input_shaper = (move.shaping.type)
                  
                  if !exists(global.def_print_accel)
                    global def_print_accel = (move.printingAcceleration)
                  
                  if !exists(global.low_accel)
                    global low_accel = 1500
                  
                  if !exists(global.accel_controll)
                    global accel_controll = true
                  
                  if !exists(global.line_type)
                    global line_type = "N/A"
                  
                  if !exists(global.layer_number)
                    global layer_number = 0
                  

                  global.layer_number is also set automatically by PS by the "After layer change G-code" seciton with set global.layer_number = {layer_num+1}

                  Note that everything else is set like usual in config.g except global,low_accel,

                  Haven't gotten time to do more any test prints yet, only some preliminary 2-3minute test's to see that the code works.

                  Anyhow this should allow us to bump up the accelerations for everything that's not visible in the finished print without relying on the slicer doing the "right" thing.

                  CCS86undefined 1 Reply Last reply Reply Quote 0
                  • droftartsundefined
                    droftarts administrators @Exerqtor
                    last edited by

                    @Exerqtor said in Input Shaping driving me nuts:

                    @dc42

                    Maybe it should be covered in the jerk documentation now that input shaping has become a thing.
                    What you just said would be valuable info for alot of us when we start tuning šŸ˜…

                    Yes, we've been discussing this. I'll update the documentation next chance I get.

                    Ian

                    Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                    Exerqtorundefined 1 Reply Last reply Reply Quote 2
                    • Exerqtorundefined
                      Exerqtor @droftarts
                      last edited by

                      @droftarts said in Input Shaping driving me nuts:

                      @Exerqtor said in Input Shaping driving me nuts:

                      @dc42

                      Maybe it should be covered in the jerk documentation now that input shaping has become a thing.
                      What you just said would be valuable info for alot of us when we start tuning šŸ˜…

                      Yes, we've been discussing this. I'll update the documentation next chance I get.

                      Ian

                      Glad to hear! šŸ™‚


                      Out of curiosity, if we take a look at this motion analysis:
                      alt text

                      What would be the best shaper center frequency? My logic wants me to put it somewhere in the middle of the X / Y spikes at 39Hz, is that reasonable? Putting it at the X-axis peak / highest frequency totally smooth's out one axis (like one would suspect), but leaves something to be desired on the other in the test prints.

                      sebkritikelundefined dc42undefined 2 Replies Last reply Reply Quote 0
                      • sebkritikelundefined
                        sebkritikel @Exerqtor
                        last edited by

                        @Exerqtor said in Input Shaping driving me nuts:

                        What would be the best shaper center frequency? My logic wants me to put it somewhere in the middle of the X / Y spikes at 39Hz, is that reasonable? Putting it at the X-axis peak / highest frequency totally smooth's out one axis (like one would suspect), but leaves something to be desired on the other in the test prints.

                        This is a totally reasonable approach, and one I've seen recommended a few times. Some shapers have a failry broad range, and can address two (or more ringing frequencies).

                        In the left column, tick 'estimate shaper effect' and then the 'show original values option'. Move your mouse over to the right, and click in the 'shaper centre frequency' after selecting a shaper. You can then scroll through the frequencies with your mouse wheel, and see how the frequency and damping factors change the results.

                        Large(ish?) IDEX - 6HC, 1HCL
                        Stratasys Dimension 1200es to 6HC Conversion

                        Exerqtorundefined 1 Reply Last reply Reply Quote 0
                        • Exerqtorundefined
                          Exerqtor @sebkritikel
                          last edited by Exerqtor

                          @sebkritikel
                          Okok, nice to get confirmation that my brain works from time to timešŸ˜…

                          Yeah i've tried playing around with those estimated values, but in my case they haven't really been representative of what ends up happening once i do a testprint.

                          I'm doing a testprint with zvd-ei3 @39Hz with zero dampening to see how it turns out.


                          On another tangent though, what M204 P value we have does effect the motion analysis right? Those still get applied on the test moves?
                          I haven't seen any mention of it in the documentation, but i would assume it gets applied.


                          OH YEAH! One more thing, does the Shaper center frequency support/allow for decimal numbers?šŸ¤”

                          sebkritikelundefined 1 Reply Last reply Reply Quote 1
                          • sebkritikelundefined
                            sebkritikel @Exerqtor
                            last edited by

                            @Exerqtor M204 question is a good one (and unfortunately I don't know the answer), may be a good note that gets added to the documentation.

                            I just tried a decimal value for the shaper frequency, and it seemed perfectly happy to report it back to me.

                            Input shaping 'ei3' at 49.5Hz damping factor 0.10, min. acceleration 10.0, impulses 0.221 0.498 0.758 0.925 with durations (ms) 10.97 9.90 9.70 9.69
                            

                            To be honest though, I can't imaging you wold need that extra significant digit for your shaper frequency.

                            Large(ish?) IDEX - 6HC, 1HCL
                            Stratasys Dimension 1200es to 6HC Conversion

                            1 Reply Last reply Reply Quote 0
                            • Al_Capwnundefined
                              Al_Capwn @dc42
                              last edited by

                              @dc42 Hello and thank you for your time,

                              I have been... WAY busy with work so the past few days has been work, sleep, mess with 3d printer, work, sleep >_<; Only now reading through the thread.

                              I have done a LAWT and have a question for you @dc42 if you would, what amount of acceleration Should I set for the extruder if my X/Y acceleration is set to 7000? I currently have it set to 1500 and have not seen issues.

                              Ok, now for the BIG UPDATEā„¢

                              To all of those still watching here, and sorry again for not posting in a few days... I have finally gotten to a stable/workable slicer profile/printer settings etc. as far as jerk goes.. The old print was with input shaping and zero jerk where the new is 14 jerk for the walls and 10 for the top/bottom.

                              alt text

                              Ran out of filament when printing this one and had to start on a roll that was a little waterlogged.
                              alt text

                              alt text

                              if you want to see the rest here is the galley https://imgur.com/a/6oXPUVE

                              I will try out lowering my damping factor a little bit later and report on how that goes, later tonight or tomorrow and report on the results with pictures probably.

                              Thank/thanks again all who showed interest and/or offered assistance/advice, it was welcome/apricated

                              1 Reply Last reply Reply Quote 0
                              • dc42undefined
                                dc42 administrators @Exerqtor
                                last edited by

                                @Exerqtor said in Input Shaping driving me nuts:

                                What would be the best shaper center frequency? My logic wants me to put it somewhere in the middle of the X / Y spikes at 39Hz, is that reasonable?

                                From that graph it looks to me that you need to cancel about 25Hz to 52Hz. The Input Shaping plugin will allow you to select a shaper type and centre frequency, and overlay on the graph the effect of the shaper. The frequency range is about 2:1 so a ZVDD or EI2 shaper may be sufficient.

                                Duet WiFi hardware designer and firmware engineer
                                Please do not ask me for Duet support via PM or email, use the forum
                                http://www.escher3d.com, https://miscsolutions.wordpress.com

                                Al_Capwnundefined Exerqtorundefined 2 Replies Last reply Reply Quote 0
                                • Al_Capwnundefined
                                  Al_Capwn @dc42
                                  last edited by

                                  @dc42 hello again and sorry for pinging you again,

                                  As well as the question about acceleration, what max jerk should I have my printer set to? Continuing to tune my printer and noted something strange. I have a bondtech BMG, when I first started to dial things in and set up linear advance I noticed a strange, not quite grinding sound that had popped up, apparently this is just a thing with dual gear extruders (or at least my googling told me.)

                                  Ok, now for the strange, I had forgotten about this because at some point I had turned down my extruder jerk down to 300, switching it back to 900 has caused the not quite grinding sound to come back. SO, if 300 jerk is fine I would leave it there just to save on noise pollution, otherwise, if 900 or greater jerk is the best way to go I'll deal with the added sound.

                                  Thank you again ^_^

                                  dc42undefined 1 Reply Last reply Reply Quote 0
                                  • Exerqtorundefined
                                    Exerqtor @dc42
                                    last edited by

                                    @dc42 said in Input Shaping driving me nuts:

                                    From that graph it looks to me that you need to cancel about 25Hz to 52Hz. The Input Shaping plugin will allow you to select a shaper type and centre frequency, and overlay on the graph the effect of the shaper. The frequency range is about 2:1 so a ZVDD or EI2 shaper may be sufficient.

                                    Aha i thought one should base on the peaks not where the peaks "start/stop" to climb/fall. I've adjusted the center frequency to 38.5Hz and ZVDD now to see i if i can see a noticable difference on a print i just ran with 41,8Hz & EI2.

                                    1 Reply Last reply Reply Quote 0
                                    • dc42undefined
                                      dc42 administrators @Al_Capwn
                                      last edited by

                                      @Al_Capwn said in Input Shaping driving me nuts:

                                      I had forgotten about this because at some point I had turned down my extruder jerk down to 300, switching it back to 900 has caused the not quite grinding sound to come back. SO, if 300 jerk is fine I would leave it there just to save on noise pollution, otherwise, if 900 or greater jerk is the best way to go I'll deal with the added sound.

                                      Input shaping works better with low jerk, however if the jerk is too low then the printer may be jerky when printing some curves. By all mean stick with 300, but be prepared to increase it if printing curves becomes jerky.

                                      Duet WiFi hardware designer and firmware engineer
                                      Please do not ask me for Duet support via PM or email, use the forum
                                      http://www.escher3d.com, https://miscsolutions.wordpress.com

                                      Exerqtorundefined 1 Reply Last reply Reply Quote 0
                                      • Exerqtorundefined
                                        Exerqtor @dc42
                                        last edited by

                                        @dc42 Yeah i had to turn my jerk back up to 900 since the prints turned out horrible at 150.

                                        I'm about to trash the lightweight x gantry on my machine now. Gone through 1kg of plastic just running test prints now 🤣

                                        1 Reply Last reply Reply Quote 0
                                        • CCS86undefined
                                          CCS86 @Exerqtor
                                          last edited by

                                          @Exerqtor said in Input Shaping driving me nuts:

                                          Ok so in the quest to get this ghost into the the proton pack I've and still being able to run high(ish) accelerations on most of the print WITHOUT using the PrusaSlicers built in acceleration control (I want to handle as much as possible in RRF) i think I've come up with a working solution.

                                          By using regex in the PS G-code substitutions I'm now setting global.line_type to represent what kind of line/extrusion the printer is performing. Im doing this with Find: ^;TYPE:(.*) Replace with ;TYPE:$1\nset global.line_type = "$1".

                                          Now that RRF know what's going on we have a bit more freedom to "manipulte" what happens. As of now i'm only changing what happens for External perimeters & Top solid infill since that's what we end up seeing anyways Ii'm also lowering the first layer acceleration, but that's for bed adhesion purposes).

                                          The changes are done with daemon.g, who looks like this:

                                          global.layer_number is also set automatically by PS by the "After layer change G-code" seciton with set global.layer_number = {layer_num+1}

                                          Note that everything else is set like usual in config.g except global,low_accel,

                                          Haven't gotten time to do more any test prints yet, only some preliminary 2-3minute test's to see that the code works.

                                          Anyhow this should allow us to bump up the accelerations for everything that's not visible in the finished print without relying on the slicer doing the "right" thing.

                                          I think this is a cool approach, and I have tried something similar.

                                          The issue I see with it at the moment, is that a change to the input shaper or pressure advance parameters causes a small print head dwell, and with it, a printed bulge.

                                          Exerqtorundefined 1 Reply Last reply Reply Quote 0
                                          • Exerqtorundefined
                                            Exerqtor @CCS86
                                            last edited by

                                            @CCS86
                                            Yeah I noticed that with my testing too, so I added the same IS & PA parameters to regular perimeters too, but with much higher accelerations. That removed the "dwell-blobs".

                                            CCS86undefined 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA