Настройка SKR PRO v1.1 с драйверами TMC 2208 v1.2 + TMC 2209 v1.2 в режиме UART на Marlin 2

Okun12
Идет загрузка
Загрузка
18.09.2019
3064
34
печатает на Prusa i3 Steel
Техничка

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

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

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

13
Статья относится к принтерам:
Uni

Небольшая предыстория.

Собираю очередной принтер, на этот раз UNI. В качестве платы управления решил попробовать новёхонькую SKR PRO v1.1, да еще и с новёхонькими драйверами 2209, из плюшек которых ток до 2А и возможность работы без концевиков (точность сомнительная, но на Х и У она и не требуется, а на Z все равно BLTouch будет).

Драйверы распределены так:

X - 2209; Y - 2209; Z - 2208; E0 - 2208. Все в режиме UART.

И не было бы данного опуса, не пролюбись я с подключением всего этого добра 2 вечера. Информации крайне мало и в основном на буржуйском. Будем это исправлять.

Итак, приступим.

1) Необходимо переставить перемычки в режим UART, т.е. как на фото:

Под сами драйверы перемычки не ставим.

2) Для драйверов 2208 v1.2 запаиваем перемычки, показанные на фото, надо замкнуть все 3 площадки. Резисторов и дополнительных проводов для v1.2 не потребуется, только перемычки.

3) Ставим драйверы на места, подаем питание. Обратите внимание, на SKR PRO подача питания происходит по трем линиям. То есть питание подается одновременно на  POWER, MOTOR POW и BED POWER. На этом железная часть закончена, переходим к программной.

4) Правим platformio.ini

default_envs = BIGTREE_SKR_PRO

Вместо строки "TMCStepper@" вставляем "https://github.com/bigtreetech/TMCStepper".

5) Правим Configuration.h

#define SERIAL_PORT -1

#define SERIAL_PORT_2 1

#define BAUDRATE 115200

#define MOTHERBOARD BOARD_BIGTREE_SKR_PRO_V1_1

#define X_DRIVER_TYPE  TMC2209 (в моем конкретном случае)#define Y_DRIVER_TYPE  TMC2209 (в моем конкретном случае)#define Z_DRIVER_TYPE  TMC2208 (в моем конкретном случае)#define E0_DRIVER_TYPE TMC2208 (в моем конкретном случае)

6) Правим Configuration_adv.h

Адреса нулевые по умолчанию.

#define  X_SLAVE_ADDRESS 0#define  Y_SLAVE_ADDRESS 0#define  Z_SLAVE_ADDRESS 0#define E0_SLAVE_ADDRESS 0

#define MONITOR_DRIVER_STATUS

TMC_DEBUG не обязательно. Просто шлет куч инфы при команде M122.

X_CURRENT 800 (Y, Z, E) - рулим током программно, штатное значение 800 мА

X_MICROSTEPS 16 (Y, Z, E) - выставляем микрошаг

7) Компилим, заливаем, отправляем на принтер команду M122 и если вы все сделали верно и звезды сошлись получаем заветный ответ:

Крутим двигатели, радуемся.

Надеюсь благодаря этому посту Вы потратите на данную процедуру не 2 вечера а час от силы.

P.S. Если будет интересно, то отпишусь потом как 2209 работают в режиме концевиков.

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

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

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

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

Комментарии

18.09.2019 в 14:45
1

Из заметки не понятно, что именно у вас вызвало затруднения на два вечера. 

Спасибо.

18.09.2019 в 15:09
1

Собираю чистую прошивку, все норм. Выбираю драйвера 2209, прошивка не собирается наотрез, курение, проба разных адресов, портов и прочее. Где-то откопал что надо прописать адрес библиотеки, собралось, но дисплей не работает. Курение, копание, заработал, но драйверы не читаются. Долгое курение и эксперименты с адресами, джамперами и чем только можно. Проблема в раздельном питании. Объединил, 2209 увиделись, 2208 нет. Курение, копание перемычки, заработало.

