Страница 1 из 1

Калибратор

Добавлено: Пт мар 18, 2022 2:19 pm
admin
2022-03-18_13-55-58.png
2022-03-18_13-56-17.png
2022-03-18_13-56-31.png
2022-03-18_13-57-07.png
2022-03-18_13-57-18.png
2022-03-18_13-57-28.png

Добрый день, коллеги.
В marlin так называется алгоритм, который подстраивает движения экструдера так, чтобы синхронизировать изменение давления в сопле с изменением скорости печатающей головки.
Он призван бороться с такими дефектами, как выпирающие углы и шов, а так же недоэкструзия в середине линий, расслаивающиеся периметры и полосы на модели после мостов.
Более подробно про linear advance можно узнать, посмотрев отличное видео на эту тему, ссылка будет в описании.
Похожие алгоритмы есть в большинстве современных прошивок: linear advance в lerdge и repetier firmware, pressure advance в klipper, pressure control в reprap firmware.
Все эти алгоритмы объединяет одно — их недостаточно просто включить, но нужно еще и откалибровать, причем не только под конкретный принтер, но иногда и под конкретный тип пластика.
В большинстве случаев калибруется один параметр, обычно называемый К-фактор.
Самый распространенный способ — воспользоваться генератором калибровочных шаблонов, который доступен на сайте марлина.
Причем пользоваться им можно и для других прошивок, просто заменив в сгенерированном коде марлиновскую команду М900 на соответствующую команду для нужной прошивки.

Тут нужно выбрать наиболее равномерную по ширине линию — она и будет соответствовать оптимальному значению К-фактора.
Мне лично этот калибровочный шаблон не нравится по целому ряду причин.
Во-первых, он сильно зависит от калибровки и кривизны поверхности стола.
Если поверхность имеет перепады высоты, то линии шаблона будут иметь перепады ширины.
Например, на longer lk4 у меня было очень кривое стекло на столе, поэтому я там вообще не смог воспользоваться этим способом калибровки — линии местами просто не пропечатывались.
Кроме того, для полупрозрачных пластиков бывает крайне сложно разглядеть, какая линия напечаталась ровнее всего, да и темные пластики на черном покрытии стола типа ultrabase тоже видно плохо.
Ну и при недостаточной адгезии эти линии зачастую просто наматываются на сопло.
Да и вообще этот шаблон имеет весьма опосредованное отношение к реальной печати, хотя результат дает в целом верный.
В одном из своих видео Дмитрий Соркин показал альтернативный метод калибровки — параллелепипед в один периметр с перепадами скорости по длинной стороне и меняющимся по высоте К-фактором.
Правда, он этот шаблон сделал вручную.
Я же решил написать программу, которая будет генерировать такие калибровочные модельки с нужными параметрами, ну и заодно немного развил идею.
В результате программа генерирует примерно вот такой код с меняющимся по ходу печати К-фактором.
По сравнению со стандартным марлиновским шаблоном тут есть не только перепады скорости на прямых, но и прохождение поворотов на разной скорости и шов, что гораздо ближе к реальной печати.

