Кремень КД Реклама
Кремень КМ Реклама

Ender 3. Переход на SKR v1.3 с TMC2130 со стоковым дисплеем

Bookmark
Идет загрузка
Загрузка
23.04.2019
39050
47
Техничка

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

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

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

39
Статья относится к принтерам:
Ender 3 Ender 3 Pro
Погуглив, я не нашел четких инструкций о прошивке, подключении и настройке конкретно этой платы на Ender 3. Это был мой первый опыт работы с Platformio и Marlin, поэтому я и решил написать этот мануал, думаю кому-то да и будет полезно.

Приветствую всех!

Так случилось, что еще не дождавшись принтера я уже задумался об апгрейде оного. Сразу было решено брать MKS gen L с драйверами TMC2208, что позволило бы уменьшить шум при работе, а также избавило бы от всяческих костылей при установке того же 3dTouch, в виде убивания бипера, нехватки места для прошивки и т.п.

Во время выбора продавцов платы на китайских просторах, наткнулся на 32-битные платы SKR v1.1/1.3, причем 1.1 отличался в цене от MKS gen L всего на 200 рублей, задумался, спросил совета здесь, в итоге посоветовали брать SKR v1.3 + TMC2130 SPI, поискал, посчитал, посмотрел в глаза жабе, которая, ухмыляясь, раздавила меня полностью и подумал, что покупать плату с драйверами за треть цены принтера в сборе, да еще и дрыгостола, как-то тупо и решил вообще отказаться от апгрейда, успокоиться и печатать на стоке.

Но все оказалось не так просто, неожиданно мне выдалась возможность взять SKR v1.3 + 4*TMC2130 по цене ниже чем MKS gen L без драйверов. Правда драйвера надо было дорабатывать для SPI режима, но мне уже было все равно, я не смог отказаться )))

И вот приехал принтер, следом за ним плата с уточкой, а еще через несколько дней драйвера.

Погуглив, я не нашел четких инструкций о прошивке, подключении и настройке конкретно этой платы на Ender 3. Это был мой первый опыт работы с Platformio и Marlin, поэтому я и решил написать этот мануал, думаю кому-то да и будет полезно.

Итак приступим, начнем с прошивки:

1. Устанавливаем Platformio Сначала понадобится установить Atom или Microsoft's Visual Studio Code.

Я использовал VSCode, установка крайне проста, есть куча статей, где это разжевано до мелочей, я не буду вдаваться в тонкости типа 'Нажмите кнопку Install, потом Next...' и т.п.

Идем по ссылке, скачиваем, устанавливаем, запускаем. Открываем Extension Manager, вводим в поисковой строке 'platformio-ide', нажимаем Install (все-таки я это сказал!)

Вот все наглядно:
Ender 3. Переход на SKR v1.3 с TMC2130 со стоковым дисплеем
Ждем окончания установки, перезапускаем, готово!

2. Качаем Marlin bugfix-2.0.x

Я скачивал всю документацию со схемами и софтом с github, прямая ссылка на архив. Там уже есть Марлин с внесенными изменениями.

Скачали?

Извлекаем архив в корень диска (пусть это будет диск C). Marlin в папке 'C:BIGTREETECH-SKR-V1.3-masterfirmwareMarlin-bugfix-2.0.x'

Можно скачать непосредственно с сайта Marlin , тогда придется в файле platformio.ini в строке 24 заменить megaatmega2560 на LPC1768
env_default = LPC1768
3. Редактируем Marlin:

Копируем с заменой все файлы для нашего принтера (Ender 3) из этой папки 'C:BIGTREETECH-SKR-V1.3-masterfirmwareMarlin-bugfix-2.0.xMarlinsrcconfigexamplesCrealityEnder-3' в эту папку 'C:BIGTREETECH-SKR-V1.3-masterfirmwareMarlin-bugfix-2.0.xMarlin'.

В Platformio жмем Open Project и выбираем папку 'C:BIGTREETECH-SKR-V1.3-masterfirmwareMarlin-bugfix-2.0.x'

Открываем слева папку Marlin, открываем файл Configuration.h, редактируем:

Чтобы можно было работать с принтером с компа через COM порт нужно расскомментировать строку 116
#define SERIAL_PORT_2 -1
В строке 135 меняем название платы с BOARD_MELZI_CREALITY на BOARD_BIGTREE_SKR_V1_3
#define MOTHERBOARD BOARD_BIGTREE_SKR_V1_3
Прописываем драйвера, ищем (Ctrl+f) - 'X_DRIVER_TYPE' и раскомментируем строки нужных осей, изменим названия драйверов для них, в моем случае на TMC2130.
#define X_DRIVER_TYPE TMC2130

