Initialization of 5160 drivers in duet3



  • Hello. I have been working on my config (really hard jajajaj) and in some posts I wrote and other I saw comments about having to run some kind of "calibration" routine in order for the drivers tmc5160 on the duet 3 to be able to tune itself regarding current, noise reduction, etc. Following some info I found in those post, I tried to do such a routine and I put it on my homing files.
    First question: Im not sure that is the best place to put the routine. Shoud it be there or may be run just onece the machine is turn on, and so putting the routine into a macro to be run at start up is enough?
    Question 2: can someone chaeck my routine and tell me if it is ok? Im pretty sure it is not. At the moment for example Y have not been able to run the drivers in stealhchop2 mode at more than 7mm/s of printing speed, or Im not sure if the energy saving features are working at all.
    This is what I have at the start of every homing file (all, X, Y and Z)

    ; homeall.g
    ; called to home all axes
    ;
    ; Calibration of motor currents etc
    G91
    G1 H2 Z0.02 F500
    G4 P150
    G1 H2 X0.02 F2000
    G4 P150
    G1 H2 Y0.02 F2000
    G4 P150
    M400
    M913 X60 Y60 ; drop motor current to 60%
    M400
    ; HOME X/Y
    G1 H1 Y-400 X-400 F10000 ; ......

    ; homex.g
    ; called to home the X axis
    ;

    ; Calibration of motor currents etc

    G91
    G1 H2 Z0.02 F500
    G4 P150
    G1 H2 X0.02 F2000
    G4 P150
    G1 H2 Y0.02 F2000
    G4 P150
    G1 X50 F5000
    M400
    M913 X60 Y60
    G1 H1 X-400 F10000
    G90
    M913 X100 Y100
    G1 X175 F4000
    M400

    Thanks in advance for the help


  • Moderator

    1.6 StealthChop2 & SpreadCycle Driver
    StealthChop is a voltage chopper based principle. It especially guarantees that the motor is absolutely
    quiet in standstill and in slow motion, except for noise generated by ball bearings. Unlike other
    voltage mode choppers, StealthChop2 does not require any configuration. It automatically learns the
    best settings during the first motion after power up and further optimizes the settings in subsequent
    motions. An initial homing sequence is sufficient for learning. Optionally, initial learning parameters
    TMC5160/TMC5160A DATASHEET (Rev. 1.14 / 2020-MAY-19) 9
    www.trinamic.com
    can be pre-configured via the interface. StealthChop2 allows high motor dynamics, by reacting at once
    to a change of motor velocity.
    For highest dynamic applications, SpreadCycle is an option to StealthChop2. It can be enabled via
    input pin (standalone mode) or via SPI or UART interface. StealthChop2 and SpreadCycle may even be
    used in a combined configuration for the best of both worlds: StealthChop2 for no-noise stand still,
    silent and smooth performance, SpreadCycle at higher velocity for high dynamics and highest peak
    velocity at low vibration.
    SpreadCycle is an advanced cycle-by-cycle chopper mode. It offers smooth operation and good
    resonance dampening over a wide range of speed and load. The SpreadCycle chopper scheme
    automatically integrates and tunes fast decay cycles to guarantee smooth zero crossing performan

    https://www.trinamic.com/fileadmin/assets/Products/ICs_Documents/TMC5160A_Datasheet_Rev1.14.pdf

    They make it sound like an initial homing procedure should be sufficient.



  • @Phaedrux This is super tehcnical aplication, I read this info in other posts, but it is not clear to me how to do that initialization properly. Do you have any reference o something tested to share?


  • Moderator

    @Tinchus said in Initialization of 5160 drivers in duet3:

    but it is not clear to me how to do that initialization properly.

    Well according to Trinamic it should be automatic.

    StealthChop2 does not require any configuration. It automatically learns the best settings during the first motion after power up and further optimizes the settings in subsequent motions. An initial homing sequence is sufficient for learning.

    So just homing your printer as normal should be enough.


Log in to reply