Little to no torque at reasonable speeds

  • I just got my DuetWifi up and running, and have had several very successful prints. But I am having some issues with torque on my motors, and can't seem to find a post that answers my question.

    Background and Details

    • Lead screw driven cartesian machine, fully custom built.

    • DuetWifi running firmware 1.17e, WiFi server 1.02, and Web interface 1.12-RC1

    • x and y motors are model 17hs19-2004s1. Single motor in the x axis using drive 1 and two motors in the y axis in series using drive 2.

    • z motor and extruder motors are model 17hs13-0404s. single z motor and single E motor for dual extruders.

    Current speed, acceleration, etc settings:
    M569 P0 S1 ; Drive 0 goes forwards
    M569 P1 S0 ; Drive 1 goes forwards
    M569 P2 S1 ; Drive 2 goes forwards
    M569 P3 S1 ; Drive 3 goes forwards
    M569 P4 S1 ; Drive 4 goes forwards
    M584 X1 Y2 Z0 E4:3 ; Apply custom drive mapping
    M350 X16 Y16 Z16 I0 ; Configure microstepping without interpolation
    M350 E16:16 I1 ; Configure microstepping with interpolation
    M92 X400 Y400 Z1600 E418.5:418.5 ; Set steps per mm
    M566 X15 Y15 Z1200 E120:120 ; Set maximum instantaneous speed changes (mm/min)
    M203 X4000 Y4000 Z300 E1200:1200 ; Set maximum speeds (mm/min)
    M201 X250 Y250 Z250 E250:250 ; Set accelerations (mm/s^2)
    M906 X1600 Y1600 Z800 E800:800 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    My Question
    My motors (all of them) seem to lose all torque at any speed higher than 3.75 rev/s. I have tried all microstep options, tried increasing and decreasing my current, and even tried removing all load from the motors. Even under no load (other than internal friction), the motors stall and skip, sometimes turning backwards. I have the motors wired exactly as pictured in the wiki.

    My theory is this is related to the TMC2660's stallguard feature, which is heavily outlined in its datasheet. However, I can't find a way to set the parameters of that here on

    Any help or advice would be greatly appreciated.

  • administrators

    Your jerk settings (M566) look odd to me,1200 is higher than I would expect, 15 is lower than I would expect but maybe right for heavy leadscrew axis.

    3.75 r/s is 30mm/s of axis movement I think? That is not that fast but your acceleration is pretty high for a leadscrew driven system (my Z axis is set to 15mm/s^2). Try with significantly lower acceleration and see if you can reach higher speeds.

    Regarding the stallguard, if you type m122 in the console it will report the motor status.

  • administrators

    What supply voltage are you using? I strongly suspect it is too low to maintain torque at high speed, because of the high steps/mm you have. See to work out whether this is the problem.

    The stallguard feature only detects stalls. It doesn't affect the drive to the motor.

  • I am using a 12V supply. I think you're right about it being related to supply voltage. As a test, I turned the trim pot on my supply to 16V and played with the x - motor. At a current of 2000mA was able to comfortably get the x - motor to move at 23 rev/sec; about 180 mm/s on my machine.

    If I remember the behavior of inductors correctly, my y - motors are now getting 6 V each and I should be able to get 12V to each motor if I rewire them to be in parallel. I'm going to look into either rewiring them or or getting a 24V power supply.

  • I use this calculator to get an idea on max speeds of any particular stepper @ voltage, The key is the impedance figure of your steppers.

    simplified (enough for me to comprehend lol) torque reduces as speed is increased. If you need more speed, you want to increase volts as already identified and/or find steppers with lower inductance (one of my key criteria for stepper selection is low impedance).

    Would be challenging to get any sort of speed out of a leadscrew based printer I would have thought.

  • administrators

    If I remember the behavior of inductors correctly, my y - motors are now getting 6 V each and I should be able to get 12V to each motor if I rewire them to be in parallel. I'm going to look into either rewiring them or or getting a 24V power supply.

    Be careful with wiring them in parallel, you then halve the current through each motor which may have the opposite effect from what you want. Going up to 24 V would be better.

  • Based off of your datasheets, your Z / extruder motors in particular have an extremely high inductance and would probably benefit from a much higher supply voltage. (Higher than the TMC2660's support) I wish that more (Or any, even) of the single IC stepper motor drivers supported 48V.

    If you have continue to have speed issues with the Z / extruder motors at 24V, I'd suggest going with a lower inductance motors for these two - Something like the 34mm one from here:

    When picking motors, you essentially want the one with the highest phase current for the torque you require. (Within the limits of the drivers you're using, of course)


Looks like your connection to Duet3D was lost, please wait while we try to reconnect.