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

    Help needed with Duet 3 6hc TMC5160 StealthChop config

    Scheduled Pinned Locked Moved Unsolved
    Tuning and tweaking
    16
    86
    13.0k
    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.
    • danym21undefined
      danym21 @dc42
      last edited by

      @dc42 this means I have nothing wrong in my config? 😧
      I was hoping that I have done something wrong.

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

        I don't see anything wrong with your config, and M569 P0 says the threshold speed for changing to spreadCycle should be around 110mm/sec. That speed won't be exactly right because it depends on the accuracy of the 12MHz clock in the TMC5160.

        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

        danym21undefined 1 Reply Last reply Reply Quote 0
        • danym21undefined
          danym21 @dc42
          last edited by

          @dc42 ok then I have to wait for your tests and hope we can find a solution.
          let me know when I can help here with testing etc.

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

            From my reading of the datasheet, you should always have THIGH < TPWMTHRS. Have you tried setting THIGH to values below 34?

            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

            danym21undefined 1 Reply Last reply Reply Quote 0
            • danym21undefined
              danym21 @dc42
              last edited by

              @dc42 said in Help needed with Duet 3 6hc TMC5160 StealthChop config:

              THIGH

              I think I had done is the H parameter right?
              I will try again.

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

                @danym21 said in Help needed with Duet 3 6hc TMC5160 StealthChop config:

                @dc42 said in Help needed with Duet 3 6hc TMC5160 StealthChop config:

                THIGH

                I think I had done is the H parameter right?
                I will try again.

                Yes. Use M569 with just a P parameter to check that you have set it.

                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

                danym21undefined 2 Replies Last reply Reply Quote 0
                • danym21undefined
                  danym21 @dc42
                  last edited by

                  @dc42 I have tried with H10 for X and Y achses (P0.0 and P0.1) nothing changed, StealthChop only works below F119 all above only Spreadcycle from the noise.

                  M569 P0.0
                  Drive 0 runs in reverse, active low enable, step timing fast, mode stealthChop, ccr 0x08053, toff 3, tblank 1, hstart/hend/hdec 5/0/0, pos 548, tpwmthrs 34 (110.3 mm/sec), thigh 10 (375.0 mm/sec)
                  M569 P0.1
                  Drive 1 runs in reverse, active low enable, step timing fast, mode stealthChop, ccr 0x08053, toff 3, tblank 1, hstart/hend/hdec 5/0/0, pos 884, tpwmthrs 34 (110.3 mm/sec), thigh 10 (375.0 mm/sec)
                  

                  to be sure also tested :

                  ; Drives
                  M569 P0.0 S0 D3 V34 H50                            ; physical drive 0 goes forwards D2=Spread cycle (x-achses)
                  M569 P0.1 S0 D3 V34 H50                            ; physical drive 1 goes forwards D2=Spread cycle (y-achses)
                  
                  13.5.2020, 22:17:07 	M569 P0.1
                  Drive 1 runs in reverse, active low enable, step timing fast, mode stealthChop, ccr 0x08053, toff 3, tblank 1, hstart/hend/hdec 5/0/0, pos 972, tpwmthrs 34 (110.3 mm/sec), thigh 50 (75.0 mm/sec)
                  13.5.2020, 22:17:01 	M569 P0.0
                  Drive 0 runs in reverse, active low enable, step timing fast, mode stealthChop, ccr 0x08053, toff 3, tblank 1, hstart/hend/hdec 5/0/0, pos 540, tpwmthrs 34 (110.3 mm/sec), thigh 50 (75.0 mm/sec)
                  13.5.2020, 22:16:07 	G0 X130 Y130 F90
                  13.5.2020, 22:15:51 	G0 X135 Y135 F90
                  

                  now also G0 X130 Y130 F90 runs only in SpreadCycle

                  1 Reply Last reply Reply Quote 0
                  • danym21undefined
                    danym21 @dc42
                    last edited by

                    @dc42 was you able to test?
                    I have also tried to change the D settings on a test print to hear some changes, but nearly nothing has changed only on D0 (constant off-time)
                    he goes a little bit louder but not much. D1 (random off-time) is not supported by TMC5160.
                    can it be that my board is faulty or that the Firmware has a Bug and only shows the corect mode but not send to the stepper drivers?

                    1 Reply Last reply Reply Quote 0
                    • danym21undefined
                      danym21
                      last edited by

                      I have seen the source code "/src/Movement/StepperDrivers/TMC51xx.cpp"

                      constexpr float SenseResistor = 0.050;
                      

                      when I right on other firmware´s I use 0.075, can this create a difference?
                      Is it possible to play with over the M569 command or is it needed to compile new, have not found in the Duet documentation.

                      1 Reply Last reply Reply Quote 0
                      • cjackson234undefined
                        cjackson234
                        last edited by

                        I'm experiencing the same thing @danym21.

                        1 Reply Last reply Reply Quote 0
                        • cjackson234undefined
                          cjackson234
                          last edited by

                          Are there any updates on this?

                          danym21undefined 1 Reply Last reply Reply Quote 0
                          • danym21undefined
                            danym21 @cjackson234
                            last edited by

                            @cjackson234
                            still not 😞

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

                              I'm sorry for the delay. This is still on my list to continue investigating. As it's a noise issue not a functionality issue, it has lower priotity then some others on my list.

                              Duet WiFi hardware designer and firmware engineer
                              Please do not ask me for Duet support via PM or email, use the forum
                              http://www.escher3d.com, https://miscsolutions.wordpress.com

                              1 Reply Last reply Reply Quote 1
                              • Alex_Zundefined
                                Alex_Z
                                last edited by

                                Hello! The same thing on my CoreXY using Duet3. Does anyone have found a solution?

                                1 Reply Last reply Reply Quote 0
                                • danym21undefined
                                  danym21
                                  last edited by

                                  no sorry 😞

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

                                    My suspicion is that the issue is not following the tuning sequence specified by Trinamic. In particular, you are supposed to energise the motors, keep them still for a short while (but less than 130ms), then execute a medium speed move such as a homing move. Here is an extract from the datasheet:

                                    5fe3562d-db2c-4baf-a5fe-08285c379115-image.png

                                    Typically, homeall.g does something like this:

                                    G91
                                    G1 H2 Z5 Fxxx
                                    G1 H1 X-400 Fxxx
                                    ...

                                    The initial pause at standstill is after powering up the motors is not present. So perhaps this would be better:

                                    G91
                                    G1 H2 Z0.02 Fxxx
                                    G4 P50
                                    G1 H2 Z5
                                    G1 H2 X0.02 Fxxx
                                    G4 P50
                                    G2 H1 X-400

                                    Similarly for Y. The 0.02mm figure should be adjusted so that it is at least one microstep, but preferably not much more than that.

                                    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

                                    danym21undefined 1 Reply Last reply Reply Quote 0
                                    • danym21undefined
                                      danym21 @dc42
                                      last edited by

                                      @dc42
                                      it looks like it does not help, I have created the following test macro file, but I can´t hear any difference only on still stand after moves I can hear the motors a little bit when Spread cycle (D2) is enabled.
                                      maybe I have done something wrong?

                                      ; first test with stealh enabled
                                      M18						   ; disable all motors to reset the stepper drivers
                                      M569 P0.0 S0 D3 V34                                ; physical drive 0 goes forwards D2=Spread cycle (x-achses)
                                      M569 P0.1 S0 D3 V34                                ; physical drive 1 goes forwards D2=Spread cycle (y-achses)
                                      M569 P0.2 S0 D3 V34                                ; physical drive 2 goes backwards D2=Spread cycle (Z1)
                                      M569 P0.3 S0 D3 V34                                ; physical drive 3 goes backwards D2=Spread cycle (Z2)
                                      M569 P0.4 S1 D3 V34                                ; physical drive 4 goes backwards D2=Spread cycle (extruder)
                                      M569 P0.5 R-1                                      ; physical drive 4 goes backwards D2=Spread cycle (empty)
                                      M584 X0.0 Y0.1 Z0.2:0.3 E0.4                       ; Driver 0 For X, 1 for Y, Z=2:3 U=4, Extruder 4
                                      M350 X32 Y32 Z16 E16 I1                            ; configure microstepping with interpolation - working
                                      M92 X400.00 Y400.00 Z400 E412.00                   ; set steps per mm
                                      M566 X300.00 Y300.00 Z24.00 E300.00                ; set maximum instantaneous speed changes (mm/min) from config file thingiverse 
                                      M203 X14000 Y14000 Z4520 E7000                     ; set maximum speeds (mm/min) new test Z800 old
                                      M201 X1000 Y1000 Z1400.00 E5000                    ; set accelerations (mm/s^2) own
                                      M906 X1150 Y1150 Z850 E600 I50                     ; set motor currents (mA) and motor idle factor in per cent
                                      
                                      G91                     ; relative positioning
                                      G1 H2 Z0.02 F3000		; enable the Motor move at least one mircostep  -- Problem Stealthchop?
                                      G4 P50					; make a 50ms pause for the drivers  -- Problem Stealthchop?
                                      G1 H2 Z15 F6000         ; lift Z relative to current position
                                      G1 H2 X0.02				; enable the Motor move at least one mircostep -- Problem Stealthchop?
                                      G4 P50					; make a 50ms pause for the drivers  -- Problem Stealthchop?
                                      G1 H2 Y0.02				; enable the Motor move at least one mircostep -- Problem Stealthchop?
                                      G4 P50					; make a 50ms pause for the drivers  -- Problem Stealthchop?
                                      G1 H1 X-355 Y355 F9000  ; move quickly to X or Y endstop and stop there (first pass)
                                      G1 H1 X-355             ; home X axis
                                      G1 H1 Y355              ; home Y axis
                                      G1 X5 Y-5 F9000         ; go back a few mm
                                      G1 H1 X-355 F360        ; move slowly to X axis endstop once more (second pass)
                                      G1 H1 Y355              ; then move slowly to Y axis endstop
                                      G90                     ; absolute positioning
                                      G1 X177.713 Y144.526 F9000 ; go to first bed probe point and home Z --> own direct system
                                      G30                     ; home Z by probing the bed
                                      
                                      G91                    ; relative positioning
                                      G1 Z15 F6000           ; lift Z relative to current position
                                      G90                    ; absolute positioning
                                      ;smal test moves
                                      G0 X0 Y0 F3000
                                      G0 X0 Y310 F3000
                                      G0 X310 Y310 F3000
                                      G0 Y0 Y0 F3000
                                      
                                      ; now again with Spread cycle
                                      M18							  ; disable all motors to reset the stepper drivers
                                      M569 P0.0 S0 D2                                    ; physical drive 0 goes forwards D2=Spread cycle (x-achses)
                                      M569 P0.1 S0 D2                                    ; physical drive 1 goes forwards D2=Spread cycle (y-achses)
                                      M569 P0.2 S0 D2                                    ; physical drive 2 goes backwards D2=Spread cycle (Z1)
                                      M569 P0.3 S0 D2                                    ; physical drive 3 goes backwards D2=Spread cycle (Z2)
                                      M569 P0.4 S1 D2                                    ; physical drive 4 goes backwards D2=Spread cycle (extruder)
                                      M569 P0.5 R-1                                      ; physical drive 4 goes backwards D2=Spread cycle (empty)
                                      M584 X0.0 Y0.1 Z0.2:0.3 E0.4                       ; Driver 0 For X, 1 for Y, Z=2:3 U=4, Extruder 4
                                      M350 X32 Y32 Z16 E16 I1                            ; configure microstepping with interpolation - working
                                      M92 X400.00 Y400.00 Z400 E412.00                   ; set steps per mm
                                      M566 X300.00 Y300.00 Z24.00 E300.00                ; set maximum instantaneous speed changes (mm/min) from config file thingiverse 
                                      M203 X14000 Y14000 Z4520 E7000                     ; set maximum speeds (mm/min) new test Z800 old
                                      M201 X1000 Y1000 Z1400.00 E5000                    ; set accelerations (mm/s^2) own
                                      M906 X1150 Y1150 Z850 E600 I50                     ; set motor currents (mA) and motor idle factor in per cent
                                      
                                      G91                     ; relative positioning
                                      G1 H2 Z0.02 F3000		; enable the Motor move at least one mircostep  -- Problem Stealthchop?
                                      G4 P50					; make a 50ms pause for the drivers  -- Problem Stealthchop?
                                      G1 H2 Z15 F6000         ; lift Z relative to current position
                                      G1 H2 X0.02				; enable the Motor move at least one mircostep -- Problem Stealthchop?
                                      G4 P50					; make a 50ms pause for the drivers  -- Problem Stealthchop?
                                      G1 H2 Y0.02				; enable the Motor move at least one mircostep -- Problem Stealthchop?
                                      G4 P50					; make a 50ms pause for the drivers  -- Problem Stealthchop?
                                      G1 H1 X-355 Y355 F9000  ; move quickly to X or Y endstop and stop there (first pass)
                                      G1 H1 X-355             ; home X axis
                                      G1 H1 Y355              ; home Y axis
                                      G1 X5 Y-5 F9000         ; go back a few mm
                                      G1 H1 X-355 F360        ; move slowly to X axis endstop once more (second pass)
                                      G1 H1 Y355              ; then move slowly to Y axis endstop
                                      G90                     ; absolute positioning
                                      G1 X177.713 Y144.526 F9000 ; go to first bed probe point and home Z --> own direct system
                                      G30                     ; home Z by probing the bed
                                      
                                      G91                    ; relative positioning
                                      G1 Z15 F6000           ; lift Z relative to current position
                                      G90                    ; absolute positioning
                                      ;smal test moves
                                      G0 X0 Y0 F3000
                                      G0 X0 Y310 F3000
                                      G0 X310 Y310 F3000
                                      G0 Y0 Y0 F3000
                                      
                                      
                                      empi00undefined 1 Reply Last reply Reply Quote 0
                                      • empi00undefined
                                        empi00
                                        last edited by

                                        I have also to reply here.
                                        I have Moon Motors.
                                        I think even the same as you. Need to check in detail, but i think so.

                                        I starte with a Duet Wifi clone and they were really noise in some higher speed (>70mm/s)

                                        So i decided to go for the Duet3 and the advanced TMC5160, as noise is key for my MGN cube. (CoreXY)

                                        In fact now, if i switch to stealthchop, it is even "noisier" than in spreadcycle.
                                        No such a "high" noise, but louder....

                                        I am lost now...

                                        1 Reply Last reply Reply Quote 0
                                        • empi00undefined
                                          empi00 @danym21
                                          last edited by empi00

                                          @danym21
                                          @dc42
                                          Hello,

                                          i am having also the Problem, that I am not able to bring my stepper noise down, and I do not find any way to solve this.
                                          Tried mechanicly already a lot of things, 3 different stepper Motor types, but all with more or less the same noise.
                                          The are damn loud.
                                          Was your issue solved?

                                          I also find in the documentation this:
                                          Vnnn (firmware 2.02RC1 and later) tpwmthrs parameter for those stepper driver chips that support it. This is the interval in clock cycles between 1/256 microsteps below which the drivers will switch from stealthChop to to spreadCycle mode. Only applies when the driver is configured in stealthChop mode. Typical value are from 100 (high speed) to 4000 (low speed). Send M569 P# (where # is the driver number) with no additional parameters to see how this translates into mm/sec.

                                          Values below 100, are not a Problem and get correct configured?

                                          BR
                                          Michael

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

                                            Have you seen this thread https://forum.duet3d.com/topic/18010/duet-3-stealthchop-2-tuning-for-nema23 ? The author of that thread was able to use stealthChop to quieten the motors, until the speed reached the value at which there was insufficient drive voltage for the motors.

                                            Duet WiFi hardware designer and firmware engineer
                                            Please do not ask me for Duet support via PM or email, use the forum
                                            http://www.escher3d.com, https://miscsolutions.wordpress.com

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