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

    Duet 3 StealthChop 2 Tuning for Nema23

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    7
    44
    4.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

      PS - if your PSU has spare power capacity (bearing in mind that the heater currents will increase), you could turn up the PSU voltage to the maximum it can do, probably about 27V.

      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

      fractalengineerundefined 1 Reply Last reply Reply Quote 1
      • fractalengineerundefined
        fractalengineer @dc42
        last edited by

        @dc42 just a little update;

        Looks like you were right about that one; ramping up the PSU adjustment to 29.2V actually increased the maximum useable stealthchop speed

        Those Nema23 are 8.5mH inductance but I just found 3.4mH; according to RRF calc that should 3X the max speed.

        I have another question though; for M569, are the V and H values referring to the movement speed (both X/Y steppers combined) or to the belt speed (single stepper max speed)

        I'm getting intermitent grinding sounds when moving around the set V speed; as if it wasn't sure which mode to run

        Railcore II ZL

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

          The H and V values refer to the belt speed.

          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

          fractalengineerundefined 2 Replies Last reply Reply Quote 0
          • fractalengineerundefined
            fractalengineer @dc42
            last edited by

            @dc42 Hello,

            I just received and installed the lower induction steppers and the problem persists at about the same speed; Stealthchop only works until 70mm/s; any faster and it seizes like hell on diagonal moves.

            I tried increasing the current and lowering V; no change.

            Any tips? I'm trying to use Stealthchop at my normal printing speeds of 80-120mm/s

            Railcore II ZL

            1 Reply Last reply Reply Quote 0
            • fractalengineerundefined
              fractalengineer @dc42
              last edited by

              @dc42 here's a video showing exactly what's happening:

              https://youtu.be/2roaQ5Jfvrk

              Railcore II ZL

              1 Reply Last reply Reply Quote 0
              • fractalengineerundefined
                fractalengineer
                last edited by

                bumpity bump

                Railcore II ZL

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

                  Are you sure that you are not hitting mid-band resonance?

                  PS - what M915 H and M569 V parameters are you using?

                  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

                  fractalengineerundefined 1 Reply Last reply Reply Quote 0
                  • fractalengineerundefined
                    fractalengineer
                    last edited by

                    @dc42 I don't know; according to the EMF calculator I should have a lot of overhead

                    This is the previous, 8.5mH stepper,

                    20d7accb-148c-49be-9e91-9b06e8b12b4a-image.png

                    Compared to the new one with 3.4mH inductance; gives 3x faster speed yet it seizes at the same speed
                    Screenshot_51.jpg

                    M915 as following:

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

                    And was calculated according to
                    c546de88-b27a-4612-8b46-aa5d04f4ae91-image.png

                    And M569 V is high enough I recall just above 200mm/s

                    M569 P0 V30   H5
                    M569 P1 V30   H5 
                    

                    Railcore II ZL

                    1 Reply Last reply Reply Quote 0
                    • fractalengineerundefined
                      fractalengineer @dc42
                      last edited by

                      @dc42 A few extra details:

                      It seems to stall in spreadcycle even at 130mm/s
                      In this mode it doesn't stall directly; I can hear it buildup over long moves

                      In stealthchop seizes at 73mm/s diagonal move, so about 100mm/s belt speed
                      3e3ccd52-4f46-415a-bcc2-2f73fa0e62f7-image.png

                      Railcore II ZL

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

                        @fractalengineer said in Duet 3 StealthChop 2 Tuning for Nema23:

                        It seems to stall in spreadcycle even at 130mm/s

                        The prediction of the EMF calculator is that the 30V supply you have specified, the torque will start to drop off at between 155 and 207 mm/sec speed. I can't remember what setting the kinematics to CoreXY in the calculator changes; but if you set it to Cartesian then it will be belt speed.

                        If it's stalling in spreadCycle mode, that implies that the motors are not providing enough torque. Assuming that you don't have significant friction in the system, this implies that you need to increase torque (e.g. by increasing motor current - but that will also reduce the speed at which torque starts to drop), or reduce the moving mass, or reduce acceleration.

                        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

                        fractalengineerundefined 1 Reply Last reply Reply Quote 0
                        • fractalengineerundefined
                          fractalengineer @dc42
                          last edited by fractalengineer

                          @dc42 Thank you.

                          Okay well the EMF calc is giving yet a faster slipping speed in cartesian:

                          21a60d3c-0881-4a40-a29b-d4375aaa8cae-image.png

                          And the steppers are running free right now; zero friction as the belts are off

                          Railcore II ZL

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

                            Looks like setting the kinematics to CoreXY makes it use the worst case, i.e. a diagonal move where one motor is driving both axes.

                            What acceleration are you using? Do you have a specification of rotor inertia for the motor?

                            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

                            fractalengineerundefined 1 Reply Last reply Reply Quote 0
                            • fractalengineerundefined
                              fractalengineer @dc42
                              last edited by

                              @dc42 Yep I lowered the accel already down to 1000mm/s2; doesn't help

                              Increasing current doesn't either, tried up to 2.2amps out of rated 2.8; just more noisy.

                              Rotor inertia is specified to 305 g.cm2

                              6e206db0-334d-44f8-a8a2-ab5c217bfbb2-image.png

                              Railcore II ZL

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

                                Please see this post https://forum.duet3d.com/post/172593 and let me know if it helps.

                                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

                                fractalengineerundefined 1 Reply Last reply Reply Quote 0
                                • fractalengineerundefined
                                  fractalengineer @dc42
                                  last edited by

                                  @dc42 Ok thanks for the detailed instructions

                                  I changed my config to

                                  M569 P0 V50   H50
                                  M915 P0 S3 F1 H153 T50 R0	
                                  

                                  (and repeat for P1 ofc)

                                  Which gives me the console returns:

                                  8/13/2020, 11:12:24 PM 	M569 P0
                                  Drive 0 runs forwards, active low enable, step timing fast, mode stealthChop, ccr 0x08053, toff 3, tblank 1, hstart/hend/hdec 5/0/0, pos 936, tpwmthrs 50 (93.8 mm/sec), thigh 50 (93.8 mm/sec)
                                  8/13/2020, 11:12:04 PM 	M915 P0
                                  Driver 0.0: stall threshold 3, filter on, steps/sec 153 (15.3 mm/sec), coolstep 0, action: none
                                  

                                  Results are bad; the seizure happen at yet lower speed now; 60mm/s on diagonals

                                  I tried increasing current up to 2.8amps; scary, no effect

                                  Railcore II ZL

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

                                    @fractalengineer said in Duet 3 StealthChop 2 Tuning for Nema23:

                                    @dc42 Ok thanks for the detailed instructions

                                    I changed my config to

                                    M569 P0 V50   H50
                                    M915 P0 S3 F1 H153 T50 R0	
                                    

                                    (and repeat for P1 ofc)

                                    Which gives me the console returns:

                                    8/13/2020, 11:12:24 PM 	M569 P0
                                    Drive 0 runs forwards, active low enable, step timing fast, mode stealthChop, ccr 0x08053, toff 3, tblank 1, hstart/hend/hdec 5/0/0, pos 936, tpwmthrs 50 (93.8 mm/sec), thigh 50 (93.8 mm/sec)
                                    8/13/2020, 11:12:04 PM 	M915 P0
                                    Driver 0.0: stall threshold 3, filter on, steps/sec 153 (15.3 mm/sec), coolstep 0, action: none
                                    

                                    Results are bad; the seizure happen at yet lower speed now; 60mm/s on diagonals

                                    On a diagonal, the belt speed has to move the sum of the X and Y amounts, which is sqrt(2) times the diagonal amount. So 60mm/sec diagonal speed corresponds to 85mm/sec belt speed, which is fairly close to the 93.8mm/sec value returned by M569.

                                    Try reducing all 3 values to 25.

                                    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

                                    fractalengineerundefined 1 Reply Last reply Reply Quote 0
                                    • fractalengineerundefined
                                      fractalengineer @dc42
                                      last edited by

                                      @dc42 oh man this test is so painful to the ear but

                                      Diagonal seizes from 73mm/s again
                                      All axis from 100mm/s

                                      Railcore II ZL

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

                                        I will try the same settings. What is your steps/mm ?

                                        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

                                        fractalengineerundefined 2 Replies Last reply Reply Quote 0
                                        • fractalengineerundefined
                                          fractalengineer @dc42
                                          last edited by fractalengineer

                                          @dc42 appreciate it; 160steps/mm

                                          In fact here's my last workingish config.g

                                          ; General Setup - RailCore RRF on a SBC for Duet3
                                          G21										; Work in millimetres
                                          G90										; Send absolute coordinates...
                                          M83										; ...but relative extruder moves
                                          
                                          ; Debugging
                                          M111 S0									; Debug (S0 is off; S1 is on)
                                          M929 P"eventlog.txt" S1					; start logging to file eventlog.txt
                                          M915 X Y S10 F0 R1						; log motor stalls (added 5/4/2019)
                                          
                                          
                                          ; Stepper configuration
                                          M569 P0 S1 D3							; Drive 0 X / Rear
                                          M569 P1 S0 D3							; Drive 1 Y / Front
                                          M569 P2 S1 D3							; Drive 2 Z Front Left
                                          M569 P3 S1 D3							; Drive 3 Z Rear Left
                                          M569 P4 S1 D3							; Drive 4 Z Right
                                          M569 P5 S0 D3							; Drive 5 Extruder
                                          
                                          ; Trinamic Drive Tuning
                                          ; Tune tpwmthrs (V) so stealthchop runs at appropriate speeds
                                          ; and tune thigh (H) to avoid shifting into fullstep mode
                                          M569 P0 V30   H23                                    ; X            - Set tpwmthrs so StealthChop runs up to 70mm/sec (try V47)
                                          M569 P1 V30   H23                                    ; Y            - Set tpwmthrs so StealthChop runs up to 70mm/sec
                                          M569 P2 V15   H5                                    ; Z Right      - Set tpwmthrs so StealthChop runs up to 15.6mm/sec
                                          M569 P3 V15   H5                                    ; Z Left Rear  - Set tpwmthrs so StealthChop runs up to 15.6mm/sec
                                          M569 P4 V15   H5                                    ; Z Left Front - Set tpwmthrs so StealthChop runs up to 15.6mm/sec
                                          M569 P5 V125  H5                                    ; E            - Set tpwmthrs so StealthChop runs up to 7.2mm/sec
                                          
                                          ; Stealthchop parameters
                                          M915 P0 S3 F1 H153 T1 R0				
                                          M915 P1 S3 F1 H153 T1 R0
                                          
                                          
                                          ; Axis configuration
                                          M669 K1									; Corexy mode
                                          M584 X0 Y1 Z2:3:4 E5					; Map X to drive 0 Y to drive 1, Z to drives 2, 3, 4, and E to drive 5
                                          
                                          
                                          ; Leadscrew locations
                                          M671 X-10:-10:333  Y22.5:277.5:150 S7.5
                                          
                                          
                                          ; Steppers Settings
                                          M350 X16 Y16 Z16 I1						; Set 16x microstepping for axes with interpolation
                                          M350 Z16 I1
                                          M350 E16 I0								; Set 8x microstepping for Flex3Drive extruder interpolation OFF
                                          M906 X1820 Y1820 Z1008 E420 I35			; Set motor currents (mA) and motor idle factor (%) // X/Y 65% of rated 2800mA
                                          M84 S30 								; Idle timeout 30s
                                          M201 X1600 Y1600 Z100 E120				; Accelerations (mm/s^2) (Was 2500)
                                          M203 X24000 Y24000 Z900 E2400			; Maximum speeds (mm/min) 
                                          M566 X800 Y800 Z100 E6					; Maximum jerk speeds mm/minute 
                                          M208 X290 Y303 Z325						; Set axis maxima and high homing switch positions (adjust to suit your machine)
                                          M208 X-27 Y0 Z0 S1						; Set axis minima and low homing switch positions (adjust to make X=0 and Y=0 the edges of the bed)
                                          M92 X160 Y160 Z1600 E4130				; Steps/mm
                                          
                                          ; End Stops
                                          M574 X1 S1 P"io0.in"					; Map the X endstop to io1.in
                                          M574 Y1 S1 P"io3.in"					; May the Y endstop to io2.in
                                           
                                          
                                          ; Define Bed
                                          M140 H0
                                          M557 X5:290 Y30:300 P8:8 				; Probe from X=5 to 290, Y=30 to 300mm with 8x8 points
                                          
                                          
                                          ; Thermistors
                                          M308 S0 P"temp0" Y"thermistor" A"Keenovo" T100000 B4240 H0 L0 						; Bed thermistor - connected to temp0
                                          M308 S1 P"temp1" Y"thermistor" A"Mosquito" T4606017 B5848 C5.548428e-8 H0 L0			; Dyze 500c thermistor - connected to e0_heat
                                          
                                          
                                          ; Define Heaters
                                          M950 H0 C"out0" T0						; Bed heater is on out0
                                          M950 H1 C"out1" T1						; Hotend heater is on out1
                                          
                                          
                                          ; Heater model parameters
                                          M307 H0 A158.5 C366.7 D2.1 S1.0 V24.0 B0 	; Keenovo duet 3 configuration
                                          M307 H1 A324.0 C114.3 D4.4 S1.0 V23.9 B0    ; Heating process parameters for 24V a system
                                          
                                          
                                          ; Heater Fault Parameters
                                          M570 H1 P10 T15 S180					; Hotend allows 10sec for anomaly, permits 15deg excursion, abandons print after 180s
                                          M143 S350								; Set max hotend temperature			
                                          
                                          
                                          ; Fans
                                          M950 F0 C"out5"							; Hotend fan on "out5" connector
                                          M106 P0 S1.0 H1 T75 					; Enable thermostatic mode for hotend fan (S225)
                                          M950 F1 C"out4"							; Layer fan on "out4" connector
                                          M106 P1 S0 								; Layer Fan
                                          
                                          
                                          ; Tool definitions
                                          M563 P0 D0 H1 F1                       	; Define tool 0
                                          G10 P0 S0 R0                        	; Set tool 0 operating and standby temperatures
                                          
                                          
                                          ; BLTouch
                                          M558 P9 C"io7.in" H5 R1 F120 T6000 A5 S0.02 B1			; Define the bltouch input on io7.in
                                          M950 S0 C"io7.out"										; Define the bltouch servo on io7.out
                                          G31 X Y25 Z1.95 P25 										; Set the offsets for the bltouch
                                          
                                          
                                          ; Duet3 Cooling
                                          M308 S2 Y"drivers" A"DRIVERS"  			; Configure sensor 2 as temperature warning and overheat flags on the TMC2660 on Duet
                                          M308 S3 Y"mcu-temp" A"MCU"				; Configure sensor 3 as thermistor on pin e1temp for left stepper
                                          M950 F2 C"out6" Q100 					; Create fan 2 on pin fan2 and set its frequency                        
                                          M106 P2 C"ElectroBox" H1 L0.0 X1.0 B0.3 T70:160 			; Set fan 2 value
                                          
                                          ; Filament Sensor
                                          M591 D0 P7 C"io6.in" S0 E50 L1.25 R25:175 A1
                                          
                                          T0										; Select first hot end
                                          
                                          ; Mesh Bed Compensation
                                          G29 S1 									; Load height map from SD card
                                          M376 H3									; Set taper height 3mm
                                          
                                          ; Dynamic Acceleration Adjustment
                                          M593 F52
                                          
                                          ; Logging
                                          M929 P"eventlog.txt" S1 				; start logging to file eventlog.txt
                                          

                                          Thanks David

                                          Railcore II ZL

                                          1 Reply Last reply Reply Quote 0
                                          • fractalengineerundefined
                                            fractalengineer @dc42
                                            last edited by

                                            @dc42 Ok a few more observations from today's experiments:

                                            • The motors don't seem to like hanging around the V setting speed; movements gets either in StealthC with hiccups, or in SpreadC with hiccups, or just stalls/seizes altogether.

                                            • Changing the V value doesn't fix this weird zone; it just moves it around

                                            • Turning M569 do D2 makes it smoother at those speeds; no more hiccup, just regular screamy Spreadcycle

                                            • Even then, In SpreadCycle mode they still stall at relatively low speed; 160mm/s even on X/Y moves

                                            • These stalls don't happen right upon movement start; it builds up over the length of the -long- move. That means, the speed of 160mm/s doesn't change over the duration of the movement, but it tracks well in the beginning, then stalls at the end

                                            Hope that helps

                                            Railcore II ZL

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