Skip to content

Instantly share code, notes, and snippets.

@Weissnix4711
Last active August 21, 2021 10:05
Show Gist options
  • Select an option

  • Save Weissnix4711/adb2ef580741a28c8d79e5301bb9db85 to your computer and use it in GitHub Desktop.

Select an option

Save Weissnix4711/adb2ef580741a28c8d79e5301bb9db85 to your computer and use it in GitHub Desktop.

Stepper driver current

Can be adjusted manually with Vref, or digitally (for marlin in Configuration_adv.h.

Calculating

Imax -> Maximum current per phase. This is often the value on the motor datasheets.

Irms -> Root mean square current, or average current.

Vref -> Voltage of the reference pin (or contact) on the stepper driver. If setting current digitally, this is not important.

Imax = Irms/√2

This can be estimated with

Irms * 1.41

If adjusting manually, remember that Vref is a value from 0..2.5V and the maximum settable motor current is 1.77A.* Therefore:

Vref = (Irms * 2.5V)/1.77A = Irms * 1.41
Vref = Imax

*Note that TMC2130 and similar should not be used above 1.2A, even if they can be set higher.

Before setting the RMS current just calculated, it's usually better to set around 60-80% of that. If there are skipped steps, you can increase the current. If the motors get too hot, decrease the current.

The stepper motors should not be getting any hotter than 50-60°C. While they may be capable of operating at higher temperatures, the plastic parts on your printer may not. This is especially important when your motor mounts are 3s printed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment