Ender 3. Переход на SKR v1.3 с TMC2130 со стоковым дисплеем
Приветствую всех!
Так случилось, что еще не дождавшись принтера я уже задумался об апгрейде оного. Сразу было решено брать 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 (все-таки я это сказал!)
Вот все наглядно:Ждем окончания установки, перезапускаем, готово!
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 = LPC17683. Редактируем 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Сохраняем файл (Ctrl+s).
#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
Открываем файл 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Все, сохраняем файл (Ctrl+s).
#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
Все готово, теперь нажимаем галочку в нижнем левом углу для компиляции прошивкиЖдем, видим заветную зеленую надпись Success.Отправляемся в папку 'C:BIGTREETECH-SKR-V1.3-masterfirmwareMarlin-bugfix-2.0.x.pioenvsLPC1768'
и вот она наша прошивка - firmware.bin
копируем ее в корень SD карты и пока откладываем в сторону.
Хардварная часть.
Доработка драйверов TMC2130 для работы в режиме SPI
Мне достались драйвера от BIGTREETECH TMC2130 v1.1, так называемые DIY, из коробки они работают только как STANDALONE
Для возможности подключения в SPI режиме необходимо сделать несколько нехитрых манипуляций с паяльником, во-первых нужно выпаять резистор R5, во-вторых запаять перемычки, вот картинкаМне плата пришла с уже установленными джамперами для SPI, если вдруг у вас иначе, то вот картинка как надо:Вставляем драйвера в плату (главное не задом наперед!) ориентир - подстроечный резистор должен быть слева и 4 пина выведенных наверх ближе к центру платы, а не к краюЧтож, давайте установим драйвера для компьютера и прошьем плату скомпилированной ранее прошивкой.
Устанавливаем джампер питания на +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
Пришло время подключать плату к принтеру. Думаю довольно просто разобраться что где на стоковой плате, но на всякий случай картинка:Убираем с разъемов клей, вытаскиваем коннекторы, чтобы не ошибиться я наклеил на неподписанные провода бирочки с описанием.
Теперь нужно модернизировать наши 2-пиновые штекеры концевиков, т.к. в SKR они под 3-пина, у нас есть два пути, первый - раздобыть 3-пиновые коннекторы и переставить провода (у меня они были в наличии), второй - срезать со стоковых часть защелки, так чтобы коннектор вставлялся в нижние 2 контакта (G и S).
Вставляем именно в нижние! На верхнем пине +5V и концевикам может настать конец. Будьте внимательны )Вот картинка с описанием что куда подключать в SKR v1.3Подключили? Отлично, не забываем поставить джампер в центре платы в положение INT +5V для питания от БП.
Экран подключаем в EXP1 на плате и в EXP3 на дисплее.
Включаем, пробуем покататься с дисплея, радуемся тишине!
Дело за малым, корпус для платы, смотрим варианты на thingiverse, подходят любые корпуса для SKR v1.1/1.3 и MKS gen L
Или же есть адаптер под стоковый корпус т.к. собираюсь строить бокс для принтера из ЛДСП, то я с корпусом пока не определился, наверное буду делать сам и выносить наружу, но это уже совсем другая история...
Еще больше интересных статей
Klipper на сборке MKS Pi V1.1 + BIGTREETECH SKR V1.4 Turbo + ZAV mini (прошивка)
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Устранение ямы стола flyingbear ghost 5.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Собственно думаю многие...
Настраиваем прошивку Marlin и заливаем её в 3D принтер
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
Спасибо за идею! Донором будет...
А можно модель получить?
Всем добрый день!Печатаю на An...
Всем привет! Я решил напечатат...
Какую лицензию выбрать при доб...
Доброго времени суток, коллеги...