#define Y_DRIVER_TYPE TMC2130

#define Z_DRIVER_TYPE TMC2130

//#define X2_DRIVER_TYPE A4988

//#define Y2_DRIVER_TYPE A4988

//#define Z2_DRIVER_TYPE A4988

//#define Z3_DRIVER_TYPE A4988

#define E0_DRIVER_TYPE TMC2130

//#define E1_DRIVER_TYPE A4988

//#define E2_DRIVER_TYPE A4988

//#define E3_DRIVER_TYPE A4988

//#define E4_DRIVER_TYPE A4988

//#define E5_DRIVER_TYPE A4988
Сохраняем файл (Ctrl+s).

Открываем файл Configuration_adv.h, редактируем:

В секции @section tmc_smart можно задать токи для каждого драйвера, но я оставил как есть.

В строке
#define CHOPPER_TIMING CHOPPER_DEFAULT_12V
исправляем на
#define CHOPPER_TIMING CHOPPER_DEFAULT_24V
раскомментируем строки:

Активируем мониторинг драйверов
#define MONITOR_DRIVER_STATUS
Активируем режим отладки для драйверов
#define TMC_DEBUG
#define TMC_USE_SW_SPI
Активируем гибридный режим. С ним прошивка сама будет менять режимы работы шаговиков с тихого на усиленный, не знаю насколько это актуально для Ender 3, но хуже не будет
#define HYBRID_THRESHOLD
Сохраняем файл (Ctrl+s).

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

О драйверах TMC2130 есть прекрасная статья, я пока остановился на этих настройках )

Случайно наткнулся на инструкцию на thingiverse по подключению стокового дисплея одним кабелем, без каких-либо перевертываний коннектора, допаенных проводов и т.п., просто переназначим пины в файле 'C:BIGTREETECH-SKR-V1.3-masterfirmwareMarlin-bugfix-2.0.xMarlinsrcpinspins_BIGTREE_SKR_V1.3.h'

меняем этот блок
#if ENABLED(ULTRA_LCD)

#define BEEPER_PIN P1_30 // (37) not 5V tolerant

#define BTN_ENC P0_28 // (58) open-drain

#define LCD_PINS_RS P1_19

#define BTN_EN1 P3_26 // (31) J3-2 & AUX-4

#define BTN_EN2 P3_25 // (33) J3-4 & AUX-4

#define SD_DETECT_PIN P1_31 // (49) (NOT 5V tolerant)

#define LCD_SDSS P0_16 // (16) J3-7 & AUX-4

#define LCD_PINS_ENABLE P1_18

#define LCD_PINS_D4 P1_20

#if ENABLED(ULTIPANEL)

#define LCD_PINS_D5 P1_21

#define LCD_PINS_D6 P1_22

#define LCD_PINS_D7 P1_23

#endif

#endif // ULTRA_LCD
на это
#if ENABLED(ULTRA_LCD)

#define BEEPER_PIN P1_30 // (37) not 5V tolerant

#define BTN_ENC P0_28 // (58) open-drain

#define LCD_PINS_RS P1_22

#define BTN_EN1 P1_18 // (31) J3-2 & AUX-4

#define BTN_EN2 P1_20 // (33) J3-4 & AUX-4

#define SD_DETECT_PIN P1_31 // (49) (NOT 5V tolerant)

#define LCD_SDSS P0_16 // (16) J3-7 & AUX-4

#define LCD_PINS_ENABLE P1_23

#define LCD_PINS_D4 P1_21

#if ENABLED(ULTIPANEL)

#define LCD_PINS_D5 P1_21

#define LCD_PINS_D6 P1_22

#define LCD_PINS_D7 P1_23

#endif

#endif // ULTRA_LCD
Для работы картридера на плате, редактируем строки ниже,

было
//#define USB_SD_DISABLED

#define USB_SD_ONBOARD // Provide the onboard SD card to the host as a USB mass storage device

#define LPC_SD_LCD // Marlin uses the SD drive attached to the LCD

//#define LPC_SD_ONBOARD // Marlin uses the SD drive on the control board
стало
//#define USB_SD_DISABLED

#define USB_SD_ONBOARD // Provide the onboard SD card to the host as a USB mass storage device

