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

    Input Shaping On / Off Switch

    Scheduled Pinned Locked Moved
    General Discussion
    5
    23
    1.1k
    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.
    • CCS86undefined
      CCS86
      last edited by

      Could the M593 command be modified to allow on/off functionality without specifying the IS type and frequency?

      The use case is to configure IS once in the config.g file, and then be able to have the slicer turn IS off for infill and back on for perimeters.

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

        @ccs86 I suggest you create a couple of macros to turn IS off and on, then call those macros from the slicer-generated code.

        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

        CCS86undefined Norderundefined 2 Replies Last reply Reply Quote 1
        • CCS86undefined
          CCS86 @dc42
          last edited by

          @dc42 said in Input Shaping On / Off Switch:

          @ccs86 I suggest you create a couple of macros to turn IS off and on, then call those macros from the slicer-generated code.

          Would the type and frequency the. Have to be managed in the macro? I'd really like to keep my settings managed in config.g

          dc42undefined 1 Reply Last reply Reply Quote 0
          • Norderundefined
            Norder @dc42
            last edited by Norder

            Doesn't pressure advance have a different value when input shaping is disabled or enabled ?

            You should determine the pressure-advance value again if you have activated input-shaping !?

            So in that case you have to have two PA values and then add them to the IS On & Off commands.
            , if you have activated PA.

            Google Translate
            ----- Original Text -----

            Hat Pressure-Advance nicht einen anderen Wert wenn das Input-Shaping deaktiviert bzw aktiviert ist ?

            Man soll den Pressure-Advance Wert doch neu ermitteln wenn man Input-Shaping aktiviert hat !?

            In dem Fall muss man also zwei PA Werte haben und diese dann zu den IS An & Aus Befehlen hinzufügen.
            , falls man PA aktiviert hat.

            DDA5X... 0.9° Stepper... Linearrails... Duet 2 Wifi... PT100 Board... Duet IR-Probe... Dyze Pro Kit up to 500°C.. etc
            Thingiverse

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

              @ccs86 said in Input Shaping On / Off Switch:

              @dc42 said in Input Shaping On / Off Switch:

              @ccs86 I suggest you create a couple of macros to turn IS off and on, then call those macros from the slicer-generated code.

              Would the type and frequency the. Have to be managed in the macro? I'd really like to keep my settings managed in config.g

              You can define the input shaping parameters in config.g using global variables and have the shaping-on macro refer to them.

              Out of curiosity, when do you need to turn input shaping off?

              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

              CCS86undefined 2 Replies Last reply Reply Quote 0
              • CCS86undefined
                CCS86 @dc42
                last edited by

                @dc42 said in Input Shaping On / Off Switch:

                @ccs86 said in Input Shaping On / Off Switch:

                @dc42 said in Input Shaping On / Off Switch:

                @ccs86 I suggest you create a couple of macros to turn IS off and on, then call those macros from the slicer-generated code.

                Would the type and frequency the. Have to be managed in the macro? I'd really like to keep my settings managed in config.g

                You can define the input shaping parameters in config.g using global variables and have the shaping-on macro refer to them.

                Out of curiosity, when do you need to turn input shaping off?

                I'll look into that, thanks.

                Well, for infill, I can't think of why I would want input shaping on. It creates a pretty large reduction in acceleration. This slows the print down and causes you to lean more heavily on PA to keep extrusion constant. It's a fine trade on perimeters, but for infill I don't see the benefit.

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

                  @dc42

                  Something like this?

                  global IS_freq=37					   ; Input Shaping Frequency
                  global IS_type="MZV"					   ; Input Shaping Type
                  M593 P{global.IS_type} F{global.IS_freq}		   ; Input Shaping
                  
                  CCS86undefined 1 Reply Last reply Reply Quote 0
                  • CCS86undefined
                    CCS86 @CCS86
                    last edited by

                    The other likely issue here is that with the current method of turning input shaping on and off, there is a perceptible pause when the commands are issued. Having this at the beginning and end of perimeters will likely worsen print quality.

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

                      @ccs86 I think disabling input shaping during non-solid infill is a good idea. I'd need to introduce another parameter to M593 to allow IS to be enabled/disabled without affecting the parameters.

                      Alternatively, some slicers label what they are doing with comments. RRF could parse those comments and enable/disable IS automatically. For PrusaSlicer I think it would be appropriate to disable IS only on sections labelled "TYPE:Internal infill" and to all travel moves.

                      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

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

                        @dc42 said in Input Shaping On / Off Switch:

                        @ccs86 I think disabling input shaping during non-solid infill is a good idea. I'd need to introduce another parameter to M593 to allow IS to be enabled/disabled without affecting the parameters.

                        Alternatively, some slicers label what they are doing with comments. RRF could parse those comments and enable/disable IS automatically. For PrusaSlicer I think it would be appropriate to disable IS only on sections labelled "TYPE:Internal infill" and to all travel moves.

                        Awesome, I'm glad to hear you see some validity in this request!

                        Automatic on/off would be very slick.

                        I think leaving it off for solid infill could be useful as well. It could help prevent over-extrusion during the reversal between passes.

                        Travel moves are more tricky because you travel to and between perimeters, where IS would be very helpful in improving surface finish.

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

                          @ccs86 I meant to say that IS should be enabled on all travel moves. This is because Prusa Slicer appears to label a section after the travel move that precedes it.

                          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

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

                            @dc42 said in Input Shaping On / Off Switch:

                            @ccs86 I meant to say that IS should be enabled on all travel moves. This is because Prusa Slicer appears to label a section after the travel move that precedes it.

                            Which is a shame, because there is likely a bunch of time to gain with IS disabled during infill travel.

                            Prusa Slicer devs may be open to moving the label to before that initial travel move, if there is a nice functional reason like this.

                            gloomyandyundefined 1 Reply Last reply Reply Quote 0
                            • gloomyandyundefined
                              gloomyandy @CCS86
                              last edited by

                              @ccs86 Since to get this to work I assume you will need to increase the acceleration used when doing the infill (and reduce it for perimeters), what happens if you just do that? I know that IS may not work as well with higher accelerations but does it actually slow things down or cause other problems?

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

                                @gloomyandy said in Input Shaping On / Off Switch:

                                @ccs86 Since to get this to work I assume you will need to increase the acceleration used when doing the infill (and reduce it for perimeters), what happens if you just do that? I know that IS may not work as well with higher accelerations but does it actually slow things down or cause other problems?

                                I think the issue with that logic is that setting higher accelerations with IS on and cancelling a frequency around 50Hz, is that effective acceleration is capped and doesn't increase.

                                @dc42 can speak more precisely about that.

                                gloomyandyundefined 1 Reply Last reply Reply Quote 0
                                • gloomyandyundefined
                                  gloomyandy @CCS86
                                  last edited by

                                  @ccs86 That's interesting. What sort of caps have you seen to acceleration when using IS? I've not noticed any in my own tests. But perhaps you are running much higher rates.

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

                                    @gloomyandy said in Input Shaping On / Off Switch:

                                    @ccs86 That's interesting. What sort of caps have you seen to acceleration when using IS? I've not noticed any in my own tests. But perhaps you are running much higher rates.

                                    That is how IS functions, by intelligently limiting acceleration. The lower the frequency you specify, the more aggressive this is.

                                    Try making a print with and without IS on and see the difference in total print time.

                                    o_lampeundefined 1 Reply Last reply Reply Quote 0
                                    • o_lampeundefined
                                      o_lampe @CCS86
                                      last edited by

                                      @CCS86
                                      Interesting thread.
                                      Isn't IS only avoiding acceleration around the resonance frequence, but can accelerate faster than that?
                                      IMHO it should work smoothly above resonance frequency until you hit double/quad frequency again.

                                      dc42undefined 1 Reply Last reply Reply Quote 2
                                      • dc42undefined
                                        dc42 administrators @o_lampe
                                        last edited by

                                        @o_lampe said in Input Shaping On / Off Switch:

                                        @CCS86
                                        Interesting thread.
                                        Isn't IS only avoiding acceleration around the resonance frequence, but can accelerate faster than that?
                                        IMHO it should work smoothly above resonance frequency until you hit double/quad frequency again.

                                        No. Any change in acceleration will excite resonances. IS breaks the acceleration phase up into multiple phases with different accelerations so that the multiple changes in acceleration excite the resonances in ways that cancel out.

                                        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

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

                                          @CCS86 said in Input Shaping On / Off Switch:

                                          Well, for infill, I can't think of why I would want input shaping on.

                                          Indeed, I can see that you might want to turn IS off during infill. However, when it finishes the infill and switches to perimeters, the last infill move (or the last several infill moves if they are short) will excite resonances that will affect that perimeter. So you would need to re-enable IS for the last few infill moves. If you can produce a slicer that can do that, I will gladly add an input shaping on/off command.

                                          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

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

                                            @dc42 said in Input Shaping On / Off Switch:

                                            @CCS86 said in Input Shaping On / Off Switch:

                                            Well, for infill, I can't think of why I would want input shaping on.

                                            Indeed, I can see that you might want to turn IS off during infill. However, when it finishes the infill and switches to perimeters, the last infill move (or the last several infill moves if they are short) will excite resonances that will affect that perimeter. So you would need to re-enable IS for the last few infill moves. If you can produce a slicer that can do that, I will gladly add an input shaping on/off command.

                                            That is a good point!

                                            What if... instead of an on/off switch, IS could have a "perimeters only" flag that would parse extrusion roles in the read-ahead buffer:

                                            ;TYPE:External perimeter
                                            ;TYPE:Internal perimeter
                                            ;TYPE:Internal infill
                                            

                                            and intelligently utilize IS when needed?

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