Правильный Поток: Инструкция Калибровки Экструдера

Инструкция Калибровки Экструдера

Будь то E-шаги или rotation distance (расстояние вращения), Marlin или Klipper, калибровка экструдера имеет решающее значение для успешной печати. Вот как правильно его настроить.

Если вы подозреваете, что ваше устройство постоянно недоэкструдирует или переэкструдирует — как правило, это проявляется в виде зазоров между слоями, стенками и общей непрочностью отпечатков (недоэкструзия) или нечеткостью деталей и частым засорением сопла (переэкструзия) — причиной этого могут быть неправильные значения шага экструдера.

Обеспечение правильной настройки этого значения имеет решающее значение для успешной печати; это единственный способ узнать, что ваш принтер подает правильное количество нити в горячий конец во время печати. И хотя это может не быть полным решением ваших проблем с 3D-печатью (помимо неправильных значений шага экструзии может быть еще много других факторов), это базовый шаг для понимания и контроля вашей системы.

Ваш принтер и прошивка сильно влияют на то, нужно ли вам калибровать и изменять эти настройки. Современные принтеры, такие как Bambu Lab, закрывают доступ к этим значениям, но они также настолько строго контролируются, что вряд ли это будет вашей проблемой в первую очередь.

Ниже приведены шаги по корректировке калибровки экструдера в системах Marlin и Klipper; процесс измерения, расчета и настройки обычно прост — это вопрос наблюдения, процесса и ввода цифр. Просто знайте, что вам понадобятся следующие вещи, независимо от вашей прошивки.

Что требуется:

  • Кусок ненужного филамента: чтобы он был под рукой и соответствовал требуемой температуре, просто возьмите самый дешевый PLA (достаточно около 30 см).
  • Тонкий маркер: вам нужно будет четко разметить филамент.
  • Штангенциркуль: потребуется измерение.
  • Ручка и бумага/компьютер: вам нужно будет записать результаты измерений; если вы не находитесь за компьютером, который используете для настройки значений, то, конечно, можно просто записать их на листе бумаги.

Что такое шаги экструзии?

Различные прошивки называют эти значения по-разному. В Marlin это E-шаги. В Klipper — rotation distance; оба подхода похожи и относятся к одному и тому же: движение шагового двигателя, преобразующееся в ожидаемое движение в системе.

Калибровка E-шагов Marlin применяется специально к двигателю, который подает филамент в принтер — экструдеру. Klipper, в более широком смысле, группирует его со всеми другими двигателями, обеспечивающими движение.

Общим для всех них является то, что шаговые двигатели не меняются, независимо от того, толкают ли они нить или тянут ремень — им требуются электрические импульсы для вращения приводного вала, что в 3D-принтере преобразуется в линейное движение. Наша инструкция по шаговым двигателям и их назначению объясняет это более подробно.

Подготовка

Измерьте от входа экструдера
Измерьте от входа экструдера (Источник: All3DP)

Первый шаг зависит от того, калибруете ли вы 3D-принтер с прямым экструдером или экструдером Боудена. Начните с того, что выгрузите любой филамент из хотенда и удалите его из пути филамента.

Загрузка: экструдер Боудена

После извлечения филамента отсоедините трубку Боудена от пневматического фитинга экструдера. Когда экструдер будет свободен от трубок, вставьте один конец обрезка филамента, надавив на рычаг, чтобы он полностью прошел через экструдер.

Загрузка: прямой экструдер

Если ваш принтер имеет прямой экструдер, вы можете снять нагревательный блок и сопло с подающей трубки. (Оставьте их подключенными к источнику питания, но спрячьте в безопасное место, чтобы не обжечься и не повредить их.) Хотя это позволит вам впоследствии повторно использовать филамент, пропущенную через экструдер, и исключить возможность заторов или противодавления сопла, мешающего калибровке, это также доставляет массу хлопот. Если вы не против «потерять» остатки филамента в процессе, оставьте нагревательный элемент на месте и действуйте осторожно.

Маркировка филамента

Мы пропустим 100 мм филамента через экструдер. Однако перед этим необходимо отметить филамент на расстоянии 120 мм от входа в экструдер. Эта отметка должна быть, конечно же, на стороне «катушки» экструдера — мы подаем этот филамент так, как если бы он направлялся в горячий конец. Дополнительные 20 мм дают нам измеримую длину нити перед входом в экструдер, чтобы проверить наличие избыточной или недостаточной экструзии.