Для windows можно скачать исполняемый файл с расширением exe и запускать, как обычную программу.
Кроме того, можно скачать исходный код программы и запускать как обычный скрипт на языке python — этот способ подходит для любой операционной системы с графическим интерфейсом, где установлен python.
Пробежимся по настройкам.
В разделе pattern configuration настраивается начальное и конечное значение К-фактора и шаг для калибровки.
Для директа значения обычно лежат в диапазоне от 0 до 0.2, для боудена от 0.6 до 1.2, но на это влияет множество факторов и у Вас может получиться по-другому.
Ниже указывается число слоев, которые будут печататься для каждого конкретного значения К-фактора.
В данном случае у нас получится калибровка от 0 до 2 десятых с шагом одна сотая, по 5 слоев на каждое значение.
Ниже указываются значения скоростей для быстрых и медленных участков.
Тут лучше, чтобы был разброс побольше, но значения все-таки более-менее соответствовали скоростям, которые могут встретиться при среднестатистической печати на Вашем принтере.
Еще ниже идут 3 параметра.
В общем случае, менять их не нужно, но вообще они задают, какая доля длинной стенки прямоугольника будет печататься с маленькой скоростью, затем с большой и снова с маленькой.
Ну и последние 2 настройки отвечают собственно за размер шаблона по x и y.
По x лучше сделать хотя бы миллиметров 100-120, особенно на принтерах с низкими ускорениями, по y я обычно делаю в 2 раза меньше, но это не прям критично.
Кроме того, здесь же показывается расчетная высота калибровочной модели по z.
Если один из размеров покраснел, значит он не вписывается в зону печати принтера по этой оси.
Ну и последняя галочка указывает, печатать шаблон в одну стенку или в две.
В общем случае, достаточно и одной стенки.
Но, например, если Вы хотите откалибровать К-фактор для пластиков с большой усадкой, например, АБС, то модель в одну стеночку может сильно повести и она даже может расслоиться и не напечататься.
Тогда стоит попробовать использовать 2 стенки.
В следующем разделе задается основная информация о принтере.
Тут можно выбрать тип кинематики — декартова или дельта.
Разница в том, что в первом случае 0 координат будет в углу прямоугольного стола, а во втором — в центре круглого, так что если у вас дельта, выбирайте дельту, а если прюша, мейкербот, core-xy, markforged, короче, НЕ дельта — то выбирайте декартов.
Тут я должен предупредить, что код, генерируемый для дельта-принтеров, я не проверял, поскольку у меня такого принтера нет, но вроде в анализаторе g-кода все выглядело правильно.
Также нужно указать Вашу прошивку, от этого будет зависеть, с помощью какой команды будет меняться К-фактор в процессе калибровки.
На данный момент доступны marlin (его же надо выбирать для плат lerdge), klipper и reprap firmware.
Дальше идет размер области печати Вашего принтера.
Для декартовых принтеров тут все очевидно, в случае с дельтой размер по x задает диаметр стола, по z — высоту зоны печати.
Последний пункт здесь — настройки автоуровня.
Можно включить или выключить использование автокалибровки перед началом печати, и выбрать команду, которая будет добавлена в стартовый код сразу после команды на парковку g28.
Пока доступна стандартная команда для марлина g29 и команда m83 для оригинальной прошивки принтеров prusa.
В правой части окна расположены основные настройки печати.
Рассказывать тут особо нечего, они должны быть знакомы Вам по интерфейсу любого слайсера.
Температура сопла, температура стола, скорость обдува в процентах, длина и скорость ретракта — зависят от конкретного пластика, для которого производится калибровка.
Откат при смене слоя можете ставить так же, как обычно ставите в слайсере, у кого то лучше печатает без него, но я обычно использую.
Скорость первого слоя и скорость перемещения тоже можно взять такие же, как при обычной печати, та же история с шириной линии и высотой слоя.
Также можно измерить диаметр прутка и вписать соответствующее значение для более точной подачи пластика при калибровке, но я на это забиваю обычно, если оно не сильно отличается от стандартных 1.
75 мм.
Последняя настройка, z-offset, тоже работает как одноименная настройка из слайсера — меняет зазор от сопла до стола на первом слое.
Что у вас в слайсере обычно написано, то и сюда пишите.
Когда все настройки заданы, можно их сохранить кнопкой save configuration, которая запишет их в файлик kcalibrator.
Cfg в рабочей папке программы.
Это удобно, чтоб каждый раз не вбивать редко меняющиеся настройки типа области печати и прочего.
При следующем запуске программа попытается найти этот файл и прочитать настройки из него, если у нее это не получится, то будут загружены стандартные.
Вторая кнопка собственно генерирует калибровочный g-код.
Файл можно сохранить куда нужно с помощью стандартного диалога, имя файла по умолчанию включает начальное и конечное значение к-фактора, шаг калибровки, а также температуры сопла и стола.
Загрузим полученный файл в какой-нибудь просмотрщик кода, например, в репитер хост, и включим раскраску по скорости печати.
Тут синим отображаются медленные участки, красным — быстрые.
Как мы видим, печать начинается с каймы для лучшей адгезии к столу, а сам шаблон представляет собой прямоугольную стеночку в один или 2 периметра, где присутствуют не только резкие перепады скорости при движении по прямой, но и прохождение прямых углов на разной скорости, и шов.
К-фактор будет меняться от низа к верху модели каждые несколько слоев, в соответствии с заданными ранее настройками.
Если Ваша прошивка поддерживает вывод сообщений на экран с помощью команды m117, то на экране будет отображаться текущее значение К-фактора.
Теперь запускаем файл на печать, так же, как любой другой — с флешки, через веб интерфейс, не суть.
Печататься он, конечно, будет дольше, чем стандартный марлиновский шаблон, — можно пока пойти попить чаю.
В принципе, если Вы заметили, что на модели уже пошли вот такие дефекты, то печать можно останавливать — К-фактор уже стал слишком большим.
После завершения печати аккуратненько отделяем модель от стола и вооружаемся штангенциркулем или на худой конец хорошей линейкой.
Для примера рассмотрим модель, распечатанную на директе из АБС.
Диапазон калибровки тут от 0 до 0. 2 с шагом 0.01, на каждое значение по пять слоев высотой 0.2, итого 1 мм.
Нам нужно найти такое расстояние от низа модели, на котором она выглядит лучше всего: углы не выпирают, а перепад потока при изменении скорости минимален, но при этом еще не начинаются вот такие дефекты, вызванные слишком большим К-фактором.
Например мы ищем высоту между окончанием впадинки от недостаточной экструзии и началом выпуклости от переэкструзии после разгона.
А тут мы ищем самый ровный участок, где уже нет переэкструзии после торможения, но еще не началась сильная недоэкструзия.
Ну и на углах мы так же ищем высоту, где кончаются дефекты от недостаточного К-фактора, но еще не начинаются дефекты от слишком большого значения.
Вот другая моделька, напечатанная с таким же диапазоном калибровки, но из petg и в 2 стенки.
Для директа оптимальное значение К-фактора чаще всего лежит в довольно узком диапазоне, для боудена может быть более размазано по высоте модельки.
Просто находим наиболее нравящуюся нам высоту на каждом участке, потом усредняем.
Бывает, что linear advance по тем или иным причинам корректно работать не может, тогда дефекты от слишком большого К-фактора могут начаться раньше, чем полностью уйдут дефекты, которые linear advance должен исправлять.
Тогда можно попытаться поднять температуру печати градусов на 10 а то и на 20. Если не помогает, тогда просто с небольшим запасом берем максимальную высоту, на которой дефекты от слишком большого К-фактора еще не появляются, и идем менять горло на титановое, а экструдер — на директ.
Для данной модельки мне больше всего нравится результат на высоте около 5.5 мм.
Теперь нужно посчитать, какому К-фактору это соответствует.
Для этого делим нашу высоту на число слоев для одного шага калибровки, умноженное на высоту слоя.
Полученное значение округляем до целых вниз, умножаем на шаг калибровки и прибавляем к начальному значению К-фактора — получаем наш искомый результат.
Например, в данном случае высота слоя 0.2 мм, 5 слоев на каждый шаг, делим наши 5.5 мм на 0.2 мм * 5, то есть на 1 мм, получаем 5.5 и округляем вниз до 5, умножаем на наш шаг калибровки 0.01, получаем 0.05, которые прибавляем к 0 — начальному значению калибровки.
Получаем искомый К-фактор 0.05.
Альтернативный метод, который предлагает Дмитрий Соркин — посмотреть модель на просвет.
Для этого располагаем с другой стороны стеночки какой-нибудь достаточно яркий источник света, например телефон или фонарик.
Тут нас интересует участок, на котором стенка при любой скорости имеет одинаковую толщину, то есть просвечивается равномерно с одинаковым оттенком.
Также на просвет хорошо будут видны различные дефекты.
Выбираем понравившиеся участки и считаем К-фактор, как описано ранее.
Метод удобный и быстрый, но печатать желательно в одну линию из хорошо окрашенных пластиков типа ПЛА и АБС, а то не будет просвечиваться.
Хотя из полупрозрачных пластиков типа ПЭТГ и СБС чаще всего хорошо видно и в две линии.
Всё, осталось только прописать нужное значение К-фактора куда-нибудь в слайсер, например, в стартовый g-код, и можно наслаждаться моделями с правильной геометрией.
Надеюсь, данный метод будет Вам полезен.
Если у Вас возникнут какие-то ошибки или предложения по доработке программы, Вы всегда можете сообщить о них на гитхабе в разделе issues.
Ссылка на него, напомню, будет в описании.
Если видео было Вам полезно, поставьте лайк и расскажите о нем друзьям.
А еще можете подписаться на канал, чтобы не пропустить выход новых роликов.

Скачать программу
ve
kcalibrator.rar
(8.86 МБ) 356 скачиваний


Большое спасибо за просмотр и до новых встреч!