Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками
Модератор: Kaktus
Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками
Спасибо Вам, это дало новый импульс надежды
Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками
/**
* Interpolate microsteps to 256
* Override for each driver with <driver>_INTERPOLATE settings below
*/
#define INTERPOLATE true
#if AXIS_IS_TMC(X)
#define X_CURRENT 900 // (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
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
#endif
#if AXIS_IS_TMC(X2)
#define X2_CURRENT 600
#define X2_CURRENT_HOME X2_CURRENT
#define X2_MICROSTEPS X_MICROSTEPS
#define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
//#define X2_INTERPOLATE true
//#define X2_HOLD_MULTIPLIER 0.5
#endif
#if AXIS_IS_TMC(Y)
#define Y_CURRENT 1100
#define Y_CURRENT_HOME Y_CURRENT
#define Y_MICROSTEPS 32
#define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#define Y_INTERPOLATE true
//#define Y_HOLD_MULTIPLIER 0.5
#endif
#if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 1100
#define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_MICROSTEPS Y_MICROSTEPS
#define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#define Y2_INTERPOLATE true
//#define Y2_HOLD_MULTIPLIER 0.5
#endif
#if AXIS_IS_TMC(Z)
#define Z_CURRENT 1100
#define Z_CURRENT_HOME Z_CURRENT
#define Z_MICROSTEPS 128
#define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#define Z_INTERPOLATE true
//#define Z_HOLD_MULTIPLIER 0.5
#endif
#if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 1100
#define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_MICROSTEPS Z_MICROSTEPS
#define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#define Z2_INTERPOLATE true
//#define Z2_HOLD_MULTIPLIER 0.5
#endif
#if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 1100
#define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_MICROSTEPS Z_MICROSTEPS
#define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#define Z3_INTERPOLATE true
//#define Z3_HOLD_MULTIPLIER 0.5
#endif
#if AXIS_IS_TMC(Z4)
#define Z4_CURRENT 1100
#define Z4_CURRENT_HOME Z4_CURRENT
#define Z4_MICROSTEPS Z_MICROSTEPS
#define Z4_RSENSE 0.11
#define Z4_CHAIN_POS -1
#define Z4_INTERPOLATE true
//#define Z4_HOLD_MULTIPLIER 0.5
#endif
#if AXIS_IS_TMC(I)
#define I_CURRENT 800
#define I_CURRENT_HOME I_CURRENT
#define I_MICROSTEPS 16
#define I_RSENSE 0.11
#define I_CHAIN_POS -1
//#define I_INTERPOLATE true
//#define I_HOLD_MULTIPLIER 0.5
#endif
#if AXIS_IS_TMC(J)
#define J_CURRENT 800
#define J_CURRENT_HOME J_CURRENT
#define J_MICROSTEPS 16
#define J_RSENSE 0.11
#define J_CHAIN_POS -1
//#define J_INTERPOLATE true
//#define J_HOLD_MULTIPLIER 0.5
#endif
#if AXIS_IS_TMC(K)
#define K_CURRENT 800
#define K_CURRENT_HOME K_CURRENT
#define K_MICROSTEPS 16
#define K_RSENSE 0.11
#define K_CHAIN_POS -1
//#define K_INTERPOLATE true
//#define K_HOLD_MULTIPLIER 0.5
#endif
#if AXIS_IS_TMC(E0)
#define E0_CURRENT 350
#define E0_MICROSTEPS 16
#define E0_RSENSE 0.11
#define E0_CHAIN_POS -1
#define E0_INTERPOLATE true
//#define E0_HOLD_MULTIPLIER 0.5
#endif
* Interpolate microsteps to 256
* Override for each driver with <driver>_INTERPOLATE settings below
*/
#define INTERPOLATE true
#if AXIS_IS_TMC(X)
#define X_CURRENT 900 // (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
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
#endif
#if AXIS_IS_TMC(X2)
#define X2_CURRENT 600
#define X2_CURRENT_HOME X2_CURRENT
#define X2_MICROSTEPS X_MICROSTEPS
#define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
//#define X2_INTERPOLATE true
//#define X2_HOLD_MULTIPLIER 0.5
#endif
#if AXIS_IS_TMC(Y)
#define Y_CURRENT 1100
#define Y_CURRENT_HOME Y_CURRENT
#define Y_MICROSTEPS 32
#define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#define Y_INTERPOLATE true
//#define Y_HOLD_MULTIPLIER 0.5
#endif
#if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 1100
#define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_MICROSTEPS Y_MICROSTEPS
#define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#define Y2_INTERPOLATE true
//#define Y2_HOLD_MULTIPLIER 0.5
#endif
#if AXIS_IS_TMC(Z)
#define Z_CURRENT 1100
#define Z_CURRENT_HOME Z_CURRENT
#define Z_MICROSTEPS 128
#define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#define Z_INTERPOLATE true
//#define Z_HOLD_MULTIPLIER 0.5
#endif
#if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 1100
#define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_MICROSTEPS Z_MICROSTEPS
#define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#define Z2_INTERPOLATE true
//#define Z2_HOLD_MULTIPLIER 0.5
#endif
#if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 1100
#define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_MICROSTEPS Z_MICROSTEPS
#define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#define Z3_INTERPOLATE true
//#define Z3_HOLD_MULTIPLIER 0.5
#endif
#if AXIS_IS_TMC(Z4)
#define Z4_CURRENT 1100
#define Z4_CURRENT_HOME Z4_CURRENT
#define Z4_MICROSTEPS Z_MICROSTEPS
#define Z4_RSENSE 0.11
#define Z4_CHAIN_POS -1
#define Z4_INTERPOLATE true
//#define Z4_HOLD_MULTIPLIER 0.5
#endif
#if AXIS_IS_TMC(I)
#define I_CURRENT 800
#define I_CURRENT_HOME I_CURRENT
#define I_MICROSTEPS 16
#define I_RSENSE 0.11
#define I_CHAIN_POS -1
//#define I_INTERPOLATE true
//#define I_HOLD_MULTIPLIER 0.5
#endif
#if AXIS_IS_TMC(J)
#define J_CURRENT 800
#define J_CURRENT_HOME J_CURRENT
#define J_MICROSTEPS 16
#define J_RSENSE 0.11
#define J_CHAIN_POS -1
//#define J_INTERPOLATE true
//#define J_HOLD_MULTIPLIER 0.5
#endif
#if AXIS_IS_TMC(K)
#define K_CURRENT 800
#define K_CURRENT_HOME K_CURRENT
#define K_MICROSTEPS 16
#define K_RSENSE 0.11
#define K_CHAIN_POS -1
//#define K_INTERPOLATE true
//#define K_HOLD_MULTIPLIER 0.5
#endif
#if AXIS_IS_TMC(E0)
#define E0_CURRENT 350
#define E0_MICROSTEPS 16
#define E0_RSENSE 0.11
#define E0_CHAIN_POS -1
#define E0_INTERPOLATE true
//#define E0_HOLD_MULTIPLIER 0.5
#endif
Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками
/**
* Software enable
*
* Use for drivers that do not use a dedicated enable pin, but rather handle the same
* function through a communication line such as SPI or UART.
*/
//#define SOFTWARE_DRIVER_ENABLE
/**
* TMC2130, TMC2160, TMC2208, TMC2209, TMC5130 and TMC5160 only
* Use Trinamic's ultra quiet stepping mode.
* When disabled, Marlin will use spreadCycle stepping mode.
*/
#define STEALTHCHOP_XY
#define STEALTHCHOP_Z
#define STEALTHCHOP_I
#define STEALTHCHOP_J
#define STEALTHCHOP_K
#define STEALTHCHOP_E
/**
* Optimize spreadCycle chopper parameters by using predefined parameter sets
* or with the help of an example included in the library.
* Provided parameter sets are
* CHOPPER_DEFAULT_12V
* CHOPPER_DEFAULT_19V
* CHOPPER_DEFAULT_24V
* CHOPPER_DEFAULT_36V
* CHOPPER_09STEP_24V // 0.9 degree steppers (24V)
* CHOPPER_PRUSAMK3_24V // Imported parameters from the official Průša firmware for MK3 (24V)
* CHOPPER_MARLIN_119 // Old defaults from Marlin v1.1.9
*
* Define your own with:
* { <off_time[1..15]>, <hysteresis_end[-3..12]>, hysteresis_start[1..8] }
*/
#define CHOPPER_TIMING CHOPPER_DEFAULT_24V // All axes (override below)
//#define CHOPPER_TIMING_X CHOPPER_TIMING // For X Axes (override below)
//#define CHOPPER_TIMING_X2 CHOPPER_TIMING_X
//#define CHOPPER_TIMING_Y CHOPPER_TIMING // For Y Axes (override below)
//#define CHOPPER_TIMING_Y2 CHOPPER_TIMING_Y
//#define CHOPPER_TIMING_Z CHOPPER_TIMING // For Z Axes (override below)
//#define CHOPPER_TIMING_Z2 CHOPPER_TIMING_Z
//#define CHOPPER_TIMING_Z3 CHOPPER_TIMING_Z
//#define CHOPPER_TIMING_Z4 CHOPPER_TIMING_Z
//#define CHOPPER_TIMING_I CHOPPER_TIMING
//#define CHOPPER_TIMING_J CHOPPER_TIMING
//#define CHOPPER_TIMING_K CHOPPER_TIMING
//#define CHOPPER_TIMING_E CHOPPER_TIMING // For Extruders (override below)
//#define CHOPPER_TIMING_E1 CHOPPER_TIMING_E
//#define CHOPPER_TIMING_E2 CHOPPER_TIMING_E
//#define CHOPPER_TIMING_E3 CHOPPER_TIMING_E
//#define CHOPPER_TIMING_E4 CHOPPER_TIMING_E
//#define CHOPPER_TIMING_E5 CHOPPER_TIMING_E
//#define CHOPPER_TIMING_E6 CHOPPER_TIMING_E
//#define CHOPPER_TIMING_E7 CHOPPER_TIMING_E
/**
* Monitor Trinamic drivers
* for error conditions like overtemperature and short to ground.
* To manage over-temp Marlin can decrease the driver current until the 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 - 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
/**
* TMC2130, TMC2160, TMC2208, TMC2209, TMC5130 and TMC5160 only
* 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_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
* 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 Z3_HYBRID_THRESHOLD 3
#define Z4_HYBRID_THRESHOLD 3
#define I_HYBRID_THRESHOLD 3
#define J_HYBRID_THRESHOLD 3
#define K_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
#define E5_HYBRID_THRESHOLD 30
#define E6_HYBRID_THRESHOLD 30
#define E7_HYBRID_THRESHOLD 30
/**
* Use StallGuard to home / probe X, Y, Z.
*
* TMC2130, TMC2160, TMC2209, TMC2660, TMC5130, and TMC5160 only
* Connect the stepper 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_STALL_SENSITIVITY is the default stall threshold.
* Use M914 X Y Z to set the stall threshold at runtime:
*
* Sensitivity TMC2209 Others
* HIGHEST 255 -64 (Too sensitive => False positive)
* LOWEST 0 63 (Too insensitive => No trigger)
*
* It is recommended to set HOMING_BUMP_MM to { 0, 0, 0 }.
*
* SPI_ENDSTOPS *** Beta feature! *** TMC2130/TMC5160 Only ***
* Poll the driver through SPI to determine load when homing.
* Removes the need for a wire from DIAG1 to an endstop pin.
*
* IMPROVE_HOMING_RELIABILITY tunes acceleration and jerk when
* homing and adds a guard period for endstop triggering.
*
* Comment *_STALL_SENSITIVITY to disable sensorless homing for that axis.
*/
//#define SENSORLESS_HOMING // StallGuard capable drivers only
#if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING)
// TMC2209: 0...255. TMC2130: -64...63
#define X_STALL_SENSITIVITY 125
#define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY
#define Y_STALL_SENSITIVITY 8
#define Y2_STALL_SENSITIVITY Y_STALL_SENSITIVITY
//#define Z_STALL_SENSITIVITY 8
//#define Z2_STALL_SENSITIVITY Z_STALL_SENSITIVITY
//#define Z3_STALL_SENSITIVITY Z_STALL_SENSITIVITY
//#define Z4_STALL_SENSITIVITY Z_STALL_SENSITIVITY
//#define I_STALL_SENSITIVITY 8
//#define J_STALL_SENSITIVITY 8
//#define K_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only
//#define IMPROVE_HOMING_RELIABILITY
* Software enable
*
* Use for drivers that do not use a dedicated enable pin, but rather handle the same
* function through a communication line such as SPI or UART.
*/
//#define SOFTWARE_DRIVER_ENABLE
/**
* TMC2130, TMC2160, TMC2208, TMC2209, TMC5130 and TMC5160 only
* Use Trinamic's ultra quiet stepping mode.
* When disabled, Marlin will use spreadCycle stepping mode.
*/
#define STEALTHCHOP_XY
#define STEALTHCHOP_Z
#define STEALTHCHOP_I
#define STEALTHCHOP_J
#define STEALTHCHOP_K
#define STEALTHCHOP_E
/**
* Optimize spreadCycle chopper parameters by using predefined parameter sets
* or with the help of an example included in the library.
* Provided parameter sets are
* CHOPPER_DEFAULT_12V
* CHOPPER_DEFAULT_19V
* CHOPPER_DEFAULT_24V
* CHOPPER_DEFAULT_36V
* CHOPPER_09STEP_24V // 0.9 degree steppers (24V)
* CHOPPER_PRUSAMK3_24V // Imported parameters from the official Průša firmware for MK3 (24V)
* CHOPPER_MARLIN_119 // Old defaults from Marlin v1.1.9
*
* Define your own with:
* { <off_time[1..15]>, <hysteresis_end[-3..12]>, hysteresis_start[1..8] }
*/
#define CHOPPER_TIMING CHOPPER_DEFAULT_24V // All axes (override below)
//#define CHOPPER_TIMING_X CHOPPER_TIMING // For X Axes (override below)
//#define CHOPPER_TIMING_X2 CHOPPER_TIMING_X
//#define CHOPPER_TIMING_Y CHOPPER_TIMING // For Y Axes (override below)
//#define CHOPPER_TIMING_Y2 CHOPPER_TIMING_Y
//#define CHOPPER_TIMING_Z CHOPPER_TIMING // For Z Axes (override below)
//#define CHOPPER_TIMING_Z2 CHOPPER_TIMING_Z
//#define CHOPPER_TIMING_Z3 CHOPPER_TIMING_Z
//#define CHOPPER_TIMING_Z4 CHOPPER_TIMING_Z
//#define CHOPPER_TIMING_I CHOPPER_TIMING
//#define CHOPPER_TIMING_J CHOPPER_TIMING
//#define CHOPPER_TIMING_K CHOPPER_TIMING
//#define CHOPPER_TIMING_E CHOPPER_TIMING // For Extruders (override below)
//#define CHOPPER_TIMING_E1 CHOPPER_TIMING_E
//#define CHOPPER_TIMING_E2 CHOPPER_TIMING_E
//#define CHOPPER_TIMING_E3 CHOPPER_TIMING_E
//#define CHOPPER_TIMING_E4 CHOPPER_TIMING_E
//#define CHOPPER_TIMING_E5 CHOPPER_TIMING_E
//#define CHOPPER_TIMING_E6 CHOPPER_TIMING_E
//#define CHOPPER_TIMING_E7 CHOPPER_TIMING_E
/**
* Monitor Trinamic drivers
* for error conditions like overtemperature and short to ground.
* To manage over-temp Marlin can decrease the driver current until the 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 - 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
/**
* TMC2130, TMC2160, TMC2208, TMC2209, TMC5130 and TMC5160 only
* 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_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
* 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 Z3_HYBRID_THRESHOLD 3
#define Z4_HYBRID_THRESHOLD 3
#define I_HYBRID_THRESHOLD 3
#define J_HYBRID_THRESHOLD 3
#define K_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
#define E5_HYBRID_THRESHOLD 30
#define E6_HYBRID_THRESHOLD 30
#define E7_HYBRID_THRESHOLD 30
/**
* Use StallGuard to home / probe X, Y, Z.
*
* TMC2130, TMC2160, TMC2209, TMC2660, TMC5130, and TMC5160 only
* Connect the stepper 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_STALL_SENSITIVITY is the default stall threshold.
* Use M914 X Y Z to set the stall threshold at runtime:
*
* Sensitivity TMC2209 Others
* HIGHEST 255 -64 (Too sensitive => False positive)
* LOWEST 0 63 (Too insensitive => No trigger)
*
* It is recommended to set HOMING_BUMP_MM to { 0, 0, 0 }.
*
* SPI_ENDSTOPS *** Beta feature! *** TMC2130/TMC5160 Only ***
* Poll the driver through SPI to determine load when homing.
* Removes the need for a wire from DIAG1 to an endstop pin.
*
* IMPROVE_HOMING_RELIABILITY tunes acceleration and jerk when
* homing and adds a guard period for endstop triggering.
*
* Comment *_STALL_SENSITIVITY to disable sensorless homing for that axis.
*/
//#define SENSORLESS_HOMING // StallGuard capable drivers only
#if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING)
// TMC2209: 0...255. TMC2130: -64...63
#define X_STALL_SENSITIVITY 125
#define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY
#define Y_STALL_SENSITIVITY 8
#define Y2_STALL_SENSITIVITY Y_STALL_SENSITIVITY
//#define Z_STALL_SENSITIVITY 8
//#define Z2_STALL_SENSITIVITY Z_STALL_SENSITIVITY
//#define Z3_STALL_SENSITIVITY Z_STALL_SENSITIVITY
//#define Z4_STALL_SENSITIVITY Z_STALL_SENSITIVITY
//#define I_STALL_SENSITIVITY 8
//#define J_STALL_SENSITIVITY 8
//#define K_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only
//#define IMPROVE_HOMING_RELIABILITY
- dark184
- Сообщения: 1520
- Зарегистрирован: 19 фев 2018, 18:18
- Имя: Алексей
- Откуда: Архангельск
- Благодарил (а): 11 раз
- Поблагодарили: 116 раз
Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками
Совсем забыл. У этих драйверов есть две перемычки, которые надо правильно установить для режима Step/Dir или для UART.
По М122 без параметров что в консоль выдает прошивка? В принципе с этого и надо было начинать