18.09.2019 в 15:42
2

 Выбираю драйвера 2209, прошивка не собирается наотрез,

Вот этого пояснения как раз и не хватало , в заметке все выглядит просто ))

Проблема в раздельном питании. 

Совершенно непонятно, при чем это здесь. Поясните пожалуйста.

У меня также отдельно питание подается, плата запитана 12, а на вход драйверов Vmot подаю 24в. И никаких проблем не заметил(плата не такая как у вас).

Спасибо.

18.09.2019 в 16:09
1

А что не понятного? ТС не подал питание на моторы ну и дрова не завелись в дебаге!

18.09.2019 в 16:21
0

Именно так. Питал только с юсб, не работало. Потом подал питание на POWER, не заработало. И только спустя время и пляски дошло, что MOTOR POWER, наверное драйвера тоже питает...=)

18.09.2019 в 16:57
1

А что не понятного?

У драйверов 2 вывода питания, один для логики,  второй для шаговиков. У меня логика запитана вместе с остальными потребителями 3.3-5в. 

вот и непонятно, если только кэтайцы сделали и для питания логики драйверов отдельный стабилизатор запитанный от входа питания на моторы. 

19.09.2019 в 09:05
0

Именно так. Без подачи питания на MOTOR POW драйверы обесточены полностью.

19.09.2019 в 06:27
0

про адрес библиотеки прописано в документации от деревьев )))

RTFM рулит )

19.09.2019 в 09:14
0

Или я дурак или лыжи не едут....

https://github.com/bigtreetech/BIGTREETECH-SKR-PRO-V1.1

https://github.com/bigtreetech/TMC2209-V1.1

Ну не нашел я этого в мантрах.

19.09.2019 в 10:48
1

if you are downloaded from Marlin bugfix-2.0.x Official version. Please modify here from TMCStepper@<1.0.0 to https://github.com/bigtreetech/TMCStepper. This is because the UART of tmc2208/2209 has not yet been merged into the official version, please use this method before merged


вот прямо по твоей первой ссылке, в подкаталоге firmware )


в их репозитарии прошивка уже с таким изменением. хорошо, что они синхронизнули свою репу со свежим марлином, а то старовата была.

19.09.2019 в 11:50
0

Вы правы. Таки искал и читал только мануалы, а readme как-то упустил. Сам дурак.=)

18.09.2019 в 16:17
0

Это все хорошо и интересно, базовая настройка, при правильном включении не составляет труда. Труднее прикрутить на свободные мосфеты управление светом и вентиляторами. Прошивка собирается, к принтеру конектится ком и через минуту плата в глухом нокауте! Ребут. 

Недавно возился с SKR 1.3 - на последних билдах Марлина от 13.09.19 и по 15.09.19, при включении EXTRAPOLATE_BEYOND_GRID или ABL_BILINEAR_SUBDIVISION,  после команда G29 - принтер зависает, или перегружается, или сбрасывает координаты головы в 0, со всеми вытекающими. Единственный плюс SKR 1.3 - не нужно дергать флешку для заливки новой прошивки.  :)


18.09.2019 в 16:34
0

Пока у меня все собрано на столе. За время тестов никаких глюков, кроме рукотворных, замечено не было. Да SKR 1.3 от SKR PRO отличается всем, начиная с МК.

18.09.2019 в 17:33
1

P.S. Если будет интересно, то отпишусь потом как 2209 работают в режиме концевиков.

Интересно. Буду ждать статью.

19.09.2019 в 09:34
0

