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

    New Input Shaping plugin v3.4.1-b1

    Scheduled Pinned Locked Moved
    Plugins for DWC and DSF
    25
    51
    6.5k
    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.
    • RatRig0331undefined
      RatRig0331 @jay_s_uk
      last edited by

      @jay_s_uk
      m122
      === Diagnostics ===
      RepRapFirmware for Duet 3 Mini 5+ version 3.4.0 (2022-03-15 18:59:15) running on Duet 3 Mini5plus WiFi (SBC mode)
      Board ID: G1R6K-M396U-D65J0-40KM4-3G03Z-HZ0QD
      Used output buffers: 1 of 40 (16 max)
      === RTOS ===
      Static ram: 103684
      Dynamic ram: 100772 of which 20 recycled
      Never used RAM 37236, free system stack 206 words
      Tasks: ACCEL(notifyWait,0.0%,346) SBC(ready,3.6%,473) HEAT(notifyWait,0.0%,358) Move(notifyWait,0.0%,363) CanReceiv(notifyWait,0.0%,942) CanSender(notifyWait,0.0%,372) CanClock(delaying,0.0%,339) TMC(notifyWait,1.2%,115) MAIN(running,94.4%,384) IDLE(ready,0.0%,29) AIN(delaying,0.8%,264), total 100.0%
      Owned mutexes: HTTP(MAIN)
      === Platform ===
      Last reset 00:02:51 ago, cause: software
      Last software reset at 2022-04-13 22:15, reason: HeatTaskStuck, GCodes spinning, available RAM 33300, slot 2
      Software reset code 0x4143 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0000080f BFAR 0xe000ed38 SP 0x20031c0c Task ACCE Freestk 334 ok
      Stack: 00000001 00053fcc 210c0000 00000000 404b5800 369dc3a0 3edb7e85 3331bb4c 40000000 b5ddc58d 388ab355 bb360b61 3e2aaaab 3f800000 42fa0000 3ca3d70a 40000000 43800000 3d600000 00000000 00053e1f 20031588 20031588 00000006 0008649f 00000000 20031588
      Error status: 0x00
      Aux0 errors 0,0,0
      MCU revision 3, ADC conversions started 171323, completed 171323, timed out 0, errs 0
      Step timer max interval 1472
      MCU temperature: min 31.1, current 31.1, max 32.8
      Supply voltage: min 24.0, current 24.0, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes
      Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
      Events: 0 queued, 0 completed
      Driver 0: standstill, SG min 2, read errors 0, write errors 0, ifcnt 135, reads 9165, writes 0, timeouts 0, DMA errors 0, CC errors 0
      Driver 1: standstill, SG min 0, read errors 0, write errors 0, ifcnt 135, reads 9165, writes 0, timeouts 0, DMA errors 0, CC errors 0
      Driver 2: standstill, SG min 2, read errors 0, write errors 0, ifcnt 135, reads 9166, writes 0, timeouts 0, DMA errors 0, CC errors 0
      Driver 3: standstill, SG min 58, read errors 0, write errors 0, ifcnt 137, reads 9166, writes 0, timeouts 0, DMA errors 0, CC errors 0
      Driver 4: standstill, SG min 78, read errors 0, write errors 0, ifcnt 137, reads 9165, writes 0, timeouts 0, DMA errors 0, CC errors 0
      Driver 5: standstill, SG min 170, read errors 0, write errors 0, ifcnt 119, reads 9165, writes 0, timeouts 0, DMA errors 0, CC errors 0
      Driver 6: standstill, SG min 0, read errors 0, write errors 0, ifcnt 69, reads 9166, writes 0, timeouts 0, DMA errors 0, CC errors 0
      Date/time: 2022-04-13 22:18:32
      Cache data hit count 376716422
      Slowest loop: 7.60ms; fastest: 0.09ms
      === Storage ===
      Free file entries: 10
      SD card 0 not detected, interface speed: 0.0MBytes/sec
      SD card longest read time 0.0ms, write time 0.0ms, max retries 0
      === Move ===
      DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: mesh, comp offset 0.000
      === MainDDARing ===
      Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
      === AuxDDARing ===
      Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
      === Heat ===
      Bed heaters 0 -1 -1 -1, chamber heaters 2 -1 -1 -1, ordering errs 0
      Heater 1 is on, I-accum = 0.0
      === GCodes ===
      Segments left: 0
      Movement lock held by null
      HTTP* is doing "M122" in state(s) 0
      Telnet is idle in state(s) 0
      File is idle in state(s) 0
      USB is idle in state(s) 0
      Aux is idle in state(s) 0
      Trigger* is idle in state(s) 0
      Queue is idle in state(s) 0
      LCD is idle in state(s) 0
      SBC is idle in state(s) 0
      Daemon is idle in state(s) 0
      Aux2 is idle in state(s) 0
      Autopause is idle in state(s) 0
      Code queue is empty
      === CAN ===
      Messages queued 907, received 0, lost 0, boc 0
      Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 18 (min 18), ts 504/0/0
      Tx timeouts 0,0,504,0,0,403 last cancelled message type 30 dest 127
      === SBC interface ===
      Transfer state: 4, failed transfers: 0, checksum errors: 0
      RX/TX seq numbers: 12442/6677
      SPI underruns 0, overruns 0
      State: 5, disconnects: 0, timeouts: 0, IAP RAM available 0x0f1ec
      Buffer RX/TX: 0/0-0, open files: 0
      === Duet Control Server ===
      Duet Control Server v3.4.0
      Code buffer space: 4096
      Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0
      Full transfers per second: 38.79, max time between full transfers: 43.2ms, max pin wait times: 27.7ms/0.2ms
      Codes per second: 0.01
      Maximum length of RX/TX data transfers: 4204/1532

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

        @ratrig0331 thanks for your M122 report. I've seen this issue once before. I am fairly sure it is caused by problems with the accelerometer wiring that result in communication issues between the accelerometer and the Duet.

        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

        RatRig0331undefined Norderundefined 2 Replies Last reply Reply Quote 0
        • Schild0rundefined
          Schild0r
          last edited by Schild0r

          I noticed just today, that this plugin existed. Must have been two days before release or so that I wrote a macro myself for doing this. (see below)

          Turns out I basically hit bullseye by accident with my shaper settings after running my macro and now comparing the results with the plugin, just because I did not know that MZV would dampen two frequency amplitudes and the second one did luckily coincide perfectly with the amplitude of my x-axis

          But the user Interface of the plugin is very good especially the merged frequency analyses of multiple axis and the damping curves preview for the shapers.
          Only thing I would like to add though are inputs for the acceleration and speed at which the accelerometer data is collected.
          Just a little QOL thing with e.g. a tickbox for "use maximum speeds and accelerations from current config" and if you untick it, you can enter your own values so that they are set before starting the sequence automatically instead of the user having to enter them manually before going to the plugin.
          Oh and returning the printhead back to the center position after the last move would not trigger my OCD 😂

          Also a little sidenote if a dev reads this:
          We now have Height Map in the Control tab
          The Accelerometer Viewer in Machine Specific under the Settings tab
          and the Input Shaping Plugin under the Plugins tab
          One could also debate about the G-Code Viewer (I personally like it under the Job tab) but at least the above three (and maybe even the Object Model browser) are pretty similar and thus should be under the same tab IMO.
          Please feel free to discuss my opinion though.

          the macro if anyone is interested:

          var origXAccel = move.axes[0].acceleration
          var origYAccel = move.axes[1].acceleration
          var feedrate = move.axes[0].speed
          
          if exists(param.F)
          	set var.feedrate = {param.F}
          	echo "speed for accelerometer data collection:", {var.feedrate/60}, "mm/s"
          else
          	echo "param.F not provided, instead maximum speed (X) is used for accelerometer data collection:", {var.feedrate/60}, "mm/s"
          
          G28
          G1 X{move.axes[0].max/2} Y{move.axes[1].max/2} F9000
          
          if exists(param.A)
          	echo "setting X and Y acceleration to", {param.A}, "mm/s^2"
          	M201 X{param.A} Y{param.A}
          	M201
          else
          	echo "param.A not provided, using current accelerations X:", {var.origXAccel}, "mm/s^2, Y:", {var.origXAccel}, "mm/s^2"
          
          echo "collecting acceleration data for X-Axis"
          G91 ; relative positioning
          G1 X-50 F9000
          G4 S2 
          M956 P21.0 S1000 A1 F"inputShapingX.csv"
          G1 X100 F{var.feedrate} 
          G4 S2
          
          echo "collecting acceleration data for Y-Axis"
          G1 X-50 Y-50 F9000
          G4 S2 
          M956 P21.0 S1000 A1 F"inputShapingY.csv"
          G1 Y100 F{var.feedrate} 
          G4 S2
          G1 Y-50 F9000
          G90 ; absolute positioning
          
          if exists(param.A)
          	echo "reverting changes in acceleration"
          	M201 X{var.origXAccel} Y{var.origYAccel}
          	M201
          
          T3P3Tonyundefined 1 Reply Last reply Reply Quote 3
          • T3P3Tonyundefined
            T3P3Tony administrators @Schild0r
            last edited by

            @schild0r said in New Input Shaping plugin v3.4.0-b1:

            We now have Height Map in the Control tab
            The Accelerometer Viewer in Machine Specific under the Settings tab
            and the Input Shaping Plugin under the Plugins tab
            One could also debate about the G-Code Viewer (I personally like it under the Job tab) but at least the above three (and maybe even the Object Model browser) are pretty similar and thus should be under the same tab IMO.

            this is a good point. The different features are implemented at different levels of "core" from build in from a long time ago to a new and experimental plugin, so the UI location is more based on that than on a logical place for them to be from a user use perspective. We will think about how this could work going forward, especailly as we want to encourage more plugins to the UI.

            www.duet3d.com

            1 Reply Last reply Reply Quote 2
            • RatRig0331undefined
              RatRig0331 @dc42
              last edited by

              @dc42
              It did seem to be my connections I soldered the wires directly to the accelerometer chip with a pig tail plug vs the screw post terminals I had soldered to the chip and everything seems fine now, I still have no clue what to do with the data collected yet but I’m here to learn

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

                @ratrig0331 I'm glad it's working now.

                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
                • chrishammundefined chrishamm referenced this topic
                • chrishammundefined
                  chrishamm administrators
                  last edited by

                  Version 3.4.1 is now available to fix the record dialog for users who have tools with gaps defined (e.g. T1 but no T0).

                  In addition, the shaper prediction now supports custom shapers - just make sure to be on 3.4.1 before you attempt to use this feature. When you enable it, the shaper parameters are copied from the current input shaper and by using the arrow keys in the edit dialog inputs, you can immediately get an estimate of the resulting damping curve. There is no further documentation about this feature yet and most users should not need it either. I meant to release v3.4.0 with this feature enabled but it still required a fix from v3.4.1.

                  Duet software engineer

                  Adamfilipundefined Fred-Yundefined 2 Replies Last reply Reply Quote 2
                  • Adamfilipundefined
                    Adamfilip @chrishamm
                    last edited by Adamfilip

                    Is there an easy to follow wiring diagram for the LIS3DH and the Duet2Wifi.
                    I find matching pins tricky and confusing that are listed on
                    https://docs.duet3d.com/en/User_manual/Tuning/Input_shaping_plugin

                    need something for my simpler brain lol

                    1 Reply Last reply Reply Quote 0
                    • Fred-Yundefined
                      Fred-Y @chrishamm
                      last edited by

                      @chrishamm Installed it this evening on my Predator, it's fairly easy to use and compare the different graphs.

                      I would suggest 2 things:
                      1- Add the damping factor used in the records
                      f414af43-5c79-4b63-b13f-0a424a430353-image.png
                      I started to "play" with the damping factor to see the impact on the graphs but I lost track of the value used at one point.

                      2- It took me a little bit of time to realize that I needed to click on the check-mark for set the Shaper Center Frequency and Damping factor.
                      ba38a444-1de6-4f32-b150-4aee54522690-image.png
                      I think I was "deceived" because changing the Shaper Center value immediately moves the blue bar in the graph so I wrongly assumed it would use it when doing a new record.
                      I must admit that I didn't paid much attention to the summary in the first modal box.

                      This has been mentioned before, I don't know if it has been fixed in this beta but I'm getting this message as well
                      f38a9d4f-ffc3-40a2-9aa4-015284a7a722-image.png
                      This printer has a Duet 2 Wifi and a Smart Effector v3

                      1 Reply Last reply Reply Quote 1
                      • Adamfilipundefined
                        Adamfilip
                        last edited by

                        Wish there was a video tutorial on the input shaping process with RRF and this plugin. So much content using klipper, yet to find one with duet

                        oliofundefined 1 Reply Last reply Reply Quote 0
                        • oliofundefined
                          oliof @Adamfilip
                          last edited by

                          @adamfilip by and large, the procedure is the same, with the distinction that the tooling around using the accelerometer on Klipper is (naturally) a bit more mature. Not many people do RRF videos though ... but there is not much to it.

                          1. on belt driven axes, multiple peaks on one axis indicate something is loose and is adding additional vibrations. Trying to find those and fixing them is a valuable venture anyways.
                          2. on kinematics combining drives such CoreXY it is desirable that the measured curves match, since it indicates similar tension. Do not confuse this with finding the right tension though. That is dependent on belt lengths and your motion system.
                          3. On Cartesian systems, individual axes may have different curves.
                          4. On RepRapFirmware -- other than klipper -- you can only set one input shaping algorithm, frequency, and damping setting. In practice, the damping factor is enough to cover the usual span of different frequencies on different axes.
                          5. The InputShaping plugin visualizes the measured vibration per axis, but also a recommended frequency, and you can tell it to show the effect on the frequency graph by a given algorithm and damping factor. Ideally, the damping factor is as low as possible to reduce the effect of input shaping on speeds/accelerations that aren't inducing ringing.
                          6. It's likely useful to retune PA after tuning input shaping since there is some interaction between InputShaping and PA.

                          <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

                          1 Reply Last reply Reply Quote 1
                          • tfjieldundefined
                            tfjield
                            last edited by

                            @oliof As I had posted in another thread, I measured my frequencies and applied a shaper and measured again and it looked good. (I haven't posted my results, yet.) But when I printed a test part, the ringing was noticeably worse.

                            What would this be an indication of? Damping factor too high?

                            oliofundefined 1 Reply Last reply Reply Quote 0
                            • oliofundefined
                              oliof @tfjield
                              last edited by

                              @tfjield very hard to say without seeing the curves and the before/after. It might be possible that you saw something on the graph that was just loose and overshadowed the actual measurement.

                              If all else fails, you can print the klipper ringing tower to validate what you measured.

                              <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

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

                                @dc42 said in New Input Shaping plugin v3.4.1-b1:

                                @ratrig0331 thanks for your M122 report. I've seen this issue once before. I am fairly sure it is caused by problems with the accelerometer wiring that result in communication issues between the accelerometer and the Duet.

                                I still use the integrated input shaper that is integrated in RRF 3.4.2rc1 (2022-07-06), until I read about the input shaping plugin 3.4.1-b1 today and installed it right away.

                                After about 30 minutes of use, I had several disconnections with the new plug-in, which I did not have with the previous input shaping plug-in from RRF 3.4.2rc1 (2022-07-06), so I rule out problems with the cable.

                                I then turned my printer off and on again at the power switch.
                                After that everything was OK and I haven't had these disconnections anymore.

                                Just for info, maybe it will help !?

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

                                Ich nutze bis heute den integrierten Input Shaper der in RRF 3.4.2rc1 (2022-07-06) integriert ist, bis ich heute von dem Input Shaping PlugIn 3.4.1-b1 gelesen hatte und es gleich installierte.

                                Ich hatte mit dem neuen PlugIn nach etwa 30 Minuten Nutzungszeit mehrere Verbindungsabbrüche, die ich mit dem vorherigen Input Shaping PlugIn aus RRF 3.4.2rc1 (2022-07-06) nicht hatte, daher schließe ich Probleme mit dem Kabel aus.

                                Ich machte dann meinen Drucker einmal Aus und wieder An, am Netzschalter.
                                Danach war alles OK und diese Verbindungsabbrüche hatte ich bis jetzt nicht mehr.

                                Das nur zur Info, vielleicht hilft es weiter !?

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

                                PCRundefined 1 Reply Last reply Reply Quote 0
                                • PCRundefined
                                  PCR @Norder
                                  last edited by

                                  @chrishamm @dc42
                                  When will be a release for 3.5:-)

                                  chrishammundefined Adamfilipundefined 2 Replies Last reply Reply Quote 1
                                  • chrishammundefined
                                    chrishamm administrators @PCR
                                    last edited by

                                    @PCR Here you go: https://github.com/Duet3D/InputShapingPlugin/releases/tag/v3.5.0-b1

                                    Duet software engineer

                                    Adamfilipundefined 1 Reply Last reply Reply Quote 5
                                    • Adamfilipundefined
                                      Adamfilip @PCR
                                      last edited by

                                      @PCR great can you share the release notes?

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

                                        @chrishamm cant seem to install gives error saying
                                        e812caf7-5707-4f47-8296-8d853553e197-image.png

                                        but i have 3.4.5 installed

                                        05a1377f-3efd-43dc-99d8-ebacefddef82-image.png

                                        jay_s_ukundefined chrishammundefined 2 Replies Last reply Reply Quote 0
                                        • jay_s_ukundefined
                                          jay_s_uk @Adamfilip
                                          last edited by

                                          @Adamfilip you can't install 3.5.0-b1 on 3.4.5, only on 3.5b1

                                          Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                                          1 Reply Last reply Reply Quote 0
                                          • chrishammundefined
                                            chrishamm administrators @Adamfilip
                                            last edited by

                                            @Adamfilip Use this one for 3.4.5: https://github.com/Duet3D/InputShapingPlugin/releases/tag/v3.4.1-b1

                                            Duet software engineer

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