KREMEN Реклама
KREMEN Реклама

Не могу запустить TMC5160

m@ss@
Идет загрузка
Загрузка
06.10.2019
3250
10
Вопросы и ответы

Здравствуйте! 

Столкнулся с проблемой запуска драйверов TMC5160 от BIGTREETECH.

Исходные данные таковы: прошивка Klipper, ведомый контроллер Arduino Due на плате RuRAMPS4D. Моторы NEMA17 на 2.5А питание 24V.

Драйвера опрашиваются командой DUMP_TMC stepper=, отрабатывают homing но при попытке подвигать осями отключаются, при том попеременно то Х, то У. Влючить их снова можно только сбросом питания.

Попробовал поставить блок питания на 12 V ситуация улучшилась: драйвера работают минут 15 перемещения происходят великолепно без пропуска шагов. Но потом один какой нибудь драйвер отключается.

При этом в обоих случаях драйвера продолжают опрашиваться по SPI!

Вот дамп аварийного драйвера

Send: DUMP_TMC stepper=stepper_x

Recv: // ========== Write-only registers ==========

Recv: // TPWMTHRS: 0000005e TPWMTHRS=94

Recv: // COOLCONF: 00000000

Recv: // IHOLD_IRUN: 00061717 IHOLD=23 IRUN=23 IHOLDDELAY=6

Recv: // TPOWERDOWN: 0000000a TPOWERDOWN=10

Recv: // ========== Queried registers ==========

Recv: // GCONF: 00000004 en_pwm_mode=1

Recv: // CHOPCONF: 14410153 toff=3 hstrt=5 hend=2 tbl=2 tpfd=4 MRES=4(16usteps) intpol=1

Recv: // GSTAT: 00000005 reset=1(reset) uv_cp=1(Undervoltage!)

Recv: // DRV_STATUS: 80174000 stealth=1 CSACTUAL=23 stst=1

Recv: // FACTORY_CONF: 0000000c FACTORY_CONF=12

Recv: // IOIN: 30000052 REFR_DIR=1 DRV_ENN=1 SD_MODE=1 VERSION=0x30

Recv: // LOST_STEPS: 00000000

Recv: // MSCNT: 00000208 MSCNT=520

Recv: // MSCURACT: 010801f3 CUR_A=-13 CUR_B=-248

Recv: // OTP_READ: 0000000c OTP_FCLKTRIM=12

Recv: // PWMCONF: 00000000

Recv: // PWM_SCALE: 0000006c PWM_SCALE_SUM=108

Recv: // PWM_AUTO: 001a0091 PWM_OFS_AUTO=145 PWM_GRAD_AUTO=26

Recv: // TSTEP: 000fffff TSTEP=1048575

Recv: ok

[...]

А это дамп работающего драйвера

Send: DUMP_TMC stepper=stepper_y

Recv: // ========== Write-only registers ==========

Recv: // TPWMTHRS: 0000005e TPWMTHRS=94

Recv: // COOLCONF: 00000000

Recv: // IHOLD_IRUN: 00061717 IHOLD=23 IRUN=23 IHOLDDELAY=6

Recv: // TPOWERDOWN: 0000000a TPOWERDOWN=10

Recv: // ========== Queried registers ==========

Recv: // GCONF: 00000004 en_pwm_mode=1

Recv: // CHOPCONF: 14410153 toff=3 hstrt=5 hend=2 tbl=2 tpfd=4 MRES=4(16usteps) intpol=1

Recv: // GSTAT: 00000005 reset=1(reset) uv_cp=1(Undervoltage!)

Recv: // DRV_STATUS: 80174000 stealth=1 CSACTUAL=23 stst=1

Recv: // FACTORY_CONF: 0000000b FACTORY_CONF=11

Recv: // IOIN: 30000052 REFR_DIR=1 DRV_ENN=1 SD_MODE=1 VERSION=0x30

Recv: // LOST_STEPS: 00000000

Recv: // MSCNT: 00000268 MSCNT=616

Recv: // MSCURACT: 0139016c CUR_A=-148 CUR_B=-199

Recv: // OTP_READ: 0000000b OTP_FCLKTRIM=11

Recv: // PWMCONF: 00000000

Recv: // PWM_SCALE: 00000076 PWM_SCALE_SUM=118

Recv: // PWM_AUTO: 001b009e PWM_OFS_AUTO=158 PWM_GRAD_AUTO=27

Recv: // TSTEP: 000fffff TSTEP=1048575

Recv: ok

Особенно у меня вызыват вопрос " uv_cp=1(Undervoltage!) "

Вот мой конфиг :

[stepper_x]

step_pin: PC5

dir_pin: !PC4

enable_pin: !PA7

step_distance: .01

endstop_pin: PC18

position_endstop: 0

position_max: 280

homing_speed: 50

second_homing_speed: 10

homing_positive_dir: false

homing_retract_dist: 3

[tmc5160 stepper_x]

cs_pin: PC6 # chip select pin of the SPI interface

spi_speed: 700000

microsteps: 16 # number of microsteps per full step of the motor

interpolate: true

run_current: 2.3 # value in amps

hold_current: 2

stealthchop_threshold: 150

# diag1_pin: ^!PC18 # pin on the MCU where DIAG1 is connected (active low)

# driver_SGT: 60 # tuning value for sensorless homing, set to 0 as a start

[endstop_phase stepper_x] 

# The stepper_y section is used to describe the Y axis as well as the

# stepper controlling the X-Y movement.

[stepper_y]

step_pin: PD10

dir_pin: !PC3

enable_pin: !PA7

step_distance: .01

endstop_pin: PC17

position_endstop: 0

position_max: 310

homing_speed: 50

second_homing_speed: 10

homing_positive_dir: false

homing_retract_dist: 3

[tmc5160 stepper_y]

cs_pin: PC2 # chip select pin of the SPI interface

spi_speed: 700000

microsteps: 16 # number of microsteps per full step of the motor

interpolate: true

run_current: 2.3 # value in amps

hold_current: 2

stealthchop_threshold: 150

# diag1_pin: !PC17 # pin on the MCU where DIAG1 is connected (active low)

# driver_SGT: 60 # tuning value for sensorless homing, set to 0 as a start

[endstop_phase stepper_y]

До этого стояли TMC2130 все работало отлично за исключением ото, что моторам не хватало мощности. 2130 не дают больше 1.2 А

Да еще забыл сказать. что при установке 5160 мотры начали греться. До 50 градусов по инфракрасному термометру. С 2130 на мотрах можно было лед готовить.

Подозреваю, что конфигурация драйверов по умолчанию которую прописывает Klipper не совсем подходит, но вот как их правтльно сконфигурировать под свои задачи не знаю.

Може быть кто нибудь с этими драйверами уже разбирался.

 

Ответы на вопросы
Металлообработка 2025 Реклама
Металлообработка 2025 Реклама