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

    InputShaping-Plugin-0.2.0-pre7 released

    Scheduled Pinned Locked Moved
    Plugins for DWC and DSF
    13
    32
    2.4k
    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.
    • Fred-Yundefined
      Fred-Y @dc42
      last edited by

      @dc42 I did a lot of tests yesterday but I have not been able to reproduce the issue (reboot) I had.
      I'm unsure what caused it I haven't changed anything: same config and wiring ... the board is a few years old maybe something starts to wear.

      I'm planning to do more testing within the next few days and I will report back with a log if it is happening again.

      1 Reply Last reply Reply Quote 0
      • A Former User?
        A Former User
        last edited by A Former User

        Good morning, I've been able to make my accelerometer to work! I'm trying the plugin but (again) there's something I'm missing, I'm afraid.
        I've created two analysis, the first for the X axis and the second for the Y axis, these are the results:

        X axis:
        1.png
        2.png
        3.png

        Y axis:
        4.png
        5.png
        6.png

        Why does the plugin suggest me 10,87/88Hz as frequence? Particullary for the Y axis the spike is at 67.8 Hz wich is about where I expected it to be....what's wrong? CoreXY printer, here my M122:

        13/11/2021, 07:52:25	M122
        === Diagnostics ===
        RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.0beta6 (2021-11-06 11:37:41) running on Duet WiFi 1.02 or later
        Board ID: 08DLM-996RU-N85T0-6JKFJ-3SD6R-9SSHN
        Used output buffers: 3 of 24 (24 max)
        === RTOS ===
        Static ram: 23772
        Dynamic ram: 79576 of which 12 recycled
        Never used RAM 5408, free system stack 118 words
        Tasks: NETWORK(ready,16.6%,234) ACCEL(notifyWait,0.1%,244) HEAT(notifyWait,0.0%,326) Move(notifyWait,0.0%,283) MAIN(running,83.2%,440) IDLE(ready,0.2%,30), total 100.0%
        Owned mutexes: WiFi(NETWORK)
        === Platform ===
        Last reset 00:09:52 ago, cause: software
        Last software reset at 2021-11-13 07:42, reason: User, GCodes spinning, available RAM 5408, slot 2
        Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
        Error status: 0x0c
        Aux0 errors 0,0,0
        Step timer max interval 0
        MCU temperature: min 32.6, current 33.2, max 33.9
        Supply voltage: min 23.9, current 24.0, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes
        Heap OK, handles allocated/used 99/10, heap memory allocated/used/recyclable 2048/672/472, gc cycles 0
        Driver 0: pos 74214, standstill, SG min 0
        Driver 1: pos -21546, standstill, SG min 0
        Driver 2: pos 6345, standstill, SG min 29
        Driver 3: pos 0, standstill, SG min n/a
        Driver 4: pos 0, standstill, SG min n/a
        Driver 5: pos 0
        Driver 6: pos 0
        Driver 7: pos 0
        Driver 8: pos 0
        Driver 9: pos 0
        Driver 10: pos 0
        Driver 11: pos 0
        Date/time: 2021-11-13 07:52:23
        Cache data hit count 4294967295
        Slowest loop: 50.36ms; fastest: 0.09ms
        I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
        === Storage ===
        Free file entries: 10
        SD card 0 detected, interface speed: 20.0MBytes/sec
        SD card longest read time 3.4ms, write time 39.6ms, max retries 0
        === Move ===
        DMs created 83, segments created 19, maxWait 118823ms, bed compensation in use: none, comp offset 0.000
        === MainDDARing ===
        Scheduled moves 19, completed 19, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 1], 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 -1 -1 -1 -1, ordering errs 0
        === GCodes ===
        Segments left: 0
        Movement lock held by null
        HTTP is idle 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
        Daemon is idle in state(s) 0
        Autopause is idle in state(s) 0
        Code queue is empty
        === Filament sensors ===
        Extruder 0: pos 0.00, errs: frame 1 parity 0 ovrun 0 pol 0 ovdue 0
        Extruder 1: pos 0.00, errs: frame 0 parity 0 ovrun 0 pol 0 ovdue 0
        === Network ===
        Slowest loop: 80.25ms; fastest: 0.00ms
        Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(1), 1 sessions
        HTTP sessions: 2 of 8
        - WiFi -
        Network state is active
        WiFi module is connected to access point 
        Failed messages: pending 0, notready 0, noresp 0
        WiFi firmware version 1.26
        WiFi MAC address 84:0d:8e:b3:bc:96
        WiFi Vcc 3.45, reset reason Turned on by main processor
        WiFi flash size 4194304, free heap 25264
        WiFi IP address 192.168.1.7
        WiFi signal strength -47dBm, mode 802.11n, reconnections 0, sleep mode modem
        Clock register 00002002
        Socket states: 2 4 0 0 0 0 0 0
        

        Thanks!

        gloomyandyundefined 2 Replies Last reply Reply Quote 1
        • gloomyandyundefined
          gloomyandy @A Former User
          last edited by

          @thedragonlord You really need to run a base line test for each axis (so set the input shaper to "none") and then use that as the input to the recommendation stage. However I suspect that this will still select too low a frequency (as reported by Fred-Y above and I see the same thing). However by having the base results (with no input shaper), you may be able to judge for yourself what other tests to run and what frequency will work best for you. Remember that at the moment RRF only supports a single shaper for X and Y so you will need to select on that basis.

          @mfs12 Are there any plans to change the way that the recommendations selects the target frequency? At the moment it always seems to select something that is too low.

          A Former User? 1 Reply Last reply Reply Quote 1
          • gloomyandyundefined
            gloomyandy @A Former User
            last edited by

            @thedragonlord You might find the thread I started on input shaping of interest: https://forum.duet3d.com/topic/25931/input-shaping-testing-and-thoughts

            1 Reply Last reply Reply Quote 1
            • T3P3Tonyundefined
              T3P3Tony administrators @Fred-Y
              last edited by

              @fred-y said in InputShaping-Plugin-0.2.0-pre7 released:

              this is mainly an issue with Delta as the recording will fail if we don’t move down the effector after having homed the printer.

              Its a good idea to move your effector down at the end of homedelta.g to a position where any XY commands that are valid will not crash the carriages at the top of the endstops.

              www.duet3d.com

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

                @fred-y said in InputShaping-Plugin-0.2.0-pre7 released:

                A suggestion would be to add a Z position, this is mainly an issue with Delta as the recording will fail if we don’t move down the effector after having homed the printer.

                +1 for this

                Also, to take this a bit further, it would be nice to be able to specify test moves by XYZ coordinates. On deltas (mine, at least) the resonances vary a lot based on effector position and direction of travel. Currently I do this using the Accelerometer plugin, but that has no way to overlay FFT graphs of multiple recordings and it takes a long time to do comparisons.

                Hehehe ... sounds like I'm complaining, but this tuning process is soooo much better than it was in 3.3!

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

                  @t3p3tony Actually the firmware has been properly coded to handle this situation as it prevents these moves.

                  But I like your recommendation to move down the effector at the end of the homedelta file, I know some slicers (at least IdeaMaker) starts to move the effector on X/Y before moving down the effector causing an error.

                  1 Reply Last reply Reply Quote 1
                  • A Former User?
                    A Former User @gloomyandy
                    last edited by

                    @gloomyandy said in InputShaping-Plugin-0.2.0-pre7 released:

                    @thedragonlord You really need to run a base line test for each axis (so set the input shaper to "none") and then use that as the input to the recommendation stage. However I suspect that this will still select too low a frequency (as reported by Fred-Y above and I see the same thing). However by having the base results (with no input shaper), you may be able to judge for yourself what other tests to run and what frequency will work best for you. Remember that at the moment RRF only supports a single shaper for X and Y so you will need to select on that basis.

                    @mfs12 Are there any plans to change the way that the recommendations selects the target frequency? At the moment it always seems to select something that is too low.

                    Ok, but it's not clear, after using the recomendation, how to choose the frequency to set in the M593....all the recomendation displays the same frequency....is this a plugin's bug? I know it's my fault due to my ignorance but except for the analysis I really can't understand how to use this plugin..

                    gloomyandyundefined 1 Reply Last reply Reply Quote 0
                    • gloomyandyundefined
                      gloomyandy @A Former User
                      last edited by

                      @thedragonlord Yes, it looks like the frequency chosen is not correct and it is probably a bug (which is why I was asking @mfs12 about it). Remember that this is all new software (and still not a final release), so there are likely to be problems.

                      A Former User? 1 Reply Last reply Reply Quote 0
                      • A Former User?
                        A Former User @gloomyandy
                        last edited by

                        @gloomyandy said in InputShaping-Plugin-0.2.0-pre7 released:

                        @thedragonlord Yes, it looks like the frequency chosen is not correct and it is probably a bug (which is why I was asking @mfs12 about it). Remember that this is all new software (and still not a final release), so there are likely to be problems.

                        Sure, I'm a programmer and I know well what it means to deliver a new software! I was asking just to be sure that I did understand how the plugin was supposed to work...for the fix we'll wait, no problem at all

                        Gixxerfastundefined 1 Reply Last reply Reply Quote 0
                        • Gixxerfastundefined
                          Gixxerfast @A Former User
                          last edited by

                          I second this, I'm also working with software dev so I'm fully aware of the iteration cycles. Happy that someone is spending their time implementing this functionality.

                          The reason I started my thread, unaware of others though I spend too much time reading stuff here, was that I found it unclear wether this was a bug or something intentional.

                          Voron V2.4 (#1317) with Duet 3 Mini5+ Wifi and 1LC v1.1 Toolboard
                          Voron V0.1 (#637) with Duet 3 Mini 5+ Wifi and 1LC v1.2 Toolboard
                          Ender 3 Pro with BTT SKR-2 + RRF

                          1 Reply Last reply Reply Quote 0
                          • mfs12undefined
                            mfs12
                            last edited by

                            So far the plugin is still experimental, I am having trouble doing the calculation of the response. Apparently it's dead simple according to an excel-sheet i have. But i wasn't able to reproduce this reliable in javascript. Until then this plugin is a little useless.

                            So far it's just useful to record and review shaper configurations.

                            Visit me on github at https://github.com/mfs12/

                            1 Reply Last reply Reply Quote 0
                            • mfs12undefined
                              mfs12
                              last edited by mfs12

                              Are there any experts here willing to support implementing the suggestion mechanism?

                              Visit me on github at https://github.com/mfs12/

                              Fred-Yundefined 1 Reply Last reply Reply Quote 0
                              • CR3Dundefined
                                CR3D
                                last edited by

                                Hello everyone, I've now also tested the plugin. So far it works really well! I like it very much!

                                I have another suggestion or request. Would it be possible that when homing, if no axis is referenced, the Z-axis would not be referenced.
                                I have e.g. the accelerometer is attached to the bottom of the heating block, and in that case there would be a crash when homing.
                                Just as a suggestion. Home X and Y should be enough for the purpose ... 😉

                                IMG_20211112_124252.jpg

                                IMG_20211112_124233.jpg

                                Chrisitan from CR-3D

                                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

                                1 Reply Last reply Reply Quote 0
                                • A Former User?
                                  A Former User
                                  last edited by A Former User

                                  Guys I have to ask for a little help because I can't really understand how to use this plugin correctely...theese are the steps I make:

                                  1. Initalize a new analysis
                                  2. Configure it for the axis I want to analyze (I make different sessions for X and Y) leaving the defualt values except the start and stop position wich I set with the maximum allowed excursion for my printer
                                  3. I add an algorithm of type "none" leaving the rest of the settings at the default value
                                  4. I run the recording
                                  5. I go to reccomend, I choose the record data and I run recommendation
                                  6. I add the recommedation to the session and I record again
                                  7. I always get an error "session and record's sampling rate differ more than 1%" with some algorithms and this is the first question...what error is this?
                                  8. With some algorithms (zd, zdd etc) I've been able to collect some data so I go to he analysis page
                                  9. I choose all the records, press the button FFT, to be honest I don't see so muche differences from the different graphs but I know it's my fault because I have to change some default values, but this is not THE question yet (here's an example of the graphs)
                                    TinyTake17-11-2021-07-15-21.png
                                  10. Let's pretend for a while I've found the correct graph which flats the spike and I decide this is the setting I want to use with the M593...how do I "transfer" the recomended data into the comand? The recomended frequency it's wrong (as said before) but this could not be a problem beceause the spike frequency can be read by the "none" graph, another data I can retrieve is of course the type (mvz, ect) but THE question is how can I set the M593 with the rest of the recommended data(integral, sample and sampling rate)? Where do those settings have to be inserted in the M593?
                                    I repeat, I can't understand due to my ignorance not for the plugin not working...following the M593 wiki (https://duet3d.dozuki.com/Wiki/M593) I can't understand how to translate the recommendation into values except for the ringing frequency (wich I read form the "none" graph) and the P"type"....

                                  Could someone help me understanding?

                                  Thanks a lot for the patience....

                                  PCRundefined 1 Reply Last reply Reply Quote 0
                                  • PCRundefined
                                    PCR @A Former User
                                    last edited by

                                    @TheDragonLord

                                    just use F as your frequency

                                    then make a testprint with the different input shapers.
                                    i choose the klipper ringing test.

                                    so from 0-5mm M593 P"none" F40
                                    from 5-10mm M593 P"zvd" F40
                                    from 10-15mm M593 P"zvdd" F40

                                    and so on. 😉

                                    A Former User? 1 Reply Last reply Reply Quote 0
                                    • A Former User?
                                      A Former User @PCR
                                      last edited by

                                      @pcr said in InputShaping-Plugin-0.2.0-pre7 released:

                                      @TheDragonLord

                                      just use F as your frequency

                                      then make a testprint with the different input shapers.
                                      i choose the klipper ringing test.

                                      so from 0-5mm M593 P"none" F40
                                      from 5-10mm M593 P"zvd" F40
                                      from 10-15mm M593 P"zvdd" F40

                                      and so on. 😉

                                      in the recommendation data there are three rows for each different type and my question was about how to choose from different data having the same type...

                                      1 Reply Last reply Reply Quote 0
                                      • mfs12undefined
                                        mfs12
                                        last edited by

                                        @TheDragonLord,

                                        the recommendations are calculated for every maximal frequences per axis. So if you are having same frequencies per axis, they might duplicate.

                                        And the easiest way to verify a configuration is

                                        • check a recommendation in the recommendation table
                                        • press "add algorithm to session"
                                        • go to configure tab to review
                                        • go to record tab
                                        • run recording
                                        • review results in analysis tab
                                        • build your M593 manually https://duet3d.dozuki.com/Wiki/M593
                                        • add the M593 to you config.g or config-override.g

                                        I hope this helps a little. Alternatively you can also add the configuration manually.

                                        Visit me on github at https://github.com/mfs12/

                                        A Former User? 1 Reply Last reply Reply Quote 0
                                        • A Former User?
                                          A Former User @mfs12
                                          last edited by

                                          @mfs12 said in InputShaping-Plugin-0.2.0-pre7 released:

                                          @TheDragonLord,

                                          the recommendations are calculated for every maximal frequences per axis. So if you are having same frequencies per axis, they might duplicate.

                                          And the easiest way to verify a configuration is

                                          • check a recommendation in the recommendation table
                                          • press "add algorithm to session"
                                          • go to configure tab to review
                                          • go to record tab
                                          • run recording
                                          • review results in analysis tab
                                          • build your M593 manually https://duet3d.dozuki.com/Wiki/M593
                                          • add the M593 to you config.g or config-override.g

                                          I hope this helps a little. Alternatively you can also add the configuration manually.

                                          Ok, I start to understand....originally my analisys was only for the Y axis, are you saying that regardless the chosen axis the recommendations are always for all the three axis? In my case I haven't the same spikes for X and Y, infact X has almost no ringing at all, Y axis has an evident spike...I didn't understand that the three recommendations was one for each axis....what about the error I got with some types "session and record's sampling rate differ more than 1%" ? Last question: why the recommended frequency is always around 10Hz? Is this a bug? As you can see in my graph the real spike is at around 64Hz.....thanks

                                          1 Reply Last reply Reply Quote 0
                                          • mfs12undefined
                                            mfs12
                                            last edited by

                                            "session and record's sampling rate differ more than 1%"

                                            records which diverge too much need to be interpolated first otherwise they can't be displayed in the same graph. this is a current limitation.

                                            And very low ringing frequencies can be ignored. The plugin ignores everything below 10Hz, perhaps this threshold can be increased even further.

                                            In your case it probably makes sense to manually add a algorithm configuration for 64Hz. And do test runs.

                                            Visit me on github at https://github.com/mfs12/

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