Klipper TMC2208 UART
Для чего? Сами по себе драйвера тихие, но глючные и слабые из-за своего автоматического режима работы и частым явлением является пропуск шагов. А при использовании на оси z, особенно с ремнём в место винта, так прям караул. Вот я и попытался поковыряться в их настройке, тем более они это позволяют делать по UART. Т.е. задать вручную все параметры работы, вместо автоматических.
Параметры UART на примере оси x. В klipper реализовали механизм общения по одному проводу и он работает отлично. Что и каким образом реализовано можно спросить у автора. [tmc 2208 stepper_x]
uart_pin: P0.16
# Пин TMC2208 PDN_UART, по которому будет идти общение драйвера и платы.
#tx_pin : # Второй пин для общения, в klipper он не нужен.
microsteps : 16
# Количество шагов для настройки драйвера. Может иметь значения: 1, 2, 4, 8, 16, 32, 64, 128, 256.
interpolate : False или True
# Включение и выключение режима интерполяции шагов до 256 микрошагов.
run _ current : 0.94
# Количество тока (в амперах) для настройки драйвера при движении.
hold _ current : 0.94
# Количество тока (в амперах) для настройки драйвера при простое (ток удержания), когда шаговики не двигаются. Имеет такое же значение что и run_current, но можно и уменьшить для ненагруженных осей, но не сильно – иначе пропуски и срывы! Тогда во время простоя, драйвер и шаговик будут потреблять меньше тока и быстрее остывать.
sense _ resistor : 0.110
# Сопротивление (в Омах) резистора на плате драйвера (стандартно R110)
stealthchop _ threshold : 500
# Скорость (в мм/с) для установки порога срабатывания включения режима 'stealthChop'. Режим 'stealthChop' будет включен, если скорость движения ниже этого значения, при большем он отключается (вроде так). При значении 0 все режимы выключены и драйвер будет очень громким (даже громче А4988).
driver _ iholddelay : 8 # !
driver _ tpowerdown : 20
# Время на переключение в режим простоя драйвера с параметром hold_current.
driver_blank_time_select: 2 # !
driver_toff : 3 # !
driver_hend : 0 # !
driver_hstrt : 5 # !
driver_pwm_autograd: False или True
# об этом параметре ниже
driver _ pwm _ autoscale : False или True #!
# ! везде где поставил знак ! это значит, что я не нашел, за что отвечают этот параметр. Может, кто из комментаторов объяснит.
driver _ pwm _ lim : 12
driver _ pwm _ reg : 8
driver_pwm_freq : 1
driver_pwm_grad : 14
driver_pwm_ofs : 36
# Последние параметры относятся к разделу driver_pwm_autograd при значении True они выставляются автоматически чипом. При False их можно задать вручную.
Для ручной корректной настройки нужно выполнить следующее:
1. Выставить значение True.
2. Подать питание на двигатели.
3. Начать двигать осью необходимого драйвера пару секунд.
4. Во время движения дать команду в терминал октопринта: DUMP_TMC STEPPER=stepper_x (в место х вбить необходимую ось или extruder)
5. Посмотреть значения в терминале после строки // PWM_AUTO и внести эти значения в указанные выше параметры.
После внесения значений, если вы имеете пропуски шагов или проблемы с ускорением, то параметры driver_pwm_grad и driver_pwm_ofs нужно корректировать в + или – по единице добиваясь стабильной работы драйвера. Идея состоит в том, чтобы получить автоматически определенные параметры, которые оказались несколько не оптимальными, а затем вручную настроить их так, чтобы драйвер работал в ситуациях, с которыми авто настройка не может справиться.
Возвращаясь к проблемам с ось z. Как и указал выше, моя ось стоит на ремне, и вся нагрузка падает на двигатель и драйвер. И работать нормально драйвер только с ручными параметрами и отключенной интерполяцией, шаги использовал 64. Шагов мало, согласен не так тихо, но следует помнить, что если везде выставить максимум 256, то klipper не сможет корректно рассчитать все перемещения и вылетит с ошибкой, что двигатель отстает. Поэтому, если удумаете использовать отключенную интерполяцию для всех осей и extruder, то для оси Х, У не стоит ставить не больше 128 шагов, для extruder и оси z 64 (Но это не точно, может у вас заведется по другому!).
Вроде все, что хотел сказать по UART . Критика, уточнения и дополнения приветствуются.
Для затравки: в следующей статье расскажу о двойном klipper’е.
Еще больше интересных статей
Дневник Tronxy Crux-1. Дисплей, Klipperscreen, шейперы
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
BQ Hurakan - доброе утро, у тебя стол откис.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
G-CODE по-русски для 3D печати (Мини-справочник)
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
Микросхема и я не очень уверен...
Да!? Слабо греется сама микрос...
О! я тоже так последний раз пр...
Я поменял вентилятор обдува ра...
Решил взять себе 2-ой принтер,...
Он просто замеряет обороты, на...
Привет! При печати появилась т...