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

    RRF 3.4 input shaping preview available

    Scheduled Pinned Locked Moved
    Beta Firmware
    25
    205
    24.9k
    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.
    • skrotzundefined
      skrotz @dc42
      last edited by

      @dc42 ok I did a simple print of the xyz calibration cube on 3.3 with PA disabled, and it looks clean, but the same print on 3.4 shows some zits or bubbles in spots that don't show in the 3.3 print - it looks like it is overextruding sometimes before it changes direction, they occur in several spots on the "X" of the calibration cube. They are consistent in where they occur in 3.4, multiple prints show them in the same places. Something is definitely wonky with extrusion in general for me in 3.4, and made worse when PA is enabled.

      1 Reply Last reply Reply Quote 0
      • Adrian52undefined
        Adrian52
        last edited by

        I get extruder clunking on the 11/7 3.4 on delta Duet2wifi not seen with 3.3. The 3.4 gives 1941 hiccups over 22457 moves (no step errors) ; under the same conditions 3.3 gave 0 hiccups. This is printing the first 25mm of the ringing stl.

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

          @adrian52 and @skrotz, thanks for your feedback. Please provide your config.g files and the gcode files that you printed. Also tell me what input shaping if any you were using.

          @skrotz are you quite certain that you had PA disabled in the 3.3 print? Excess extrusion when changing direction without PA is common.

          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

          Adrian52undefined skrotzundefined 4 Replies Last reply Reply Quote 0
          • Adrian52undefined
            Adrian52 @dc42
            last edited by

            @dc42 The gcode was generated by superslicer and has M593 commands embedded to change the shaping through none, zvd, zvdd, ei2, ei3 and daa at 10 mm intervals. The config used actually had PA set to 0.5, and M593 set to "none".
            20210713 config.g.txt
            ringing_tower 10mm bands incl daa 210 195 30mm_sec.gcode

            1 Reply Last reply Reply Quote 0
            • skrotzundefined
              skrotz @dc42
              last edited by

              @dc42 Pretty certain PA was off, I used the console to set the S value to 0 for it to disable. I see bulging corners and telltale signs of no PA on the print, but there's the occasional blips that don't show on the same print with no PA on 3.3.

              I may have had some input shaping enabled though on the 3.4 PA disabled print, I can do another quick test and super verify turning off PA and input shaping to see if the "blips" go away doing that. I'll try and capture some more debugging data soonish also.. getting things hooked up to a PC is a bit tricky, I should get a longer USB cable to be able to do it more easily on my setup..

              1 Reply Last reply Reply Quote 0
              • JenPetundefined
                JenPet @dc42
                last edited by JenPet

                @dc42 Hi I still have the issue that the extruder extrudes not enought filament at the end of of a line/move. This happens only when PA (0.08) is enabled. Im printing with input shaper ZVDD F55.0. I thing there is still a bug in firmware. I use Duet2Wifi and extruder is connected to main board.

                JenPetundefined 1 Reply Last reply Reply Quote 0
                • skrotzundefined
                  skrotz @dc42
                  last edited by skrotz

                  @dc42 I was able to do a 3.4 print with PA disabled and input shaping completely disabled (My previous 3.4 print with PA off had DAA enabled still, as that was my default start up) - with no PA and no input shaping, there are no zits or bubbles, things look perfect. M122 reports no stepper hiccups or errors.

                  So it seems confirmed that input shaping is causing some extrusion issues, and they are amplified by PA.

                  update: I enabled input shaping (ei2 f41 s0.10) and got the zits/blobs, same location each time. PA still off. M122 reported 4 step errors, 0 hiccups. Next I'll try and do the print with the debugging enabled and catch the step errors.

                  1 Reply Last reply Reply Quote 0
                  • sebkritikelundefined
                    sebkritikel
                    last edited by

                    From what I've seen so far, print quality improvements from input shaping are only really seen when the motion into and out of a 'junction' are straight lines. Input shaping as implemented seems to have negligible impact on more complicated motion paths - splines after a junction, etc.

                    Please ignore the faint zebra stripes... perhaps there are very faint artifacts there, but its chiefly a trick of the light and camera combination.
                    e854fb35-ce89-441c-a47a-eaf0fdc5ea74-image.png

                    Vase/spiral mode, so no z-hops. With ZVDD, targeting 22-23Hz, the straight surfaces look excellent. Once the lofts begins (and input shaping is on), you can hear an audible change in the printer's motion (not an unusual sound, it simply sounds as if input shaping is missing). During the lofted sections I would turn off input shaping, collect some accelerometer data, and then turn it back on after verifying frequencies of note. No real difference in print quality is seen in the lofted sections when shaping is on or off.

                    FWIW circles (cylinders, cones, anything with a true circular cross section) looks great.

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

                    dc42undefined botundefined 2 Replies Last reply Reply Quote 0
                    • dc42undefined
                      dc42 administrators @sebkritikel
                      last edited by

                      @sebkritikel you are quite right. Input shaping is applied only to individual move segments. Applying IS to curves that start or end at a sharp corner would require analysis and modification of several segments that make up the curve.

                      In future we may be able to apply IS to whole G2 and G3 moves. Then you could use Arc Welder to preprocess the file.

                      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
                      • GeneRisiundefined
                        GeneRisi
                        last edited by

                        @dc42 Will you always post a message if you have updated the firmware? Thanks!

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

                          @generisi we always post a message when we do a new official release (including a beta or RC release). If you have a github account then you can get additional notifications. To set them up, go to https://github.com/Duet3D/RepRapFirmware and click on Watch.

                          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

                          GeneRisiundefined 1 Reply Last reply Reply Quote 0
                          • botundefined
                            bot @sebkritikel
                            last edited by bot

                            Very interesting post, thank you for sharing.

                            This is encouraging news, to me. It really shows that it works but that it's not magic.

                            IMO, you can tune your printer to achieve better results than shown. The amount that the input shaping is reducing the ringing on the flat sections is tremendous. You had an absolutely enormous amount of ringing showing through (but I grant that the lighting may be showing it worse).

                            If, before applying input shaping, you tune your jerk/accel/feedrate settings to be much more conservative, I bet you will either see some effect from input shaping on those smaller moves or those smaller moves will at least be less noticeably problematic.

                            *not actually a robot

                            1 Reply Last reply Reply Quote 1
                            • GeneRisiundefined
                              GeneRisi @dc42
                              last edited by

                              @dc42 Thanks! (and done!)

                              1 Reply Last reply Reply Quote 0
                              • Dudek23undefined
                                Dudek23
                                last edited by

                                After a week of printing, I can confirm that the latest beta is very stable. Everything works just as good for me as in version 3.3. As for the input shaper, I am able to achieve good results with zvdd, but only on one axis at time, so I join the request for the possibility to use of different frequencies per axis.

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

                                  @dudek23 thanks for the feedback!

                                  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 0
                                  • CR3Dundefined
                                    CR3D @Dudek23
                                    last edited by

                                    @dudek23 yes different frequencies and different shapers for the different axis would be a nice option 🙂

                                    Christian from CR-3D
                                    Homepage:
                                    www.cr-3d.de

                                    Facebook:
                                    https://www.facebook.com/cr3d.official

                                    Our Discord Server
                                    https://discord.gg/SxRaPNuRdA

                                    Thingiverse Profile:
                                    https://www.thingiverse.com/cr-3d_official/about

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

                                      @cr3d an issue with using different shapers for different axes is that the axes will no longer move exactly in sync during acceleration and deceleration. For example, corners printed at 45deg to X and Y may become less square. However, I can make different shapers per axis an option to try, at least on Duet 3.

                                      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

                                      PCRundefined CR3Dundefined 2 Replies Last reply Reply Quote 1
                                      • PCRundefined
                                        PCR @dc42
                                        last edited by

                                        @dc42 how does klipper handle this? only curious how its done? are they syncing axis then?

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

                                          @pcr said in RRF 3.4 input shaping preview available:

                                          @dc42 how does klipper handle this? only curious how its done? are they syncing axis then?

                                          Good question! The Klipper docs mention "smoothing" but don't elaborate. They also suggest use of low acceleration.

                                          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

                                          PCRundefined 2 Replies Last reply Reply Quote 0
                                          • PCRundefined
                                            PCR @dc42
                                            last edited by

                                            @dc42 https://github.com/KevinOConnor/klipper/blob/master/klippy/chelper/kin_shaper.c

                                            static double
                                            shaper_xy_calc_position(struct stepper_kinematics *sk, struct move *m
                                                                    , double move_time)
                                            {
                                                struct input_shaper *is = container_of(sk, struct input_shaper, sk);
                                                if (!is->sx.num_pulses && !is->sy.num_pulses)
                                                    return is->orig_sk->calc_position_cb(is->orig_sk, m, move_time);
                                                is->m.start_pos = move_get_coord(m, move_time);
                                                if (is->sx.num_pulses)
                                                    is->m.start_pos.x = calc_position(m, 'x', move_time, &is->sx);
                                                if (is->sy.num_pulses)
                                                    is->m.start_pos.y = calc_position(m, 'y', move_time, &is->sy);
                                                return is->orig_sk->calc_position_cb(is->orig_sk, &is->m, DUMMY_T);
                                            }
                                            

                                            i am no coder but looks like the calculating it

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