Здесь описание https://marlinfw.org/docs/gcode/M122.html
Купил себе танк и никого больше не жалею.
Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками
Connecting...
Printer is now online.
>>> m122
SENDING:M122
X Y Y2 Z Z2 Z3 Z4 E
Address 0 0 0 0 0 0 0 0
Enabled false false false false false false false false
Set current 900 1100 1100 1100 1100 1100 1100 350
RMS current 887 1049 1049 1049 1049 1049 1049 336
MAX current 1251 1479 1479 1479 1479 1479 1479 474
Run current 28/31 18/31 18/31 18/31 18/31 18/31 18/31 10/31
Hold current 14/31 9/31 9/31 9/31 9/31 9/31 9/31 5/31
CS actual 14/31 9/31 9/31 9/31 9/31 9/31 9/31 5/31
PWM scale
vsense 1=.18 0=.325 0=.325 0=.325 0=.325 0=.325 0=.325 1=.18
stealthChop true true true true true true true true
msteps 32 32 32 128 128 128 128 16
interp true true true true true true true true
tstep max max max max max max max max
PWM thresh.
[mm/s]
OT prewarn false false false false false false false false
triggered
OTP false false false false false false false false
pwm scale sum 16 11 11 11 11 11 11 6
pwm scale auto 0 0 0 0 0 0 0 0
pwm offset auto 36 36 36 36 36 36 36 36
pwm grad auto 14 14 14 14 14 14 14 14
off time 4 4 4 4 4 4 4 4
blank time 24 24 24 24 24 24 24 24
hysteresis
-end 2 2 2 2 2 2 2 2
-start 1 1 1 1 1 1 1 1
Stallguard thrs 0 0 0 0 0 0 0 0
uStep count 36 36 4 33 33 33 33 8
DRVSTATUS X Y Y2 Z Z2 Z3 Z4 E
sg_result 0 0 0 0 0 0 0 0
stst
olb
- dark184
- Сообщения: 1520
- Зарегистрирован: 19 фев 2018, 18:18
- Имя: Алексей
- Откуда: Архангельск
- Благодарил (а): 11 раз
- Поблагодарили: 116 раз
Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками
Ой как мне не нравится это
И по этим осям микрошаг... Куда 128 тем более с ШВП? Если микростеп физический, то далеко не факт что контроллер справляется с такой нагрузкой, пересчитайте на 16 или 32 для начала. Для XY было бы куда логичнее 128 поставить вместо 32. Но для теста пересчитайте пока на 32 все, Е можно оставить и 16.
Еще напрягает 350 ма на экструдер. Если экструдер с редуктором, то может быть и хватит и то не факт... У меня для МК8 даже 800 не хватает, а вот 1200 вполне.
Последний раз редактировалось dark184 26 июн 2022, 16:42, всего редактировалось 2 раза.
Купил себе танк и никого больше не жалею.
- dark184
- Сообщения: 1520
- Зарегистрирован: 19 фев 2018, 18:18
- Имя: Алексей
- Откуда: Архангельск
- Благодарил (а): 11 раз
- Поблагодарили: 116 раз
Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками
Ко всему прочему, зачем по Z на все моторы такие токи? Если БП на 24 вольта, то его мощность должна быть только на моторы минимум под 200 ватт, а еще плюсуем хот и грелку стола если тоже на 24 вольта. На моторы Z 100% можно уменьшить токи, тем более ШВП, там момента и не нужно большого. Думаю смело можно скидывать до 500, а то и до 250. Возможно проблема просто в пульсациях БП или напряжение просаживает такая нагрузка. По Y тоже два мотора, на 1100 прекрасно тянет и один мотор. Так что тоже скидываем.
Купил себе танк и никого больше не жалею.
Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками
стоит блинчик 23 мм и если поднимать токи то начинает греться сильно.
Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками
800 стояли изначально не хватало, переодически ось не поднималась, решил поднять чтобы навернякаdark184 писал(а): ↑26 июн 2022, 16:39Ко всему прочему, зачем по Z на все моторы такие токи? Если БП на 24 вольта, то его мощность должна быть только на моторы минимум под 200 ватт, а еще плюсуем хот и грелку стола если тоже на 24 вольта. На моторы Z 100% можно уменьшить токи, тем более ШВП, там момента и не нужно большого. Думаю смело можно скидывать до 500, а то и до 250. Возможно проблема просто в пульсациях БП или напряжение просаживает такая нагрузка. По Y тоже два мотора, на 1100 прекрасно тянет и один мотор. Так что тоже скидываем.

