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
Или же есть адаптер под стоковый корпус т.к. собираюсь строить бокс для принтера из ЛДСП, то я с корпусом пока не определился, наверное буду делать сам и выносить наружу, но это уже совсем другая история...
Еще больше интересных статей
Датчик наличия пластика для Bambu Lab Х1 Carbon.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Настройка Marlin для датчика Biqu microprobe для платы BigTreeTech_SKR_mini_E3_V2.0
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Настраиваем прошивку Marlin и заливаем её в 3D принтер
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
если вы будете использовать то...
В общем RepRap надо использова...
Orca разработана на основе Прю...
Полиамид и полипропилен с 30%...
Неделю назад пришел с сопла 0....
Один из моих принтеров K...
Всем - добра, не смотря ни на...