Подключение TMC2209 в UART режиме к ARDUINO+RAMPS1.6+ на Klipper

drshats
Идет загрузка
Загрузка
26.06.2020
3805
4
печатает на Anet A6
RepRap

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.

Отписаться от уведомлений вы всегда сможете в профиле автора.

5

Рассказал товарищу в чатике достаточно подробно, решил, может будет кому ещё полезно.

Если баян, сильно не пинате, маякните и я удалю пост.

Дано: Принтер CoreXY Мозги ARDUINO+RAMPS 1.6 PLUS Драйвера TMC2209 Софт Klipper  До этого всё работало на A4988

Требуется подключить драйвера чтобы работало всё по UART и активировать Sensorless Homing по осям Х и У

Итак

Первым делом надо проверить ногу PDN/UART на драйвере. Для работы с RAMPS 1.6+ в режиме без проводов надо чтобы PDN/UART был выведен на 4 ногу драйвера. 

Если выведено на другую ногу, надо будет проводами соединять, для этого придётся эту ногу на драйвере перепаять снизу вверх

Потом надо выставить все перемычки под драйверами. Соединить надо только чёрные пины MS3 (это CS пины в случае подключения по SPI)

Соединив так закорачиваем UART пины драйверов на пины ARDUINO следующим образом X: D63 Y: D40 Z: D42 E0: D65 E1: D66

Ну и в клиппере останется просто добавить секцию про TMC драйвера в каждый раздел про оси. Вот пример по оси Х 

[tmc2209 stepper_x]

uart_pin: ar63

microsteps: 16

interpolate: True

run_current: 0.8

hold_current: .8

sense_resistor: 0.110

stealthchop_threshold: 200

На всякий случай стоит проверить, какой резистор стоит на драйвере. Обычно 0.11Ом. Если он другой, то меняем значение в строчке sense_resistor

Для того, чтобы использовать Sensorless Homing надо подключить DIAG пины драйверов к пинам ARDUINO. Я подключил их к пинам концевиков X- и Y- на RAMPS, что соответствует для Х D3 и для Y D14. Если пин не выведен наверх, то его надо будет также перепаять ногой вверх.

Вот так должно получится. Только голубые соединения выполнены проводочками, остальное уже разведено на 1.6+:

В прошивке комментируем назначение концевика и переназначаем его на виртуальный пин, который обозначаем соответственно. Например для оси Х это будет так:

#endstop_pin: ^ar3

endstop_pin: tmc2209_stepper_x:virtual_endstop 

diag_pin: ^ar3 

driver_SGTHRS: 120

Значением driver_SGTHRS регулируем чувствительность определения того, что каретка упёрлась в конец оси. Если слишком рано тормозит, то уменьшаем, если наоборот бьётся в край и не останавливается, то увеличиваем.

Спасибо за внимание!

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.

Отписаться от уведомлений вы всегда сможете в профиле автора.

5
Комментарии к статье

Комментарии

26.06.2020 в 17:08
0

Вроде все понятно, молодец! 

26.06.2020 в 20:54
0

Умница, спасибо что поделился!

Мне-то это не нужно, но кому-то ведь наверняка понадобится.

27.06.2020 в 10:24
0

Tmc2209 можно повесить на один uart а пинами выставить адрес для каждого драйвера, если не ошибаюсь от 0 до 3. Для полноты статьи надо добавить строчку конфига с указанием адреса. А то у людей может быть "сюрприз" когда будут делать по статье, но не станут ставить перемычки на ms1, ms2.

27.06.2020 в 10:28
0

В RAMPS1.6+ остальные перемычки замыкают контакты с каждого драйвера все на один пин ардуины. Так что по UART, используя разводку на плате, можео соединять только через перемычку MS3. Если поставить остальные перемычки, работать не будет, на фото видно, что и белые и чёрные ноги под драйверами разомкнуты все кроме MS3. Ну а строчки конфига с указанием адреса я привёл, посмотрите внимательнее, пожалуйста! 

UPD можно заморочиться и развести пины UART драйверов на пины SPI на ARDUINO. То есть например, по оси Х на MISO, по У на MOSI и тп. И соответственно под каждым драйвером замкнуть свою перемычку. Но во первых это надо чтобы на каждом драйвере нога UART была своя и драйвера переставлять не получилось бы, во вторых были бы заняты пины SPI, а они часто нужны и в третьих контактов всего то 3,так что всё равно пришлось бы использовать пины, использование которых я указал в статье. Так что сделать то можно, но смысла в этом почти 0

Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

Складной лук из кинофильма "Мстители"

Не было бы счастья. Неожиданный способ вывести качество печати на следующий уровень.

Сколько есть вариантов амортизаторов (демпферов) на ножки принтера?

Панк-медведь или Flyingbear Ghost 4s на coreXY. Часть 1. Макетирование кинематики

Спасение неудачного полимера

Первая поставка УФ-камер Phrozen Cure (V2) и Cure XL