Stepper driver input mode?



  • I saw that the Duet2 can output the Step / Dir that enters its Stepper drivers on additional separate pins. The Duet3 doesn't have this feature right?

    I checked out the documentation on the 5150 Driver and found it has different input modes, among which it's own Integrated Motion Controller.

    I was wondering what is used on the Duet's for input? If it is the Step / Dir which I think what is done, am I then correct to assume that in Microstepping mode of 16 all 16 pulses are send from the controller to the Drivers?

    THX,Q



  • @QuintBrand said in Stepper driver input mode?:

    Microstepping mode of 16 all 16 pulses are send from the controller to the Drivers

    yes, and that's the reason why you have to calculate the microsteps into the M92 values. If M350 X16 ... I1 interpolation is set, factor 16 is sent to the driver and the TMC calculates 256 microsteps for silent steppers.

    The integrated motion controller cannot be used, because the multiple drivers must be coordinated according to the movement planning of the axes.



  • @QuintBrand said in Stepper driver input mode?:

    I saw that the Duet2 can output the Step / Dir that enters its Stepper drivers on additional separate pins. The Duet3 doesn't have this feature right?

    not quite, the step/dir signals are available for the existing drivers as test points under the pcb however.

    I checked out the documentation on the 5150 Driver and found it has different input modes, among which it's own Integrated Motion Controller.

    the 5160 on the duet 3 is configured by SPI and controlled by step/dir signals.

    I was wondering what is used on the Duet's for input? If it is the Step / Dir which I think what is done, am I then correct to assume that in Microstepping mode of 16 all 16 pulses are send from the controller to the Drivers?

    same as above, but microstepping is configured by the firmware over the mentioned SPI bus. so it can be anything from full step to 1/256th microstepping.

    schematics and firmware sources are available under https://github.com/Duet3D/



  • Thank you for the answers, this is very helpful information. I understand that indeed the controller sends Steps / Dir with the settings provided in the config.g file.

    It makes a lot of sense then that the driver's themselves upsample the signal to 256 steps per rev for smooth operation! When reading I was a little bit figured as I got the first impression that when not using the integrated motion controller one would not be able to use all the nice goodies that are part of TMCs.

    I do not fully get what you meant Bearer that the step / dir is available on the Duet on the rear side of the PCB. I would imagine you mean the soldered pin that enters the Driver? Any idea how I could safely attach a wire without soldering ;-)?

    Thank you both!



  • @QuintBrand said in Stepper driver input mode?:

    I do not fully get what you meant Bearer that the step / dir is available on the Duet on the rear side of the PCB. I would imagine you mean the soldered pin that enters the Driver? Any idea how I could safely attach a wire without soldering ;-)?

    Afaik there are pads on the bottom of the board, there was at least on an earlier version. We're talking about a test point, just a point on the board without the soldermask, no hole in the board. The safe option is to not connect anything as is Duet3d's recommendation. But pogo pins would make a reliable connection without soldering. But I'm thinking you're in voided warranty land in any case so might as well do the soldering.

    It makes a lot of sense then that the driver's themselves upsample the signal to 256 steps per rev for smooth operation!

    only if enabled by the configuration.



  • @QuintBrand

    M350 X16 ... I1 activates 256 microstepping, please see https://duet3d.dozuki.com/Wiki/Gcode#Section_M350_Set_microstepping_mode
    "The Duet 2 WiFi/Ethernet support interpolation (to x256 microstepping) only when configured for x16 microstepping"

    What one should not do is setting e.g. M350 X256 I0, because the number of steps/second is limited by the MCU hardware. Duet 2 is limited to about 120 kHz (120 000 steps per secons) per axis, which is easily reached with 256 I0. You can analyze lost steps with M122, it is reported as high values for hiccups.

    Contacting the pins directly will void garantuee IMHO. I see three options for you:

    • try TMC2660-BOB (like Duet 2) or TCM5160-BOB (like Duet 3) and connect it to the external driver connectors, programming SPI somehow, they will not be handled the same like the drivers on board (maybe using Duex2/5 allows direct pin analysis also)
    • measure current which goes from TMC to the stepper, see https://forum.duet3d.com/topic/12049/building-a-diy-public-domain-low-cost-stepper-motor-analyzer
    • if you only want to know which step are created when, it may be easier and safer to change the firmware to report the created steps


  • Thanks again for the replies. I indeed want to do something very similar to the step analyser with the dynamic analysers I sell for my company. So I think indeed hooking up to the Stepper Output and getting in a resistor to and measure the voltage over the resistor.

    And by setting M350 I can measure a sequence with and without the micro stepping, which is exactly what I wanted as i wanted to play around with upsampling the signal.

    So perfect answer and also to know the Duet does about 120kHz on signals. Is that sampling frequency or the number of pulses it can send? I would expect the latter and the sampling frequency be in the MHz range, correct? Does the Duet3 do a lot more?

    Cheers and I'll be posting some pics then later on, more or less for fun.



  • @QuintBrand I don't know the maximum stepper rate of Duet 3. The limit depends on the maximum rate of the GPIO processing of the pins and there are some calculations to be done in this time. The pin rate was different for single driver and multiple driver. There was a thread here which I cannot find now, but it was about 120 kHz.

    Found the thread: https://forum.duet3d.com/topic/8660/high-number-of-hiccups-during-basic-moves/10
    the information of dc42 18 Jan 2019.

    PS I find it interesting to read old threads, there is so much information and knowledge! (reprapforum also)



  • @QuintBrand said in Stepper driver input mode?:

    . I indeed want to do something very similar to the step analyser with the dynamic analysers I sell for my company.

    in that case you should be able to get away with a bed of nails type setup with pogo pins for the step/dir signals if you need them. for moderate currents you could do the output as well i guess.



  • Thanks once more for the help; I tried searching for the frequency but didn't find it. Now I know I'm not good at searching this forum yet ;-)!

    But a big thanks for the help and interesting read!


Log in to reply