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

Okun12
Идет загрузка
Загрузка
18.09.2019
4012
48
печатает на 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,     ??      

01.11.2019 в 16:49
0

Подключаю SKR PRO с питанием по USB.  Появляется виртуальный COM port 3. Но саму SD карту с прошивкой не видно.  Что делаю не так ?? 

Или надо вынимать SD карту и заливать прошивку через картридер ??  

02.11.2019 в 08:00
0

Надо закинуть firmware.bin на карту через картридер, затем вставить карту в skr, подать питание, подождать пока она проморгается (секунд 5-10), затем нажать кнопку перезагрузки. Плата прошита.

02.11.2019 в 19:04
0

На SKR 1.3  при подачи питания появляется виртуальный COM порт и появляется окно SD карты c прошивкой. 

На SKR PRO появляется только COM порт. SD карта не появляется. Прошивку через картридер залил на SD карту. перезагрузил. Но SD карту все равно не видно. 

Питание SKR PRO пока по USB. Или надо что бы питание было 12/24 вольта внешнее ?? 

 

05.11.2019 в 08:20
0

SKR PRO  и SKR 1.3 это две абсолютно разные платы. На SKR PRO доступа к внутренней флешке нет и используется она только для залития прошивки.

06.11.2019 в 06:31
0

По UART на TMC2209 можно командами менять микрошаг на марлине или только через прошивку?

06.11.2019 в 08:18
0

Из марлина (через дисплей) есть настройки шага/мм, тока, режима stelthsChop.

Микрошаг только прошивкой.

06.11.2019 в 15:48
0

Да эти настройки я видел, просто думал и микрошаг можно тоже менять. Может тогда кто подскажет еще 2 момента по этой плате. Не понял как работает охлаждение на хотенд, вроде в колодку подключил fan0, сопло греется вентилятор не работает, куда копать? И еще не работают концевики(втыкал их во все разъемы limit switch), но у меня драйвера TMC2209, а у них есть функция работы как концевика. В марлине я эту функцию не включал, но в мануале еще было написано, что если вы не собираетесь использовать функцию концевика средствами драйвера, то нужно откусить у него одну ногу, а мне делать этого не хочется. Может это можно как то обойти без откусывания ноги?

06.11.2019 в 16:39
0

По вентиляторам в pins_BIGTREE_SKR_PRO_V1.1.h прописаны адреса выходов вентиляторов.

#define FAN_PIN            PC8  // Fan0

#define FAN1_PIN           PE5  // Fan1

#define FAN2_PIN           PE6  // Fan2

Надо их закомментировать и прописать в Configuration_adv.h как у Вас подключено.

У меня:

#define E0_AUTO_FAN_PIN PE5

#define USE_CONTROLLER_FAN

#define CONTROLLER_FAN_PIN PC8

И настроить блок AUTO_POWER_CONTROL в Configuration.h под Вас.

По драйверам 2209, насколько я знаю, без отрезания ноги никак.

07.11.2019 в 07:59
0

Спасибо, вентилятор заработал! Сейчас другая проблема вылетает предохранитель на 20а (уже второй) на нагрев стола, блок 12v 30a.  Вот думаю предохранитель на 30а поставить (боязно что что-нибудь сгорит на плате) или еще в марлине помню что-то было типа регулировки потребления мощьности БП.

07.11.2019 в 15:17
0

Ограничение на стол 150w. У вас похоже больше требуется для стола. 

Запитывайте стол через твердотельное реле. Напрямую к контроллеру подключать не надо. 

Т.е. контроллер будет рулить релюхой, а релюха будет уже давать питание столу напрямую. 

Я у себя запитал релюхой на 25А   (https://ru.aliexpress.com/item/32803659488.html?spm=a2g0s.9042311.0.0.274233edoRkYUE).  Все работает нормально. 

08.11.2019 в 02:16
0

Да я так и хочу сделать, но перевести на грелку 220вольт с твердотельным. Нашел кстати параметр #define MAX_BED_POWER, изменил с 255 на 180, предохранитель не вылетает, но и греет стол ну ооочень долго.

08.11.2019 в 08:30
0

На грелку 220в  обязательно ставить УОЗ  защиту.  (из за этого пока ставить грелку передумал)

Мой стол 300*300 мм.  MAX_BED_POWER  стоит 128.  Греет нормально. Более 80 градусов не кочегарил. (PETG). Для PLA грею до 60 градусов пару слоев и потом отключаю.  

Полный нагрев 4-6 мин. Снизу стол утеплен пробковой накладкой.  БП 24 вольта. 

 

11.11.2019 в 15:19
0

На грелку 220в обязательно ставить УОЗ защиту.

УЗО - Устройство Защитного Отключения. А в чем проблема? Не так уж это и страшно. Только не берите китайские. Берите  Шнайдер, АББ, Легран, Хагер. Или хотя бы КЭАЗ, если хотите сэкономить.

09.11.2019 в 12:53
0

Ребят, а для lerdge x (Sapphire pro) какую версию 2209 нужно? v 2.1?

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

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

Sapphire Pro cura profile

Еще одна самоделка, и понял, что ничего не знаю

Учусь красить

Домик для кнопки звонка.

Ender 3d

Сканирование санок-наколенников