Двойная ось Z имеет разную скорость (несинхронизирована)
Ось Z имеет два шаговых двигателя, я использую материнскую плату MKS GEN L V2.1 с драйверами TMC 2209. Моя проблема в том, что двигатели не синхронизированы. Как я могу заставить их работать вместе?
Вот мой код из файла configuration.h
:
#define X_DRIVER_TYPE TMC2209
#define Y_DRIVER_TYPE TMC2209
#define Z_DRIVER_TYPE TMC2209
//#define X2_DRIVER_TYPE A4988
//#define Y2_DRIVER_TYPE A4988
//#define Z2_DRIVER_TYPE A4988
//#define Z3_DRIVER_TYPE A4988
//#define Z4_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE TMC2209
#define E1_DRIVER_TYPE TMC2209
//#define E2_DRIVER_TYPE A4988
//#define E3_DRIVER_TYPE A4988
//#define E4_DRIVER_TYPE A4988
//#define E5_DRIVER_TYPE A4988
//#define E6_DRIVER_TYPE A4988
//#define E7_DRIVER_TYPE A4988
Также вот код из файла configuration_adv.h
:
//
// For Z set the number of stepper drivers
//
#define NUM_Z_STEPPER_DRIVERS 2 // (1-4) Z options change based on how many
#if NUM_Z_STEPPER_DRIVERS > 1
//#define Z_MULTI_ENDSTOPS
#if ENABLED(Z_MULTI_ENDSTOPS)
#define Z2_USE_ENDSTOP _XMAX_
#define Z2_ENDSTOP_ADJUSTMENT 0
#if NUM_Z_STEPPER_DRIVERS >= 3
#define Z3_USE_ENDSTOP _YMAX_
#define Z3_ENDSTOP_ADJUSTMENT 0
#endif
#if NUM_Z_STEPPER_DRIVERS >= 4
#define Z4_USE_ENDSTOP _ZMAX_
#define Z4_ENDSTOP_ADJUSTMENT 0
#endif
#endif
#endif
а также это:
// Microstep setting (Only functional when stepper driver microstep pins are connected to MCU.
#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16]
#if HAS_TRINAMIC_CONFIG
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#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 16 // 0..256
#define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif
#if AXIS_IS_TMC(X2)
#define X2_CURRENT 800
#define X2_CURRENT_HOME X2_CURRENT
#define X2_MICROSTEPS 16
#define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(Y)
#define Y_CURRENT 800
#define Y_CURRENT_HOME Y_CURRENT
#define Y_MICROSTEPS 16
#define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800
#define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_MICROSTEPS 16
#define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(Z)
#define Z_CURRENT 800
#define Z_CURRENT_HOME Z_CURRENT
#define Z_MICROSTEPS 16
#define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800
#define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_MICROSTEPS 16
#define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800
#define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_MICROSTEPS 16
#define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(Z4)
#define Z4_CURRENT 800
#define Z4_CURRENT_HOME Z4_CURRENT
#define Z4_MICROSTEPS 16
#define Z4_RSENSE 0.11
#define Z4_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(E0)
#define E0_CURRENT 900
#define E0_MICROSTEPS 16
#define E0_RSENSE 0.11
#define E0_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(E1)
#define E1_CURRENT 800
#define E1_MICROSTEPS 16
#define E1_RSENSE 0.11
#define E1_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(E2)
#define E2_CURRENT 800
#define E2_MICROSTEPS 16
#define E2_RSENSE 0.11
#define E2_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(E3)
#define E3_CURRENT 800
#define E3_MICROSTEPS 16
#define E3_RSENSE 0.11
#define E3_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(E4)
#define E4_CURRENT 800
#define E4_MICROSTEPS 16
#define E4_RSENSE 0.11
#define E4_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(E5)
#define E5_CURRENT 800
#define E5_MICROSTEPS 16
#define E5_RSENSE 0.11
#define E5_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(E6)
#define E6_CURRENT 800
#define E6_MICROSTEPS 16
#define E6_RSENSE 0.11
#define E6_CHAIN_POS -1
#endif
#if AXIS_IS_TMC(E7)
#define E7_CURRENT 800
#define E7_MICROSTEPS 16
#define E7_RSENSE 0.11
#define E7_CHAIN_POS -1
#endif
Наконец, это изображение представляет используемую настройку перемычки.
@Rayan, 👍2
Обсуждение1 ответ
У меня точно такая же проблема, SKR1.4 Turbo с 2209-м на клоне i3, и она началась, когда я попытался включить автоматическое выравнивание G34. Я очень быстро исправил это, отключив автоматическое выравнивание, и хотел бы знать, как это сделать, потому что теперь я даже не могу исправить это со свежей загрузкой Marlin и без
G34
для начала.
Я снял порт и посмотрел, как вращаются моторы, потому что сначала подумал, что они пытаются двигаться в противоположных направлениях, но на самом деле они просто вращались с разной скоростью.
Прямо сейчас я попытался включить все контакты max end-stop, а также только контакты min (используя только зонд в качестве Z end-stop) до сих пор безрезультатно.
Хорошая новость для вас заключается в том, что я, кажется, вижу вашу проблему. Шаговый двигатель E1 должен быть закомментирован, Z2-это тот, который вам нужен. Дайте мне знать, как/если это работает.
У меня была та же проблема, и это решение сработало для меня. Я включил Z2 и отключил E1. Двигатели Z вращались с разной скоростью, пока я не сделал это. Работает на Ender 3 Pro с BTT SKR E3 Turbo и Marlin 2.x, где двигатель Z1 подключен к первому порту Z, а двигатель Z2 подключен к порту E1., @sephjfox
Большое спасибо, вы спасли мне жизнь. Включены драйверы dual Z на MKS Monster8. Теперь все хорошо :), @filiCkan
- Шаговые двигатели на экструдере и оси Z замирают во время любых быстрых движений
- Ось z: Расчет крутящего момента шагового двигателя и ходового винта
- Как рассчитать Vref и X_CURRENT для шагового драйвера TMC2130, зная номинальный ток шагового двигателя?
- Реальная скорость степпера в жизни
- Я могу установить напряжение и ток драйвера TMC2130 вручную. Но в каких случаях некоторые компоненты могут сгореть?
- Почему разные драйверы изменяют шум степперов?
- Как предотвратить проскальзывание двигателя по оси Z при выключенном питании
- Полный шаговый режим для шагового контроллера оси Z
Я не знаком с этой платой (не использовал), но, глядя на изображение платы, я вижу только один разъем для оси Z. Вы питаете и то, и другое от этого или используете E1 для привода вашего 2-го шагового двигателя для Z? ваша конфигурация говорит Марлину, что оба степпера работают на своем собственном драйвере, и все же вы не определили Z2, @user1628449
когда я определяю драйвер z2, я получаю эту ошибку Ошибка "TMC2208 или TMC2209 для Z2 требуется Z2_HARDWARE_SERIAL или Z2_SERIAL_(RX|TX)_PIN, @Rayan