Настройка и прошивка Marlin 2 для платы SKR 1.3/1/4

Открытая прошивка Marlin
Аватара пользователя
Evgenii
Сообщения: 49
Зарегистрирован: 18 янв 2020, 15:50
Откуда: Екатеринбург

Настройка и прошивка Marlin 2 для платы SKR 1.3/1/4

Сообщение Evgenii »

Для настройки прошивки Marlin 2 сначала нужно установить среду. Мне удобнее всего VSC так что его и буду использовать. О том как поставить программу и установить PlatformIO можно прочитать тут тык, в самом начале статьи. И так все стоит, прошивку скачали и открыли. Начнем, будет много букв!

1. Открываем файл platformio.ini и в нем правим:

default_envs = LPC1768 (LPC1769 //SKR 1.4)

Файл сохраняем ctrl+S, больше он нам не нужен.

2. Открываем файл configuration.h и в нем правим:

#define SHOW_CUSTOM_BOOTSCREEN // если используйте свою заставку при загрузке

#define SERIAL_PORT 0

#define SERIAL_PORT_2 -1 // порты для подключения по USB

#define BAUDRATE 250000 // скорость подключения

#define MOTHERBOARD BOARD_BTT_SKR_V1_3 // указываем тип платы (посмотреть можно в файле boards.h)

#define CUSTOM_MACHINE_NAME "UNI 2.2" // имя принтера, выводится внизу экрана, можно написать любое.

#define EXTRUDERS 1 // количество экструдеров

#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75 // диаметр прутка

#define TEMP_SENSOR_0 5 // тип термистора для хотенда, возможно потребуется изменить тип на свой.

#define TEMP_SENSOR_BED 1 // тип термистора для стола, возможно потребуется изменить тип на свой.

#define COREXY // тип кинематики ( H-bot это он же)

//#define USE_XMIN_PLUG
//#define USE_YMIN_PLUG
//#define USE_ZMIN_PLUG
//#define USE_XMAX_PLUG
//#define USE_YMAX_PLUG
//#define USE_ZMAX_PLUG // указываем куда подключены концевики

#define X_DRIVER_TYPE
#define Y_DRIVER_TYPE
#define Z_DRIVER_TYPE
#define E0_DRIVER_TYPE // указываем тип драйверов и их режим работы.

#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 400 } // указываем количество шагов на миллиметр для осей {x,y,z,e0..}

#define DEFAULT_MAX_FEEDRATE { 200, 200, 5, 25 } // указываем максимальную скорость для осей {x,y,z,e0..}

#define DEFAULT_MAX_ACCELERATION { 1500, 1500, 50, 10000 } // максимальное ускорение для осей {x,y,z,e0..}

#define DEFAULT_ACCELERATION 1500 // ускорение по умолчанию для всех осей
#define DEFAULT_RETRACT_ACCELERATION 1500 // ускорение для отката
#define DEFAULT_TRAVEL_ACCELERATION 1500 // ускорение для перемещений

#define DEFAULT_EJERK 10.0 // стандартное ускорение, так же оно используется для Linear Advance

#define JUNCTION_DEVIATION_MM 0.12 // продвинутый рывок.

#define S_CURVE_ACCELERATION // плавные ускорения (не включать вместе с ЛА)

#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR false // направления вращения двигателей, если крутится не туда то меняем на true

#define INVERT_E0_DIR false // направление вращения экструдера если не туда то true

#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1 // указываем где парковаться (-1 парковка в минусе, 1 парковка в плюсе)

#define X_BED_SIZE 300
#define Y_BED_SIZE 200 // область печати по X, Y

#define Z_MAX_POS 250 // высота по Z

//#define MANUAL_X_HOME_POS 0
//#define MANUAL_Y_HOME_POS 0
//#define MANUAL_Z_HOME_POS 0 // раскоментируем если концевики и 0 не совпадают.

#define EEPROM_SETTINGS // включаем поддержку EEPROM

#define LCD_LANGUAGE ru
#define DISPLAY_CHARSET_HD44780 CYRILLIC // русский язык для экрана

#define SDSUPPORT // поддержка SD карты

#define SPEAKER // включаем пищалку

#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 0
#define LCD_FEEDBACK_FREQUENCY_HZ 0 // выключаем звук в меню

#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER // выбираем тип дисплея (это обычный 12864)

Сохраняем.
3. Открываем Configuration_adv.h

#define E0_AUTO_FAN_PIN FAN1_PIN // Если подключили вентилятор обдува радиатора печатной головы вместо нагревателя второго хотенда

#define STATUS_MESSAGE_SCROLLING // Включаем прокрутку длинных статусных сообщений на экране

#define SCROLL_LONG_FILENAMES // Включаем прокрутку длинных имен файлов на флешке в меню

#define SDCARD_CONNECTION ONBOARD // указываем где расположена SD карта (ONBOARD- на плате, LCD- на экране)

#define LIN_ADVANCE // всеми любимый LA, включаем если нужен.

ищем строчку #if HAS_TRINAMIC_CONFIG (если драйвера в режиме SPI или UART)
#define HOLD_MULTIPLIER 0.6 // ток удержания
#define INTERPOLATE true // интерполяция
#if AXIS_IS_TMC(X)
#define X_CURRENT 1200 // ток драйвера
#define X_CURRENT_HOME X_CURRENT // ток для парковки без концевиков
#define X_MICROSTEPS 16 // режим шага
#define X_RSENSE 0.11
#define X_CHAIN_POS -1
Такая настройка будет для каждой оси и экструдера. В последствии ток можно поправить из меню принтера.

#define TMC_USE_SW_SPI // для драйверов по SPI

#define STEALTHCHOP_XY
#define STEALTHCHOP_Z
#define STEALTHCHOP_E // тихий режим (можно включать и выключать из меню)

#define CHOPPER_TIMING CHOPPER_DEFAULT_24V // задаем режим работы SpreadCycle

#define MONITOR_DRIVER_STATUS // Включаем защиту драйверов от перегрева

#define HYBRID_THRESHOLD // Включаем гибридный режим -при превышении указанной здесь скорости алгоритм будет переключаться со StealthChop на SpreadCycle (можно будет изменить из меню принтера)

#define X_HYBRID_THRESHOLD 150 // [mm/s]
#define Y_HYBRID_THRESHOLD 150
#define Z_HYBRID_THRESHOLD 10
#define E0_HYBRID_THRESHOLD 3

#define TMC_DEBUG // Включаем отладочный режим

#define NO_VOLUMETRICS // Выключаем экструзию по объему

Сохраняем. Жмем на кнопку компиляции (галка в левом нижнем углу). По окончании файл прошивки лежит C:\Marlin-2.0.5\.pio\build\LPC1768
Скидываем файл firmware.bin на SD карту, карту вставляем в плату, включаем питание, ждем когда принтер загрузится.
Я затронул только самые основные настройки.
Последний раз редактировалось Evgenii 27 окт 2021, 12:35, всего редактировалось 3 раза.
Аватара пользователя
Larsik
Сообщения: 16
Зарегистрирован: 12 май 2020, 12:54

Re: Настройка и прошивка Marlin 2 для платы SKR 1.3/1/4

Сообщение Larsik »

Доброго дня!!!
Может кто выложить конфигурационные файлы под Marlin 2.0.5.3&
Буду очень признателен
Аватара пользователя
ursoft
Активист
Сообщения: 196
Зарегистрирован: 18 янв 2020, 19:52
Откуда: Екатеринбург

Re: Настройка и прошивка Marlin 2 для платы SKR 1.3/1/4

Сообщение ursoft »

Larsik писал(а): 26 июн 2020, 09:21 Доброго дня!!!
Может кто выложить конфигурационные файлы под Marlin 2.0.5.3&
Буду очень признателен
Конфигурации к SKR1.3 для принтера ulti под все актуальные версии марлина см. в истории репозитория https://github.com/ursoft/Marlin. Uni штатно идет не с марлином, поэтому у каждого самосборщика будет своя.
Uni 2.2, Ulti Steel, FF Dreamer напечатали мне эти 400+ изделий.
Аватара пользователя
UNI
Всея форума
Сообщения: 375
Зарегистрирован: 18 янв 2020, 11:50
Откуда: Стерлитамак

Re: Настройка и прошивка Marlin 2 для платы SKR 1.3/1/4

Сообщение UNI »

На яндекс диске добавил раздел проишвки. В дальнейшем там будут все варианты прошивок для принтеров UNI
В данный момент там две прошивки - одна для UNI первой серии с установленной химерой на СКР 1.1 и для UNI2.2 с апгрейдом на скр 1.3.
UNI Mini, UNI 1/2/2.2/
Аватара пользователя
Larsik
Сообщения: 16
Зарегистрирован: 12 май 2020, 12:54

Re: Настройка и прошивка Marlin 2 для платы SKR 1.3/1/4

Сообщение Larsik »

Добрый день!!!
Собрал прошивку для платы SKR 1.4 из образа находящегося на яндекс диске.
Проблема такая первые 2 слоя печатаются нормально, а потом слои начинают смещаться по координатам X и Y.
Вот так это выглядит https://youtu.be/gb6gAFdzxGY
Пробовал нарезать в симплефае и в куре. Пробовал жкод которым печатал на другом принтере, результат одинаков - смещение слоев.

В какую сторону копать?
Аватара пользователя
Evg33
Активист
Сообщения: 145
Зарегистрирован: 19 янв 2020, 02:31
Откуда: Earth

Re: Настройка и прошивка Marlin 2 для платы SKR 1.3/1/4

Сообщение Evg33 »

Одинаковыми только заводские принтеры могут быть (от производителя).
Те, что из китов, они все разные.
Тут думаю ток на драйвера надо прописать верный.
UNI Mini, UNI 2.2, ZAV Mini, ZAV Max.
Аватара пользователя
Larsik
Сообщения: 16
Зарегистрирован: 12 май 2020, 12:54

Re: Настройка и прошивка Marlin 2 для платы SKR 1.3/1/4

Сообщение Larsik »

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

Изображение

Изображение

Изображение
Аватара пользователя
Larsik
Сообщения: 16
Зарегистрирован: 12 май 2020, 12:54

Re: Настройка и прошивка Marlin 2 для платы SKR 1.3/1/4

Сообщение Larsik »

Что было в моем случае:
Конфигурационные файлы брал от сборки принтера UNi, перебрал несколько из разных источников поэтому видимо возникли некоторые казусы (не досмотр)
- #define CHOPPER_TIMING CHOPPER_DEFAULT_12V , а надо было выставить 24V т.к блок питания у меня на 24 вольта.
- были закомментированы строки:
- #define TMC_DEBUG ;
- #define NO_VOLUMETRICS .

Моторы у меня по X,Y на 0,9 градуса в конфигурационных файлах был выставлен параметр шага 64 (#define X_MICROSTEPS 64), я его и не трогал сперва , но видимо при таких параметрах что то не срасталось. В конечном итоге я выставил - #define X_MICROSTEPS 16
После этих исправлений принтер запечатал.

Спасибо Евгению (ник - Евгений Евгений) помог мне с выявлением недочетов в прошивке.
Аватара пользователя
Evg33
Активист
Сообщения: 145
Зарегистрирован: 19 янв 2020, 02:31
Откуда: Earth

Re: Настройка и прошивка Marlin 2 для платы SKR 1.3/1/4

Сообщение Evg33 »

для 0.9 движков на 24V не CHOPPER_DEFAULT_12V , и не CHOPPER_DEFAULT_24V, а CHOPPER_09STEP_24V.
По новому вообще вот так у меня:

Код: Выделить всё

  //#define CHOPPER_TIMING    CHOPPER_DEFAULT_12V
  #define CHOPPER_TIMING_X    CHOPPER_09STEP_24V    // For X Axes (override below)
  #define CHOPPER_TIMING_Y    CHOPPER_09STEP_24V    // For Y Axes (override below)
  #define CHOPPER_TIMING_Z    CHOPPER_DEFAULT_24V   // For Z Axes (override below)
  #define CHOPPER_TIMING_E    CHOPPER_DEFAULT_24V   // For Extruders (override below)
(XY 0.9, ZE 1.8)
UNI Mini, UNI 2.2, ZAV Mini, ZAV Max.
Аватара пользователя
Fortunate
Сообщения: 20
Зарегистрирован: 21 фев 2020, 13:08

Re: Настройка и прошивка Marlin 2 для платы SKR 1.3/1/4

Сообщение Fortunate »

Для стола 200*200 и 250*200, находящихся не в нуле координат принтера, в прошивке Marlin нужно добавить/раскомментировать:

Код: Выделить всё

#define MANUAL_X_HOME_POS -50
Это укажет принтеру, что концевик не в нуле координат, принтер подвинет голову на 50 мм по Х, после чего будет считать это нулем.

Вернуться в «Marlin»