Быстро не обещаю. Половина комплектухи для принтера в пути. Рельсы еще даже не отправили.=(

Как соберу, отпишусь.

18.09.2019 в 18:06
0


Смотрю в продаже на Али  BIGTREETECH ТМС 2209 V1.2 (5 контактов на верх),  FYSETC 2209 V2.1 (4 контакта вынесены на верх)  В чем отличия ? Для платы SKR V1.3  оба варианта подходят ?

19.09.2019 в 06:24
0

для SKR-ов важны только нижние контакты, сколько там чего торчит сверху - пофиг. главное чтобы все пины были в наличии снизу, а то есть такие версии, где пины снизу вверх перенесены - такие без проводов или перепайки не получится подключить

19.09.2019 в 09:37
0

Верхние контакты в SKR не задействованы. Должно быть без разницы.

19.09.2019 в 06:22
1

зря поставил 2208 на экструдер, Linear Advance с 2208 не дружит

19.09.2019 в 09:40
0

Спасибо за наводку. Попробую так, если не зафурычит поставлю или так же 2209 или вообще А4988.

19.09.2019 в 15:51
1

Вообще пишут что дружит, но хитро дружит. Типа в шумном режиме нормально дружат, а в стелс чопе надо еще какие-то параметры частоты отправки импульсов шага на драйвер менять.

19.09.2019 в 19:11
0

В любом случае буду пробовать. Собственный опыт он ближе.=)

19.09.2019 в 18:45
0

Где 2209 брали? Долго ехали? Читал, что дефицит, продаваны долго не отправляют 

19.09.2019 в 19:17
0

Брал у Bigtreetech-а.

Дефицит. Отправили спустя 2 месяца после оплаты, но мне и не срочно.

20.09.2019 в 12:07
0

Народ в группе на фейсбуке по данной плате пишет, что у нее отсутствует EEPROM. С этим сталкивались?

20.09.2019 в 15:04
0

Сейчас проверил. Как такового EEPROM нет. Но есть его эмуляция.

Для активации надо раскоментить 2 строки. Работает, данные после перезагрузки сохраняет.

#define EEPROM_SETTINGS
#define SRAM_EEPROM_EMULATION   // Use BackSRAM-based EEPROM emulation

20.09.2019 в 16:05
0

А после отключения питания все слетает?

Та еще вроде эмуляция eeprom на SD есть:

#define FLASH_EEPROM_EMULATION // Use Flash-based EEPROM emulation

Правда непонятно, работает или нет.

20.09.2019 в 16:34
0

Сейчас погонял.

При SRAM_EEPROM_EMULATION сохраняет данные при перезагрузке, но теряет при отключении питания.

При FLASH_EEPROM_EMULATION теряет данные как при перезагрузке, так и при отключении.

Озадачила строка "Use one of these or SDCard-based Emulation will be used". Т.е. как я понял раскоментируем SRAM_EEPROM_EMULATION или FLASH_EEPROM_EMULATION, если нет, используем флешку. Но если не раскоментировать ни первое ни второе, M500 выдает ошибку отсутствия EEPROM.

Вывод, надо копать дальше.

20.09.2019 в 17:03
0

Вечером тоже поковыряю свою. Народ вроде I2C флеш-память успешно приколхозил.

20.09.2019 в 18:45
1

Поковырял.

У меня при закомментированных SRAM_EEPROM_EMULATION и FLASH_EEPROM_EMULATION сохраняет на флешку, подключенную к 12864 экрану. Появляется файлик EEPROM.DAT

20.09.2019 в 21:33
0

А вот это интересный поворот. Я то думал сохранять должно на флешку, которая торчит в плате, и к дисплею ничего не подключал...

27.09.2019 в 20:31
1

Как получить доступ к флешке на плате из вне никто пока не знает. Или я этого не нашел.

07.10.2019 в 14:36
0

Подскажите по 2208 и 2209  - в настройках  в Марлине по Х и У  количество шагов выставлять 1/256 ?? 

#define DEFAULT_AXIS_STEPS_PER_UNIT {1280, 1280,     ??      

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

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

Напечатал головоломку Пифагор

Скрепыш

кидайте свои профили кур

-3DP-BCoreXY- широкоформатный принтер под тяжелую печать. Откуда растут "ноги"

Печать филаментом из ABS, моделей *любых* размеров

3D-сканирование изделия