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

    Input shaper causing stutters and blobs on curves RRF3.5.0-rc.1

    Scheduled Pinned Locked Moved Solved
    Beta Firmware
    10
    52
    3.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.
    • A Former User?
      A Former User @Phaedrux
      last edited by A Former User

      @Phaedrux Here are the M122 after a blobbing/stuttering print. I have temporarily disabled the M593 L command. It reports 3.5.0-rc.1, but I can confirm that I'm now back on 3.4.6. (Edit: I wasn't back on 3.4.6. See posts below)

      M122
      === Diagnostics ===
      RepRapFirmware for Duet 3 Mini 5+ version 3.5.0-rc.1 (2023-08-31 16:16:56) running on Duet 3 Mini5plus Ethernet (standalone mode)
      Board ID:
      Used output buffers: 1 of 40 (32 max)
      === RTOS ===
      Static ram: 102836
      Dynamic ram: 124244 of which 0 recycled
      Never used RAM 10448, free system stack 130 words
      Tasks: NETWORK(1,ready,22.8%,139) ETHERNET(5,nWait,0.2%,566) HEAT(3,nWait,0.1%,329) Move(4,nWait,2.8%,258) CanReceiv(6,nWait,0.0%,939) CanSender(5,nWait,0.0%,337) CanClock(7,delaying,0.0%,342) TMC(4,nWait,1.4%,74) MAIN(1,running,71.9%,700) IDLE(0,ready,0.0%,29) AIN(4,delaying,0.9%,264), total 100.0%
      Owned mutexes:
      === Platform ===
      Last reset 00:05:55 ago, cause: software
      Last software reset at 2023-10-02 20:05, reason: User, Gcodes spinning, available RAM 14336, slot 1
      Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
      Error status: 0x00
      MCU revision 3, ADC conversions started 355607, completed 355607, timed out 0, errs 0
      MCU temperature: min 34.8, current 43.3, max 43.6
      Supply voltage: min 23.7, current 24.2, max 24.3, under voltage events: 0, over voltage events: 0, power good: yes
      Heap OK, handles allocated/used 99/1, heap memory allocated/used/recyclable 2048/24/0, gc cycles 0
      Events: 0 queued, 0 completed
      Driver 0: standstill, SG min 0, read errors 0, write errors 0, ifcnt 30, reads 22271, writes 3, timeouts 0, DMA errors 0, CC errors 0
      Driver 1: standstill, SG min 0, read errors 0, write errors 0, ifcnt 30, reads 22273, writes 1, timeouts 0, DMA errors 0, CC errors 0
      Driver 2: standstill, SG min 0, read errors 0, write errors 0, ifcnt 30, reads 22272, writes 1, timeouts 0, DMA errors 0, CC errors 0
      Driver 3: standstill, SG min 0, read errors 0, write errors 0, ifcnt 36, reads 22272, writes 1, timeouts 0, DMA errors 0, CC errors 0
      Driver 4: standstill, SG min 0, read errors 0, write errors 0, ifcnt 36, reads 22273, writes 1, timeouts 0, DMA errors 0, CC errors 0
      Driver 5: standstill, SG min 0, read errors 0, write errors 0, ifcnt 36, reads 22272, writes 1, timeouts 0, DMA errors 0, CC errors 0
      Driver 6: standstill, SG min 0, read errors 0, write errors 0, ifcnt 36, reads 22272, writes 1, timeouts 0, DMA errors 0, CC errors 0
      Date/time: 2023-10-02 20:11:25
      Cache data hit count 515038510
      Slowest loop: 20.53ms; fastest: 0.11ms
      === Storage ===
      Free file entries: 18
      SD card 0 detected, interface speed: 22.5MBytes/sec
      SD card longest read time 4.2ms, write time 1.1ms, max retries 0
      === Move ===
      DMs created 83, segments created 43, maxWait 67678ms, bed compensation in use: mesh, height map offset 0.000, ebfmin -1.00, ebfmax 1.00
      no step interrupt scheduled
      Moves shaped first try 555, on retry 0, too short 1781, wrong shape 5079, maybepossible 1568
      === DDARing 0 ===
      Scheduled moves 13275, completed 13275, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
      === DDARing 1 ===
      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
      Heater 0 is on, I-accum = 0.4
      Heater 1 is on, I-accum = 0.6
      === GCodes ===
      Movement locks held by null, null
      HTTP is idle in state(s) 0
      Telnet is idle in state(s) 0
      File is idle in state(s) 0, sync state 1
      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
      File2 is idle in state(s) 0
      Queue2 is idle in state(s) 0
      Q0 segments left 0, axes/extruders owned 0x0000803
      Code queue 0 is empty
      Q1 segments left 0, axes/extruders owned 0x0000000
      Code queue 1 is empty
      === Filament sensors ===
      Extruder 0: pos 325.90, errs: frame 0 parity 0 ovrun 0 pol 0 ovdue 0
      === CAN ===
      Messages queued 2205, received 0, lost 0, boc 0
      Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 26 (min 26), ts 1225/0/0
      Tx timeouts 0,0,1225,0,0,980 last cancelled message type 30 dest 127
      === Network ===
      Slowest loop: 11.83ms; fastest: 0.04ms
      Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
      HTTP sessions: 1 of 8
      = Ethernet =
      Interface state: active
      Error counts: 0 0 0 0 0 0
      Socket states: 5 2 2 2 2 0 0 0
      
      G90                                                    ; send absolute coordinates...
      M83                                                    ; ...but relative extruder moves
      M550 P"Voron"                                          ; set printer name
      M669 K1                                                ; select CoreXY mode
      M950 E1 C"io3.out" T1
      M950 E0 C"LED" T2
      M150 E0 R25 U50 B127 W0 S19		               ; set LED main lighting colours
      M918 P2 E-4 F2000000                                   ; configure direct-connect display
      M150 E1 R255 U255 B0 S3                                ; set screen LED colours
      M150 E1 R18 U21 B0 S2
      
      ; Network
      M551 P
      M552 P0.0.0.0 S1                                       ; enable network and acquire dynamic address via DHCP
      M586 P0 S1                                             ; enable HTTP
      M586 P1 S0                                             ; disable FTP
      M586 P2 S0                                             ; disable Telnet
      
      ; Drives
      M569 P0.2 S1                                           ; physical drive 0.2 goes forwards
      M569 P0.1 S1                                           ; physical drive 0.1 goes forwards
      M569 P0.3 S1                                           ; physical drive 0.3 goes forwards
      M569 P0.0 S0                                           ; physical drive 0.0 goes forwards
      M584 X0.2 Y0.1 Z0.3:4:5:6 E0.0                         ; set drive mapping
      M350 X16 Y16 Z16 E16 I1                                ; configure microstepping with interpolation
      M92 X80.00 Y80.00 Z400.00 E713.00                      ; set steps per mm
      M566 X600.00 Y600.00 Z300.00 E300.00                   ; set maximum instantaneous speed changes (mm/min)
      M203 X27000.00 Y27000.00 Z6000.00 E6000.00             ; set maximum speeds (mm/min)
      M201 X10000.00 Y10000.00 Z2000.00 E10000.00            ; set accelerations (mm/s^2)
      M906 X1700 Y1700 Z1400 E800 I70                        ; set motor currents (mA) and motor idle factor in per cent
      M84 S1800                                              ; Set idle timeout
      
      ; Axis Limits
      M208 X0 Y0 Z0 S1                                       ; set axis minima
      M208 X300 Y300 Z250 S0                                 ; set axis maxima
      
      ; Endstops
      M574 X2 S1 P"io5.in"                                   ; configure active-high endstop for high end on X via pin io5.in
      M574 Y2 S1 P"io6.in"                                   ; configure active-high endstop for high end on Y via pin io6.in
      M574 Z1 S2                                             ; configure Z-probe endstop for low end on Z
      
      ; Z-Probe
      M558 P5 C"io4.in" H5 F800 T27000                       ; set Z probe type and the dive height + speeds
      G31 P1 X0 Y-24 Z2.26                                   ; set Z probe trigger value, offset and trigger height
      M557 X24:276 Y24:276 S14                               ; define mesh grid
      
      ; Heaters
      M308 S0 P"temp1" Y"thermistor" T100000 B4582 C1.013e-7 ; configure sensor 0 as thermistor on pin temp1
      M950 H0 C"out0" T0 Q10                                 ; create bed heater output on out0 and map it to sensor 0
      M307 H0 B0 S0.90                                       ; disable bang-bang mode for the bed heater and set PWM limit
      M140 H0                                                ; map heated bed to heater 0
      M143 H0 S135                                           ; set temperature limit for heater 0 to 135C
      M570 H0 P10                                            ; allow 10 seconds before heater fault
      M308 S1 P"temp0" Y"pt1000"                             ; configure sensor 1 as PT1000 on pin temp0
      M950 H1 C"out1" T1                                     ; create nozzle heater output on out1 and map it to sensor 1
      M307 H1 B0 S0.80                                       ; disable bang-bang mode for heater and set PWM limit
      M143 H1 S305                                           ; set temperature limit for heater 1 to 305C
      M308 S2 P"temp2" Y"thermistor" T100000 B4582 C1.013e-7 
      M308 S2 A"Chamber"
      
      ; Fans
      M950 F0 C"out6" Q2000                                  ; create fan 0 on pin out6 and set its frequency
      M106 P0 C"Part fan" S0 H-1 L0.15                       ; set fan 0 value. Thermostatic control is turned on
      M950 F1 C"!out3+out3.tach" Q25000                      ; create fan 3 on pin out3 and set its frequency
      M106 P1 X0.7 H1 T55 C"Hotend radiator fan"             ; set fan 3 value. Thermostatic control is turned on
      M950 F2 C"out4" Q60                                    ; create fan 2 on pin out4 and set its frequency
      M106 P2 S0 H0 T60 C"Filter fan"                        ; set fan 2 value. Theromostatic control is turned on
      
      
      ; Tools
      M563 P0 S"Hotend" D0 H1 F0                             ; define tool 0
      G10 P0 X0 Y0 Z0                                        ; set tool 0 axis offsets
      G10 P0 R0 S0                                           ; set initial tool 0 active and standby temperatures to 0C
      
      ; Miscellaneous
      M501                                                   ; load saved parameters from non-volatile memory
      T0                                                     ; select first tool
      
      M569 P0 D2
      M569 P1 D2
      M569 P2 D2
      M569 P3 D3
      M569 P4 D3
      M569 P5 D3
      M569 P6 D3
      
      M572 D0 S0.028                                         ; set pressure advance value
      
      M671 X-46:-46:345:345 Y9:368:368:9 S20	               ; Z leadscrews positions
      
      M376 H2                                                ; set mesh compensation height limit to 2mm during a print
      
      ;G4 S1												   ; 1 second pause to allow accelerometer to wake
      ;M955 P0 C"io2.out+io2.in" I60						   ; configure accelerometer
      
      M593 P"mzv" F66 ;L3000                                  ; use MZV input shaping to cancel ringing at 66Hz
      
      M591 D0 P3 C"io0.in" S1 L25.42 R40:300 E40 A0          ; filament sensing
      
      ;OLD ;M592 D0 A-0.00597 B0.00135                             ; Configure non-linear extrusion
      
      1 Reply Last reply Reply Quote 0
      • A Former User?
        A Former User
        last edited by A Former User

        I've noticed something else which I think is related. (TLDR; This problem also seems to be causing skipping steps due to the violent movement.)

        When I ran the blob test last, I started missing steps on X and Y. Which is very weird because I'm using the same acceleration and jerk as I have done for months, and I have just reduced the X carriage from about 1100g to 555g.

        Well, I thought I would find a lower M201 and M566 value that doesn't skip. Obviously, none of it really makes any sense, since I've reduced my mass by half.

        I didn't want to waste more plastic, so I removed the heat up from the same gcode file and set things moving. Which of course sends constant "Warning: Tool 0 was not driven because its heater temperatures were not high enough or it has a heater fault" but stills sends all X, Y and Z movement commands.

        It never skipped.

        It seems that as soon as extrusion is added into the calculations, not only does the print head stop for a fraction of a second repeatedly, but these movements are not staying within the jerk/acceleration limits given.

        It seems something is not playing right between my extrusion settings and my X and Y commands.

        I didn't have any issues before I moved over to 3.5.0-rc.1. I have flashed back to 3.4.6. Could there be residual parts of 3.5.0-rc.1 left on the firmware?

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

          @Threepwood Are you 100% sure you have gone back to 3.4.6? The M122 you posted earler showed 3.5. If M122 shows 3.5 then you are running 3.5.

          There is no carry over from "previous" firmware installs, the only thing that will carry over is any changes you made to your config.g files. You seem to be running with a relatively low extruder jerk setting, you may want to try increasing that.

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

            @gloomyandy As far as I can tell. Edit: Oh hang on. I just realised, does DWC not come with RRF? I think that's where I've gone wrong.

            7579933d-4fb2-4264-9de5-6aa8e04c3440-image.png

            015804c2-0a80-4100-b435-fefaefa64037-image.png
            5d8d2480-fcf1-4f88-9cba-42db89b1ccf6-image.png

            I tried increasing extruder jerk, but once I went above about 450, I started getting really bad extrusion problems. Huge holes in test prints and overall only extruding about 20% of what I should be getting. No idea what was going on with that. I'm running a Hextrudort and Goliath from VZbot, so I would expect to be able to go higher. Once I get all these problems sorted, I'll try increasing it again.

            A Former User? gloomyandyundefined 2 Replies Last reply Reply Quote 0
            • A Former User?
              A Former User @A Former User
              last edited by

              @Threepwood Okay now I'm back on 3.4.6 RRF, not just DWC.

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

                @Threepwood None of those are showing the version number of the actual firmware. You need to look in the printer specific section of DWC or just run M122 in the console. Just to be clear DWC is not the same as RRF, they are two different components.

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

                  Now that I am actually back on 3.4.6. My problems seem to be gone again. Thanks @gloomyandy

                  Hopefully the next release of 3.5.0 will solve all these issues.

                  Arminasundefined 1 Reply Last reply Reply Quote 1
                  • Arminasundefined
                    Arminas @A Former User
                    last edited by Arminas

                    @Threepwood I had some issues with jerk settings today. I have increased it to 1800 and I had messed up print (I had some XY movement problems of round object perimeter and have found that it's caused by pressure advance and not high enough jerk), but the movement got even worse. Lowered to 600 and looks good for now. The only thing I am really missing right now is some explanation of correlation between acceleration and jerk settings 😄

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

                      @Arminas Are you talking about extruder jerk?

                      I've just run a test with increasing extruder jerk values from 300 to 1400. I'm getting gaps in the print from 600 to 1400, but they don't get any worse between 600 and 1400. There was no clicking or anything from the extruder either.

                      This makes me think that the issue could be related to the extruder jerk allowing X and Y movement speeds/acc/jerk to increase, which is what is really causing the issues. Although, saying that, I think my acceleration and jerk are quite conservative for my Voron/VZbot setup. I am trying to print this test at 300mm/s though.

                      I'm not sure how to go about finding a good value for extruder jerk and acceleration. I've read people on here using 3600 extruder jerk.

                      Should I keep pushing it and listen for when it starts getting too clicky?

                      Arminasundefined 2 Replies Last reply Reply Quote 0
                      • Arminasundefined
                        Arminas @A Former User
                        last edited by Arminas

                        @Threepwood I change XY and E jerks at the same time, so not really sure what cause this issue, but my issue is related more to the XY movement.

                        During fast printing (200 mm/s) on rounded parts of the model the XY movement was not correct, instead of smooth circular line, it was wavy. I also noticed that lowered XY jerk leads to better input shaping results.

                        As for the extruder jerk, I don't really know, I just lower it together with XY and there is no issue so far. I am on RRF 3.4.6. With RRF 3.5.0 I also had blobs, so now I know that it's related to jerk settings (based on your experience), but I am not going to test it now until I find some good info about jerk/accel and speed relation.

                        I guess I am just trying to say that incorrect jerk settings are causing these strange things with XY and E. And it gets even more complicated with Input Shaping and Pressure Advance activated.

                        I have also been reading some posts where it was said to keep jerk as low as possible. I will try to do that now.

                        deckingmanundefined 1 Reply Last reply Reply Quote 0
                        • Arminasundefined
                          Arminas @A Former User
                          last edited by

                          @Threepwood Actually, I have found good info on what exactly jerk is in a normal human language 😄 I will keep it between the standard values 300-600 mm/s

                          1 Reply Last reply Reply Quote 0
                          • deckingmanundefined
                            deckingman @Arminas
                            last edited by

                            @Arminas said in Input shaper causing stutters and blobs on curves RRF3.5.0-rc.1:

                            @Threepwood I change XY and E jerks at the same time, so not really sure what cause this issue, but my issue is related more to the XY movement.

                            During fast printing (200 mm/s) on rounded parts of the model the XY movement was not correct, instead of smooth circular line, it was wavy. I also noticed that lowered XY jerk leads to better input shaping results.

                            As for the extruder jerk, I don't really know, I just lower it together with XY and there is no issue so far. I am on RRF 3.4.6. With RRF 3.5.0 I also had blobs, so now I know that it's related to jerk settings (based on your experience), but I am not going to test it now until I find some good info about jerk/accel and speed relation.

                            I guess I am just trying to say that incorrect jerk settings are causing these strange things with XY and E. And it gets even more complicated with Input Shaping and Pressure Advance activated.

                            I have also been reading some posts where it was said to keep jerk as low as possible. I will try to do that now.

                            There is an interaction between extruder jerk and Pressure Advance when extruder Jerk is too low. Remember that for any X Y and E move, both the axes and the extruder moves have to be synchronised, so a low extruder jerk setting will of necessity have to slow down the XY axes to keep them synchronised with the extruder. You can set extruder jerk to a "silly high" number without any adverse effects because it would only apply to extruder only moves and even then, only when there is a change of direction during that move (which never happens for extruder only moves).

                            Ian
                            https://somei3deas.wordpress.com/
                            https://www.youtube.com/@deckingman

                            Arminasundefined 1 Reply Last reply Reply Quote 1
                            • Arminasundefined
                              Arminas @deckingman
                              last edited by Arminas

                              @deckingman Any idea how to choose the most optimal jerk settings?photo_2023-10-04_17-02-39.jpg

                              This line should be straight... I lowered the jerk and solved it, but now the printer does not reach max speed on curved toolpath.

                              deckingmanundefined A Former User? 2 Replies Last reply Reply Quote 0
                              • deckingmanundefined
                                deckingman @Arminas
                                last edited by

                                @Arminas Try increasing the extruder jerk but keep X and Y the same. As I said before, you can set extruder jerk to "silly high" numbers - I use 3600mm/min on my machine but 900 for X and Y.

                                Ian
                                https://somei3deas.wordpress.com/
                                https://www.youtube.com/@deckingman

                                Arminasundefined 1 Reply Last reply Reply Quote 0
                                • Arminasundefined
                                  Arminas @deckingman
                                  last edited by

                                  @deckingman This issue is related to printing speed or something else?

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

                                    @Arminas Have you tried running ringing tower tests where you change a setting in gcode every 5mm of the print?

                                    At what jerk setting did you find the lines straighten out? Remember that speed, jerk and acceleration can all effect ringing. Which is why I'm currently surrounded my dozens of test prints. 😁

                                    Ringring.jpg

                                    Despite having tuned input shaper and using the same accel and jerk settings as I used for an x carriage that was twice the weight, I'm really struggling to stop the printer from vibrating in curves. The only thing changing in this test print is print speed, from 60mm/s to 400mm/s. It seems like I can't stop the vibration above 100mm/s. Very frustrating when you see people printing with similar hardware at 400mm/s+ with far less ringing than this.

                                    I checked the frequency of the vibration by recording the sound. It seems to be about 103hz. Which mzv @66hz should extend to, but I have a feeling this isn't related to acceleration.

                                    No idea where to go to from here...

                                    Arminasundefined 1 Reply Last reply Reply Quote 0
                                    • Arminasundefined
                                      Arminas @A Former User
                                      last edited by

                                      @Threepwood I had zero ringing at 3k accel, 300 mm/s jerk at 200 mm/s speed, but with such a low jerk for XY, I can not reach 200 mm/s at NOT straight lines. I have some hope that I will be able to solve this 😄

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

                                        I've now reduced acceleration and jerk to half what it was, and the result is exactly the same.

                                        tasundefined 1 Reply Last reply Reply Quote 0
                                        • tasundefined
                                          tas @A Former User
                                          last edited by

                                          @Threepwood It might be worth trying a shaper that spans a large range and change the frequency every 5mm of the print.

                                          If you chose ei3 (which spans about 40Hz) you should be able to change the frequency by 30Hz steps like 30, 60, 90. Hopefully it will give a clue as to what is going on and you would only have to print a 15mm high part.

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

                                            @tas Good idea. I'll give that a go.

                                            I've confirmed something I already suspected. I noticed the test print file I was trying to print had quite low refinement in the STL. I suspected the vibration could be caused by the straight sections that make up the "curve".

                                            I replicated the problematic curve in CAD. At my normal (fairly high) refinement on the STL, the print didn't vibrate like before. I tried saving the file at lower refinements, and these are the results.

                                            Low, medium and high refinement. on the STL.
                                            refinement.jpg

                                            So the problem is when the increments of an STL at printing speed match a resonant frequency in the printer.

                                            I'll try doing some test prints with a low refinement STL to see what settings can reduce or eliminate this problem with low refinement STLs.

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