Duet 3 StealthChop 2 Tuning for Nema23



  • Hello!

    I've spent the last couple of days trying to figure out how to setup Stealthchop on my machine and I've made a lot of progress; it's much quieter now but only up to exactly 66mm/s.

    From 67mm/s on diagonal moves (then all moves at higher speeds) the driving stepper starts having a complete seizure while moving.

    Quite the spectacle; I had to remove the belts just to make sure it wasn't the gantry.

    The seizure stops as soon as I send it back to Spreadcycle and it's back to the usual screamy billy

    here's a video of the event

    Would anyone know what's happening and how can I enjoy Stealthchop up to normal print speeds?

    The machine is a CoreXY; Railcore II ZL
    It runs a Duet3+SBC with LDO NEMA23
    Powered by a 24V 350W Meanwell

    Here's what the relevant config.g lines look like

    ; Trinamic Drive Tuning
    M569 P0 V30   H5      ; X            - Set tpwmthrs so StealthChop runs up to 125mm/sec
    M569 P1 V30   H5      ; Y            - Set tpwmthrs so StealthChop runs up to 125mm/sec
    
    ; Stealthchop parameters
    M915 P0 S3 R0 H134 T1					
    M915 P1 S3 R0 H134 T1
    
    ; 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 X1650 Y1650 Z1008 E420 I35			; Set motor currents (mA) and motor idle factor (%)
    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
    
    ; Dynamic Acceleration Adjustment
    M593 F52
    

    And what M569 returns; based on a fellow member values

    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 856, tpwmthrs 30 (156.2 mm/sec), thigh 5 (937.5 mm/sec)
    

    Thank you!


  • administrators

    Here are some some suggestions:

    1. Does reducing tpwmthrs affect that 67mm/sec speed? BTW the 156.2mm/sec in the M569 report is the belt speed based on the steps/mm. For a diagonal movement speed of 67mm/sec on a CoreXY machine, I think the belt speed would be 95mm/sec.

    2. Have you used the motor EMF calculator at reprapfirmware.org to check that you have enough voltage margin at higher speeds?

    3. Does the speed at which you make the stealthchop tuning move affect the behaviour?



  • @dc42 Thank you for your response

    1-I didn't think the tpwmthrs parameter would change anything at these speeds as even the diagonal move at 95mm/s is still way below the returned 156mm/s

    Besides, I can switch manually to spreadcycle during the seizure and it would come back to reason

    2-Well that's upsetting; looks like the speed on these big bois would be very limited although they do run reliably up to 120mm/s and tested up to 400mm/s in spreadcycle
    b624a63a-63cd-49af-be52-8bc2f94f186f-image.png

    3-I actually did saw your post mentioning the tuning moves and edited my home files accordingly:

    ; X axis homing file for dc42 Duet firmware
    
    G91
    ; Trinamic tuning
    G1 H2 X-0.00625     ; 1 microstep movement to energize steppers
    G4 P100             ; pause for 100ms
    G1 H2 Z0.0000625      ; 1 microstep movement to energize steppers
    G4 P100             ; pause for 100ms
    
    G1 Z4 F200 H2   	;_RRF3_ change S2 to H2
    G1 X-335 F3000 H1 	;_RRF3_ change S1 to H1
    G1 X4 F600
    G1 X-10 H1 			;_RRF3_ change S1 to H1
    G1 Z-4 F200 H2 		;_RRF3_ change S2 to H2
    G90
    

  • administrators

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

    Well that's upsetting; looks like the speed on these big bois would be very limited although they do run reliably up to 120mm/s and tested up to 400mm/s in spreadcycle

    Looks like that's the problem. stealthChop is a voltage-controlled PWM mode, so I guess it fails when it can't supply enough voltage. The motors you are using have high inductance and they are 0.9deg. That combination results in high back emf from the motors. As it's a Duet 3 you could use higher current/lower inductance motors, but run the figures through the calculator before you order any.



  • @dc42 ah damn.

    Would it work then if I based my profiles on this?

    Bringing tpwmthrs to 66mm/s so that it switches to Spreadcycle past that?

    Then setting my slicer profile to max 65mm/s outer and 130 inner perimeter?


  • administrators

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

    @dc42 ah damn.

    Would it work then if I based my profiles on this?

    Bringing tpwmthrs to 66mm/s so that it switches to Spreadcycle past that?

    Then setting my slicer profile to max 65mm/s outer and 130 inner perimeter?

    Yes, however there will be a jolt when it switches between modes. You will have to test whether that matters or not.



  • @dc42 Got it thanks for the prompt and clear advice


  • administrators

    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.



  • @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


  • administrators

    The H and V values refer to the belt speed.



  • @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



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

    https://youtu.be/2roaQ5Jfvrk



  • bumpity bump


  • administrators

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

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



  • @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 
    


  • @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


  • administrators

    @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.



  • @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


  • administrators

    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?



  • @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


  • administrators

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



  • @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


  • administrators

    @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.



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

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


  • administrators

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


Log in to reply