Совет: разные принтеры ведут себя по-разному: в зависимости от вашего устройства, прошивка принтера может блокировать команды ручной экструзии, пока принтер «холодный» — сопло должно быть выше определенной температуры (с учетом того, что он будет плавить филамент).

Если вы знаете, какую прошивку используете, можете сразу перейти к соответствующим разделам Marlin и Klipper. Сначала Marlin.

Marlin

Подключение к принтеру: Marlin

Изображение: Связь с принтером
Внимание, он может говорить только на машинном языке… (Источник: Reddit)

Здесь мы рассмотрим три способа подключения к принтеру и управления экструдером.

Последовательный интерфейс

Кабель USB для 3D-принтера
USB-кабель для подключения 3D-принтера. (Источник: All3DP)

Подключите принтер к компьютеру через USB или Wi-Fi (если ваш принтер поддерживает эту функцию). Откройте и подключите выбранное вами программное обеспечение для нарезки, которое позволяет отправлять однострочные команды G-кода на принтер. Если вы не используете сетевой интерфейс управления, такой как OctoPrint, то Pronterface является быстрой и несложной альтернативой.

В качестве альтернативы, с большинством принтеров на базе RAMPS и ATmega вы также сможете использовать Serial Monitor в Arduino IDE.

Включите «Relative Mode» на экструдере, отправив команду:

M83

…на принтер.

Метод с SD-картой

Изображение: SD-карты
Notepad++ — отличный инструмент для написания и редактирования G-кода (Источник: All3DP)

Для этого метода нам понадобится всего несколько строк G-кода. Его можно написать в стандартном блокноте или текстовом редакторе вашего компьютера.

Скопируйте весь приведенный ниже код в текстовый редактор. Не обращайте внимания на комментарии, следующие за командами — это просто подробный G-код (объясняющий сам себя). Более подробную информацию о каждой команде можно найти на веб-сайте Marlin — рекомендуется ознакомиться с соответствующим кодом, прежде чем вводить его в машину.

M83; Sets the extruder to relative movement

M18 S60; Keeps the steppers alive for an additional minute after extrusion

M109 T0 R200; Sets the active extruder and hot end temperature and waits for it to be achieved

G1 E100 F100; Extrudes 100 mm of filament at a rate of 100 mm per minute

G4 S90; Waits 90 seconds for the filament to finish extruding (otherwise extrusion stops when the hot end cools)

M104 S0; Sets hot end temperature to 0, but doesn't wait for it to be achieved

Сохраните файл с легко запоминающимся и узнаваемым именем (например, «ext_cal.gcode») на SD-карте.

Если у вас принтер с несколькими экструдерами, вам нужно будет изменить «T0» в команде M109 на правильный экструдер (например, M109 T1 R200). Сохраните отдельный файл для каждого экструдера — дайте им узнаваемые имена файлов (например, «left_ext_cal.gcode», «right_ext_cal.gcode»).

Измерение: Marlin

Обратите внимание на шумы и скрежет во время экструзии
Обратите внимание на шумы и скрежет во время экструзии (Источник: Reddit)

Теперь, используя любой способ связи с принтером, пора запустить филамент.

Последовательный интерфейс

Сначала отправьте:

M109 T0 R200

…чтобы выбрать экструдер 0 и предварительно нагреть соответствующий горячий конец до 200 градусов.

Затем отправьте команду:

G1 E100 F100

…на принтер. Это позволит медленно пропустить через экструдер 100 мм филамента со скоростью 100 единиц (миллиметров) в минуту.

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

Если у вас машина с несколькими экструдерами, вам нужно будет повторить этот шаг, заменив «T0» на соответствующий T-идентификатор каждого экструдера.

SD-карта

Просто вставьте SD-карту и выберите калибровочную печать «ext_cal.gcode». «Распечатайте» ее, как обычное задание на печать.

При использовании обоих методов следует внимательно наблюдать и слушать во время экструзии. Обратите особое внимание на проскальзывание или измельчение нити и пропущенные шаги (небольшие щелкающие звуки). Если они происходят, следует устранить эту проблему перед калибровкой экструдера.

