SOLVED Using all TMC5160 functions on Duet3

  • Hi,

    Fresh boarded here, I intend on building a machine with the Duet3 board.

    The TMC5160 website says the driver has many integrated functionalities such as: SixPoint ramp, CoolStep, MicroPlyer, SpreadCycle etc, (explained in detail in the datasheet that can be dowloaded from the same website) whereas the Duet3 website only mentions the StallGuard2 and StealthChop2. Now, while it seems that using some might exclude the use of other functions (e.g: using StealthChop2 excludes the use of SpreadCycle as far as i understood from the driver datasheet), I was wondering: are all of these functionalities available to be used, defined and configured through the firmware? For me the most important one would be the SixPoint ramp, so that I can know if I can specify the different velocities and accelerations as mentioned in the TMC5160 datasheet.


  • Moderator

    @3dpm This page describes many of the features RepRapFirmware makes accessible, including StallGuard, Stealthchop, Spreadcycle and Coolstep:
    Though we're still documenting how to use some of them, because it's complicated! (MicroPlyer is microstep interpolation, which can be enabled/disabled in RRF)

    As far as I'm aware, the 'SixPoint' ramp generator is part of the motion controller feature of the TMC5160; from the datasheet:

    The SixPoint ramp generator of the TMC5160 uses StealthChop, DcStep, CoolStep, and StallGuard2 automatically to optimize every motor movement.

    However, we don't use the motion controller features of the TMC5160, as that's what RRF does. We only use the feature set of the TMC2160, which the Duet 3 was designed for, and is pin-compatible with the TMC5160, and does not have the 'SixPoint' feature (or the motion controller) of the TMC5160.

    I'm not sure why you'd want to specify the velocities and accelerations directly to the stepper driver; these are configured in the firmware.

    The only feature I'm not sure about is DcStep. I think RRF uses some of the information, combined with StallGuard, for calculating lost steps, but doesn't allow the stepper driver to dynamically slow the motor down (this would be bad for axis synchronisation, though lost steps are too!). It probably needs @dc42 to explain how DcSteps is used.


  • administrators

    We don't use the 6-point ramp generation facility, because it is hard to use in a context that requires fast synchronised movement between motors, because the Duet 3 is fast enough without it, and for extruder movement it is not compatible with pressure advance. It's also not compatible with S-curve acceleration and other features that we plan to introduce in RRF 3.4.

    RRF uses MicroPlyer (it's the 'interpolation' option in M350) and supports coolStep if you configure it.

  • Thank you both for your replies, they are very informative as I hadn't come across the link mentioned by @droftarts previously.

    I'm also happy to see that S-curve motion profile is planned for the future version 3.4 of the firmware. When is the release planned for?

    P.S: you can mark the thread as "solved" if you wish (I don't know if I can do that), but the info I got are fine from my side, thanks.

  • administrators

    @3dpm said in Using all TMC5160 functions on Duet3:

    I'm also happy to see that S-curve motion profile is planned for the future version 3.4 of the firmware. When is the release planned for?

    We don't have a release date for it because exactly how implement the planned features (more sophisticated input shaping and/or other ways of reducing ringing, S-curve acceleration and jerk-free cornering) isn't designed yet and we don't know how long it will take to implement. Design work will start in February once the 3.3 release is in RC stage, and implementation is planned to start in March.

Log in to reply