Перейти к содержанию

K3D калибровщик Linear Advance

Описание

K3D Калибровщик Linear Advance генерирует G-code для подбора коэффициента Linear Advance1. Используется методика печати башенки с перепадом скоростей на гранях и ступенчато меняющимся по высоте коэффициентом LA. При этом методика оптимизирована таким образом, чтобы одновременно обеспечить и хорошую видимость результата, и чтобы печать проходила как можно быстрее.

Плюсы методики K3D

  • Коэффициент LA проверяется так, что почти полностью исключено влияение посторонних факторов (скругления углов из-за использования Input shaping`а2, недо- и переэкструзии и так далее);
  • Сегменты с разными значениями отделены выпирающими слоями, что упрощает съем данных с распечатанной модели;
  • При снятии показаний с модели надо смотреть только в одно место, а не сверять несколько показаний из разных мест;
  • Первый слой зигзагом обеспечивает надежное крепление модели во время печати;
  • Перед печатью модели делается прочистка экструдера, что увеличивает шанс успешной печати;
  • Калибратор доступен в виде веб-приложения, то есть может быть использован без предварительной установки;
  • Методика оптимизирована по скорости печати. Печать модели чаще всего занимает всего 10-15 минут;

Калибровка коэффициента LA/PA

Настройки

  1. Заходите на страницу калибратора;
  2. Перед вами будет список параметров, которые надо указать соответственно вашим обычным настройкам печати из слайсера;
  3. Слева от каждого параметра есть его название, которое соответствует названию с большинстве слайсеров;
  4. Справа есть подробное описание как параметр работает и какие значения стоит указывать;
  5. Все значения стоит указывать цифрами, в качестве разделителя можно использовать как точку, так и запятую;
  6. Введенные значения сохраняются в памяти браузера, так что можете не бояться закрыть или обновить страницу;
  7. Нажимаете на кнопку Генерировать и скачать

Если параметры в допустимых диапазонах

Если введенные вами значения параметров соответствуют допустимым диапазонам, то выведется окно скачивания файла и информационное окно внизу страницы.

Файл следует сохранить и распечатать на принтере привычным для вас методом. Перед печатью рекомендуется перезагрузить принтер чтобы избежать конфликта с ранее напечатанными файлами.

В информационном окне внизу страницы будут выведены параметры LA1 для каждого сегмента. Сегменты нумеруются снизу, то есть самый нижний - сегмент 1, второй снизу - сегмент 2 и так далее.

Не обязательно сохранять куда-то эти значения, так как информация о том, на каком сегменте какой коэффициент LA также сохраняется внутри G-code файла. Вы можете открыть его любым текстовым редактором, например, Notepad++, и посмотреть значения там. Также информация о начальном и конечном значении LA, а также о приращении LA за сегмент будет сохранена в названии файла.

Интерпретация результатов

На распечатанной модели будут видны перепады ширины линии в центрах стенок. Вам надо найти на каком сегменте этот перепад будет меньше всего (на фото указан стрелочкой). Коэффициент LA на этом сегменте и есть искомый коэффициент. При этом важно отметить несколько вещей:

  1. Лучше всего определять наличие перепада толщины на ощупь, так как при определении на глаз слишком велика вероятность ошибки;
  2. Не стоит смотреть на шов так как при правильном к-факторе LA в большинстве случаев шов будет чуть-чуть выпирать. А полностью ровным шов, скорее всего, будет на завышенном коэффициенте LA;
  3. Не стоит смотреть на углы модели так как по ним определить правильность коэффициента LA очень сложно. По перепаду толщины в центре модели это делается проще и точнее.

Сохранение результатов

В Prusaslicer и подобных

В Prusaslicer и подобных лучше всего записать команду на установку к-фактора Linear Advance в профиль пластика. Примеры команд для разных прошивок:

  • Marlin: M900 K0.05
  • Klipper: SET_PRESSURE_ADVANCE ADVANCE=0.05
  • RRF: M572 D0 S0.05

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

В Cura

В Cura вам надо будет нажать на кнопку Магазин в правом верхнем углу. После этого надо найти расширение Linear Advance settings и установить его.

После этого в разделе Материал появится галочка Enable Linear Advance. Если её нажать, то появится несколько пунктов для значений Linear Advance для разных типов линий. Поставьте найденный коэффициент во все поля.

Внимание

LA компенсирует вязкость филамента. Вязкость филамента не меняется в зависимости от типа линии. Таким образом, ставить разные коэффициенты LA для разных типов некорректно.

Изменение начального и конечного G-кода

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

  • $BEDTEMP - температура стола
  • $HOTTEMP - температура хотэнда
  • $G29 - команда на снятие карты высот стола
  • $FLOW - поток

Калибратор не проверяет начальный и конечный G-код на правильность. Ответственность за работу этих кодов вы берёте на себя

Калибровка времени сглаживания PA

На данный момент время сглаживания калибруется только на принтерах с прошивкой Klipper

Для того, чтобы снизить нагрузку на подающий механизм, в прошивке Klipper движения алгоритма Pressure Advance сглаживаются по времени. На низко- и среднескоростных принтерах (до ~5000-8000 мм/с²) стандартное значение в 0.04с работает хорошо и, чаще всего, не даёт никаких видимых дефектов.

На быстрых принтерах, печатающих на высокой скорости и при высоких ускорениях, сглаживание Pressure Advance может вызывать дефекты, которые выглядят как небольшие впадинки перед и после углов. В таком случае стоит попробовать уменьшить время сглаживания до 0.02 или 0.03с. Это уберёт дефект от слишком большого времени сглаживания, но заметно увеличит нагрузку на подающий механизм. Так что при тестах с уменьшенным временем сглаживания надо обращать внимание на наличие разрывов в модели в том диапазоне коэффициентов PA, на котором меньше всего перепады толщины модели.

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

Если что-то не работает

Если параметры вне допустимых диапазонов

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

Не появляется кнопки "генерировать и скачать"

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

Если в течение 2 минут кнопка не появилась, то попробуйте перезагрузить страницу с помощью сочетания клавиш Ctrl+F5.

Если после обновления страницы всё равно не появляется кнопки, то, скорее всего, ваш браузер не поддерживает webassembly. В таком случае рекомендуется установить более современный браузер (Chrome, Firefox, Safari, Edge и т.д. последних версий).

При нажатии кнопки "генерировать и скачать" ничего не происходит

Скорее всего это значит, что вы ввели недопустимые значения параметров и программа вылетела с ошибкой. В этом случае обновите страницу с помощью сочетаний клавиш Ctrl+F5, проверьте все значения и попробуйте еще раз.

Ошибка "move exceeds maximum extrusion"

Эта ошибка возникает в прошивке klipper и решается внесением строчки max_extrude_cross_section: 999999 в раздел extruder в конфигурации.

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

В целом, работа этой защиты, скорее всего, забагована. На это указывает несколько вещей:

  • Она иногда срабатывает и на g-code из Cura или Prusaslicer, которые после отключения защиты печатаются полностью нормально;
  • Тот же g-code из калибратора после отключения защиты печатается нормально, без дефектов;
  • Ручной поиск где klipper насчитал такую экструзию на данный момент безуспешен. Ни одна из линий в g-code не имеет такой площади сечения, но klipper её где-то находит;
  • На других прошивках эти "проблемные" g-code файлы печатаются так же без ошибок и дефектов.

Если толщина центрального участка не меняется

Проверьте, что файл сгенерирован именно для той прошивки, которая используется на вашем принтере. Команды на установку к-фактора Linear Advance из одной прошивки не будут работать для других.

Если прошивка выбрана верно, то убедитесь, что проверяемый диапазон значений достаточно широк. Для директов разница в 0.1 уже должна значимо влиять на толщину участка. Для боуденов изменение на 0.5 должно быть хорошо видимо.

Если файл был сгенерирован верно, но толщина центрального участка всё равно не меняется, то у вас прошивка Marlin, собранная без алгоритма Linear Advance. Включить его просто командой не получится, нужно перепрошить принтер такой прошивкой, в которой этот алгоритм был включен во время компиляции. Если вы конфигурируете прошивку самостоятельно, то за включение Linear Advance отвечает директива #define LIN_ADVANCE в файле Configuration_adv.h.

Если ничего не помогает

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

Изменения в версиях

v1.1

  • Исправлены допустимые диапазоны для скоростей печати;
  • Исправлена команда на установку потока.

v1.2

  • Изменена калибровочная модель. Раньше на задней стенке был шов, а на 3 остальных сторонах одинаковый шаблон. Теперь шаблон правой, передней и левой стенки различаются: справа ширина медленного участка 20мм, спереди 2мм, слева 0.2мм. Это позволит за 1 печать проверить больше случаев перепада скорости;
  • Исправлена работа Z-offset;
  • Движение к началу печати теперь осуществляется в два этапа: сначала поднимается ось Z, потом идёт движение в плоскости XY. Это позволяет избежать столкновения сопла со столом на принтерах, где положение при парковке ниже поверхности стола;
  • Теперь скорость печати каждой линии указывается отдельно. Это поможет избежать ошибок с неправильной скоростью для некоторых линий, но размер сгенерированного файла будет немного больше (незначительно);

v1.3

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

v1.4

  • В начало файла добавлен полный список параметров, указанных при генерации;
  • Убраны настройки отката, так как в этой модели откаты происходят всего 2 раза, и от них ничего не зависит;
  • Исправлен баг, из-за которого не применялся конечный G-код.

v1.4b

  • Исправлен баг, из-за которого коэффициент Linear Advance не применялся для первого сегмента.

v1.5

  • Добавлена возможность указывать время сглаживания PA;
  • Исправлен баг, из-за которого не сохранялось значение прошивки;
  • Исправлено несколько багов, которые иногда приводили к неработоспособности калибратора.

  1. Linear Advance (кратко LA) - алгоритм, позволяющий выровнять ширину линий по траектории. Так же может называться Pressure Advance или Pressure Control в разных прошивках. 

  2. Input shaping - алгоритм, позволяющий гасить вибрации в механике с помощью изменения сигналов на перемещения. Минусом метода является скругление углов модели, которое часто ошибочно воспринимается как повод изменить коэффициент Linear Advance