Совет: используйте более длинный отрезок, но только если вы можете точно измерить его длину. Более длинный отрезок филамента, например 500 мм, даст более точный результат, но его сложнее измерить точно, и это может привести к большому расходу пластика. Если вы знаете, что можете точно измерить более длинный отрезок, измените значение «E» на количество миллиметров, которое вы собираетесь использовать (например, G1 E500 F100). Внимание: вы также можете увеличить скорость подачи, но в этом случае вы рискуете пропустить или превысить максимальную скорость потока PLA в сопло.

Измерьте еще раз

Измерьте до отметки!
Измерьте до отметки! (Источник: All3DP)

По завершении принтер должен был выдавливать ровно 100 мм нити. Чтобы проверить это, измерьте расстояние от точки входа нити в экструдер до отметки, которую вы сделали на нити.

Если измерение составляет 20 мм, ваш экструдер работает так, как положено, и вы можете оставить это руководство. Проблема с печатью лежит в другом.

Если измерение превышает 20 мм, ваш принтер, вероятно, страдает от недоэкструзии, и вам необходимо увеличить настройку шагов/мм. И, естественно, если измерение меньше 20 мм, принтер переэкструдирует и вам необходимо уменьшить настройку шагов/мм.

Рассчитать количество шагов на миллиметр: Marlin

Изображение: Рассчитайте правильное количество шагов на миллиметр
Не волнуйтесь, все не так сложно! (Источник: Medium)

Чтобы точно настроить экструдер, нам нужно определить текущее значение шага/мм принтера, а затем рассчитать правильное значение E-шага. Если это значение вам ранее не было известно, вам нужно либо получить его из пользовательского интерфейса принтера (если это возможно), либо связаться с принтером с помощью отправляющего G-кода.

Последовательный интерфейс

Отправьте команду:

M92…

на ваш принтер. В ответ вы получите строку значений. Найдите строку, начинающуюся с «echo: M92», а затем найдите значение E (обычно в конце этой строки). Это текущее значение шага/мм.

Если команда M92 не работает, возможно, у вас установлена старая прошивка. Попробуйте вместо нее команду «M503».

Расчет

  1. Сначала нам нужно узнать, сколько нити было фактически экструдировано. Мы можем найти это, вычитая расстояние от экструдера до отметки на нити из 120:
    • 120 – (ваше измерение) = (фактическая длина экструдированной нити)
  2. Затем нам нужно узнать, сколько шагов сделал экструдер, чтобы экструдировать такое количество нити. Мы можем определить это значение, умножив значение шагов/мм на длину, которую мы должны были экструдировать, в данном случае 100 мм:
    • (значение шагов/мм) x 100 = (сделанные шаги)
  3. Наконец, мы можем рассчитать правильное значение шагов/мм, разделив количество шагов на фактическую длину экструзии:
    • (количество шагов) / (фактическая длина экструзии) = (новое значение шагов/мм)

Теперь все, что нам нужно сделать, это установить это окончательное значение в качестве значения шагов/мм принтера.

Установка новых шагов на миллиметр: Marlin

Обновление значения E-step является простым и, как и большинство других шагов в этом процессе, выполняется с помощью команд G-кода.

Последовательный интерфейс

Чтобы установить новое значение шагов/мм, сначала отправьте команду:

M92 E###.#

