подключение TMC2208 в UART, включение spreadCycle и запуск Linear Advance на TwoTrees Sapphire Plus

khunpoum
Идет загрузка
Загрузка
05.12.2020
2420
2
Личные дневники

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

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

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

0
Статья относится к принтерам:
Sapphire Plus Sapphire Pro Sapphire S

Здесь пойдет речь о частном случае как минимум подходящем для Sapphire Plus новой ревизии со шатными драйверами 2208 на X,Y,E и двумя A4988 на каждую ось Z и платой MKS Robin Nano v1.2.

Чтобы заставить драйвер 2208 на экструдере нормально работать с Linear Advance придется поколдовать, приступим...

1. Подключение UART на TMC2208  - Пайка

Снимаем драйвер экструдера 2208, у нас он с трех-контактной площадкой на внутренней стороне (что важно, т.к. другие разновидности возможно стоит подключать по другому).Запаиваем все эти три контакта смело паяльником в перемычку.

берем резистор 1ком и и пару проводов Dupont папа (которые используются в конструкторах Arduino) и припаиваем к выводам драйвера как на картинке ниже

на плате MKS Robin Nano v1.2 под посадочным гнездом драйвера экструдера (откуда мы вытащили драйвер TMC2208) есть три перемычки - удаляем их, они нам больше не нужны.

вставляем обрато драйвер и подключаем получившиеся два проводка как на картинке ниже

Это вся работа с железом, далее переходим к прошивке.

2. Подключение UART на TMC2208  - Прошивка

В Marlin (у меня версии 2.0.7.2)в файле Marlin\src\pins\stm32f1\pins_MKS_ROBIN_NANO.hдобавляем следующее

    #if HAS_TMC220x          

#define SOFTWARE_SERIAL       

#define E0_SERIAL_TX_PIN                    PA9   

#define E0_SERIAL_RX_PIN                    PA10   

#define TMC_BAUD_RATE                  19200   

#endif

в Configuration.h меняем тип драйвера с TMC2208_STANDALONE на TMC2208, что означает, что теперь он будет управлятся по UART

#define E0_DRIVER_TYPE TMC2208

в Configuration_adv.h нужно отключить для драйвера экстудера режим StealthChop, тем самым переведя в режим SpreadCycle. Закомментируем строку:

// #define STEALTHCHOP_E

Компилируем прошивку, затем забираем ее из .pio\build\mks_robin_nano35\ файлы firmware.bin и Robin_nano35.bin, копируем их на флешку, включаем принтер, он обновляет прошивку и если нет надписи "TMC connection error" то мы все сделали правильно и теперь в настройках(advanced) меню принтера у нас есть меню с выбором режима работы драйвера и ток можно выставлять в ma прямо в меню, а не регулировать потенциометром на драйвере.

3. Подключение Linear Advance (прошивка под драйвер 2208)

в Configuration_adv.h  раскоментировать LIN_ADVANCE и в LIN_ADVANCE_K установить 0 - это позволит вручную подбирать кей-фактор и устанавливать его командой M900 K...

#define LIN_ADVANCE

в Configuration.h

 отключить S_CURVE_ACCELERATION если было включено

//#define S_CURVE_ACCELERATION

перейти на классический джерк на 12, для Z - 0.4, для экструдера на 5

#define CLASSIC_JERK

в общем то все, компилируем, устанавливаем, подбираем по результатам печати теста Linear Advance подходящий вам Key-Factor и печатаем тестовые модельки (поток можно сразу уменьшить если вы его раньше добавляли вручную).у меня кей-фактор получился где-то 0.04 - 0.05 на PETG и трушном директ экструдере Mellow NF-BMG Aero V6,  на боудене будет в десятки раз больше.

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

P.S. Если нужно все проще, то просто закажите драйвер TMC2209 у того же MKS (производитель платы MKS Robin Nano v1.2), там все должно работать без этих ухищрений.

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

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

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

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

Комментарии

05.12.2020 в 11:04
0

Программный UART давно уже по одному проводу прекрасно работает, никаких плясок с резисторами.
Получается втройне бессмысленное действо: втыкаете двумя проводами в аппаратный UART, при этом используете программный... Определили бы тогда уж E0_HARDWARE_SERIAL Serial1... 
TMC_BAUD_RATE - тоже давненько нет смысла указывать в конфиге, она выставляется автоматом в зависимости от платформы и т.д.

Конфликты LA/JD/SCurve - тоже уже не актуально. Любые комбинации работают правильно. Единственный нерешённый вопрос - чрезмерно короткие пульсы LA в отрыве от остального планнера, вешающие драйвер, но тут вообще никакие настройки не помогают, не в полной мере... Либо повезёт, либо нет.

05.12.2020 в 16:45
0

У мого драйвера, к сожалению, вариант через один провод никак не подходил и  не работал, только этот через два решил все вопросы.

Кстати, уже проверил стабильность на долгой печати (около 6часов) в Linear Advance на одной детали - все стабильно работает! Буду теперь поэтапно подключать JD/SCurve и наблюдать за стабильностью...

А так да, до перевода на UART и в spreadCycle с LA экструдер отключался примерно в течении первых двух часов печати, а сейчас вообще все отлично работает.

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

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

Вешалок хватит всем

Добрый зубастый пес

Варварский самопал

Шлем Эхо, сериал "Бракованная партия"

Насадка для баллона

Советский [не совсем] стальной монстр КВ-44