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

    Extruder motor clicks after firmware update

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    2
    15
    369
    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.
    • ArekRuckiundefined
      ArekRucki
      last edited by

      Hi All,

      After upgrading to the latest firmware version (3.5.1) my extruder motor started to "click / tick".
      My printer is custom delta. I print with clay so actually it is not a typical extruder. It is kind of ram extruder.

      IMG_E3310.JPG

      This strange clicking shows up only when printing, and when I send direct G1 command it runs smoothly.

      Here is a short film with clicking
      https://youtube.com/shorts/kYnGNsm8S6M?feature=share

      Here after g1 e5 f20
      https://youtube.com/shorts/hxXdsFo5lNo?feature=share

      I'm using Duet 2 wifi with 1,8 deg stepper motors.
      Here is my confing and confing-override file.

      ; Configuration file for Duet WiFi (firmware version 3.3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.3.16 on Tue Apr 25 2023 16:52:41 GMT+0200 (czas środkowoeuropejski letni)
      
      ; General preferences
      M575 P1 S1 B57600                        ; enable support for PanelDue
      G90                                      ; send absolute coordinates...
      M83                                      ; ...but relative extruder moves
      M550 P"My Printer"                       ; set printer name
      M665 R115 L230 B85 H255.15                  ; Set delta radius, diagonal rod length, printable radius and homed height
      M666 X0 Y0 Z0                            ; put your endstop adjustments here, or let auto calibration find them
      
      ; Network
      M552 S1                                  ; enable network
      M586 P0 S1                               ; enable HTTP
      M586 P1 S0                               ; disable FTP
      M586 P2 S0                               ; disable Telnet
      
      ; Drives
      M569 P0 S0                               ; physical drive 0 goes backwards
      M569 P1 S0                               ; physical drive 1 goes backwards
      M569 P2 S0                               ; physical drive 2 goes backwards
      M569 P3 S1                               ; physical drive 3 goes forwards
      M584 X0 Y1 Z2 E3                         ; set drive mapping
      M350 E8 I0                               ; configure microstepping without interpolation
      M350 X16 Y16 Z16 I1                      ; configure microstepping with interpolation
      M92 X80.00 Y80.00 Z80.00 E24000.00       ; set steps per mm
      M566 X800.00 Y800.00 Z800.00 E800.00    ; set maximum instantaneous speed changes (mm/min)
      M203 X4800.00 Y4800.00 Z4800.00 E1200.00 ; set maximum speeds (mm/min)
      M201 X500.00 Y500.00 Z500.00 E500.00       ; set accelerations (mm/s^2)
      M906 X1000 Y1000 Z1000 E2400 I30         ; set motor currents (mA) and motor idle factor in per cent
      M84 S30                                  ; Set idle timeout
      
      ; Axis Limits
      M208 Z0 S1                               ; set minimum Z
      
      ; Endstops
      M574 X2 S1 P"xstop"                      ; configure switch-type (e.g. microswitch) endstop for high end on X via pin xstop
      M574 Y2 S1 P"ystop"                      ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin ystop
      M574 Z2 S1 P"zstop"                      ; configure switch-type (e.g. microswitch) endstop for high end on Z via pin zstop
      
      ; Z-Probe
      M950 S0 C"exp.heater3"                   ; create servo pin 0 for BLTouch
      M558 P9 C"^zprobe.in" H30 F120 T6000     ; set Z probe type to bltouch and the dive height + speeds
      G31 P500 X25.018 Y-14.444 Z2.11           ; set Z probe trigger value, offset and trigger height
      M557 R85 S20                             ; define mesh grid
      
      ; Heaters
      M140 H-1                                 ; disable heated bed (overrides default heater mapping)
      
      ; Fans
      
      ; Tools
      M563 P0 D0 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
      
      ; Custom settings
      M203 I6									; set minimum speed to 6 mm/min
      
      ; Miscellaneous
      T0                                       ; select first tool
      M501
      
      ; config-override.g file generated in response to M500 at 2023-05-07 16:49
      ; This is a system-generated file - do not edit
      ; Delta parameters
      M665 L230.000:230.000:230.000 R115.562 H248.572 B85.0 X1.115 Y0.858 Z0.000
      M666 X-0.757 Y0.145 Z0.612 A0.00 B0.00
      ; Heater model parameters
      ; Workplace coordinates
      G10 L2 P1 X0.00 Y0.00 Z0.00
      G10 L2 P2 X0.00 Y0.00 Z0.00
      G10 L2 P3 X0.00 Y0.00 Z0.00
      G10 L2 P4 X0.00 Y0.00 Z0.00
      G10 L2 P5 X0.00 Y0.00 Z0.00
      G10 L2 P6 X0.00 Y0.00 Z0.00
      G10 L2 P7 X0.00 Y0.00 Z0.00
      G10 L2 P8 X0.00 Y0.00 Z0.00
      G10 L2 P9 X0.00 Y0.00 Z0.00
      

      m122

      m122: === Diagnostics ===
      RepRapFirmware for Duet 2 WiFi/Ethernet version 3.5.1 (2024-04-19 14:40:46) running on Duet WiFi 1.02 or later
      Board ID: 0JD0M-9P6B2-NJ4S8-6JKDG-3S86S-1B72M
      Used output buffers: 12 of 26 (24 max)
      === RTOS ===
      Static ram: 23256
      Dynamic ram: 71376 of which 56 recycled
      Never used RAM 18312, free system stack 130 words
      Tasks: NETWORK(2,nWait 6,15.7%,211) HEAT(3,nWait 5,0.0%,378) Move(4,nWait 5,0.5%,298) MAIN(1,running,83.7%,700) IDLE(0,ready,0.1%,29), total 100.0%
      Owned mutexes: WiFi(NETWORK)
      === Platform ===
      Last reset 00:57:53 ago, cause: power up
      Last software reset at 2023-06-17 16:54, reason: User, Gcodes spinning, available RAM 14184, slot 0
      Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
      Error status: 0x00
      Aux0 errors 0,0,0
      MCU temperature: min 32.7, current 33.4, max 33.7
      Supply voltage: min 23.8, current 24.0, max 24.5, 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: 132 queued, 132 completed
      Driver 0: standstill, SG min 0
      Driver 1: standstill, SG min 0
      Driver 2: standstill, SG min 0
      Driver 3: standstill, SG min 0
      Driver 4: standstill, SG min n/a
      Driver 5: 
      Driver 6: 
      Driver 7: 
      Driver 8: 
      Driver 9: 
      Driver 10: 
      Driver 11: 
      Date/time: 2024-05-18 12:38:06
      Cache data hit count 4294967295
      Slowest loop: 219.23ms; fastest: 0.17ms
      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 7.5ms, write time 0.9ms, max retries 0
      === Move ===
      DMs created 83, segments created 6, maxWait 343928ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 1.00
      no step interrupt scheduled
      Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0
      === DDARing 0 ===
      Scheduled moves 147, completed 147, hiccups 10048, stepErrors 0, LaErrors 0, Underruns [0, 0, 19], CDDA state -1
      === Heat ===
      Bed heaters -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
      === GCodes ===
      Movement locks 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
      Q0 segments left 0
      Code queue 0 is empty
      === Network ===
      Slowest loop: 210.79ms; fastest: 0.07ms
      Responder states: HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
      HTTP sessions: 1 of 8
      === WiFi ===
      Interface state: active
      Module is connected to access point 
      Failed messages: pending 0, notrdy 0, noresp 0
      Firmware version 2.1.0
      MAC address 48:3f:da:a6:f0:84
      Module reset reason: Power up, Vcc 3.38, flash size 2097152, free heap 39688
      WiFi IP address 192.168.0.179
      Signal strength -69dBm, channel 11, mode 802.11n, reconnections 0
      Clock register 00002002
      Socket states: 0 0 0 0 0 0 0 0
      

      Many thanks for help.
      Arek

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

        Your steps/mm for the extruder is set to 24000 and the max speed is set to 1200mm/min (or 20mm/s) that gives 480000 steps/second at max speed, which is a pretty high step rate. With 8 microsteps per step and a typical stepper motor that has 200 steps per revolution I make that 18000 rpm, which again seems very high (most stepper motors have a max speed of about 1000rpm).

        Are the above settings correct?

        Did these same settings work with your previous firmware? What version did you have installed before the upgrade?

        Can you post a gcode file that produces the clicking (so we can see what sort of extrusion rates are in use)?

        1 Reply Last reply Reply Quote 0
        • ArekRuckiundefined
          ArekRucki
          last edited by

          I print very slowly e.g. 5, 10, 20 mm/s.
          My extruder setup is 1,8 deg motor with gearbox reduction 1:30 and leadscrew (pitch 2 mm).
          When printing extruder motor turns let's say 60 rpm - 120 rpm.
          But as I said when sending g1 e5 directly from DWC console everything is ok.

          I don't remember previous firmware version - i think it was something like 3.4.

          My file:
          2024.05.18 cylinder 60xh60 d3 t54 lh1.gcode
          Then I tried to slice with lower resolution = 0,1 mm
          2024.05.18 cylinder 60xh60 d3 t54 lh1 sr0_1.gcode
          but there was no difference.

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

            @ArekRucki Did you make any other change (to your config or anything else) other than updating the firmware?

            Your M122 output is showing a high number of hiccups:

            Scheduled moves 147, completed 147, hiccups 10048, stepErrors 0, LaErrors 0, Underruns [0, 0, 19], CDDA state -1
            

            could you try adjusting the number of microsteps for your extruder to 4 rather than 8 (change your M350 from M350 E8 I0 to M350 E4 I0) and reduce the steps/mm for the extruder from E24000.00 to E12000.00 and see if you still get the clicking.

            Other than that I'm pretty much out of ideas.

            ArekRuckiundefined 2 Replies Last reply Reply Quote 0
            • ArekRuckiundefined
              ArekRucki @gloomyandy
              last edited by

              @gloomyandy
              thanks for you answer. I didn't change anything in my config.
              I'll try to reduce microstepping.
              I'm not sure my jerk and acceleration values but since the firmware update it worked.

              1 Reply Last reply Reply Quote 0
              • ArekRuckiundefined
                ArekRucki
                last edited by

                This post is deleted!
                1 Reply Last reply Reply Quote 0
                • ArekRuckiundefined
                  ArekRucki @gloomyandy
                  last edited by

                  @gloomyandy
                  I've set extruder microstepping to 12000 but nothing has changed.
                  I've also noticed that clicking appears only on circular moves. On straights it's all ok.
                  I think it has something to do with jerk or acceleration but I can't figure out what parameters should I use.
                  With model sliced wit lower resolution also hiccups disappeared.

                  Scheduled moves 120, completed 120, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 1], CDDA state -1
                  
                  gloomyandyundefined 1 Reply Last reply Reply Quote 0
                  • gloomyandyundefined
                    gloomyandy @ArekRucki
                    last edited by

                    @ArekRucki Did you make both this change:

                    M350 E4 I0
                    

                    and this change:

                    M92 X80.00 Y80.00 Z80.00 E12000.00
                    

                    Both would be needed. I would have expected the above change to have reduced the number of hiccups seen with your original model, was this not the case?

                    In terms of jerk, you could try reducing your E jerk in stages to see if it helps with the clicking. So your current jerk setting is:

                    M566 X800.00 Y800.00 Z800.00 E800.00
                    

                    Try

                    M566 X800.00 Y800.00 Z800.00 E400.00
                    

                    If that is better try increasing it until the clicking starts again and then back it off a little.

                    ArekRuckiundefined 1 Reply Last reply Reply Quote 0
                    • ArekRuckiundefined
                      ArekRucki @gloomyandy
                      last edited by

                      @gloomyandy
                      yes. I changed both values. then I started to print the model sliced with lower resolution.
                      Hiccaps gone but not the clicking and motor was louder.
                      I try to set lower jerk but I don't understand why the clicking appears only on circular moves...???
                      Thanks for your time...

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

                        @ArekRucki Why did you reslice the file at a lower resolution? That should not really have been needed, the changes I suggested should still have worked with your original test file. Did you ever try the original file with the new settings? I would have expected the hiccups to have been reduced.

                        As to jerk settings you may find that increasing the setting helps if your motor is actually capable of that sort of acceleration. Circles will be implemented as a series of short lines, which in effect cause the motors to slow down and speed up if the motor can't cope with this then that may be causing the clicking. But since we have not really identified the cause of clicking it is hard to be sure.

                        ArekRuckiundefined 1 Reply Last reply Reply Quote 0
                        • ArekRuckiundefined
                          ArekRucki @gloomyandy
                          last edited by

                          @gloomyandy

                          @gloomyandy said in Extruder motor clicks after firmware update:

                          Did you ever try the original file with the new settings? I would have expected the hiccups to have been reduced.

                          yes, I tried. here is what I got:

                          Scheduled moves 147, completed 147, hiccups 10048, stepErrors 0, LaErrors 0, Underruns [0, 0, 19], CDDA state -1
                          

                          With resliced model I have 0 hiccups
                          But it's interesting that the hiccups also show up with via DWC sent G1 E F command.
                          Here is yesterday's output:

                          18.05.2024, 12:30:17: g1 e5 f20
                          18.05.2024, 12:32:27: m122: === Diagnostics ===
                          RepRapFirmware for Duet 2 WiFi/Ethernet version 3.5.1 (2024-04-19 14:40:46) running on Duet WiFi 1.02 or later
                          Board ID: 0JD0M-9P6B2-NJ4S8-6JKDG-3S86S-1B72M
                          Used output buffers: 14 of 26 (20 max)
                          === RTOS ===
                          Static ram: 23256
                          Dynamic ram: 71376 of which 56 recycled
                          Never used RAM 18312, free system stack 130 words
                          Tasks: NETWORK(2,nWait 6,15.4%,211) HEAT(3,nWait 5,0.0%,378) Move(4,nWait 5,1.1%,298) MAIN(1,running,83.4%,700) IDLE(0,ready,0.1%,29), total 100.0%
                          Owned mutexes: WiFi(NETWORK)
                          === Platform ===
                          Last reset 00:52:12 ago, cause: power up
                          Last software reset at 2023-06-17 16:54, reason: User, Gcodes spinning, available RAM 14184, slot 0
                          Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
                          Error status: 0x00
                          Aux0 errors 0,0,0
                          MCU temperature: min 27.9, current 33.5, max 34.5
                          Supply voltage: min 23.7, current 24.0, max 24.6, 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: 106 queued, 106 completed
                          Driver 0: standstill, SG min 0
                          Driver 1: standstill, SG min 0
                          Driver 2: standstill, SG min 0
                          Driver 3: standstill, SG min 0
                          Driver 4: standstill, SG min n/a
                          Driver 5: 
                          Driver 6: 
                          Driver 7: 
                          Driver 8: 
                          Driver 9: 
                          Driver 10: 
                          Driver 11: 
                          Date/time: 2024-05-18 12:32:26
                          Cache data hit count 4294967295
                          Slowest loop: 222.65ms; fastest: 0.11ms
                          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 27.0ms, write time 30.8ms, max retries 0
                          === Move ===
                          DMs created 83, segments created 6, maxWait 226437ms, bed compensation in use: none, height map offset 0.000, max steps late 1, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 1.00
                          no step interrupt scheduled
                          Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0
                          === DDARing 0 ===
                          Scheduled moves 571, completed 571, hiccups 40168, stepErrors 0, LaErrors 0, Underruns [0, 0, 119], CDDA state -1
                          === Heat ===
                          Bed heaters -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
                          === GCodes ===
                          Movement locks 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
                          Q0 segments left 0
                          Code queue 0 is empty
                          === Network ===
                          Slowest loop: 249.59ms; fastest: 0.00ms
                          Responder states: HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
                          HTTP sessions: 1 of 8
                          === WiFi ===
                          Interface state: active
                          Module is connected to access point 
                          Failed messages: pending 0, notrdy 0, noresp 0
                          Firmware version 2.1.0
                          MAC address 48:3f:da:a6:f0:84
                          Module reset reason: Power up, Vcc 3.39, flash size 2097152, free heap 39688
                          WiFi IP address 192.168.0.179
                          Signal strength -67dBm, channel 11, mode 802.11n, reconnections 0
                          Clock register 00002002
                          Socket states: 0 0 0 0 0 0 0 0
                          

                          I don't know...
                          Fortunately the prints come out with correct dimensions.

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

                            @ArekRucki At the moment it is hard to compare those numbers because it looks like the m122 from yesterday includes more than one print (it has a much higher number of scheduled moves as well as more hiccups) You really need to do the following....
                            0. Power the printer on

                            1. Run a single print of the original file with the new step settings.
                            2. Run M122 and save the results.
                            3. Reset the step settings
                            4. retartt the printer.
                            5. Run the same print again
                            6. run m122

                            If when you compare the results you are getting the same number of hiccups then that probably means that it is not the extruder moves that are causing the problem, but rather the X/Y moves (which may explain why you see a reduction in hiccups when you reduce the resolution). Ideally you do not want to be running with that high number of hiccups, but at the end of the day it is the printed results that matter, so if you get better quality with the higher resolution even with the hiccups then that may be the best solution.

                            Unfortunately it looks like we have not really identified the source of the clicking though. You may need to experiment with jerk and acceleration values. Note that jerk is only used at the junction of two moves, so you will not see any impact of jerk settings when issuing a single move from the console, you need to use a test print.

                            ArekRuckiundefined 1 Reply Last reply Reply Quote 0
                            • ArekRuckiundefined
                              ArekRucki @gloomyandy
                              last edited by

                              @gloomyandy
                              ok. many thanks. I'll do the test as you suggest.
                              I thought m122 only shows data of the last job, isn't it?
                              how does it actually work?

                              1. power up.
                              2. printing job 1.
                              3. sending m122
                              4. data from job 1
                              5. printing job 2
                              6. sending m122
                              7. data from job 1 + 2 ???
                              gloomyandyundefined 1 Reply Last reply Reply Quote 0
                              • gloomyandyundefined
                                gloomyandy @ArekRucki
                                last edited by

                                @ArekRucki It shows data from either when the board started or the last time M122 was run.

                                ArekRuckiundefined 1 Reply Last reply Reply Quote 1
                                • ArekRuckiundefined
                                  ArekRucki @gloomyandy
                                  last edited by

                                  @gloomyandy ok. thx

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