…заменив символы решетки (#) новым значением шагов/мм, полученным в предыдущем шаге.

Чтобы сохранить это значение в памяти принтера, отправьте команду:

M500

На этом этапе лучше всего выключить и снова включить принтер и проверить, вступило ли изменение в силу.

Отправьте команду:

M92 (или M503)

…на принтер еще раз, чтобы проверить, возвращает ли он обновленное значение. Если нет, повторите первую часть этого шага.

SD-карта

Точно так же, как вы писали G-код для экструзии, если вы не используете последовательное соединение для работы с принтером, вам нужно будет написать небольшой фрагмент G-кода, сохранить его на карте и «распечатать», чтобы установить новое значение. Скопируйте следующее, не забыв изменить значение на новые шаги/мм:

M92 E###.# T0; Замените символы решетки (#) новым значением шагов/мм, полученным в предыдущем шаге.
M500; Сохраняет новое значение в EEPROM.

Сохраните это на SD-карту. Мы рекомендуем использовать имя файла с цифрой, например, «esteps_92-8.gcode», чтобы файл и информация были легко доступны при необходимости.

Убедитесь, что все работает: Marlin

Пришло время проверить калибровку!
Пришло время проверить калибровку! (Источник: Reddit)

Чтобы проверить, что значение E-шаги экструдера теперь правильное, повторите шаги с 1 по 4. На этот раз вы должны получить значение ровно 20 мм между экструдером и отметкой. Если нет, пересчитайте значение и сохраните его снова.

Вы также можете обнаружить, что при каждой калибровке вы устанавливаете систему по обе стороны от некоторой центральной точки. Если это происходит, установите значение шагов/мм на среднее значение ваших результатов и запустите тестовую печать. Если принтер печатает хорошо, калибровка не требуется.

Несколько экструдеров

Если у вас есть машина с несколькими экструдерами, она может не поддерживать несколько значений E-step. Если вы не создавали конфигурационный файл самостоятельно, узнать это из вашей машины невозможно. Хотя производитель должен быть в состоянии проконсультировать вас по этому вопросу, подсказкой может служить то, что после повторения шагов 1–4 все ваши экструдеры используют значение, которое вы установили для первого экструдера (T0).

Совет: существует обходной путь для нескольких экструдеров с использованием стартового G-кода. Если вы не можете настроить несколько экструдеров на системном уровне, вставьте M92 E###.# в стартовые G-коды каждого соответствующего экструдера (заменив # соответствующими значениями).

Альтернативный (нестандартный) метод

Контроллер ЖК-дисплея в Marlin 2.0 действительно очень удобен
Контроллер ЖК-дисплея в Marlin 2.0 действительно очень удобен (Источник: All3DP)

Вам не нравится писать G-код, но вы все же хотите обновить E-шаги? Если вы используете Marlin 2.0 с ЖК-экраном и контроллером, вам повезло!

Просто настройте филамент, как описано в шаге 1, предварительно нагрейте сопло и продвиньте экструдер на 100 мм. Будьте осторожны! При перемещении экструдер по умолчанию находится в абсолютном режиме и получает команды в том порядке, в котором вы их отправляете. Если вы переместитесь слишком далеко, а затем повернете назад, экструдер сделает то же самое.

После перемещения филамента найдите меню Motion (Движение). Здесь будет указано ваше текущее значение E-steps/mm (обычно внизу). Затем вы можете выполнить расчет, описанный в шаге 4. Если вам нужно новое значение, введите его в том же меню. Не забудьте сохранить новые значения, выбрав «Save values» (Сохранить значения) в следующем меню.

Повторяйте тест столько раз, сколько хотите. Этот метод перемещения чрезвычайно удобен для быстрой проверки калибровки и повторяемости движения экструдера.

Klipper

Подключение к принтеру: Klipper

Изображение: Подключение к принтеру: Klipper
Поиск по странице при просмотре файла конфигурации принтера позволяет быстро найти «rotation distance» (Источник: All3DP)

Как вы, вероятно, хорошо знаете, прошивка Klipper позволяет изменять значения и поведение принтера на лету, что делает ее гораздо более гибкой, чем Marlin. Таким образом, для определения расстояния вращения экструдера требуется меньше манипуляций с программным обеспечением.

Совет: перед началом теста калибровки загляните в текущий файл конфигурации принтера (printer.cfg — доступен через интерфейс браузера для принтера) и запишите текущее значение rotation_distance для экструдера. Оно понадобится вам позже при вычислении нового значения.

Включите принтер и подключите его к локальной сети, затем откройте интерфейс управления в браузере. Здесь вы можете напрямую управлять устройством, в том числе отправлять команды подачи экструдера и контролировать скорость экструзии.

Измерение: Klipper

Изображение: Измерение: Klipper
Можно переключить абсолютное позиционирование с помощью элементов управления подачей экструдера, чтобы обеспечить подлинную подачу 100 мм от экструдера в его текущем состоянии (Источник: All3DP)

Полностью загрузите филамент в экструдер. Она должна быть зацеплена шестернями экструдера. С помощью маркера отмерьте 120 мм от точки входа в экструдер и сделайте отметку на филаменте. Мы подадим 100 мм через экструдер, и после этого между экструдером и отметкой должно остаться 20 мм.

Веб-интерфейс – Инструменты

В веб-интерфейсе вашего принтера (на наших примерах показан Fluidd – ваш интерфейс может отличаться) установите температуру нагревателя на 200 °C и дайте ему время нагреться.

Как только температура достигнет нужного уровня, установите экструзию 100 мм нити со скоростью 5 мм/с или меньше. Скорость может быть любой, но 5 мм/с кажется достаточно низкой, чтобы избежать риска проскакивания или «проскальзывания» двигателя из-за высокого давления в сопле.

Веб-интерфейс – Терминал

Если в вашем веб-интерфейсе отсутствует прямой контроль экструдера и скорости экструдера, вы можете вместо этого отправить команды G-кода на принтер через терминал. Перед этим настройте нагрев нагревательного элемента до температуры, подходящей для используемой нити.

Ввод:

G91; устанавливает относительное позиционирование

…затем:

G1 E100 F100

Это команда принтеру подать 100 мм филамента со скоростью 100 мм/минуту. Опять же, точная скорость подачи довольно произвольна – нам просто нужно, чтобы она была достаточно медленной, чтобы избежать проблем с подачей, особенно если филамент проходит через горячий конец (это не касается экструдеров типа Боудена).

Измерение

Как только двигатель перестанет вращаться, возьмите штангенциркуль и снова измерьте расстояние от входа экструдера до вашей отметки. Если вы запросили 100 мм и начали с 120 мм, вы должны увидеть, что осталось ровно 20 мм. Если вы видите больше или меньше, запишите это число и приготовьтесь к быстрым вычислениям.

Расчет расстояния вращения: Klipper

Изображение: Расчет расстояния вращения: Klipper
Красивые аккуратные кольца точно экструдированного филамента — что может не понравиться? (Источник: All3DP)

К счастью, термин «математика» здесь играет важную роль — это простой расчет соотношения для корректировки заданного значения с учетом только что измеренного отклонения. Вот полная формула, но мы разберем ее по шагам ниже:

Новое расстояние вращения = текущее расстояние вращения * (фактическое расстояние / требуемое расстояние)

Расчет

  1. Во-первых, нам нужно знать, сколько нити было фактически экструдировано. Мы можем найти это, вычитая расстояние от экструдера до отметки на нити из 120:
    • 120 – (ваше измерение) = (фактическая длина экструдированного материала в мм)
  2. Следующее значение, которое нам нужно рассчитать, — это множитель, который мы получаем, деля фактическое расстояние на требуемое расстояние.
    • Фактическое расстояние / Требуемое расстояние
  3. Наконец, мы умножаем текущее расстояние вращения принтера, которое мы записали из конфигурации перед началом, на рассчитанный множитель
    • Текущее расстояние вращения * (фактическое расстояние / требуемое расстояние)

Используя наш пример: если ваша текущая конфигурация показывает 53,700, а экструдер прошел только 98 мм из требуемых 100 мм, то ваши вычисления будут 53,700 * (98 / 100), что даст вам новое значение 52,626.

Это новое число является исправленным расстоянием вращения экструдера. Официальная документация Klipper рекомендует округлять число до трех знаков после запятой.

Установите новое расстояние вращения: Klipper

Последний шаг — сделать изменение постоянным. Как и при поиске начального rotation distance (расстояния вращения) экструдера, снова откройте файл printer.cfg и перейдите к соответствующему разделу. Там обновите строку rotation_distance, введя новое рассчитанное значение.

Нажмите «Save & Restart» (Сохранить и перезапустить). Это перезагрузит конфигурацию и зафиксирует новые значения в системе.

Убедитесь, что все работает: Klipper

Конечно, вам следует проверить свою работу, поэтому повторите шаги 2-3, измерив филамент и «экструдировав» заданное количество.

На этот раз экструдер должен подавать ровно 100 мм филамента, оставляя 20 мм между входом экструдера и отметкой на филаменте.

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

Николай

Я всегда рад вашим комментариям, предложениям или новостям из первых уст.

Оцените автора
Добавить комментарий