- dark184
- Сообщения: 1520
- Зарегистрирован: 19 фев 2018, 18:18
- Имя: Алексей
- Откуда: Архангельск
- Благодарил (а): 11 раз
- Поблагодарили: 116 раз
Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками
Правильно, с микростепом 1/128! Чем выше микростеп, тем меньшую скорость обеспечит шаговик, впрочем момент тоже пострадает. Если взять 2 мотора на микростепе 128 и 32, то на условных 100 об/мин первый может даже не запуститься, второй хрен остановишь

Купил себе танк и никого больше не жалею.
- dark184
- Сообщения: 1520
- Зарегистрирован: 19 фев 2018, 18:18
- Имя: Алексей
- Откуда: Архангельск
- Благодарил (а): 11 раз
- Поблагодарили: 116 раз
Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками
Так, почему адреса в нулях? В комментах в прошивке вот что написано
Код: Выделить всё
/**
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
* Set the address using jumpers on pins MS1 and MS2.
* Address | MS1 | MS2
* 0 | LOW | LOW
* 1 | HIGH | LOW
* 2 | LOW | HIGH
* 3 | HIGH | HIGH
*
* Set *_SERIAL_TX_PIN and *_SERIAL_RX_PIN to match for all drivers
* on the same serial port, either here or in your board's pins file.
*/
//#define X_SLAVE_ADDRESS 0
//#define Y_SLAVE_ADDRESS 0
//#define Z_SLAVE_ADDRESS 0
//#define X2_SLAVE_ADDRESS 0
//#define Y2_SLAVE_ADDRESS 0
//#define Z2_SLAVE_ADDRESS 0
//#define Z3_SLAVE_ADDRESS 0
//#define Z4_SLAVE_ADDRESS 0
//#define I_SLAVE_ADDRESS 0
//#define J_SLAVE_ADDRESS 0
//#define K_SLAVE_ADDRESS 0
//#define E0_SLAVE_ADDRESS 0
//#define E1_SLAVE_ADDRESS 0
//#define E2_SLAVE_ADDRESS 0
//#define E3_SLAVE_ADDRESS 0
//#define E4_SLAVE_ADDRESS 0
//#define E5_SLAVE_ADDRESS 0
//#define E6_SLAVE_ADDRESS 0
//#define E7_SLAVE_ADDRESS 0

