Trinamic TMC Schrittmotorstrom in Marlin-Firmware auslesen oder einstellen

English Deutsch

In Marlin kann der Schrittmotorstrom für Trinamic-Schrittmotortreiber wie den TMC2208 oder den TMC5160 dynamisch konfiguriert werden.

Motorstrom per G-Code ändern

Die einfachste Option ist die Verwendung von G-Codes. Um den Schrittmotorstrom für X, Y und Z auf 2 Ampere (2000 mA) einzustellen, M906 wie folgt verwenden:

set_trinamic_current.gcode
M906X2000Y2000Z2000

Nun die Einstellungen im EEPROM speichern mit

save_eeprom.gcode
M500

Der aktuelle Schrittmotorstrom kann auch abgefragt werden mit

m906_output.txt
M906
X driver current: 2000
Y driver current: 2000
Z driver current: 2000
E driver current: 800
ok

Motorstrom in der Konfigurationsdatei ändern

Standard-Schrittmotorstromwerte können auch in den Marlin-Konfigurationsdateien festgelegt werden. Beachten, dass diese von jedem Wert im EEPROM überschrieben werden.

In Configuration_adv.h nach

Configuration_adv.h
#if HAS_TRINAMIC_CONFIG

suchen, was Achsdefinitionen wie

Configuration_adv.h
#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        // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
  //#define X_INTERPOLATE  true      // Enable to override 'INTERPOLATE' for the X axis
#endif

Den Wert in der Zeile

Configuration_adv.h
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.

ändern, also z.B. um 2A (=2000 mA) einzustellen, auf

Configuration_adv.h
#define X_CURRENT 2000 // (mA) RMS current. Multiply by 1.414 for peak current.

Check out similar posts by category: 3D Printing