Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // @section TMC2130, TMC2208
- /**
- * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
- *
- * You'll also need the TMC2130Stepper Arduino library
- * (https://github.com/teemuatlut/TMC2130Stepper).
- *
- * To use TMC2130 stepper drivers in SPI mode connect your SPI2130 pins to
- * the hardware SPI interface on your board and define the required CS pins
- * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
- */
- #define HAVE_TMC2130
- /**
- * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers.
- * Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin.
- * To use the reading capabilities, also connect #_SERIAL_RX_PIN
- * to #_SERIAL_TX_PIN with a 1K resistor.
- * The drivers can also be used with hardware serial.
- *
- * You'll also need the TMC2208Stepper Arduino library
- * (https://github.com/teemuatlut/TMC2208Stepper).
- */
- //#define HAVE_TMC2208
- #if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
- // CHOOSE YOUR MOTORS HERE, THIS IS MANDATORY
- #define X_IS_TMC2130
- //#define X2_IS_TMC2130
- #define Y_IS_TMC2130
- //#define Y2_IS_TMC2130
- #define Z_IS_TMC2130
- //#define Z2_IS_TMC2130
- #define E0_IS_TMC2130
- //#define E1_IS_TMC2130
- //#define E2_IS_TMC2130
- //#define E3_IS_TMC2130
- //#define E4_IS_TMC2130
- //#define X_IS_TMC2208
- //#define X2_IS_TMC2208
- //#define Y_IS_TMC2208
- //#define Y2_IS_TMC2208
- //#define Z_IS_TMC2208
- //#define Z2_IS_TMC2208
- //#define E0_IS_TMC2208
- //#define E1_IS_TMC2208
- //#define E2_IS_TMC2208
- //#define E3_IS_TMC2208
- //#define E4_IS_TMC2208
- /**
- * Stepper driver settings
- */
- #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
- #define HOLD_MULTIPLIER 0.2 // Scales down the holding current from run current
- #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
- #define X_CURRENT 800 // rms current in mA. Multiply by 1.41 for peak current.
- #define X_MICROSTEPS 16 // 0..256
- #define Y_CURRENT 800
- #define Y_MICROSTEPS 16
- #define Z_CURRENT 900
- #define Z_MICROSTEPS 16
- #define X2_CURRENT 800
- #define X2_MICROSTEPS 16
- #define Y2_CURRENT 800
- #define Y2_MICROSTEPS 16
- #define Z2_CURRENT 800
- #define Z2_MICROSTEPS 16
- #define E0_CURRENT 800
- #define E0_MICROSTEPS 16
- #define E1_CURRENT 800
- #define E1_MICROSTEPS 16
- #define E2_CURRENT 800
- #define E2_MICROSTEPS 16
- #define E3_CURRENT 800
- #define E3_MICROSTEPS 16
- #define E4_CURRENT 800
- #define E4_MICROSTEPS 16
- /**
- * Use Trinamic's ultra quiet stepping mode.
- * When disabled, Marlin will use spreadCycle stepping mode.
- */
- #define STEALTHCHOP
- /**
- * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
- * like overtemperature and short to ground. TMC2208 requires hardware serial.
- * In the case of overtemperature Marlin can decrease the driver current until error condition clears.
- * Other detected conditions can be used to stop the current print.
- * Relevant g-codes:
- * M906 - Set or get motor current in milliamps using axis codes X, Y, Z, E. Report values if no axis codes given.
- * M911 - Report stepper driver overtemperature pre-warn condition.
- * M912 - Clear stepper driver overtemperature pre-warn condition flag.
- * M122 S0/1 - Report driver parameters (Requires TMC_DEBUG)
- */
- #define MONITOR_DRIVER_STATUS
- #if ENABLED(MONITOR_DRIVER_STATUS)
- #define CURRENT_STEP_DOWN 50 // [mA]
- #define REPORT_CURRENT_CHANGE
- #define STOP_ON_ERROR
- #endif
- /**
- * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
- * This mode allows for faster movements at the expense of higher noise levels.
- * STEALTHCHOP needs to be enabled.
- * M913 X/Y/Z/E to live tune the setting
- */
- //#define HYBRID_THRESHOLD
- #define X_HYBRID_THRESHOLD 100 // [mm/s]
- #define X2_HYBRID_THRESHOLD 100
- #define Y_HYBRID_THRESHOLD 100
- #define Y2_HYBRID_THRESHOLD 100
- #define Z_HYBRID_THRESHOLD 3
- #define Z2_HYBRID_THRESHOLD 3
- #define E0_HYBRID_THRESHOLD 30
- #define E1_HYBRID_THRESHOLD 30
- #define E2_HYBRID_THRESHOLD 30
- #define E3_HYBRID_THRESHOLD 30
- #define E4_HYBRID_THRESHOLD 30
- /**
- * Use stallGuard2 to sense an obstacle and trigger an endstop.
- * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
- * X and Y homing will always be done in spreadCycle mode.
- *
- * X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
- * Higher values make the system LESS sensitive.
- * Lower value make the system MORE sensitive.
- * Too low values can lead to false positives, while too high values will collide the axis without triggering.
- * It is advised to set X/Y_HOME_BUMP_MM to 0.
- * M914 X/Y to live tune the setting
- */
- #define SENSORLESS_HOMING // TMC2130 only
- #if ENABLED(SENSORLESS_HOMING)
- #define X_HOMING_SENSITIVITY 8
- #define Y_HOMING_SENSITIVITY 8
- #define X_HOME_BUMP_MM 0
- #define Y_HOME_BUMP_MM 0
- #endif
- /**
- * Enable M122 debugging command for TMC stepper drivers.
- * M122 S0/1 will enable continous reporting.
- */
- #define TMC_DEBUG
- /**
- * You can set your own advanced settings by filling in predefined functions.
- * A list of available functions can be found on the library github page
- * https://github.com/teemuatlut/TMC2130Stepper
- * https://github.com/teemuatlut/TMC2208Stepper
- *
- * Example:
- * #define TMC_ADV() { \
- * stepperX.diag0_temp_prewarn(1); \
- * stepperY.interpolate(0); \
- * }
- */
- #define TMC_ADV() { }
- #endif // TMC2130 || TMC2208
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement