Help needed with Duet 3 6hc TMC5160 StealthChop config



  • Hello I´m trying to switch the board from a SKR Pro 1.1 with TMC5160 (X&Y) used with klipper.
    with klipper stealthChop works fine with 100mm/sec.
    When I now try to use the Duet 3 with stealthChop it looks like stealthChop work only up to 119 mm/min
    when I use a move command like G0 X100 F119, it is verry slow but nothing to hear like on the SKR with klipper.
    when I use a move command like G0 X100 F120, i have a strange noise/klicker and over F121 it looks like the drivers goes to spreadcycle.

    can some one point me in the right direction what I´m doing wrong or what I have overlooked?
    Stepper Motors:
    X/Y: Moons MS17HA6P4200-06, 0.9deg 56Ncm 2A
    Z1/Z2: 42BYGHW811, 1.8deg 48Ncm 2.5A
    E: 17HD40005-228, 1.8deg ??Ncm 1,5A

    at the moment I use the board standalone.
    my System Informations:
    Board: Duet 3 MB6HC (MB6HC)
    Firmware: RepRapFirmware for Duet 3 MB6HC 3.01-RC12 (2020-05-06b1)
    Duet Web Control 2.1.7

    my running config:

    ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun Feb 09 2020 01:08:02 GMT+0100 (Mitteleuropäische Normalzeit)
    
    ; General preferences
    G90                                                ; send absolute coordinates...
    M83                                                ; ...but relative extruder moves
    M550 P"duet3"                                      ; set printer name
    
    M667 S1                                            ; select CoreXY mode
    
    ; Network
    M552 S1                                            ; enable network
    M586 P0 S1                                         ; enable HTTP
    M586 P1 S0                                         ; disable FTP
    M586 P2 S1                                         ; enable Telnet
    
    ; Drives
    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
    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 S1 D3 V34                                ; physical drive 4 goes backwards D2=Spread cycle (empty)
    M350 X16 Y16 Z16 E16 I1                            ; configure microstepping with interpolation - working
    M92 X200.00 Y200.00 Z400 E412.00                   ; set steps per mm
    M566 X600.00 Y600.00 Z24.00 E300.00                ; set maximum instantaneous speed changes (mm/min) from config file thingiverse 
    ;M203 X14500.00 Y14500.00 Z2500.00 E7000.00        ; set maximum speeds (mm/min) new test Z800 old
    M203 X12000 Y12000 Z1500 E7000                     ; set maximum speeds (mm/min) new test Z800 old
    M201 X1500 Y1500 Z1400.00 E5000                    ; set accelerations (mm/s^2) from config file thingiverse
    M906 X1600 Y1600 Z650 E800 I50                     ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                                            ; Set idle timeout
    M671 X-70:355 Y153:153 S2.5 					   ; leadscrews at left (connected to Z) and right
    
    ; Axis Limits
    M208 X-31.5 Y-12 Z0 S1                             ; set axis minima
    M208 X315 Y327 Z350 S0                             ; set axis maxima
    
    ; Endstops
    M574 X1 S1 P"io0.in"                               ; configure active-high endstop for low end on X via pin xstop
    M574 Y2 S1 P"io1.in"                               ; configure active-high endstop for high end on Y via pin ystop
    M574 Z1 S2                                         ; configure Z-probe endstop for low end on Z
    
    ; Z-Probe
    M558 P9 C"io7.in" H3 F700 T7800                    ; BLTouch connected to Z probe IN pin was F600=feedrate T6000=travelspeed
    M950 S0 C"io7.out"                                 ; create servo/gpio 0 on heater 3 pin on expansion connector
    G31 P2.55 X26.9 Y-4.4 Z2.975                       ; set Z probe trigger value, offset and trigger height
    M557 X10:290 Y10:290 S40                           ; define mesh grid
    
    ; Heaters
    M308 S0 P"TEMP_0" Y"thermistor" T100000 B4092      ; configure sensor 0 as thermistor on pin bedtemp
    M950 H0 C"OUT0" T0                                 ; create bed heater output on bedheat and map it to sensor 0
    M143 H0 S120                                       ; set temperature limit for heater 0 to 100C
    M307 H0 B0 S1.00                                   ; disable bang-bang mode for the bed heater and set PWM limit
    M140 H0                                            ; map heated bed to heater 0
    M308 S1 P"TEMP_1" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin e0temp
    M950 H1 C"OUT1" T1                                 ; create nozzle heater output on e0heat and map it to sensor 1
    M143 H1 S285                                       ; set temperature limit for heater 1 to 260C
    M307 H1 B0 S1.00                                   ; disable bang-bang mode for heater  and set PWM limit
    
    ; Fans
    M950 F0 C"OUT4" Q50                                ; create fan 0 on pin fan0 and set its frequency - 12v Partcooling
    M106 P0 S0 H-1                                     ; set fan 0 value. Thermostatic control is turned off
    M950 F1 C"OUT7" Q500                               ; create fan 1 on pin fan1 and set its frequency
    M106 P1 S1 H1 T45                                  ; set fan 1 value. Thermostatic control is turned on
    M950 F2 C"OUT8" Q500                               ; create fan 2 on pin fan1 and set its frequency
    M106 P2 S1 H1 T45                                  ; set fan 2 value. Thermostatic control is turned on
    
    ; Tools
    M563 P0 D0 H1 F0                                   ; define tool 0
    G10 P0 X0 Y0 Z0                                    ; set tool 0 axis offsets
    G10 P0 R0 S0                                       ; set initial tool 0 active and standby temperatures to 0C
    
    ; Custom settings are not defined
    
    

    the output of M569:

    m569 P0
    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 56, tpwmthrs 34 (110.3 mm/sec), thigh 200 (18.8 mm/sec)
    ok
    m569 P1
    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 56, tpwmthrs 34 (110.3 mm/sec), thigh 200 (18.8 mm/sec)
    ok
    m569 P2
    Drive 2 runs in reverse, active low enable, step timing fast, mode stealthChop, ccr 0x08053, toff 3, tblank 1, hstart/hend/hdec 5/0/0, pos 8, tpwmthrs 34 (55.1 mm/sec), thigh 200 (9.4 mm/sec)
    ok
    m569 P3
    Drive 3 runs in reverse, active low enable, step timing fast, mode stealthChop, ccr 0x08053, toff 3, tblank 1, hstart/hend/hdec 5/0/0, pos 8, tpwmthrs 34 (55.1 mm/sec), thigh 200 (9.4 mm/sec)
    ok
    m569 P4
    Drive 4 runs forwards, active low enable, step timing fast, mode stealthChop, ccr 0x08053, toff 3, tblank 1, hstart/hend/hdec 5/0/0, pos 8, tpwmthrs 34 (53.5 mm/sec), thigh 200 (9.1 mm/sec)
    ok
    m569 P5
    Drive 5 runs forwards, active low enable, step timing fast, mode stealthChop, ccr 0x08053, toff 3, tblank 1, hstart/hend/hdec 5/0/0, pos 8, tpwmthrs 34 (275.7 mm/sec), thigh 200 (46.9 mm/sec)
    ok
    
    


  • My klipper config:

    [mcu]
    serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_340041000B504D3256313820-if00
    
    [printer]
    kinematics: corexy
    max_velocity: 200
    max_accel: 1500 #2800
    max_z_velocity: 25
    max_z_accel: 1400
    
    [stepper_x]
    step_pin: PE9
    dir_pin: PF1
    enable_pin: !PF2
    step_distance: .005
    endstop_pin: PB10
    position_endstop: -33
    position_max: 310
    homing_speed: 50
    position_min: -33
    
    [stepper_y]
    step_pin: PE11
    dir_pin: PE8
    enable_pin: !PD7
    step_distance: .005
    endstop_pin: PE12
    position_endstop: 338
    position_max: 338
    homing_speed: 50
    position_min: -25
    
    [stepper_z]
    step_pin: PE13
    dir_pin: PC2
    enable_pin: !PC0
    step_distance: .0025
    #endstop_pin: !PG8
    endstop_pin: probe:z_virtual_endstop
    position_endstop: 0.5
    position_max: 300
    homing_speed: 15
    
    [stepper_z1]
    step_pin: !PD13
    dir_pin: PG9
    enable_pin: !PF0
    step_distance: .0025
    
    [extruder]
    step_pin: PE14
    dir_pin: PA0
    enable_pin: !PC3
    step_distance: .002428571428571428
    nozzle_diameter: 0.400
    filament_diameter: 1.750
    heater_pin: PB1 # Heat0
    sensor_pin: PF4 # T0 Header
    sensor_type: ATC Semitec 104GT-2
    min_temp: 0
    max_temp: 290
    #control: pid
    
    [tmc5160 extruder]
    cs_pin: PB3
    spi_bus: spi3a
    #diag1_pin: PE15
    microsteps: 16
    run_current: 0.800
    hold_current: 0.500
    stealthchop_threshold: 70
    
    [heater_bed]
    heater_pin: PD12
    sensor_pin: PF3 # Bed
    sensor_type: EPCOS 100K B57560G104F
    #control: pid
    min_temp: 0
    max_temp: 130
    
    [fan]
    pin: PE5
    max_power: .7
    kick_start_time: 0.100
    off_below: 0.1
    
    [heater_fan fan1]
    pin: PC8
    heater_temp: 60.0
    
    [bltouch]
    sensor_pin: PG8
    control_pin: PA1
    z_offset: 3.0 #2.55
    x_offset: 26.9
    y_offset: -4.4
    pin_up_touch_mode_reports_triggered: False
    # 0 = no high-speed
    # 1 = simultaneous stow and toolhead raise
    # 2 = no intermediate deploy and stow + (1)
    high_speed_mode: 2
    # you can specify an absolute minimum cmd time
    min_cmd_time: 0.150
    # set this to false if probe does not support it
    test_sensor_before_use: True
    # use SW Mode if you want instead of normal mode
    use_sw_mode: True
    stow_on_each_sample: False
    
    [safe_z_home]
    home_xy_position: 128.1,159.4 # Change coordinates to the center of your print bed
    speed: 50
    z_hop: 10                 # Move up 10mm
    z_hop_speed: 15
    
    [z_tilt]
    z_positions:
      -70,153
      355,153
    points:
      -23,153
      270,153
    speed: 60
    horizontal_move_z: 10
    retries: 5
    retry_tolerance: 0.005
    
    [bed_screws]
    screw1: 35,35
    screw1_name: front left
    screw2: 275,35
    screw2_name: front right
    screw3: 275,275
    screw3_name: rear right
    screw4: 35,275
    screw4_name: rear left
    horizontal_move_z: 10
    probe_height: 0
    speed: 60
    probe_speed: 15
    
    [screws_tilt_adjust]
    screw1: 8.1,39.4
    screw1_name: front left screw
    screw2: 248.1,39.4
    screw2_name: front right screw
    screw3: 248.1,279.4
    screw3_name: rear right screw
    screw4: 8.1,279.4
    screw4_name: rear left screw
    horizontal_move_z: 10.0
    speed: 60
    screw_thread: CW-M4
    
    [bed_mesh]
    speed: 60
    horizontal_move_z: 5
    mesh_min: 10,10
    mesh_max: 300,300
    probe_count: 5,5
    algorithm: bicubic
    
    [gcode_macro G32]
    gcode: 
    	G28
    	Z_TILT_ADJUST
    	G28
    	G0 X-16.9 Y14.4 F3000
    	BED_MESH_CALIBRATE
    	G0 X-30 Y-10 Z50 F3000
    
    ###### Standard #####
    [tmc5160 stepper_x]
    cs_pin: PA15
    spi_bus: spi3a
    microsteps: 16
    run_current: 1.600
    hold_current: 0.800
    stealthchop_threshold: 110 #70
    sense_resistor: 0.075
    ######### New Testing
    #driver_pwm_freq: 2 # try 2 here orig 1
    #driver_tpfd: 4 # try to increase that from 4
    #driver_SGT: 4 # try to play with theese. It enables coolstep too, which helps with noise
    driver_PWM_OFS: 30  # regarding 0.9 Stepper motors
    driver_TOFF: 4
    #####################
    
    ###### Standard #####
    [tmc5160 stepper_y]
    cs_pin: PB8
    spi_bus: spi3a
    microsteps: 16
    run_current: 1.600
    hold_current: 0.800
    stealthchop_threshold: 110 #70
    sense_resistor: 0.075
    ######### New Testing
    #driver_pwm_freq: 2 # try 2 here orig 1
    #driver_tpfd: 4 # try to increase that that from 4
    #driver_SGT: 4 # try to play with theese. It enables coolstep too, which helps with noise
    driver_PWM_OFS: 30  # regarding 0.9 Stepper motors
    driver_TOFF: 4
    #####################
    
    [tmc2208 stepper_z]
    uart_pin: PE1
    microsteps: 16
    run_current: 0.650
    hold_current: 0.450
    stealthchop_threshold: 30
    
    [tmc2208 stepper_z1]
    uart_pin: PD6
    microsteps: 16
    run_current: 0.650
    hold_current: 0.450
    stealthchop_threshold: 30
    
    [safe_z_home]
    home_xy_position: 128.1,159.4 # Change coordinates to the center of your print bed
    speed: 50
    z_hop: 10                 # Move up 10mm
    z_hop_speed: 15
    
    ######################################################################
    # Fysetc Mini 12864Panel v2.1 (with neopixel backlight leds)
    ######################################################################
    
    [display]
    lcd_type: uc1701
    cs_pin: EXP1_3
    a0_pin: EXP1_4
    rst_pin: EXP1_5
    contrast: 60
    encoder_pins: ^EXP2_5, ^EXP2_3
    click_pin: ^!EXP1_2
    
    [output_pin beeper]
    pin: EXP1_1
    
    [neopixel fysetc_mini12864]
    pin: EXP1_6
    chain_count: 3
    color_order_GRB: False
    initial_RED: 0.4
    initial_GREEN: 0.4
    initial_BLUE: 0.4
    
    ########################################
    # EXP1 / EXP2 (display) pins
    ########################################
    
    [board_pins]
    aliases:
        # EXP1 header
        EXP1_1=PG4, EXP1_3=PD11, EXP1_5=PG2, EXP1_7=PG6, EXP1_9=<GND>,
        EXP1_2=PA8, EXP1_4=PD10, EXP1_6=PG3, EXP1_8=PG7, EXP1_10=<5V>,
        # EXP2 header
        EXP2_1=PB14, EXP2_3=PG10, EXP2_5=PF11, EXP2_7=PF12,  EXP2_9=<GND>,
        EXP2_2=PB13, EXP2_4=PB12, EXP2_6=PB15, EXP2_8=<RST>, EXP2_10=PF13
        # Pins EXP2_1, EXP2_6, EXP2_2 are also MISO, MOSI, SCK of bus "spi2"
    
    # See the sample-lcd.cfg file for definitions of common LCD displays.
    
    #*# <---------------------- SAVE_CONFIG ---------------------->
    #*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
    #*#
    #*# [extruder]
    #*# pid_kp = 19.938
    #*# pid_ki = 0.923
    #*# pid_kd = 107.667
    #*# control = pid
    #*#
    #*# [heater_bed]
    #*# pid_kp = 47.433
    #*# pid_ki = 0.303
    #*# pid_kd = 1855.210
    #*# control = pid
    

    the driver output with klipper:

    0:06:15.865: #DUMP_TMC STEPPER=stepper_x
    0:06:15.867: // ========== Write-only registers ==========
    0:06:15.867: // TPWMTHRS: 00000022 TPWMTHRS=34
    0:06:15.868: // COOLCONF: 00000000
    0:06:15.868: // GLOBALSCALER: 00000086 GLOBALSCALER=134
    0:06:15.868: // IHOLD_IRUN: 00061f0f IHOLD=15 IRUN=31 IHOLDDELAY=6
    0:06:15.869: // PWMCONF: c40d001e PWM_OFS=30 pwm_freq=1 pwm_autoscale=1 pwm_autograd=1 PWM_REG=4 PWM_LIM=12
    0:06:15.870: // TPOWERDOWN: 0000000a TPOWERDOWN=10
    0:06:15.870: // ========== Queried registers ==========
    0:06:15.873: // GCONF: 00000004 en_pwm_mode=1
    0:06:15.875: // CHOPCONF: 14410154 toff=4 hstrt=5 hend=2 tbl=2 tpfd=4 MRES=4(16usteps) intpol=1
    0:06:15.876: // GSTAT: 00000000
    0:06:15.878: // DRV_STATUS: 800f4000 stealth=1 CSACTUAL=15 stst=1
    0:06:15.879: // FACTORY_CONF: 0000000b FACTORY_CONF=11
    0:06:15.880: // IOIN: 30000052 REFR_DIR=1 DRV_ENN=1 SD_MODE=1 VERSION=0x30
    0:06:15.882: // LOST_STEPS: 00000000
    0:06:15.883: // MSCNT: 00000218 MSCNT=536
    0:06:15.885: // MSCURACT: 010b01db CUR_A=-37 CUR_B=-245
    0:06:15.886: // OTP_READ: 0000000b OTP_FCLKTRIM=11
    0:06:15.888: // PWM_SCALE: 00000013 PWM_SCALE_SUM=19
    0:06:15.890: // PWM_AUTO: 001b0026 PWM_OFS_AUTO=38 PWM_GRAD_AUTO=27
    0:06:15.891: // TSTEP: 000fffff TSTEP=1048575
    0:06:15.891: ok
    0:06:19.485: #DUMP_TMC STEPPER=stepper_y
    0:06:19.486: // ========== Write-only registers ==========
    0:06:19.486: // TPWMTHRS: 00000022 TPWMTHRS=34
    0:06:19.487: // COOLCONF: 00000000
    0:06:19.487: // GLOBALSCALER: 00000086 GLOBALSCALER=134
    0:06:19.487: // IHOLD_IRUN: 00061f0f IHOLD=15 IRUN=31 IHOLDDELAY=6
    0:06:19.487: // PWMCONF: c40d001e PWM_OFS=30 pwm_freq=1 pwm_autoscale=1 pwm_autograd=1 PWM_REG=4 PWM_LIM=12
    0:06:19.487: // TPOWERDOWN: 0000000a TPOWERDOWN=10
    0:06:19.487: // ========== Queried registers ==========
    0:06:19.489: // GCONF: 00000004 en_pwm_mode=1
    0:06:19.490: // CHOPCONF: 14410154 toff=4 hstrt=5 hend=2 tbl=2 tpfd=4 MRES=4(16usteps) intpol=1
    0:06:19.491: // GSTAT: 00000000
    0:06:19.492: // DRV_STATUS: 800f4000 stealth=1 CSACTUAL=15 stst=1
    0:06:19.492: // FACTORY_CONF: 0000000b FACTORY_CONF=11
    0:06:19.493: // IOIN: 30000050 DRV_ENN=1 SD_MODE=1 VERSION=0x30
    0:06:19.494: // LOST_STEPS: 00000000
    0:06:19.495: // MSCNT: 00000398 MSCNT=920
    0:06:19.496: // MSCURACT: 00c7016d CUR_A=-147 CUR_B=199
    0:06:19.497: // OTP_READ: 0000000b OTP_FCLKTRIM=11
    0:06:19.497: // PWM_SCALE: 00000015 PWM_SCALE_SUM=21
    0:06:19.498: // PWM_AUTO: 001c002b PWM_OFS_AUTO=43 PWM_GRAD_AUTO=28
    0:06:19.499: // TSTEP: 000fffff TSTEP=1048575
    0:06:19.499: ok
    


  • Do you realize the speeds are in mm/min?
    So F119 is very slow



  • yes like I wrote.
    all above 119mm/min goes to spreadcycle 😠
    also with V34 (110mm/s) parameter in M569.
    and I can not understand why, it looks like the V parameter does not realy change the tpwmthrs.
    but when I check this with m569 P0 as example it gives me
    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 56, tpwmthrs 34 (110.3 mm/sec) , thigh 200 (18.8 mm/sec)
    so it sould be on 110mm/sec and not 2mm (120mm/min) /sec
    I have still not understand what the H parameter (thigh 200 (18.8 mm/sec)) means 😞 maby someone can explain it.
    I have tried higher H and lover H parameter nothing changed for me.
    when I search for "stealthchop" in the Forum it looks like some others has the same problem, but not found a solution for.



  • has some bring StealthChop running on a Duet 3?
    when I search here in the forum it looks like only problems with a maestro was fixed the issues with the duet 3 looks all
    still open.
    has someone the maestro running with RR 3?
    @dc42 do you have some tips that I can try or what is wrong with my configuration?


  • administrators

    I am not aware of any bugs in this area, but have added this to my list of things to test prior to the 3.01 release of RRF.



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


  • administrators

    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.



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


  • administrators

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



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


  • administrators

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



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



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



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



  • I'm experiencing the same thing @danym21.



  • Are there any updates on this?



  • @cjackson234
    still not 😞


  • administrators

    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.



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



  • no sorry 😞


  • administrators

    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.



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


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



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


Log in to reply