Настройка Marlin под 3D‑принтер UlTi‑Steel (BigTreeTech SKR 1.3) – urpylka ՚s blog !

Настройка Marlin под 3D‑принтер UlTi‑Steel (BigTreeTech SKR 1.3) – urpylka ՚s blog ! 3d печать
как установить прошивку на 3д принтер для

Настройка Marlin под 3D‑принтер UlTi‑Steel (BigTreeTech SKR 1.3)

Здравствуйте, необходимость создания прошивки для Ulti-Steel возникла у меня по разным причинам:

  1. Мне понадобилось сделать прошивку для Ulti-Steel, потому что сами ребята из Ivilol больше не обновляют прошивку для первой версии Ulti-Steel.
  2. Глядя на их репозиторий, у меня кровоточат глаза и возникает множество вопросов.
  3. В прошивку нужно добавлять свои собственные дополнения. настройки .
  4. Существует полная путаница в истории и коде самого Merlin. В свете этого я не хочу обновлять прошивку с помощью режима слияния, но хотел бы переделать несколько собственных коммитов (это не изменение Merlin, только ограниченный набор специфических настроек. (Printer, разрешаете ли вы себе это делать).

На самом деле, идея состоит в том, чтобы написать небольшой семинар, где каждый сможет легко изменить текущую версию Ulti-Steel Мерлина, не прибегая к помощи собственных разработчиков принтера или других репозиториев.

Я проиллюстрирую это примерами из моей собственной Ulti, где я перепрошил смарт-контроллер, используя uart guide, uart и lcd2004 дисплеи.

If valid (level_centre_too)

Добавление некоторых новых функций в другой статье: подключение интеллектуального датчика нити BTT к SKR v1. 3.

В качестве основы используйте последний коммит 2. 0. 9. 2 из ветки master (2. 0. x) upstream (Merlin). Добавьте коммит сверху, urpylka_ultisteel находится в моем репозитории. База. настройки Взять из официального репозитория Ivilol.

Версия 2. 0. 9. 3 повреждена и не появилась.

Настройка прошивки

  1. Определите информацию о прошивке. настройки Что касается конфигурации принтера, я не собирался менять версию и дату прошивки, поскольку версия указывает на используемый исходный код. Однако я задумал изменить параметры, указывающие, где найти исходный код и ссылку на сайт, где можно найти оригинальное описание прошивки (в моем случае ссылка на эту статью). /marlin/src/inc/version. h
#Определите source_code_url "github. com/". urpylka /Marlin" . #define WEBSITE_URL " urpylka .com/posts/post-56" 
  1. Логика прошивки не изменяет только конфигурационные файлы.
  2. В разделе меню отображается только веб-сайт, а не полная информация о принтере.
  3. Поэтому внесите изменения в дополнительные файлы, отличные от конфигурации. Это должно выполняться методом drag-and-drop.

Machine_Name можно обойти в главном конфигурационном файле, и в этом файле его также не следует изменять. Он описан в следующем разделе.

#Определить custom_machine_name "multi-steel 
#Определите "string_config_h_author" ( urpylka , UlTi-Steel)" // человек, внесший изменения. 
default_envs =LPC1768 
#ifndef материнская плата #Определяет материнскую плату board_BTT_SKR_V1_3 #endif 
#Определяем serial_port_ 2-1 
#Определяет E0_AUTO_FAN_PIN P2_04 
  1. TMC2208 — через UART
  2. TMC2208_STANDALONE — через терминал STP и DIR
#Определяет X_DRIVER_TYPE TMC2208 #Определяет Y_DRIVER_TYPE TMC2208 #Определяет Z_DRIVER_TYPE TMC2208 #Определить E0_DRIVER_TYPE TMC2208 
#Определить состояние драйвера_монитора 
#Определить tmc_debug 
#define default_axis_steps_per_unit 
#define default_max_feedrate 
#Определяет Z_MAX_POS 270 
#Определяет Eeprom_Settings . #Определяет eeprom_auto_init 
#Определить REPRAP_DISCOUNT_SMART_CONTROLLER 

Обновления принтера используют аудитор Fysetc_mini_12864

#Определяет fysetc_mini_12864_2_1 
#Определяет динамик #Определяет lcd_feedback_frequency_duration_ms 100 #Определяет lcd_feedback_frequency_hz 5000 

Также позволяет отключить в меню: configuration_adv. h

#Определить пункт меню звука 
#define reverse_encoder_direction . // #define reverse_menu_direction . // #define revene_select_direction 
#определить LCD_LANGUAGE RU . #display_charset_hd44780 Определить кириллицу 

Я не собираюсь использовать русский язык, поэтому использую стандартный настройки

#Определяет lcd_language en . #displains_charset_hd44780 Определяет Японию 
#Определяет LED_USER_PRESET_RED 255 // пользовательское значение красного цвета #Определяет LED_USER_PRESET_GREEN 128 // определенное пользователем значение зеленого цвета #LED_USER_PRESET_BLUE Определяет 0 // пользователь - определенная цена #Определяет LED_USER_PRESET_WHITE 255 // пользователь - определенное значение белого цвета #define_user_preset_brightness 255 // интенсивность, определяемая пользователем //#define led_user_preset_startup // принтер отображает определенный пользователем цвет при запуске 

define led_user_preset_red 0

#// Определяемое пользователем значение красного цвета // пользовательское значение красного цвета #// Определяет пользовательское значение зеленого цвета // определенное пользователем значение зеленого цвета #// цена, определяемая пользователем // пользователь - определенная цена #// цена белого цвета, определяемая пользователем // пользователь - определенное значение белого цвета #// интенсивность, определяемая пользователем // интенсивность, определяемая пользователем #// Отображение определенных пользователем цветов в принтере при запуске define_sdsupport 
#define_sd_check_and_retry 
#Определить SDCARD_CONNECTION LCD 
#Определяет defient_nominal_filament_dia 1. 75 
#Определяет TEMP_SENSOR_BED 1 
#Определяет pidtempbed 
#Изменяет значение по умолчанию на значение, рассчитанное Ivilol 

Определяет defient_bedkp 97. 56

#define defument_bedki 8. 51 #define default_bedkd 279. 73 #Определяет extrude_mintemp 170 
#Определяет extrude_maxlenge 1000 
#Определить preat_1_temp_hotend = 190 
#Определяет preat_2_temp_hotend = 230 . #Определяет preat_2_temp_bed = 90 #PL A-180/70 градусов 
  • AB S-240/110 градусов
  • Определить z_clearce_between_probes 5
#Определяет сопло_парка_фигуры 
#Определяет filament_change_unload_feedrate 300 
#/ (мм/с) скорость нарезания посадочной нити. Может быть очень быстрой. Определяет filament_change_unload_length 800 . #// (мм) длина нити для полной выгрузки. // Для Boden - общая длина трубки и сопла. // Для немедленного перемещения - общая длина сопла. // Для ручной выгрузки устанавливается в 0. Определяет filament_change_fast_load_feedrate 300 . #// (мм/с) скорость загрузки. Может быть очень быстрой. Определяет filament_change_fast_lead_lenger 800 // (мм/с) . #// Загрузка длины нити от рекомендательного механизма до сопла. // Для Boden - общая длина трубки и сопла. // Для немедленного перемещения - общая длина сопла. // Для ручной выгрузки устанавливается в 0. . #// Непрерывная очистка до приостановки. Определяет park_head_on_pause. . #// паркует сопло и меняет нить во время паузы. Определяет PrintCounter 
#Определяет LCD_INFO_MENU 
#Дополнительные алгоритмы для калибровки стола 

Обычная калибровка активируется опцией level_bed_corners в файле configuration.h. Мы не знаем, зачем это нужно, но это может быть кому-то полезно, так как компания Ivilol столкнулась с проблемой и добавляет алгоритм трехточечной калоризации.

Для этого они добавили новое определение в configuration.h:

revel_corners_3point, чтобы определить: revel_corners_3point.

#Они также заменили его на: 'configuration, definition, definition',: 

level_corners_inset_lfrb

#//(мм) левая, передняя, правая и задняя вставкиОпределение revel_corners_inset_lfrb 
#//(мм) левая, передняя, правая и задняя вставкиОпределение revel_corners_inset_lfrb 

Также изменена логика в файле калибровки /marlin/src/lcd/menu/menu_bed_corners.cpp.

line_to_z (level_corners_z_hop),

 Переключатель.(bed_corner).Случай.< 0: current_position = lf,break.// Копирование XY; Case 0: current_position = lf,break// Копирование XY; 0: current_position = lf,break// Копирование XY; 0: current_position = lf,Разрыв.// Копирование XY; #Случай. 0: current_position = lf,break (level_center_too)// Копирование XY; #endif > 
 Переключатель.(bed_corner).Случай.< 0: current_position = lf,break.// Копирование XY; Case 0: current_position = lf,break// Копирование XY; #Case 0: current_position = lf,break (level_corners_3point)// Копирование XY; #Случай 0: current_position = lf,break// Копирование XY; 0: current_position = lf,Разрыв.// Копирование XY; #Случай. 0: current_position = lf,break (level_center_too)// Копирование XY; #endif #endif > 

Я пока не видел необходимости в такой калибровке, если бы она была, я бы использовал обычную калибровку по четырем точкам.

Я использую исходный код в VSCODE. Для построения я использую плагин Platformio. Как установить плагин и собрать прошивку, хорошо описано в официальной документации Marlin.

Сборка прошивки

Эта статья и гитхаб будут обновляться, когда я буду использовать его сам. Если у вас есть какие-либо замечания или текст, пожалуйста, опубликуйте их в комментариях ниже.

Фото&lt; pan&gt; break

Оцените статью