|
|
@ -837,15 +837,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Minimum delay after setting the stepper DIR (in ns)
|
|
|
|
* Minimum delay after setting the stepper DIR (in ns)
|
|
|
|
* 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire)
|
|
|
|
* 0 : No delay (Expect at least 10µS since one Stepper ISR must transpire)
|
|
|
|
* 20 : Minimum for TMC2xxx drivers
|
|
|
|
* 20 : Minimum for TMC2xxx drivers
|
|
|
|
* 200 : Minimum for A4988 drivers
|
|
|
|
* 200 : Minimum for A4988 drivers
|
|
|
|
* 500 : Minimum for LV8729 drivers (guess, no info in datasheet)
|
|
|
|
* 500 : Minimum for LV8729 drivers (guess, no info in datasheet)
|
|
|
|
* 650 : Minimum for DRV8825 drivers
|
|
|
|
* 650 : Minimum for DRV8825 drivers
|
|
|
|
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
|
|
|
|
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
|
|
|
|
*15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
|
|
|
|
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
|
|
|
|
|
|
|
|
*
|
|
|
|
|
|
|
|
* Override the default value based on the driver type set in Configuration.h.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
#define MINIMUM_STEPPER_DIR_DELAY 0
|
|
|
|
//#define MINIMUM_STEPPER_DIR_DELAY 650
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Minimum stepper driver pulse width (in µs)
|
|
|
|
* Minimum stepper driver pulse width (in µs)
|
|
|
@ -855,8 +857,10 @@
|
|
|
|
* 2 : Minimum for DRV8825 stepper drivers
|
|
|
|
* 2 : Minimum for DRV8825 stepper drivers
|
|
|
|
* 3 : Minimum for TB6600 stepper drivers
|
|
|
|
* 3 : Minimum for TB6600 stepper drivers
|
|
|
|
* 30 : Minimum for TB6560 stepper drivers
|
|
|
|
* 30 : Minimum for TB6560 stepper drivers
|
|
|
|
|
|
|
|
*
|
|
|
|
|
|
|
|
* Override the default value based on the driver type set in Configuration.h.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
#define MINIMUM_STEPPER_PULSE 2
|
|
|
|
//#define MINIMUM_STEPPER_PULSE 2
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Maximum stepping rate (in Hz) the stepper driver allows
|
|
|
|
* Maximum stepping rate (in Hz) the stepper driver allows
|
|
|
@ -867,8 +871,10 @@
|
|
|
|
* 150000 : Maximum for TB6600 stepper driver
|
|
|
|
* 150000 : Maximum for TB6600 stepper driver
|
|
|
|
* 130000 : Maximum for LV8729 stepper driver
|
|
|
|
* 130000 : Maximum for LV8729 stepper driver
|
|
|
|
* 15000 : Maximum for TB6560 stepper driver
|
|
|
|
* 15000 : Maximum for TB6560 stepper driver
|
|
|
|
|
|
|
|
*
|
|
|
|
|
|
|
|
* Override the default value based on the driver type set in Configuration.h.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
#define MAXIMUM_STEPPER_RATE 250000
|
|
|
|
//#define MAXIMUM_STEPPER_RATE 250000
|
|
|
|
|
|
|
|
|
|
|
|
// @section temperature
|
|
|
|
// @section temperature
|
|
|
|
|
|
|
|
|
|
|
@ -1036,125 +1042,80 @@
|
|
|
|
// @section tmc
|
|
|
|
// @section tmc
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Enable this section if you have TMC26X motor drivers.
|
|
|
|
* TMC26X Stepper Driver options
|
|
|
|
* You will need to import the TMC26XStepper library into the Arduino IDE for this
|
|
|
|
*
|
|
|
|
* (https://github.com/trinamic/TMC26XStepper.git)
|
|
|
|
* The TMC26XStepper library is required for this stepper driver.
|
|
|
|
|
|
|
|
* https://github.com/trinamic/TMC26XStepper
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
#define HAVE_TMC26X
|
|
|
|
#if HAS_DRIVER(TMC26X)
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
|
|
|
|
|
|
|
|
#define X_IS_TMC26X
|
|
|
|
|
|
|
|
//#define X2_IS_TMC26X
|
|
|
|
|
|
|
|
#define Y_IS_TMC26X
|
|
|
|
|
|
|
|
//#define Y2_IS_TMC26X
|
|
|
|
|
|
|
|
#define Z_IS_TMC26X
|
|
|
|
|
|
|
|
#define Z2_IS_TMC26X
|
|
|
|
|
|
|
|
#define E0_IS_TMC26X
|
|
|
|
|
|
|
|
//#define E1_IS_TMC26X
|
|
|
|
|
|
|
|
//#define E2_IS_TMC26X
|
|
|
|
|
|
|
|
//#define E3_IS_TMC26X
|
|
|
|
|
|
|
|
//#define E4_IS_TMC26X
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define X_MAX_CURRENT 1200 // in mA
|
|
|
|
|
|
|
|
#define X_SENSE_RESISTOR 50 // in mOhms
|
|
|
|
|
|
|
|
#define X_MICROSTEPS 32 // number of microsteps
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define X2_MAX_CURRENT 1200
|
|
|
|
|
|
|
|
#define X2_SENSE_RESISTOR 50
|
|
|
|
|
|
|
|
#define X2_MICROSTEPS 32
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define Y_MAX_CURRENT 1200
|
|
|
|
|
|
|
|
#define Y_SENSE_RESISTOR 50
|
|
|
|
|
|
|
|
#define Y_MICROSTEPS 32
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define Y2_MAX_CURRENT 1200
|
|
|
|
|
|
|
|
#define Y2_SENSE_RESISTOR 50
|
|
|
|
|
|
|
|
#define Y2_MICROSTEPS 32
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define Z_MAX_CURRENT 1200
|
|
|
|
|
|
|
|
#define Z_SENSE_RESISTOR 50
|
|
|
|
|
|
|
|
#define Z_MICROSTEPS 32
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define Z2_MAX_CURRENT 1200
|
|
|
|
|
|
|
|
#define Z2_SENSE_RESISTOR 50
|
|
|
|
|
|
|
|
#define Z2_MICROSTEPS 32
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define E0_MAX_CURRENT 1200
|
|
|
|
|
|
|
|
#define E0_SENSE_RESISTOR 50
|
|
|
|
|
|
|
|
#define E0_MICROSTEPS 32
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define E1_MAX_CURRENT 1200
|
|
|
|
|
|
|
|
#define E1_SENSE_RESISTOR 50
|
|
|
|
|
|
|
|
#define E1_MICROSTEPS 32
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define E2_MAX_CURRENT 1200
|
|
|
|
|
|
|
|
#define E2_SENSE_RESISTOR 50
|
|
|
|
|
|
|
|
#define E2_MICROSTEPS 32
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define E3_MAX_CURRENT 1200
|
|
|
|
|
|
|
|
#define E3_SENSE_RESISTOR 50
|
|
|
|
|
|
|
|
#define E3_MICROSTEPS 32
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define E4_MAX_CURRENT 1200
|
|
|
|
|
|
|
|
#define E4_SENSE_RESISTOR 50
|
|
|
|
|
|
|
|
#define E4_MICROSTEPS 32
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
#define X_MAX_CURRENT 1000 // in mA
|
|
|
|
|
|
|
|
#define X_SENSE_RESISTOR 91 // in mOhms
|
|
|
|
|
|
|
|
#define X_MICROSTEPS 16 // number of microsteps
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define X2_MAX_CURRENT 1000
|
|
|
|
|
|
|
|
#define X2_SENSE_RESISTOR 91
|
|
|
|
|
|
|
|
#define X2_MICROSTEPS 16
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define Y_MAX_CURRENT 1000
|
|
|
|
|
|
|
|
#define Y_SENSE_RESISTOR 91
|
|
|
|
|
|
|
|
#define Y_MICROSTEPS 16
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define Y2_MAX_CURRENT 1000
|
|
|
|
|
|
|
|
#define Y2_SENSE_RESISTOR 91
|
|
|
|
|
|
|
|
#define Y2_MICROSTEPS 16
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define Z_MAX_CURRENT 1000
|
|
|
|
|
|
|
|
#define Z_SENSE_RESISTOR 91
|
|
|
|
|
|
|
|
#define Z_MICROSTEPS 16
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define Z2_MAX_CURRENT 1000
|
|
|
|
|
|
|
|
#define Z2_SENSE_RESISTOR 91
|
|
|
|
|
|
|
|
#define Z2_MICROSTEPS 16
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define E0_MAX_CURRENT 1000
|
|
|
|
|
|
|
|
#define E0_SENSE_RESISTOR 91
|
|
|
|
|
|
|
|
#define E0_MICROSTEPS 16
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define E1_MAX_CURRENT 1000
|
|
|
|
|
|
|
|
#define E1_SENSE_RESISTOR 91
|
|
|
|
|
|
|
|
#define E1_MICROSTEPS 16
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define E2_MAX_CURRENT 1000
|
|
|
|
|
|
|
|
#define E2_SENSE_RESISTOR 91
|
|
|
|
|
|
|
|
#define E2_MICROSTEPS 16
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define E3_MAX_CURRENT 1000
|
|
|
|
|
|
|
|
#define E3_SENSE_RESISTOR 91
|
|
|
|
|
|
|
|
#define E3_MICROSTEPS 16
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define E4_MAX_CURRENT 1000
|
|
|
|
|
|
|
|
#define E4_SENSE_RESISTOR 91
|
|
|
|
|
|
|
|
#define E4_MICROSTEPS 16
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif // TMC26X
|
|
|
|
|
|
|
|
|
|
|
|
// @section tmc_smart
|
|
|
|
// @section tmc_smart
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* 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 SPI pins to
|
|
|
|
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
|
|
|
|
* the hardware SPI interface on your board and define the required CS pins
|
|
|
|
* 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.).
|
|
|
|
* in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
|
|
|
* You may also use software SPI if you wish to use general purpose IO pins.
|
|
|
|
* You may also use software SPI if you wish to use general purpose IO pins.
|
|
|
|
*/
|
|
|
|
*
|
|
|
|
//#define HAVE_TMC2130
|
|
|
|
* The TMC2130Stepper library is required for this stepper driver.
|
|
|
|
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory!
|
|
|
|
* https://github.com/teemuatlut/TMC2130Stepper
|
|
|
|
//#define X_IS_TMC2130
|
|
|
|
*
|
|
|
|
//#define X2_IS_TMC2130
|
|
|
|
* To use TMC2208 stepper UART-configurable stepper drivers
|
|
|
|
//#define Y_IS_TMC2130
|
|
|
|
* connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
|
|
|
|
//#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
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers.
|
|
|
|
|
|
|
|
* Connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
|
|
|
|
|
|
|
|
* To use the reading capabilities, also connect #_SERIAL_RX_PIN
|
|
|
|
* To use the reading capabilities, also connect #_SERIAL_RX_PIN
|
|
|
|
* to PDN_UART without a resistor.
|
|
|
|
* to PDN_UART without a resistor.
|
|
|
|
* The drivers can also be used with hardware serial.
|
|
|
|
* The drivers can also be used with hardware serial.
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* You'll also need the TMC2208Stepper Arduino library
|
|
|
|
* The TMC2208Stepper library is required for this stepper driver.
|
|
|
|
* (https://github.com/teemuatlut/TMC2208Stepper).
|
|
|
|
* https://github.com/teemuatlut/TMC2208Stepper
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
//#define HAVE_TMC2208
|
|
|
|
#if HAS_TRINAMIC
|
|
|
|
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
|
|
|
|
|
|
|
|
//#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
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
|
|
|
|
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
|
|
|
|
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
|
|
|
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
|
|
@ -1309,25 +1270,12 @@
|
|
|
|
// @section L6470
|
|
|
|
// @section L6470
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Enable this section if you have L6470 motor drivers.
|
|
|
|
* L6470 Stepper Driver options
|
|
|
|
* You need to import the L6470 library into the Arduino IDE for this.
|
|
|
|
*
|
|
|
|
* (https://github.com/ameyer/Arduino-L6470)
|
|
|
|
* The Arduino-L6470 library is required for this stepper driver.
|
|
|
|
|
|
|
|
* https://github.com/ameyer/Arduino-L6470
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
|
|
|
|
#if HAS_DRIVER(L6470)
|
|
|
|
//#define HAVE_L6470DRIVER
|
|
|
|
|
|
|
|
#if ENABLED(HAVE_L6470DRIVER)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//#define X_IS_L6470
|
|
|
|
|
|
|
|
//#define X2_IS_L6470
|
|
|
|
|
|
|
|
//#define Y_IS_L6470
|
|
|
|
|
|
|
|
//#define Y2_IS_L6470
|
|
|
|
|
|
|
|
//#define Z_IS_L6470
|
|
|
|
|
|
|
|
//#define Z2_IS_L6470
|
|
|
|
|
|
|
|
//#define E0_IS_L6470
|
|
|
|
|
|
|
|
//#define E1_IS_L6470
|
|
|
|
|
|
|
|
//#define E2_IS_L6470
|
|
|
|
|
|
|
|
//#define E3_IS_L6470
|
|
|
|
|
|
|
|
//#define E4_IS_L6470
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define X_MICROSTEPS 16 // number of microsteps
|
|
|
|
#define X_MICROSTEPS 16 // number of microsteps
|
|
|
|
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off
|
|
|
|
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off
|
|
|
@ -1373,7 +1321,7 @@
|
|
|
|
#define E4_OVERCURRENT 2000
|
|
|
|
#define E4_OVERCURRENT 2000
|
|
|
|
#define E4_STALLCURRENT 1500
|
|
|
|
#define E4_STALLCURRENT 1500
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
#endif // L6470
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* TWI/I2C BUS
|
|
|
|
* TWI/I2C BUS
|
|
|
|