//#define LPC_SD_LCD // Marlin uses the SD drive attached to the LCD

#define LPC_SD_ONBOARD // Marlin uses the SD drive on the control board
Все, сохраняем файл (Ctrl+s).

Все готово, теперь нажимаем галочку в нижнем левом углу для компиляции прошивки
Ender 3. Переход на SKR v1.3 с TMC2130 со стоковым дисплеем
Ждем, видим заветную зеленую надпись Success.
Ender 3. Переход на SKR v1.3 с TMC2130 со стоковым дисплеем
Отправляемся в папку 'C:BIGTREETECH-SKR-V1.3-masterfirmwareMarlin-bugfix-2.0.x.pioenvsLPC1768'

и вот она наша прошивка - firmware.bin

копируем ее в корень SD карты и пока откладываем в сторону.

Хардварная часть.

Доработка драйверов TMC2130 для работы в режиме SPI

Мне достались драйвера от BIGTREETECH TMC2130 v1.1, так называемые DIY, из коробки они работают только как STANDALONE

Для возможности подключения в SPI режиме необходимо сделать несколько нехитрых манипуляций с паяльником, во-первых нужно выпаять резистор R5, во-вторых запаять перемычки, вот картинка
Ender 3. Переход на SKR v1.3 с TMC2130 со стоковым дисплеем
Мне плата пришла с уже установленными джамперами для SPI, если вдруг у вас иначе, то вот картинка как надо:
Ender 3. Переход на SKR v1.3 с TMC2130 со стоковым дисплеем
Вставляем драйвера в плату (главное не задом наперед!) ориентир - подстроечный резистор должен быть слева и 4 пина выведенных наверх ближе к центру платы, а не к краю
Ender 3. Переход на SKR v1.3 с TMC2130 со стоковым дисплеем
Чтож, давайте установим драйвера для компьютера и прошьем плату скомпилированной ранее прошивкой.

Устанавливаем джампер питания на +5V USB, вставляем sd-карту в плату, подключаем к компьютеру, ждем, получаем ошибку установки драйвера, идем в диспетчер устройств, видим там неопознанное устройство Marlin USB Device, кликаем правой кнопкой мыши, обновить драйвер, выполнить поиск драйверов на этом компьютере, выбираем папку 'C:BIGTREETECH-SKR-V1.3-masterfirmwareMarlin-bugfix-2.0.xMarlinsrcHALHAL_LPC1768win_usb_driver' и устанавливаем драйвер.

В диспетчере устройств запоминаем на каком COM порте наша плата, это понадобится для подключения к принтеру с компьютера.

Вынимаем sd-карту из платы, обратите внимание, после успешной прошивки платы файл firmware.bin на sd-карте должен изменить свое имя на FIRMWARE.CUR

Пришло время подключать плату к принтеру. Думаю довольно просто разобраться что где на стоковой плате, но на всякий случай картинка:
Ender 3. Переход на SKR v1.3 с TMC2130 со стоковым дисплеем
Убираем с разъемов клей, вытаскиваем коннекторы, чтобы не ошибиться я наклеил на неподписанные провода бирочки с описанием.

Теперь нужно модернизировать наши 2-пиновые штекеры концевиков, т.к. в SKR они под 3-пина, у нас есть два пути, первый - раздобыть 3-пиновые коннекторы и переставить провода (у меня они были в наличии), второй - срезать со стоковых часть защелки, так чтобы коннектор вставлялся в нижние 2 контакта (G и S).

Вставляем именно в нижние! На верхнем пине +5V и концевикам может настать конец. Будьте внимательны )
Ender 3. Переход на SKR v1.3 с TMC2130 со стоковым дисплеем
Вот картинка с описанием что куда подключать в SKR v1.3
Ender 3. Переход на SKR v1.3 с TMC2130 со стоковым дисплеем
Подключили? Отлично, не забываем поставить джампер в центре платы в положение INT +5V для питания от БП.

Экран подключаем в EXP1 на плате и в EXP3 на дисплее.

Включаем, пробуем покататься с дисплея, радуемся тишине!

Дело за малым, корпус для платы, смотрим варианты на thingiverse, подходят любые корпуса для SKR v1.1/1.3 и MKS gen L

Или же есть адаптер под стоковый корпус т.к. собираюсь строить бокс для принтера из ЛДСП, то я с корпусом пока не определился, наверное буду делать сам и выносить наружу, но это уже совсем другая история...

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

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

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

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