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 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
                                        • fractalengineerundefined
                                          fractalengineer @danym21
                                          last edited by fractalengineer

                                          @danym21

                                          Hey man I just noticed I had this lines in my config.g here for my sensorless homing;

                                          it seems like Stealthchop would not engage unless these are in place

                                          ; Stealthchop parameters
                                          M915 P0 S3 F1 H134 T1 R0	
                                          M915 P1 S3 F1 H134 T1 R0
                                          

                                          I do not not why, but my guess would be around T parameter that controls the coolstep register according to https://duet3d.dozuki.com/Wiki/Gcode#Section_M915_Configure_motor_stall_detection

                                          Edit: Also the Hmin parameter; for which I made a calculator here:

                                          https://docs.google.com/spreadsheets/d/1gCapl-1CZh7Zz267W_CFtLBbBV-UMDjpXMGDIyr5oE4/edit?usp=sharing

                                          @dc42 thoughts?

                                          Railcore II ZL

                                          danym21undefined 1 Reply Last reply Reply Quote 1
                                          • empi00undefined
                                            empi00
                                            last edited by

                                            @fractalengineer
                                            Can you post your full motor related config.
                                            My motors are extremly noisy on my MGN Cube.
                                            I DIsassembled everything the last 2 days, and reassembled the full frame, and it is still 100% the same.

                                            When i switch beteen spreadcycle and stealthchop, i can not hear any difference, and i dont know why...

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