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

    Missing Steps - Cant Print SpreadCycle StealthChop tuning help

    Scheduled Pinned Locked Moved Solved
    Tuning and tweaking
    15
    286
    32.7k
    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.
    • MartinNYHCundefined
      MartinNYHC
      last edited by MartinNYHC

      Just replaced a Duet 2 Wifi with a Mini 5 and upgraded to 3.3-rc1. Nothin else changed on the printer. Unfortunately it looks like i still have this issue. As described above after a "bang" there's a layer shift. Any ideas please?

      ; General preferences
      G90                                                    ; send absolute coordinates...
      M83                                                    ; ...but relative extruder moves
      M550 P"Voron0"                                         ; set printer name
      M669 K1                                                ; select CoreXY mode
      
      ; Drives
      M569 P0.0 S1 D3 V0	                                   ; physical drive 0 goes forwards
      M569 P0.1 S1 D3 V0
      M569 P0.2 S0	                                      ; physical drive 2 goes forwards
      M569 P0.3 S0                                            ; physical drive 3 goes forwards
      M584 X0.0 Y0.1 Z0.2 E0.3                                       ; set drive mapping
      M350 X16 Y16 Z16 E16 I1    	                           ; configure microstepping with interpolation
      
      M92 X80.00 Y80.00 Z320.00 E711.97  		               ; set steps per mm
      M566 X600.00 Y600.00 Z50.00 E2000.00    		       ; set maximum instantaneous speed changes (mm/min)
      M203 X20000.00 Y20000.00 Z1000.00 E5000.00      	   ; set maximum speeds (mm/min)
      M201 X2000.00 Y2000.00 Z200.00 E1000.00	               ; set accelerations (mm/s^2)
      M906 X400 Y400 Z600 E400 I75	                       ; set motor currents (mA) and motor idle factor in per cent
      M84 S120                                               ; Set idle timeout
      M572 D0 S0.061										   ; Pressure advance
      
      
      ; Axis Limits
      M208 X3 Y3 Z0 S1                                       ; set axis minima
      M208 X118 Y118 Z110 S0                                 ; set axis maxima
      
      ; Endstops
      M574 X2 S1 P"io1.in"                    				; configure active-high endstop for high end on X via pin io1.in
      M574 Y2 S1 P"io2.in"                    				; configure active-high endstop for high end on Y via pin io2.in
      M574 Z1 S1 P"io3.in"                    				; configure active-high endstop for high end on Z via pin io3.in
      
      ; Heaters
      M308 S0 P"temp0" Y"thermistor" T100000 B4092       		; configure sensor 0 as PT1000 on pin temp0
      M950 H0 C"out1" T0                      				; create bed heater output on out0 and map it to sensor 0
      M307 H0 B0 S1.00                        				; disable bang-bang mode for the bed heater and set PWM limit
      M140 H0                                 				; map heated bed to heater 0
      M143 H0 S120                            				; set temperature limit for heater 0 to 120C
      M308 S1 P"temp1" Y"thermistor" T100000 B3950        	; configure sensor 1 as PT1000 on pin temp1
      M950 H1 C"out2" T1                      				; create nozzle heater output on out1 and map it to sensor 1
      M307 H1 B0 S1.00                        				; disable bang-bang mode for heater  and set PWM limit
      M143 H1 S280                            				; set temperature limit for heater 1
      M308 S2 P"temp2" A"Chamber" Y"thermistor" T100000 B3950
      
      ; Fans
      M950 F0 C"out3" Q500                    				; create fan 0 on pin out3 and set its frequency
      M106 P0 C"Bed" S0 H-1                          				; set fan 0 value. Thermostatic control is turned off
      M950 F1 C"out4" Q2000                    				; create fan 1 on pin out4 and set its frequency
      M106 P1 C"Hotend" L0.70 X0.70 H1 T70 S0.70 B5           ; set fan 1 value. Thermostatic control is turned on
      M950 F2 C"out5"							 			   ; create fan 2 on pin fan2
      M106 P2 C"Chamber" S0 H-1								   ; set fan 2 name and values
      M950 F3 C"out6"							 			   ; create fan 2 on pin fan2
      M106 P3 C"Light" S1 H-1								   ; set fan 2 name and values
      
      ; Tools
      M563 P0 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
      M575 P1 S0 B57600                                      ; enable support for PanelDue
      M501
      T0                                                     ; select first tool
      
      
      05/05/2021, 11:22:32 	M122
      === Diagnostics ===
      RepRapFirmware for Duet 3 Mini 5+ version 3.3RC1 (2021-05-01 09:59:28) running on Duet 3 Mini5plus Ethernet (SBC mode)
      Board ID: J4FFG-A196U-D65J0-40KM4-MG03Z-HG970
      Used output buffers: 1 of 40 (40 max)
      === RTOS ===
      Static ram: 102476
      Dynamic ram: 92820 of which 0 recycled
      Never used RAM 45552, free system stack 114 words
      Tasks: SBC(resourceWait:,4.2%,294) HEAT(delaying,0.0%,320) Move(notifyWait,0.4%,276) CanReceiv(notifyWait,0.0%,943) CanSender(notifyWait,0.0%,357) CanClock(delaying,0.0%,341) TMC(notifyWait,0.7%,114) MAIN(running,93.9%,497) IDLE(ready,0.0%,29) AIN(delaying,0.8%,264), total 100.0%
      Owned mutexes: HTTP(MAIN)
      === Platform ===
      Last reset 00:39:02 ago, cause: power up
      Last software reset at 2021-05-05 09:54, reason: User, none spinning, available RAM 51896, slot 1
      Software reset code 0x0012 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0400f000 BFAR 0xe000ed38 SP 0x00000000 Task Linu Freestk 0 n/a
      Error status: 0x04
      Aux0 errors 0,0,0
      Aux1 errors 0,0,0
      MCU revision 3, ADC conversions started 2342835, completed 2342835, timed out 0, errs 0
      Step timer max interval 1490
      MCU temperature: min 37.7, current 43.2, max 43.7
      Supply voltage: min 23.7, current 24.3, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes
      Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/8/8, gc cycles 0
      Driver 0: position 8800, standstill, SG min/max 0/436, read errors 0, write errors 0, ifcnt 20, reads 57528, writes 20, timeouts 0, DMA errors 0
      Driver 1: position -7200, standstill, SG min/max 0/434, read errors 0, write errors 0, ifcnt 20, reads 57528, writes 20, timeouts 0, DMA errors 0
      Driver 2: position 4224, standstill, SG min/max 0/10, read errors 0, write errors 0, ifcnt 18, reads 57530, writes 18, timeouts 0, DMA errors 0
      Driver 3: position 0, standstill, SG min/max 0/44, read errors 0, write errors 0, ifcnt 16, reads 57531, writes 16, timeouts 0, DMA errors 0
      Driver 4: position 0, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 9, reads 57539, writes 9, timeouts 0, DMA errors 0
      Driver 5: position 0, assumed not present
      Driver 6: position 0, assumed not present
      Date/time: 2021-05-05 11:22:31
      Cache data hit count 3725941281
      Slowest loop: 158.94ms; fastest: 0.10ms
      === 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, maxWait 139363ms, bed compensation in use: none, comp offset 0.000
      === MainDDARing ===
      Scheduled moves 26047, completed moves 26047, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 33], CDDA state -1
      === AuxDDARing ===
      Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
      === Heat ===
      Bed heaters = 0 -1, chamberHeaters = -1 -1
      === 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 20985, send timeouts 20982, received 0, lost 0, longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 17 (min 17)
      Last cancelled message type 4514 dest 127
      === SBC interface ===
      State: 4, failed transfers: 0
      Last transfer: 4ms ago
      RX/TX seq numbers: 36438/36438
      SPI underruns 0, overruns 0
      Number of disconnects: 0, IAP RAM available 0x10c34
      Buffer RX/TX: 0/0-0
      === Duet Control Server ===
      Duet Control Server v3.3-rc1
      Code buffer space: 4096
      Configured SPI speed: 8000000 Hz
      Full transfers per second: 44.04
      Codes per second: 19.47
      Maximum length of RX/TX data transfers: 3460/1300
      

      IMG_0433.png

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

        @martinnyhc I suspect that your high maximum speeds (20000 mm/min in M203) are not compatible with running permanently in stealthChop mode. stealthChop doesn't work when the driver supply voltage is too low to overcome the inductive and rotational back emf of the motor. You can use the back EMF calculator at https://www.reprapfirmware.org/ to get an estimate of the speed at which this will occur.

        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

        MartinNYHCundefined 1 Reply Last reply Reply Quote 0
        • MartinNYHCundefined
          MartinNYHC @dc42
          last edited by MartinNYHC

          @dc42 Used the calculator and used some conserative settings:

          M92 X80.00 Y80.00 Z320.00 E711.97  		               ; set steps per mm
          M566 X600.00 Y600.00 Z50.00 E2000.00    		       ; set maximum instantaneous speed changes (mm/min)
          M203 X8000.00 Y8000.00 Z1000.00 E5000.00 	     	   ; set maximum speeds (mm/min)
          M201 X2000.00 Y2000.00 Z200.00 E1000.00	               ; set accelerations (mm/s^2)
          M906 X400 Y400 Z600 E400 I75	                       ; set motor currents (mA) and motor idle factor in per cent
          M84 S120                                               ; Set idle timeout
          M572 D0 S0.061										   ; Pressure advance
          

          The result is better in terms of the amount of layer shifts. But it still happened two times during the print. With the Duet 2 Wifi I never configured any Stealthchop/Spreadcycle settings but due to the other drivers on the Mini 5 I had to because steppers sounded terrible.

          Is there anything else I can try? Thanks for your help in advance.

          IMG_0435.png

          droftartsundefined 1 Reply Last reply Reply Quote 0
          • droftartsundefined
            droftarts administrators @MartinNYHC
            last edited by

            @martinnyhc said in Missing Steps - Cant Print SpreadCycle StealthChop tuning help:

            With the Duet 2 Wifi I never configured any Stealthchop/Spreadcycle settings

            That's because the TMC2660 driver chips on Duet 2 WiFi only have spreadcycle.

            Most noticeable for noise is spreadcycle at standstill. To test if your missed steps are an issue with stealthchop, you can set the drivers to spreadcycle only when moving, and stealthchop when the are stationary. To do this, set the V parameter in M569 for X and Y to a relatively high number, something like V2000, then send M569 P0 and check the 'tpwmthrs' response. When I do this, I get 'tpwmthrs 2000 (2.3 mm/sec)', but it depends on your microstepping and steps per mm. Adjust the V parameter until it is somewhere between 5 and 10mm/s. Use this speed as it's below your M566 instantaneous speed setting of X600 Y600 (which is 10mm/s).

            Alternatively, switch it to spreadcycle for a test with M569 P# D2 (where # is the driver number).

            Ian

            Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

            MartinNYHCundefined 1 Reply Last reply Reply Quote 0
            • MartinNYHCundefined
              MartinNYHC @droftarts
              last edited by

              @droftarts Already tried D2. The problem is that as soon as I use D2 or D3 without a V value or V higher than 0 both steppers are sound like they are going to explode in a few seconds. And beside of that i cannot get rid of the layer shifts completely.

              droftartsundefined 1 Reply Last reply Reply Quote 0
              • droftartsundefined
                droftarts administrators @MartinNYHC
                last edited by

                @martinnyhc What steppers are you using on X and Y?

                Ian

                Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                MartinNYHCundefined 1 Reply Last reply Reply Quote 0
                • MartinNYHCundefined
                  MartinNYHC @droftarts
                  last edited by

                  @droftarts 14HS17-0504S

                  droftartsundefined dc42undefined 2 Replies Last reply Reply Quote 0
                  • droftartsundefined
                    droftarts administrators @MartinNYHC
                    last edited by

                    @martinnyhc These? https://www.omc-stepperonline.com/nema-14-bipolar-1-8deg-23ncm-32-6oz-in-0-5a-7-5v-35x35x42mm-4-wires.html

                    The inductance and phase resistance strike me as being very high:
                    Phase Resistance: 15ohms
                    Inductance : 26mH ± 20%(1KHz)

                    High inductance is usually bad for high speed; see https://duet3d.dozuki.com/Wiki/Choosing_and_connecting_stepper_motors#Section_Inductance
                    When the bangs happen, is it during fast travel moves? But your Duet 2 coped fine with the same settings?

                    If yes, I think @dc42 will need to take a deeper look at this.

                    Ian

                    Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                    MartinNYHCundefined 1 Reply Last reply Reply Quote 0
                    • MartinNYHCundefined
                      MartinNYHC @droftarts
                      last edited by

                      @droftarts It is my "small printer" which is a Voron0 and these steppers are standard for the printer. I'm not really printing fast currently. Max 60mm/s and yes, with the Duet 2 and the same settings everthing was fine. Don't changed anything else except changing the board.

                      MartinNYHCundefined 1 Reply Last reply Reply Quote 0
                      • MartinNYHCundefined
                        MartinNYHC @MartinNYHC
                        last edited by

                        Oh yes....and I added a SBC. That's the reason why i changed the board 😉

                        In the meantime I checked for mechanical issues once again but all seems to be fine.

                        Why did I touch a running system when I really need to print a lot of stuff. Damn.....

                        MartinNYHCundefined 1 Reply Last reply Reply Quote 1
                        • MartinNYHCundefined
                          MartinNYHC @MartinNYHC
                          last edited by

                          To isolate the problem I now disconnected the SBC and tried in standalone mode. Nothing changed.

                          droftartsundefined 1 Reply Last reply Reply Quote 0
                          • droftartsundefined
                            droftarts administrators @MartinNYHC
                            last edited by

                            @martinnyhc you’ve got some long SD card read times in your M122 reports, which I assume were taken during printing:

                            SD card longest read time 99.5ms
                            

                            This was caused by the bed heater PWM duty cycle last time. @dc42 had a firmware version with some extra diagnostics to track this down, by showing the percentage of time each task in the M122 report was taking. It might be needed again to track down this issue.

                            Ian

                            Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                            MartinNYHCundefined 1 Reply Last reply Reply Quote 0
                            • MartinNYHCundefined
                              MartinNYHC @droftarts
                              last edited by MartinNYHC

                              @droftarts Ok...wait...i'm running the SBC via network file system. But...I don't think that this could be the problem. If I run either in standaone or SBC mode nothing changes. Right?

                              And if there would be a data latency then I would see also other effects.

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

                                @martinnyhc said in Missing Steps - Cant Print SpreadCycle StealthChop tuning help:

                                @droftarts 14HS17-0504S

                                Those are a terrible choice of motors for a 3D printer. I am very surprised that the Voron design page suggests them. IMO they have made a big mistake. With such a high inductance, it is not at all surprising that the TMC2209 drivers are having problems driving them quietly in spreadCycle mode. I am surprised that the TMC2660 drivers on the Duet WiFi didn't have trouble with them too. The Voron 2 design recommends completely different stepper motors with lower inductance, so it is not comparable.

                                Even the kit of Voron 0 motors I found at https://hobby-store.co.uk/stepper-motors/nema-14-stepper-motor-kit-for-voron-0.html had better motors then that (14mH, almost 50% lower inductance).

                                I presume you are supplying 24V power to the Duet 3 Mini. With those motors, you have no hope at all at 12V.

                                In your homing sequence, are you executing the correct stealthChop tuning procedure?

                                If you are already executing the correct tuning procedure, then here are some suggestions:

                                1. Reduce the maximum speed further, e.g. to 6000mm/min.
                                2. It's possible that you may be able to make spreadCycle mode quieter by adjusting the hysteresis parameters.
                                3. Try to find another Voron 0 user with the same motors as you and TMC2209 drivers, who isn't having problems with them. Find out what speed and accelerations settings they are using, also the TMC2209 register settings. Then replicate those settings.
                                4. Failing that, change the motors for higher current/lower inductance ones.

                                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

                                fulgundefined pkosundefined 2 Replies Last reply Reply Quote 0
                                • fulgundefined
                                  fulg @dc42
                                  last edited by

                                  @dc42 said in Missing Steps - Cant Print SpreadCycle StealthChop tuning help:

                                  Those are a terrible choice of motors for a 3D printer. I am very surprised that the Voron design page suggests them.

                                  For what it's worth, the current recommendation for Voron 0 steppers is 14HS20-1504S which are much better at 3.8mH. The old motors work fine on a Duet2 Maestro but only in Stealthchop mode, they sound awful in Spreadcycle (now I know why!). I don't believe there were many choices commonly available when the printer was designed.

                                  VORON V2 CoreXY + Duet3 Mini5+ Ethernet v1.0 with Mini2+ expansion, VORON V0 CoreXY + Duet2 Maestro

                                  1 Reply Last reply Reply Quote 0
                                  • pkosundefined
                                    pkos @dc42
                                    last edited by

                                    This was the default config for V0's back when they were announced over a year ago.

                                    Now the 0.1 was announced and steppers got upgraded to a bigger version (35STH48-1684AHVRN).

                                    That said, the default config assumed using an SKR E3 mini that was running 2209s. @MartinNYHC - try checking the default config for the SKR on voron's github. I've been using that combo of SKR E3 mini v1.2 with those exact steppers - it worked 😉 I did have to bring stealthchop_threshold down to 0 to make them quiet, but otherwise, the printer worked just fine.

                                    Maybe that would give you some starting points for the setup on a duet. I'll be in the same boat soon once I get to the rebuilding part of my V0 😉

                                    Voron 2.4 (Duet 3 6HC + 3HC standalone), Voron SW (Duet 3 mini 5+ standalone), Voron Trident (Duet 3 mini 5+ standalone), Voron 0.1

                                    1 Reply Last reply Reply Quote 0
                                    • MartinNYHCundefined
                                      MartinNYHC
                                      last edited by

                                      OK, did a lot of tests and the only settings without layer shifts is

                                      M569 P0|1 D3
                                      

                                      Steppers are quite loud but at least it's working. Will order some new steppers.

                                      1 Reply Last reply Reply Quote 0
                                      • sinoleundefined
                                        sinole
                                        last edited by sinole

                                        I dont know if it helps but I am installing reprap on a SKR2 board with tmc 2209 and I have same issue, specially on my bed which runs on a 0.9 degree motor, beside m extrusions are not consistence either. you guessed it right, there is a 0.9 degree motor on extruder. now good thing about SKR 2 is that I can go back and fort with marlin and reprap and compare. this is definitely firmware issue. Reprap runs these motors much quitter and cooler while marlin runs warm and a little noisy. but marlin runs very solid and sound is not really that bad. this tells me reprap and marlin use different pwm settings on stealthchop and marlin made some sacrifice in noise to gain some stability.

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

                                          @sinole Are you sure you are running the steppers at the same current setting with Marlin and RRF? What values are you using in each?

                                          sinoleundefined 1 Reply Last reply Reply Quote 1
                                          • sinoleundefined
                                            sinole @gloomyandy
                                            last edited by sinole

                                            @gloomyandy I divide my rated motor current by 1.414 and I use that number * 0.8, I have posted same question on your Github btw. for example for my 17HM19-2004S1 motor which is rated at 2A I use 1.25 A
                                            in firmware.
                                            dc42 says that 2209 have issue with 0.9 degree motors because they have high inductance, but this motor have less inductance than some 1.8 motors , that is why I chose it.

                                            I don't have access to my config at the moment but I want to post it for you and I appreciate if you take a look at it.

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