Marlin для BigTreeTech SKR mini E3 V3.0 + датчик выравнивания под ENDER 3 Pro
Для работы с Марлином я использую VS Code. Как использовать VS Code, компилировать прошивку, прошивать принтер, это отдельная тема и тут рассматриваться не будет. В интернете полно гайдов на эту тему.
Поэтому непосредственно к настройкам.
Для настройки Marlin под эту плату, конечно в первую очередь необходим сам Marlin.
Что бы сэкономить время нужно скачать так же и конфигурационные файлы под плату.
Конфигурационные файлы расположены в каталоге examples по адресу ...config\examples\Creality\Ender-3 Pro\BigTreeTech SKR Mini E3 3.0. Там находятся 4 файла Configuration.h и Configuration_adv.h, так же файлы _Bootscreen и _Statusscreen. Их мы копируем с заменой в каталог с Marlinом. При этом в оригинальном Marlinе файлы _Bootscreen и _Statusscreen могут быть а могут и отсутствовать. Во всяком случае в каталоге скачанной и распакованной версии 2.1.2.5 их нет.
Когда все готово загружаем целиком папку в VS Code и переходим в файл platformio.ini.
Там важно установить правильную среду сборки для микроконтроллера материнской платы, чтобы обеспечить корректную работу прошивки. Для этого необходимо проверить, что значение не mega2560 а STM32G0B1RE_btt. Это можно сделать, добавив следующую строку:
default_envs = STM32G0B1RE_btt
Примечание: Далее многие параметры уже будут установлены, но их следует проверить, а в некоторые внести изменения.
- Конфигурация Configuration.h -
SERIAL PORT
Редактирование распределения последовательных портов для материнской платы 3D-принтера — важный шаг, который определяет и включает активные методы связи на плате. Это особенно актуально для пользователей, которые используют стандартную установку без TFT-дисплея. Рассмотрим пример настройки для платы SKR Mini E3 V3 от Bigtree-Tech.
Для начала, в файле конфигурации необходимо установить следующие параметры:
#define SERIAL_PORT -1#define BAUDRATE 115200
Скорость передачи данных - BAUDRATE
Скорость передачи данных, или скорость передачи в бодах, является важным параметром при настройке прошивки Marlin для 3D-принтеров. На начальном этапе рекомендуется установить скорость на уровне 115200 бод, что обеспечивает надежную связь между платой и компьютером.
Чтобы установить скорость передачи данных в файле конфигурации Marlin, вам нужно добавить или изменить следующие строки:
#define BAUDRATE 115200 #define BAUDRATE_2 115200
МАТЕРИНСКАЯ ПЛАТА
Настройки материнской платы по умолчанию в прошивке Marlin. Хотя мы определили среду сборки для встроенного программного обеспечения в файле platformio.ini, теперь нам нужно определить материнскую плату, чтобы прошивка Marlin знала, какие конфигурации и подключения доступны для материнской платы. Поэтому меняем имя материнской платы с BOARD_RAMPS_14_EFB на BOARD_BTT_SKR_MINI_E3_V3_0.
#define MOTHERBOARD BOARD_BTT_SKR_MINI_E3_V3_0
Не забывайте регулярно сохранять свои правки и дополнения к конфигурации. файл h во время работы.
ЭКСТРУДЕРЫ
В прошивке Marlin для 3D-принтеров необходимо правильно определить количество экструдеров, так как это влияет на функциональность и работу устройства. Хотя большинство принтеров используют один экструдер, существуют модели с несколькими экструдерами, что требует соответствующей настройки.
#define EXTRUDERS 1
Термисторы
Настройки термистора в прошивке Marlin.
Термисторы играют ключевую роль в контроле температуры на 3D-принтере, так как именно от них зависят показания температуры, отображаемые на экране. Неправильный выбор типа термистора может привести к значительным ошибкам в измерениях, особенно при высоких температурах.
Важность правильного выбора термистора
В большинстве 3D-принтеров, таких как Creality Ender 3, используются термисторы типа 1 как для хотэнда, так и для нагревательного стола. Если вы решите заменить термисторы на сторонние модели, обязательно измените настройки в прошивке Marlin, чтобы они соответствовали новым термисторам.
Для установки типа термистора в файле конфигурацииconfiguration.hнеобходимо указать следующие строки:
#define TEMP_SENSOR_0 1
#define TEMP_SENSOR_BED 1
PID (пропорционально–интегральная производная)
Для обеспечения стабильной температуры хотэнда и стола в прошивке Marlin рекомендуется использовать опцию PID (пропорционально-интегрально-дифференциальное управление). Хотя для активации этой опции может потребоваться калибровка, она значительно улучшает контроль температуры.
Зачем нужна калибровка PID?
Без корректной настройки PID температура может колебаться, что негативно сказывается на качестве печати. Нестабильная температура может привести к изменению потока нити, а также повлиять на адгезию первого слоя к нагреваемому столу. Это может вызвать такие проблемы, как отслаивание или неравномерное нанесение материала.
Включение опции PID
Вообще опция PID для стола включена в стандартную конфигурацию Marlin, вам все равно нужно убедиться, что она активирована. Для этого необходимо проверить в файле конфигурации:
#define PIDTEMPBED
МАКСИМАЛЬНАЯ ДЛИНА НИТИ
В прошивке Marlin параметр EXTRUDE_MAXLENGTH определяет максимальную длину нити, которую экструдер может выдавить за одну команду без печати. Это важно для обеспечения безопасной работы принтера и предотвращения чрезмерной экструзии, которая может привести к проблемам с подачей материала.
Для 3D-принтеров, таких как Creality Ender 3, Ender 3 Pro или Ender 3 V2, хорошей отправной точкой является установка значения EXTRUDE_MAXLENGTH в диапазоне 430–450 мм. Это значение обеспечивает достаточную длину нити для полной загрузки обратно в сопло hotend.
В файле конфигурации configuration.h можно установить параметр следующим образом:
#define EXTRUDE_MAXLENGTH 450
Настройки ENDSTOP_INVERTING
Поскольку плата BTT SKR Mini E3 V3 совместима с 3D-принтерами серии Ender 3, для параметра ENDSTOP_INVERTING следует установить значение false.
Если вы используете датчик для выравнивания стола, возможно, потребуется активировать параметр Z_MIN_PROBE_ENDSTOP_INVERTING, установив его значение на true.
Если вы не используете BTT SKR Mini E3 V3 с Creality Ender 3 и концевые выключатели не работают должным образом, вам может потребоваться изменить указанные значения с false на true.
#define X_MIN_ENDSTOP_INVERTING false
#define Y_MIN_ENDSTOP_INVERTING false
#define Z_MIN_ENDSTOP_INVERTING false
#define Z_MIN_PROBE_ENDSTOP_INVERTING false
Примечание: начиная с версии 2.0.9 прошивки Marlin, при использовании BLTouch параметр Z_MIN_PROBE_ENDSTOP_INVERTING должен быть определен как false.
ДРАЙВЕРЫ ШАГОВЫХ МОТОРОВ
Настройки шагового драйвера по умолчанию в прошивкеMarlin.
Несомненно, драйверы шаговых устройств, определенные в прошивке Marlin, должны соответствовать тем, которые используются на материнской плате 3d-принтера. В частности, BTT SKR Mini E3 V3 использует встроенные шаговые драйверы TMC2209, а UART управляется через плату.
Таким образом, необходимо сменить A4988 на TMC2209, как показано ниже.
#define X_DRIVER_TYPE TMC2209 #define Y_DRIVER_TYPE TMC2209 #define Z_DRIVER_TYPE TMC2209...#define E0_DRIVER_TYPE TMC2209...
DEFAULT_AXIS_STEPS_PER_UNIT
Директива DEFAULT_AXIS_STEPS_PER_UNIT используется в прошивках 3D-принтеров, таких как Marlin, для определения количества шагов, которые должен сделать шаговый двигатель, чтобы переместить ось принтера (X, Y, Z и, возможно, E для экструдеров) на один миллиметр.
Например, шаговым двигателям Creality, используемым в принтерах линейки Ender 3, требуется 80 шагов для перемещения осей X и Y на1 мм.
Однако шаговым двигателям Z со стандартным ходовым шнеком требуется 400 шагов для перемещения на 1 мм.
А экструдеру требуется всего 93 шага для перемещения на то же расстояние.
Кроме того, порядок следования по умолчанию для AXIS_STEPS_PER_UNIT равен X, Y, Z, E0 и любых дополнительных экструдеров.
Где:
X — шаги на мм для оси X.
Y — шаги на мм для оси Y.
Z — шаги на мм для оси Z.
E — шаги на мм для экструдеров.
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80.00, 80.00, 400.00, 93 }
DEFAULT_MAX_FEEDRATE
УСКОРЕНИЕ
Параметр DEFAULT_MAX_ACCELERATION в прошивке Marlin
#define DEFAULT_MAX_ACCELERATION { 500, 500, 100, 1000 }
DEFAULT_MAX_ACCELERATION — это директива в прошивке Marlin, определяющая максимальное ускорение для каждой оси 3D-принтера. Значения задаются в миллиметрах в секунду в квадрате (мм/с²) и влияют на то, насколько быстро принтер может увеличивать скорость при движении.
Формат Директивы
Директива задается в файле конфигурации Configuration.h следующим образом:
#define DEFAULT_MAX_ACCELERATION {X, Y, Z, E}
Где:
X — максимальное ускорение для оси X.
Y — максимальное ускорение для оси Y.
Z — максимальное ускорение для оси Z.
E — максимальное ускорение для экструдеров.
#define DEFAULT_ACCELERATION 500
DEFAULT_ACCELERATION — это параметр в прошивке Marlin, который определяет стандартное ускорение для всех движений принтера, включая печать и перемещение без экструзии. Указанное значение влияет на то, насколько быстро принтер может увеличивать скорость при движении, что напрямую сказывается на качестве печати.
#define DEFAULT_ACCELERATION <значение>
Где <значение> указывается в миллиметрах на секунду в квадрате (мм/с²).
#define DEFAULT_RETRACT_ACCELERATION 1000
DEFAULT_RETRACT_ACCELERATION — это параметр в прошивке Marlin, который определяет максимальное ускорение экструзии при выполнении операций обратной экструзии (ретракции). Этот параметр важен для управления тем, насколько быстро экструдер может втягивать филамент обратно в сопло, что помогает предотвратить такие проблемы, как капли или нити на модели.
#define DEFAULT_TRAVEL_ACCELERATION 1000
DEFAULT_TRAVEL_ACCELERATION — это параметр в прошивке Marlin, который определяет максимальное ускорение для перемещений без экструзии (т. е. перемещений между слоями). Этот параметр важен для управления тем, насколько быстро принтер может перемещаться в пространстве, не экструдируя филамент, что позволяет сократить время простоя между слоями и повысить общую скорость печати.
Junction Deviation Factor - Отклонение при переходе
Отклонение при переходе — это параметр, используемый в 3D-печати, в частности в прошивке Marlin, для улучшения планирования движения во время печати. Он заменяет традиционные настройки рывков, позволяя более динамически регулировать скорость прохождения поворотов в зависимости от ускорения и углов поворота.
Хотя Creality установил значение 0.08, но значение 0.054 работает хорошо.
#if DISABLED(CLASSIC_JERK)
#define JUNCTION_DEVIATION_MM 0.054
#define JD_HANDLE_SMALL_SEGMENTS
#endif
Влияние на Печать
Плавность движения: меньшие значения JUNCTION_DEVIATION_MM приводят к более медленному движению принтера при поворотах, что может улучшить качество печати, но замедлить скорость. Слишком маленькие значения могут вызвать проблемы с недостаточной экструзией на углах.
Скорость печати: увеличение этого значения позволяет принтеру быстрее проходить углы, но может привести к вибрациям и артефактам на поверхности печати, таким как «звон» (резонансные эффекты).
JD_HANDLE_SMALL_SEGMENTS — это параметр в прошивке Marlin, который управляет обработкой небольших сегментов при выполнении движений. Включение этой опции позволяет принтеру использовать оценку кривизны вместо простого угла стыка для малых сегментов (менее 1 мм) с большими углами стыка (более 135°).
Оценка кривизны: при включении этой опции Marlin будет учитывать кривизну сегментов, что позволяет более точно управлять движением экструдеров на малых сегментах. Это помогает избежать резких изменений скорости и улучшает плавность печати.
Улучшение качества печати: использование кривизны может снизить вероятность возникновения «дрожи» (резких колебаний) на кривых и углах, что, в свою очередь, улучшает качество печати.
Не забудьте перепроверить, что CLASSIC_JERK отключен.
//#define CLASSIC_JERK
Настройки подключения датчика автоуровня в Marlin
При подключении всех проводов зонда к интерфейсу Z-Probe необходимо отключить
Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
и включить опцию USE_PROBE_FOR_Z_HOUMING.
#define USE_PROBE_FOR_Z_HOMING
Затем установите для Z_MIN_PROBE_PIN значение PC14, в то время как номер Z_MIN_PROBE_PIN присутствует в файле PIN-кода материнской платы. Тем не менее, пусть будет.
#define Z_MIN_PROBE_PIN PC14
Если у вас возникли проблемы с неправильной работой датчика, существует альтернативный метод.
Можно использовать соединение Z-STOP для датчика.
Например, черный и белый провода BLTouch подключаются к Z_Min_Endstop.
Тогда необходимо включить параметр Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN, а USE_PROBE_FOR_Z_HOMING и Z_MIN_PROBE_PIN необходимо отключить.
//#define USE_PROBE_FOR_Z_HOMING#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN//#define Z_MIN_PROBE_PIN PC14
Если это датчик в стиле BLTouch или 3DTouch, его необходимо определить как BLTouch.
#define BLTOUCH
NOZZLE_TO_PROBE_OFFSET
Значения NOZZLE_TO_PROBE_OFFSET
Настройка параметра NOZZLE_TO_PROBE_OFFSET может вызвать путаницу и привести к проблемам с выравниванием, особенно если не понимать, как правильно измерять расстояния между зондом и соплом. Однако, при наличии базовых знаний, этот параметр можно легко настроить.
Что такое NOZZLE_TO_PROBE_OFFSET?
Параметр NOZZLE_TO_PROBE_OFFSET определяет расстояния от зонда до сопла в трехмерном пространстве. Для его настройки необходимо выполнить следующие измерения:
Смещение по оси X: Определите, насколько левее (-) или правее (+) расположен зонд относительно сопла. Если зонд находится слева от сопла, укажите отрицательное значение; если справа — положительное.
Смещение по оси Y: Измерьте, насколько впереди (-) или позади (+) находится зонд относительно сопла. Если зонд находится ближе к передней части принтера, укажите отрицательное значение; если дальше — положительное.
Смещение по оси Z: Установите начальную высоту Z, где отрицательное значение (-) означает, что зонд ближе к столу, а положительное значение (+) — что он дальше от стола. Однако смещение Z обычно устанавливается позже, когда выровнен первый слой.
Пример настройки
Каждое из этих измерений влияет на значение NOZZLE_TO_PROBE_OFFSET, которое задается в следующем формате:#define NOZZLE_TO_PROBE_OFFSET { X, Y, Z}
Здесь X, Y и Z представляют собой значения, которые вы измерили. Обратите внимание, что буквы используются только для иллюстрации и не должны восприниматься как конкретные значения.
Рассмотрим более реалистичный сценарий. Допустим, сопло расположено на 40 мм левее зонда, на 6 мм впереди, а смещение Z оставлено равным 0 для последующей настройки. В этом случае вы можете задать параметр следующим образом:.
#define NOZZLE_TO_PROBE_OFFSET { -40, -6, +0.00}
PROBING_MARGIN
PROBING_MARGIN — это параметр в прошивке Marlin, который определяет границы для точек зондирования при автоматическом выравнивании стола. Он устанавливает минимальное расстояние от краев печатной платформы, на котором зонд может проводить измерения, что помогает избежать проблем с зондированием вблизи краев стола.
Поле зондирования - это простая опция для настройки.
По умолчанию размер PROBING_MARGIN равен 10 мм, что является хорошей отправной точкой для большинства применений. если не использовать зажимы для крепления платформы к нагреваемому столу.
В случае когда зажимы используются нужно увеличить расстояние зондирования от 25 мм.
#define PROBING_MARGIN 25
ИНВЕРСИЯ НАПРАВЛЕНИЯ ДВИЖЕНИЯ
Для 3D-принтеров Creality Ender 3, Ender 3 Pro и Ender 3V2 направление шага BTT SKR Mini E3 V3 настраивается инвертируется, как показано ниже.
#define INVERT_X_DIR true
#define INVERT_Y_DIR true
#define INVERT_Z_DIR false...#define INVERT_E0_DIR true
Но если шаговый двигатель движется в неправильном направлении, измените направление шагового привода экструдера, с true на false.
РАЗМЕР платформы (стола)
X_BED_SIZE и Y_BED_SIZE — это параметры в прошивке Marlin, которые определяют размеры печатной платформы (стола) по осям X и Y. Эти значения критически важны для корректной работы 3D-принтера, так как они помогают прошивке правильно интерпретировать границы печати и управлять движением экструдеров.
Для 3D-принтеров Creality Ender 3 размер СТОЛА составляет 235x235 мм при Z-образной высоте 250 мм.
#define X_BED_SIZE 235#define Y_BED_SIZE 235...#define Z_MAX_POS 250
MIN_SOFTWARE_ENDSTOPS - Виртуальные Конечные Точки в Прошивке Marlin
В прошивке Marlin существуют виртуальные конечные точки, которые работают на программном уровне. Однако они не заменяют физические конечные точки.
MIN_SOFTWARE_ENDSTOP_Z — это параметр в прошивке Marlin, который активирует использование программных конечных точек для оси Z. Когда этот параметр включен, он ограничивает движение оси Z, предотвращая ее опускание ниже заданного минимального значения.
При отключении параметра MIN_SOFTWARE_ENDSTOP_Z следует соблюдать особую осторожность при настройке датчика автоуровня. Без этого программного ограничения ось Z может опускаться ниже установленного уровня, что может привести к нескольким проблемам:
- Сопло упирается в платформу: если экструдер опустится слишком низко, сопло может упереться в печатную платформу. Это может привести к повреждению как сопла, так и самой платформы.
- Неисправности оборудования: постоянное давление сопла на платформу может привести к механическим повреждениям принтера, включая проблемы с шаговыми двигателями и рамой.
Однако при включении параметра MIN_SOFTWARE_ENDSTOP_Z могут возникнуть сложности в работе датчика автоуровня так как этот параметр не позволяет оси Z опускаться ниже установленного значения MIN_SOFTWARE_ENDSTOP_Z. Поэтому эту опцию лучше отключить.
//#define MIN_SOFTWARE_ENDSTOP_Z
ВЫРАВНИВАНИЕ
Для тех, у кого есть датчик автоуровня и кто новичок в автоматическом выравнивании платформы, AUTO_BED_LEVELING_BILINEAR - подойдет для начала.
#define AUTO_BED_LEVELING_BILINEAR
AUTO_BED_LEVELING_BILINEAR — это параметр в прошивке Marlin, который активирует режим автоматического выравнивания стола с использованием билинейной интерполяции. Этот метод позволяет принтеру измерять поверхность стола в нескольких точках и создавать сетку, которая отображает неровности и дефекты на печатной платформе.
Имеет смысл включить выравнивание стола после G28, но по умолчанию это отключено.
Для этого, необходимо активировать опцию RESTORE_LEVELING_AFTER_G28.
#define RESTORE_LEVELING_AFTER_G28
этот параметр в прошивке Marlin, позволяет автоматически восстанавливать состояние автоуровня стола после выполнения команды G28. По умолчанию после выполнения G28 уровень стола отключается, и эта опция помогает избежать необходимости снова включать его вручную.
Когда дело доходит до выравнивания слоя на 3D-принтере, количество точек, измеренных на печатном слое, образует сетку.
Однако значение по умолчанию 3 для большинства 3D-принтеровнемного занижено.
В результате для большинства принтеров идеально подойдет сетка размером 5 × 5 точек.
#define GRID_MAX_POINTS_X 5 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
Z_SAFE_HOMING
Наконец, последняя опция, которую следует включить для выравнивания с помощью зонда, - это опция Z_SAFE_HOMING. Критически важно, чтобы датчик выравнивания не пытался установить его на край, где под ним может не оказаться стола. Без этого он продолжал бы опускать ось Z и потенциально повреждал принтер.
#define Z_SAFE_HOMING
Z_SAFE_HOMING: Этот параметр используется для обеспечения безопасного хоминга оси Z. Он особенно полезен в следующих случаях:
Автоматические зондирования: Если у вас установлен автоматический зонд (например, BLTouch), безопасный хоминг гарантирует, что зонд будет перемещен в безопасное положение перед тем, как начать хоминг оси Z.
Избежание столкновений: Он помогает избежать столкновений между соплом и печатной платформой, особенно если сопло находится на определенной высоте, когда принтер начинает хоминг.
Как это работает:
Когда Z_SAFE_HOMING включен, прошивка перемещает ось X в заданное безопасное положение (обычно в центр платформы) перед тем, как выполнить хоминг оси Z. Это позволяет зондировать платформу в безопасной позиции, что минимизирует риск повреждения сопла или платформы.
EEPROM
EEPROM (электрически стираемая программируемая память только для чтения) — это тип памяти, используемый в прошивке Marlin для хранения настроек 3D-принтера. Эта память сохраняет данные даже при отключении питания, что позволяет принтеру загружать настройки при следующем включении.
Возможность изменять и сохранять настройки 3D-принтера важна, однако по умолчанию эта опция отключена.
Таким образом, нам нужно найти и включить опцию EEPROM_SETTINGS.
Кроме того, чтобы мы могли обмениваться данными с прошивкой, включите параметр EEPROM_CHITCHAT.
#define EEPROM_SETTINGS
следующий параметр который управляет выводом сообщений о состоянии EEPROM через последовательный порт. Включение этой опции позволяет принтеру отправлять информацию о сохраненных изменениях и текущих настройках в консоль, что может быть полезно для пользователей, желающих отслеживать изменения.
#define EEPROM_CHITCHAT
EEPROM_CHITCHAT — это параметр в прошивке Marlin, который управляет выводом сообщений о состоянии EEPROM через последовательный порт. Включение этой опции позволяет принтеру отправлять информацию о сохраненных изменениях и текущих настройках в консоль, что может быть полезно для пользователей, желающих отслеживать изменения.
Более подробно для чего это нужно можно прочитать тут.
ПОДДЕРЖКА - SDSUPPORT
Хотя технически оно связано с настройками дисплея для графических дисплеев со слотами для SD-карт.
Тем не менее, это требование многих материнских плат.
Важно отметить, что, поскольку оно не имеет побочных эффектов, его все равно стоит включить.
#define SDSUPPORT
SDSUPPORT — это параметр в прошивке Marlin, который активирует поддержку SD-карт для 3D-принтера. Включение этой опции позволяет принтеру считывать файлы G-кода с SD-карты, что делает процесс печати более удобным и независимым от подключения к компьютеру.
ДИСПЛЕИ
Для тех, кто использует оригинальные Creality Ender 3 и Ender 3 Pro,необходимо включить CR10_STOCKDISPLAY.
#define CR10_STOCKDISPLAY
- Конфигурация_adv.h -
Настройка Configuration_adv.h в Marlin для материнской платы 3D-принтераBTT SKR Mini E3 V3
BLTouch
BLTOUCH_DELAY, как правило, нуждается в настройке. Но насколько? Это зависит от датчика. Например, в оригинальном Antclabs BLTouch задержка в 200 мс идеально работает. Для некоторых клонов требовалось до 750 мс, прежде чем щуп мог быть развернут и проводить последовательные измерения.
#define BLTOUCH_DELAY 200
Оригинальный BLTouch версии 3 или выше лучше работает с источником питания 5 В, который BTT SKR Mini E3 V3 подает через соединение Z-PROBE. Таким образом, необходимо включить режим BLTOUCH_SET_5V_MODE в Marlin.
#define BLTOUCH_SET_5V_MODE
Но для тех, кто использует зонд BLTouch версии ниже версии 3. Или если вы не уверены в рабочем напряжении, отключите настройку 5 В, оставив косые черты перед параметром.
//#define BLTOUCH_SET_5V_MODE
Кроме того, высокоскоростной режим BLTouch - это еще одна опция, которая хорошо работает с Antclabs BLTouch probes версии V3 или выше. Несмотря на то, что BLTouch обычно используется для принтеров типа Delta, при включенном этом режиме он кажется более надежным.
#define BLTOUCH_HS_MODE
Объяснение:
#define BLTOUCH_SET_5V_MODE: Эта строка активирует режим работы BLTouch на 5 вольт. Это может быть важно для совместимости с некоторыми контроллерами и для обеспечения правильной работы датчика. В некоторых случаях BLTouch может работать на 3.3 вольта, но использование 5 вольт может обеспечить более стабильную работу и лучшую совместимость с определенными платами.
Как это работает:
Совместимость: Включение этой опции может быть необходимо, если ваш контроллер или плата управления требует, чтобы BLTouch работал в 5-вольтовом режиме. Это может помочь избежать проблем с совместимостью и обеспечить надежную работу датчика.
Настройка: Если вы используете BLTouch с контроллером, который поддерживает 5-вольтовый режим, вам нужно будет раскомментировать эту строку, чтобы активировать соответствующую настройку.
ПОДДЕРЖКА ДЛИННЫХ ИМЕН ФАЙЛОВ
Удобно читать длинные имена файлов при подключении к 3D-принтеру через USB-кабель. То же самое касается прокрутки длинных имен файлов на ЖК-дисплее.
Эта строка активирует поддержку длинных имен файлов на стороне хоста. Это означает, что прошивка будет поддерживать файлы с именами, превышающими стандартные ограничения (обычно 8.3 формат, где имя файла состоит из 8 символов, а расширение — из 3). Это позволяет использовать более описательные имена файлов для моделей, что может быть полезно для удобства пользователя.
#define LONG_FILENAME_HOST_SUPPORT
...
#define SCROLL_LONG_FILENAMES
#define SCROLL_LONG_FILENAMES: эта строка активирует функцию прокрутки длинных имен файлов на дисплее принтера. Если имя файла слишком длинное, чтобы поместиться на экране, оно будет прокручиваться, позволяя пользователю видеть полное имя файла. Это улучшает пользовательский интерфейс, особенно если у вас много файлов с длинными именами.
ПОДКЛЮЧЕНИЕ К SD-КАРТЕ
Для использования встроенного слота для SD-карт необходимо включить опцию #define SDCARD_CONNECTION и установить ее в положение ONBOARD.
#define SDCARD_CONNECTION ONBOARD
Даже если вместо встроенного дисплея используется ЖК-дисплей, прошивку необходимо будет обновлять через встроенный слот для SD-карты материнской платы.
#define SDCARD_CONNECTION ONBOARD: Эта строка указывает, что SD-карта подключена непосредственно к плате управления (на борту). Это означает, что принтер будет использовать встроенный слот для SD-карты, который находится на плате управления.
Альтернативные настройки: Если бы вы использовали внешний считыватель SD-карт или другой способ подключения, вы могли бы использовать другую настройку, например, #define SDCARD_CONNECTION EXT0 или #define SDCARD_CONNECTION EXT1, в зависимости от конфигурации вашего оборудования.
Baby stepping
Что такое мелкие шаги? Это функция в прошивке 3D-принтеров, которая позволяет пользователю вносить небольшие изменения в позицию оси Z (или других осей, если это поддерживается) во время печати. Эта функция особенно полезна для настройки высоты сопла относительно печатной платформы, что может значительно повлиять на качество печати, особенно на первом слое.
В данном случае позволяет точно регулировать высоту Z. Таким образом, первый слой может быть точно настроен для получения отличного первого слоя и оптимального прилипания к платформе.
#define BABYSTEPPING
УПРАВЛЕНИЕ МЕЛККИМИ ШАГАМИ
Строка #define BABYSTEP_WITHOUT_HOMING в прошивке Marlin активирует возможность использования функции "baby stepping" (мелкие шаги) без необходимости предварительного хоминга (определения начального положения) осей.
Поэтому имеет смысл включить функцию BABYSTEP_WITHOUT_HOUMING
#define BABYSTEP_WITHOUT_HOMING
Удобство: Пользователь может быстро вносить изменения в высоту сопла во время печати, не выполняя хоминг, что экономит время.
Гибкость: Если принтер уже находится в рабочем состоянии и пользователь знает, что сопло находится на правильной высоте, он может сразу использовать baby stepping.
ДОСТУПНОСТЬ ОПЦИИ МЕЛКИЕ ШАГИ
Строка #define BABYSTEP_ALWAYS_AVAILABLE в прошивке Marlin активирует функцию "baby stepping" (мелкие шаги) в любое время, а не только во время движения оси.
#define BABYSTEP_ALWAYS_AVAILABLE
define BABYSTEP_ALWAYS_AVAILABLE: Эта строка позволяет использовать функцию "baby stepping" в любое время, даже если принтер не движется. Это означает, что пользователь может вносить изменения в высоту сопла, не дожидаясь, пока ось Z начнет движение.
Использование миллиметров в качестве единиц измерения для величины "baby step"
#define BABYSTEP_MILLIMETER_UNITS: Эта строка активирует использование миллиметров в качестве единиц измерения для величины "baby step". Это означает, что пользователь будет задавать величину каждого "baby step" в миллиметрах, а не в микро шаге или других единицах. Это делает настройку более интуитивной и понятной для большинства пользователей, так как миллиметры являются стандартной единицей измерения в 3D-печати.
#define BABYSTEP_MILLIMETER_UNITS
Настройка величины: При использовании этой опции, величина каждого "baby step" будет определяться в миллиметрах. Например, если вы установите величину "baby step" на 0.1 мм, это будет означать, что каждый шаг будет перемещать ось на 0.1 мм вверх или вниз.
Величина одного "baby step"
BABYSTEP_MULTIPLICATOR_Z: Этот параметр определяет, сколько миллиметров (или микро шагов, в зависимости от настроек) будет перемещаться ось Z при каждом "baby step". Например, если вы установите BABYSTEP_MULTIPLICATOR_Z на 0.01, это будет означать, что каждый "baby step" будет перемещать ось Z на 0.01 мм (или 10 микрон).
Начните со значения 0,01 и посмотрите, как у вас получится.
#define BABYSTEP_MULTIPLICATOR_Z 0.01
Запуск функции "baby stepping" двойным нажатием
#define DOUBLECLICK_FOR_Z_BABYSTEPPING: Эта строка активирует функцию, при которой для начала "baby stepping" требуется двойное нажатие кнопки. Это может помочь избежать случайных изменений высоты сопла, которые могут произойти при одиночном нажатии.
#define DOUBLECLICK_FOR_Z_BABYSTEPPING
Для быстрого входа в режим"baby stepping" , дважды нажмите на энкодер в любой момент, даже в ходе печати.
BABYSTEP_ZPROBE_OFFSET
Для тех, кто использует датчик для выравнивания платформы, BABYSTEP_ZPROBE_OFFSET объединяет смещение датчика по оси Z(M851) с настройками, выполняемыми в режиме BABYSTEPPING. #define BABYSTEP_ZPROBE_OFFSET: Эта строка активирует возможность комбинирования команд M851 (которая используется для установки Z-отступа) и функции "baby stepping". Это позволяет пользователю вносить изменения в Z-оффсет во время печати, используя "baby stepping".
#define BABYSTEP_ZPROBE_OFFSET
BABYSTEP ZPROBE GFX OVERLAY (визуализация)
Хотя это и не является обязательной опцией, BABYSTEP_ZPROBE_GFX_OVERLAY помогает визуализировать регулировки положения микрошага и направление, в котором их следует регулировать.
#define BABYSTEP_ZPROBE_GFX_OVERLAY
Как это работает: Когда эта опция активирована, на экране управления принтером будет отображаться информация о текущем Z-отступе и любых изменениях, внесенных с помощью функции "baby stepping". Это позволяет пользователю видеть, как изменения влияют на высоту сопла в реальном времени.
Удобство: Графический оверлей делает процесс настройки более интуитивным и удобным, так как пользователь может сразу видеть результаты своих действий, что может помочь в достижении лучшего качества печати.
Linear Advance
linear advance предлагает множество преимуществ, но эта функция не всегда хорошо работает с настройками Bowden.define LIN_ADVANCE.
#define LIN_ADVANCE
Эта строка активирует функцию Linear Advance в прошивке Marlin. После активации этой функции, принтер будет использовать алгоритм Linear Advance для управления экструзией, что может привести к улучшению качества печати, особенно на углах и при резких изменениях направления.
Параметры: Для использования Linear Advance необходимо также настроить параметры, такие как коэффициент линейного продвижения (K-factor). Этот коэффициент определяет, насколько сильно экструдер должен реагировать на изменения скорости. Обычно его нужно настраивать в зависимости от используемого филамента и конфигурации принтера.
Улучшение качества печати: Linear Advance помогает уменьшить проблемы с экструзией, такие как "переполнение" или "недостаток" филамента, что может привести к более четким и аккуратным деталям, особенно на высоких скоростях печати.
Для начала установите установите значение LIN_ADVANCE_K равным нулю.
#define LIN_ADVANCE_K 0.00
Затем в будущем необходимо узнать какое значение K-factor указать. Для этого нужно сгенерировать G-code.
Тут можно сразу пойти на сайт K-factor Calibration Pattern или на сайт. Для понимания всего процесса лучше ознакомиться со статьей K3D калибровщик Linear Advance и Избавляемся от наплывов на углах или Linear Advance.
ПОВТОРНЫЕ ПОПЫТКИ ЗОНДИРОВАНИЯ
Иногда зондирование может пройти с ошибкой. Опция G29_RETRY_AND_RECOVER удобна, поскольку она автоматически повторит попытку прощупать платформу, экономя время и взаимодействие с пользователем.
#define G29_RETRY_AND_RECOVER
#define G29_RETRY_AND_RECOVER в прошивке Marlin используется для улучшения процесса выравнивания платформы, позволяя принтеру пытаться восстановиться после сбоев при зондировании во время выполнения команды G29. Эта функция особенно полезна для пользователей, применяющих системы автоматического выравнивания платформы, такие как BLTouch или другие датчики, поскольку она помогает обеспечить успешное завершение процесса выравнивания даже при незначительных сбоях при зондировании.
Другими словами когда эта функция активирована, если зонд не может выполнить измерение, прошивка будет пытаться повторить команду G29 несколько раз, прежде чем завершить процесс с ошибкой. Это может помочь избежать проблем, связанных с временными сбоями или неправильной работой зонда.
ARC_SUPPORT
Строка #define ARC_SUPPORT в прошивке Marlin активирует поддержку арок (ARC) в G-коде. Это позволяет 3D-принтеру интерпретировать команды, которые описывают дуги и круги, что может улучшить качество печати и уменьшить количество команд, отправляемых на принтер.
Включено по умолчанию. Если не требуется по причине того, что Ваш слайсер не поддерживает движение по дуге или кругу лучше отключить. В результате отключение этой опции экономит 3226 байт памяти, которую лучше использовать в других целях.
//#define ARC_SUPPORT
БУФЕРЫ
Буферы, используемые для будущих перемещений, немного занижены. Тем не менее, можно их немного увеличить, как показано ниже.
#if BOTH(SDSUPPORT, DIRECT_STEPPING) #define BLOCK_BUFFER_SIZE 32 #elif ENABLED(SDSUPPORT) #define BLOCK_BUFFER_SIZE 64 #else #define BLOCK_BUFFER_SIZE 64 #endif
#if BOTH(SDSUPPORT, DIRECT_STEPPING): Эта строка проверяет, включены ли оба параметра: поддержка SD-карт (SDSUPPORT) и прямое управление шаговыми двигателями (DIRECT_STEPPING). Если оба параметра активированы, будет использоваться размер буфера 32.
#elif ENABLED(SDSUPPORT): Если только поддержка SD-карт активирована, будет использоваться размер буфера 64.
#else: Если ни один из предыдущих условий не выполнен (то есть, если поддержка SD-карт не активирована), также будет использоваться размер буфера 64.
TX_BUFFER_SIZE
#define TX_BUFFER_SIZE 128
Строка #define TX_BUFFER_SIZE 128 в прошивке Marlin определяет размер буфера передачи (TX buffer size) для последовательной связи. Этот буфер используется для хранения данных, которые отправляются от прошивки к внешним устройствам, таким как компьютер или контроллер.
Передача данных: Когда прошивка отправляет данные (например, команды G-кода или сообщения о состоянии принтера), они помещаются в TX буфер. Если буфер заполнен, новые данные будут ждать, пока не освободится место.
ТОК ШАГОВОГО ДРАЙВЕРА TMC
Сначала установите ток для каждого шагового драйвера на уровне 600 мА. Если качество печати выглядит удовлетворительно, постепенно уменьшайте это значение до тех пор, пока не произойдёт смещение слоёв. После этого увеличьте ток примерно на 10 мА, чтобы обеспечить некоторый запас прочности и избежать смещения слоёв.
В целом рекомендуется использовать шаговые драйверы с меньшим током, чтобы предотвратить перегрев и связанные с ним проблемы со смещением слоёв.
Тем не менее, ток должен оставаться достаточным для надёжного переноса веса оси.
В приведённом ниже примере для шагового драйвера по оси X текущее значение установлено на 580 мА.
#if HAS_TRINAMIC_CONFIG ... #if AXIS_IS_TMC(X) #define X_CURRENT 580#define X_CURRENT_HOME X_CURRENT #define X_MICROSTEPS 16 #define X_RSENSE 0.11 #define X_CHAIN_POS -1
STEALTHCHOP
Директива #define STEALTHCHOP_XY в прошивке Marlin включает технологию Trinamic StealthChop для шаговых двигателей X и Y. Эта функция предназначена для снижения шума, создаваемого двигателями во время работы, особенно на низких скоростях, за счет использования ШИМ-напряжения вместо тока, что обеспечивает более плавное и тихое движение.
Функциональность: при активации StealthChop обеспечивает практически бесшумную работу шаговых двигателей на низких скоростях. Если требуется, чтобы двигатели работали на более высоких скоростях, прошивка может переключиться на другой режим шагового двигателя под названием SpreadCycle, который больше подходит для быстрых движений, но может быть более шумным.
Гибридный режим: Marlin поддерживает гибридный режим, который автоматически переключается между StealthChop и SpreadCycle в зависимости от заданных пользователем пороговых значений скорости. Это означает, что на низких скоростях двигатели будут работать тихо, а на высоких скоростях они переключатся в более агрессивный шаговый режим для поддержания производительности.
Общие проблемы: пользователи сообщали о трудностях с отключением StealthChop или эффективным переключением между режимами. Например, некоторые конфигурации могут не обеспечивать плавный переход между StealthChop и SpreadCycle, что приводит к повышенному шуму или механическим проблемам во время работы
Включение STEALTHCHOP_XY может значительно снизить уровень шума вашего 3D-принтера во время работы, но может потребовать тщательной настройки и тестирования для обеспечения оптимальной производительности на разных скоростях.
#define STEALTHCHOP_XY
#define STEALTHCHOP_Z
//#define STEALTHCHOP_E
TMC SpreadCycle
В настоящее время во многих системах используются блоки питания напряжением 24 В. В Marlin может быть установлено значениеCHOPPER_TIMING на 12 В, и многие новички часто упускают его из виду. Но крайне важно правильно установить параметрCHOPPER_TIMING, поскольку это влияет на режим SpreadCycle™ драйверов шаговых устройств TMC.
#define CHOPPER_TIMING CHOPPER_DEFAULT_24V
#define CHOPPER_TIMING CHOPPER_DEFAULT_24V в прошивке Marlin используется для настройки параметров синхронизации драйверов шаговых двигателей при работе от источника питания 24 В. Эта настройка имеет решающее значение для оптимизации работы шаговых двигателей в 3D-принтерах.
MONITOR_DRIVER_STATUS - МОНИТОРИНГ СОСТОЯНИЯ
Прошивка Marlin может автоматически отслеживать температуру драйверов шаговых двигателей TMC. Если драйверы перегреваются, прошивка автоматически снижает подаваемый на них ток до заранее установленного значения. По умолчанию это значение составляет 50 мА, но его можно увеличить или уменьшить в зависимости от ваших потребностей.
Лично мне не приходилось изменять величину, на которую параметр CURRENT_STEP_DOWN снижает текущее значение. Этот вариант текста более структурирован и легче воспринимается.
#define MONITOR_DRIVER_STATUS #if ENABLED(MONITOR_DRIVER_STATUS) #define CURRENT_STEP_DOWN 50 // [mA] #define REPORT_CURRENT_CHANGE #define STOP_ON_ERROR #endif
HYBRID_THRESHOLD
Ранее обсуждалась опция stealthChop™, при которой она была отключена для экструдера. Однако с помощью параметра HYBRID_THRESHOLD можно установить скорость, при превышении которой шаговые драйверы переключаются с тихого режима stealthChop™ на более мощный SpreadCycle™.
Если ось X перемещается быстрее, чем установленное значение по умолчанию — 100 мм/с, она автоматически переключается в режим SpreadCycle™, что приводит к увеличению уровня шума. Поскольку не существует универсальных значений для настройки, требуется индивидуальная настройка для каждого принтера.
Значение 15 мм/с подходит для параметра Z_HYBRID_THRESHOLD.
#define Z_HYBRID_THRESHOLD 15
#define Z_HYBRID_THRESHOLD 15 в прошивке Marlin используется для установки порогового значения скорости при переходе между различными режимами шагового двигателя, в частности для оси Z. Этот параметр является частью функции гибридного шагового режима, которая позволяет прошивке переключаться между режимами StealthChop™ и SpreadCycle™ в зависимости от скорости движения по оси Z.
Лично я пробовал использовать эту настройку но со временем ее отключил. На маленьких скоростях это не имеет значения, а вот звуки при переходе в шумный режим принтер издает страшные :))). По началу вообще думал, что что то где то не смазано или цепляется.
На этом все. Надеюсь кому то поможет. А господа хейтеры могут приступать к творчеству.
Еще больше интересных статей
Старые модели Anycubic и новый ChituBox
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Elegoo Neptune 4 Plus альтернативный и более простой способ замены сопла
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
G-CODE по-русски для 3D печати (Мини-справочник)
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
Вентилятор охлаждения термораз...
Полезное замечание. Спасибо.
"тупить" ? Это так теперь назы...
Доброго времени суток. Произош...
Столкнулась с проблемой загиба...
Anycubic Kobra 2 neo, ужасно п...
Всем привет, понадобились дета...