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
    12.8k
    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.
    • 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
                                          • danym21undefined
                                            danym21 @fractalengineer
                                            last edited by danym21

                                            @fractalengineer
                                            you mean I have to configure motor stall detection to get Stealthchop running?
                                            This I have never tried,

                                            What I do not understand what T1 means 😞
                                            is this TCOOLTHRS?

                                            TCOOLTHRS ≥ TSTEP ≥ THIGH:

                                            • CoolStep is enabled, if configured
                                            • StealthChop voltage PWM mode is disabled

                                            @empi00 I think the problem is that the vibration comes from the motors for a temporary solution I have add some Stepper damper to the X/Y Motors that has helped a lot. But you can still feel the vibration on the Motors with the hand, this will not fix the vibration problem it is only a "not so nice" work around.
                                            and I was hoping that @dc42 will find the problem. My feeling was that stealthchoop is enabled but only up to F119 (that is verry slow) on F120 I had strange noices like it is jumping between steahltchop and spreadcycle. and F121 is noisy like only spreadcycle. When no motors are moving all is fine then spreadcycle (D2) is more noisy as steahltchop (D3).
                                            Any M569 V and H parameters does nothing here for me.
                                            The funny thing is when I use a other board with TMC5160 and klipper it was working, so I´m pretty sure it is not a hardware issue.
                                            When I have time I and I have understand what the T parameter is doing on M915 I will play with.

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