3

I installed MKS Gen L V2.1 with TMC 2209 drivers to my Creality Ender-3 printer and updated the software to marlin 2, the stepper motors are getting extremely hot. What should i due to resolve this problem. The following Code is from the configuration_adv.h file showing the currents.

    #if AXIS_IS_TMC(X)
    #define X_CURRENT       800        // (mA) RMS current. Multiply by 1.414 for peak current.
    #define X_CURRENT_HOME  X_CURRENT  // (mA) RMS current for sensorless homing
    #define X_MICROSTEPS     32    // 0..256
    #define X_RSENSE          0.11
    #define X_CHAIN_POS      -1    // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
  #endif

#if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_CURRENT_HOME X2_CURRENT #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 #define X2_CHAIN_POS -1 #endif

#if AXIS_IS_TMC(Y) #define Y_CURRENT 800 #define Y_CURRENT_HOME Y_CURRENT #define Y_MICROSTEPS 32 #define Y_RSENSE 0.11 #define Y_CHAIN_POS -1 #endif

#if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_CURRENT_HOME Y2_CURRENT #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 #define Y2_CHAIN_POS -1 #endif

#if AXIS_IS_TMC(Z) #define Z_CURRENT 800 #define Z_CURRENT_HOME Z_CURRENT #define Z_MICROSTEPS 32 #define Z_RSENSE 0.11 #define Z_CHAIN_POS -1 #endif

#if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_CURRENT_HOME Z2_CURRENT #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 #define Z2_CHAIN_POS -1 #endif

#if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_CURRENT_HOME Z3_CURRENT #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 #define Z3_CHAIN_POS -1 #endif

#if AXIS_IS_TMC(Z4) #define Z4_CURRENT 800 #define Z4_CURRENT_HOME Z4_CURRENT #define Z4_MICROSTEPS 16 #define Z4_RSENSE 0.11 #define Z4_CHAIN_POS -1 #endif

#if AXIS_IS_TMC(E0) #define E0_CURRENT 850 #define E0_MICROSTEPS 32 #define E0_RSENSE 0.11 #define E0_CHAIN_POS -1 #endif

Thanks.

Rayan
  • 81
  • 2
  • 6

1 Answers1

4

I notice that in "configuration_adv.h" for the BIGTREETECH-SKR-mini-E3, which uses TMC2209 drivers, the similar section has:

#if HAS_TRINAMIC_CONFIG

#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256

#if AXIS_IS_TMC(X) #define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT_HOME (X_CURRENT/2) // (mA) RMS current for sensorless homing #define X_MICROSTEPS 16 // 0..256 #define X_RSENSE 0.11 #define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #endif

#if AXIS_IS_TMC(X2) #define X2_CURRENT 800 #define X2_CURRENT_HOME X2_CURRENT #define X2_MICROSTEPS 16 #define X2_RSENSE 0.11 #define X2_CHAIN_POS -1 #endif

#if AXIS_IS_TMC(Y) #define Y_CURRENT 580 #define Y_CURRENT_HOME (Y_CURRENT/2) #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 #define Y_CHAIN_POS -1 #endif

#if AXIS_IS_TMC(Y2) #define Y2_CURRENT 800 #define Y2_CURRENT_HOME Y2_CURRENT #define Y2_MICROSTEPS 16 #define Y2_RSENSE 0.11 #define Y2_CHAIN_POS -1 #endif

#if AXIS_IS_TMC(Z) #define Z_CURRENT 580 #define Z_CURRENT_HOME Z_CURRENT #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 #define Z_CHAIN_POS -1 #endif

#if AXIS_IS_TMC(Z2) #define Z2_CURRENT 800 #define Z2_CURRENT_HOME Z2_CURRENT #define Z2_MICROSTEPS 16 #define Z2_RSENSE 0.11 #define Z2_CHAIN_POS -1 #endif

#if AXIS_IS_TMC(Z3) #define Z3_CURRENT 800 #define Z3_CURRENT_HOME Z3_CURRENT #define Z3_MICROSTEPS 16 #define Z3_RSENSE 0.11 #define Z3_CHAIN_POS -1 #endif

#if AXIS_IS_TMC(Z4) #define Z4_CURRENT 800 #define Z4_CURRENT_HOME Z4_CURRENT #define Z4_MICROSTEPS 16 #define Z4_RSENSE 0.11 #define Z4_CHAIN_POS -1 #endif

#if AXIS_IS_TMC(E0) #define E0_CURRENT 650 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 #define E0_CHAIN_POS -1 #endif

#if AXIS_IS_TMC(E1) #define E1_CURRENT 800 #define E1_MICROSTEPS 16 #define E1_RSENSE 0.11 #define E1_CHAIN_POS -1 #endif // ...

In the reddit thread Stepper driver current settings?, user brewc found that the stepper motors drivers supplied with the Ender 3 specify peak (maximum) current whereas the TMC drivers specify RMS current.

So, you probably want to change the current settings to those in the above .h file.

Of course, in the spirit of changing almost everything on an Ender 3, you could also swap for stepper motors with a higher current specification and/or add heatsinks to the motors.

Andrew Morton
  • 324
  • 2
  • 10