Hey everyone.
So, I finally decided to install my brand new TMC2130 drivers. Everything went well, they are recognized with M122. Settings in marlin are mostly default, just enabled the TMC2130 drivers.
But I have a big problem with them. Instead of being quiet, they are extremely loud (louder than my default A4988s). Here is a video with TMC2130 and here with A4988.
Any ideas why is this happening? Thanks.
My printer: FLSun Kossel (simply a delta) with MKS Gen L, 12V PSU.
M122:
Stepper Driver types:
P.S.: Yes, this is a repost from marlin sections, as it probably belongs here.
So, I finally decided to install my brand new TMC2130 drivers. Everything went well, they are recognized with M122. Settings in marlin are mostly default, just enabled the TMC2130 drivers.
But I have a big problem with them. Instead of being quiet, they are extremely loud (louder than my default A4988s). Here is a video with TMC2130 and here with A4988.
Any ideas why is this happening? Thanks.
My printer: FLSun Kossel (simply a delta) with MKS Gen L, 12V PSU.
M122:
14:46:10.580 : X Y Z 14:46:10.581 : Enabled false false false 14:46:10.581 : Set current 1000 1000 1000 14:46:10.583 : RMS current 994 994 994 14:46:10.586 : MAX current 1402 1402 1402 14:46:10.587 : Run current 17/31 17/31 17/31 14:46:10.588 : Hold current 8/31 8/31 8/31 14:46:10.590 : CS actual 8/31 8/31 8/31 14:46:10.590 : PWM scale 1 1 1 14:46:10.591 : vsense 0=.325 0=.325 0=.325 14:46:10.593 : stealthChop true true true 14:46:10.593 : msteps 16 16 16 14:46:10.595 : tstep 1048575 1048575 1048575 14:46:10.596 : pwm 14:46:10.596 : threshold 0 0 0 14:46:10.597 : [mm/s] - - - 14:46:10.598 : OT prewarn false false false 14:46:10.599 : OT prewarn has 14:46:10.600 : been triggered false false false 14:46:10.600 : off time 5 5 5 14:46:10.602 : blank time 24 24 24 14:46:10.602 : hysteresis 14:46:10.603 : -end 2 2 2 14:46:10.603 : -start 3 3 3 14:46:10.605 : Stallguard thrs 0 0 0 14:46:10.605 : DRVSTATUS X Y Z 14:46:10.606 : stallguard 14:46:10.606 : sg_result 0 0 0 14:46:10.608 : fsactive 14:46:10.608 : stst X X X 14:46:10.608 : olb 14:46:10.609 : ola 14:46:10.609 : s2gb 14:46:10.609 : s2ga 14:46:10.611 : otpw 14:46:10.611 : ot 14:46:10.612 : Driver registers: X = 0x80:08:00:00 14:46:10.612 : Y = 0x80:08:00:00 14:46:10.614 : Z = 0x80:08:00:00
Stepper Driver types:
#define X_DRIVER_TYPE TMC2130 #define Y_DRIVER_TYPE TMC2130 #define Z_DRIVER_TYPE TMC2130 #define X2_DRIVER_TYPE A4988 #define Y2_DRIVER_TYPE A4988 #define Z2_DRIVER_TYPE A4988 #define E0_DRIVER_TYPE A4988 #define E1_DRIVER_TYPE A4988 #define E2_DRIVER_TYPE A4988 #define E3_DRIVER_TYPE A4988 #define E4_DRIVER_TYPE A4988TMC2130 config:
#if HAS_TRINAMIC
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#define X_CURRENT 1000 // rms current in mA. Multiply by 1.41 for peak current.
#define X_MICROSTEPS 16 // 0..256
#define Y_CURRENT 1000
#define Y_MICROSTEPS 16
#define Z_CURRENT 1000
#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 software SPI for TMC2130.
* The default SW SPI pins are defined the respective pins files,
* but you can override or define them here.
*/
//#define TMC_USE_SW_SPI
//#define TMC_SW_MOSI -1
//#define TMC_SW_MISO -1
//#define TMC_SW_SCK -1
/**
* 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, Y, and Z homing will always be done in spreadCycle mode.
*
* X/Y/Z_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/Z_HOME_BUMP_MM to 0.
* M914 X/Y/Z 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 Z_HOMING_SENSITIVITY 8
#endif
/**
* Enable M122 debugging command for TMC stepper drivers.
* M122 S0/1 will enable continous reporting.
*/
#define TMC_DEBUG
/**
* M915 Z Axis Calibration
*
* - Adjust Z stepper current,
* - Drive the Z axis to its physical maximum, and
* - Home Z to account for the lost steps.
*
* Use M915 Snn to specify the current.
* Use M925 Znn to add extra Z height to Z_MAX_POS.
*/
//#define TMC_Z_CALIBRATION
#if ENABLED(TMC_Z_CALIBRATION)
#define CALIBRATION_CURRENT 250
#define CALIBRATION_EXTRA_HEIGHT 10
#endif
/**
* 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
* [github.com]
* [github.com]
*
* Example:
* #define TMC_ADV() { \
* stepperX.diag0_temp_prewarn(1); \
* stepperY.interpolate(0); \
* }
*/
#define TMC_ADV() { }
#endif // TMC2130 || TMC2208
P.S.: Yes, this is a repost from marlin sections, as it probably belongs here.