В общем я бы попробовал еще для X установить и прописать адрес 0, для Y и Y2 - 1, для всех Z - 2, для Е - 3, ибо разнести на разные шины нет физической возможности. Второй вариант переключить все драйвера в режим STEP/DIR, тогда заморочек с UARTом не будет, его просто не будет

Купил себе танк и никого больше не жалею.
Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками
при указании адресов таким образом вылазает ошибка после прошивки « сбой связи с тмс
Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками
вроде стоит 400 w только хз китайское фуфло или нет, по факту при печати бегает от 24.4 до 24.1v
Re: Прошивка Marlin. Задаём вопросы, углубляемся в дебри, делимся находками
Connecting...
Printer is now online.
>>> m122
SENDING:M122
X Y Y2 Z Z2 Z3 Z4 E
Address 0 0 0 0 0 0 0 0
Enabled false false false false false false false false
Set current 900 1000 1000 1000 1000 1000 1000 350
RMS current 887 994 994 994 994 994 994 336
MAX current 1251 1402 1402 1402 1402 1402 1402 474
Run current 28/31 17/31 17/31 17/31 17/31 17/31 17/31 10/31
Hold current 14/31 8/31 8/31 8/31 8/31 8/31 8/31 5/31
CS actual 14/31 8/31 8/31 8/31 8/31 8/31 8/31 5/31
PWM scale
vsense 1=.18 0=.325 0=.325 0=.325 0=.325 0=.325 0=.325 1=.18
stealthChop true true true true true true true true
msteps 32 32 32 16 16 16 16 16
interp true true true true true true true true
tstep max max max max max max max max
PWM thresh.
[mm/s]
OT prewarn false false false false false false false false
triggered
OTP false false false false false false false false
pwm scale sum 13 16 15 15 14 16 16 15
pwm scale auto 0 0 0 0 0 0 0 0
pwm offset auto 29 58 54 54 50 57 59 85
pwm grad auto 17 14 14 19 17 19 15 14
off time 4 4 4 4 4 4 4 4
blank time 24 24 24 24 24 24 24 24
hysteresis
-end 2 2 2 2 2 2 2 2
-start 1 1 1 1 1 1 1 1
Stallguard thrs 0 0 0 0 0 0 0 0
uStep count 228 484 596 200 200 168 168 776
DRVSTATUS X Y Y2 Z Z2 Z3 Z4 E
sg_result 218 54 168 2 2 2 2 2
stst
olb
ola
s2gb
s2ga
otpw
ot
157C
150C
143C
120C
s2vsa
s2vsb
Driver registers:
X 0xC0:0E:00:00
Y 0xC0:08:00:00
Y2 0xC0:08:00:00
Z 0xC0:08:00:00
Z2 0xC0:08:00:00
Z3 0xC0:08:00:00
Z4 0xC0:08:00:00
E 0xC0:05:00:00
Testing X connection... OK
Testing Y connection... OK
Testing Y2 connection... OK
Testing Z connection... OK
Testing Z2 connection... OK
Testing Z3 connection... OK
Testing Z4 connection... OK
Testing E connection... OK
Printer is now online.
>>> m122
SENDING:M122
X Y Y2 Z Z2 Z3 Z4 E
Address 0 0 0 0 0 0 0 0
Enabled false false false false false false false false
Set current 900 1000 1000 1000 1000 1000 1000 350
RMS current 887 994 994 994 994 994 994 336
MAX current 1251 1402 1402 1402 1402 1402 1402 474
Run current 28/31 17/31 17/31 17/31 17/31 17/31 17/31 10/31
Hold current 14/31 8/31 8/31 8/31 8/31 8/31 8/31 5/31
CS actual 14/31 8/31 8/31 8/31 8/31 8/31 8/31 5/31
PWM scale
vsense 1=.18 0=.325 0=.325 0=.325 0=.325 0=.325 0=.325 1=.18
stealthChop true true true true true true true true
msteps 32 32 32 16 16 16 16 16
interp true true true true true true true true
tstep max max max max max max max max
PWM thresh.
[mm/s]
OT prewarn false false false false false false false false
triggered
OTP false false false false false false false false
pwm scale sum 13 16 15 15 14 16 16 15
pwm scale auto 0 0 0 0 0 0 0 0
pwm offset auto 29 58 54 54 50 57 59 85
pwm grad auto 17 14 14 19 17 19 15 14
off time 4 4 4 4 4 4 4 4
blank time 24 24 24 24 24 24 24 24
hysteresis
-end 2 2 2 2 2 2 2 2
-start 1 1 1 1 1 1 1 1
Stallguard thrs 0 0 0 0 0 0 0 0
uStep count 228 484 596 200 200 168 168 776
DRVSTATUS X Y Y2 Z Z2 Z3 Z4 E
sg_result 218 54 168 2 2 2 2 2
stst
olb
ola
s2gb
s2ga
otpw
ot
157C
150C
143C
120C
s2vsa
s2vsb
Driver registers:
X 0xC0:0E:00:00
Y 0xC0:08:00:00
Y2 0xC0:08:00:00
Z 0xC0:08:00:00
Z2 0xC0:08:00:00
Z3 0xC0:08:00:00
Z4 0xC0:08:00:00
E 0xC0:05:00:00
Testing X connection... OK
Testing Y connection... OK
Testing Y2 connection... OK
Testing Z connection... OK
Testing Z2 connection... OK
Testing Z3 connection... OK
Testing Z4 connection... OK
Testing E connection... OK