What should I set my motor currents to via M906?

  • Recently updated my Tevo Little Monster with a Duet Ethernet. Grabbed a pre-existing config.g from someone else with a similar config, and notice that even after very short prints, my steppers were molten hot to the touch. I've been using RRF via RADDS on a custom corexy bot for a number of years now, and I always tuned those current values by adjusting the pot on the SD6128 drivers to set the calculated stepper current limit. My brain is having a hard time doing the reverse, and just typing in the correct amperage values in M906.

    This was the original values that were in there:

    M906 X1800 Y1800 Z1800 E1500 I30
    ```These are 1.8A nema 17's: Is there some sort of math\logic to use based on the 24v Duet & the TMC2260 drivers? I tried putting in 1500, and they were still _really_ hot (not _as_ hot, but I wouldn't want to keep my finger on them).
    I can just start typing in lower and lower numbers, if if there's anything known good out there, I'd at least like to start with that.
    Per the wiki:
    > Plan to run each stepper motor at between 50% and 85% of its rated current.
    So, if these are 1.8A, I should be running them between .8 and 1.53A?

  • Stepper motors do get hot - it's a fact of life and they are usually rated at around 80 deg C. A good rule of thumb is to set the motor current to 85% of the stepper rating. If you can run them at a lower current without missing steps due to lack of torque, then they will run cooler.

    If you use plastic motor mounts, then you may run into the problems that I had with the plastic softening slightly during very long prints and then distorting dues to the belt tension acting on the motor shaft. You can fit insulation under the motor, or heat sinks to the motors or stick a thermistor onto the motor body and fit a fan running in thermostatic mode set to around 45 deg C. - I did all 3 🙂

  • These are bolted directly to metal, so no plastic melting worries there.
    In the meantime, I'd set them to 1.25A, now they're 'warm', not the 'don't let your children near them' hot. Seemed to print fine.
    I'll push it back up to 85% (1.53A) and get out my IR temp gauge, see what happens…


  • I'd say you might be approaching the problem from the wrong perspective, IMO. You want to use the lowest motor current you can, whilst having some headroom for extreme situations, like that occasional high-speed printing challenge, or to prevent skipping steps in case your nozzle minorly impacts something, like a blob of filament from a previous layer.

    But if you can drive a motor and achieve everything you want using 50% of its max current handling then your machine will be cooler, more efficient electrically and quieter as well. My simple rule of thumb is set a current level, then command some movements at high speed/acceleration/jerk and see if any motor stalls or sounds rough, if they do you need a little more current. If they are running hot, then see if you can nudge the current down without having any adverse effects. Again rule of thumb but presuming the motors are attached to things that don't have a low melting point, 60 deg C is a reasonable maximum temp to try to stay below, although most motors can handle more.

  • I put it back to 1.53A (85% current), and my IR temp gauge lists them only at 43c (can hold them for maybe 10 sec before it gets uncomfortable). So maybe running them at the original 1.8A is ok. It's also printing completely fine at this amperage as well, so I'll leave it for the time being. I'm still tuning the printer, and don't really have it printing 'that fast' yet, and my guess is that will push the temp up as well(?).

  • No, not necessarily, whether the shaft turns or not the coils are energised in the motor when it is active. They are either holding position (using energy, losing heat) or turning but its constant current so whether the motor is stationary or moving isn't really that closely related to its power consumption or loss of energy through heat/noise. Thankfully with TMC drivers and RRF, the motors are configured by default to drop to a lower current when in standby, this does reduce power consumption, heat & noise.

  • AH, that makes a lot more sense, thanks for info.

Log in to reply