Насткройка L и K коэффициентов для QUADRATIC_ADVANCE в Repetier

Подписаться на 3Dtoday
Anidal
Идет загрузка
Загрузка
23.12.18
4435
16
Техничка
46
Обеспечение точной подачи филамента одно из ключевых задач FFF печати.

3D принтер по сути является предиктивным автоматом. Исключая регулировку температур и начавшие получать распространение сервошаговые системы, мы можем рассчитывать лишь на адекватность математической модели и "правильные" настройки.

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

Поэтому простое регулирование потока по закону Vфиламента=Vперемещения*К,
где К - коэффициент, зависящий от характеристик экструдера и сопла

приводит к недоливу в момент начала движения и переливу в конце. И утончению с ростом скорости.

Применение таких настроек слайсера, как Coast at End и Extra restart distance+Wipe лишь несколько "скрывают" проблему, но не решают её.

Однако использование метода адаптации подачи по линейному( Linear Advance) или квадратичному законам (Quadratic Advance) улучшает модель предсказания движения филамента.

Перейдем от скучной теории к практике.

В Repetier поддерживаются оба типа адаптации.
Для каждого из экструдеров возможно через
#define EXT0_ADVANCE_K 1
#define EXT0_ADVANCE_L 100

задать коэффициенты адаптации.

Описание закона можно увидеть как в коде, так и в статье https://forum.repetier.com/discussion/4599/linear-advance-and-m900

Для подбора коэффициента каждый раз менять прошивку нецелесообразо. Однако используя "секретную" команду:
M233 X1.0 Y100.0, где X - К, а Y -L
можно на ходу менять коэффициенты для текущего экструдера.

Воспользуемся утилитой-генератором тестовый паттернов о Марлина
http://marlinfw.org/tools/lin_advance/k-factor.html

После генерации следует в файле заменить M900 Kx.xx на M233 Yx.xx или M233 Xy.yy

В прошивке включите и линейную и квадратичную адаптацию, но коэффициент К сделайте минимальным (0.001).

Сначала настроим линейную часть, подменяя M900 Kxxx на M233 Yxxx

Печатаем линии от коэффициента 0 и до победы.

Линии делятся на 3 части, слева на право 20мм/сек, 110 мм/сек и снова 20.

Вот пример L [0..2] внизу L=0
224534e0851463833bc96a38677c58e1.jpg
Виден эффект утоньшения линий при высокой скорости

Разница между 0 и 2 слабо заметна в пользу 2-х

Теперь L[40-100] вверху 40 внизу 100
49498ae83724fdc4d8d4132157b47e8c.jpg
При 100 линия не утончается, но видны перходы

Начинаем подбирать K - также меняя M900 Kxxx на M233 Y100.0 Xy.yyy
Вверху K=0 шаг 0.1
e911f4ddbcdf768fa6c1339568f4fea6.jpg
И крупнее
46fb174013f8b18a3c9618a03012c704.jpg
Коэффициент K=1.0 самый удачный.

Вносим L=100 и K=1 в прошивку, оперативно можно будет изменять в скриптах всё той-же M233.

И результат.
До включения адаптации приемлемые результаты были при ретракте 12мм, Coast=1.2 Wipe 1.2 мм.
Максимальная скорость печати по неразрыву внутреннего заполнения 115 мм/с

После Ретракт 3 мм, "улучшители" выключены, заполнение цельное при 138 мм/c

Кубик напечатан соплом 0.6 слой 0.2 за 17 минут.
faab351d7bb6439d1049124f593195db.jpg
Кубик немного "отлип" по краям, стол холодный, но так ничего.
На других деталях исчезли на ощупь следы начала/конца слоя, визуально если в одну линию то есть немного в отраженном свете.

Исчезли петельки на краях заполнения, высота на краю и в центре одинаковая.
Подписаться на 3Dtoday
46
Комментарии к статье

Комментарии

23.12.18 в 21:33
0
Благодарю!

Математика - штука полезная, пригодится.
23.12.18 в 22:07
1
Спасибо. На кубике на ребрах какие-то петельки, хвостики. И впечатление что слои на ребрах немного "пляшут" Это что?

На фотках, где вы подбираете, фиг что разглядеть. Зеркало и пластик прозрачный, может подробней опишите, критерии определения значения лучшего коэф.
Спасибо.
23.12.18 в 22:33
1
На кубике не петельки а волосики филамента, кубик 20мм всего. Пр переходе с уровня на уровень обдув сдувает.

Прозрачный пластик специально, чтобы видно было внутри.

Критерий простой - полоска должна быть моноширинной и без переходов в местах изменения скорости. Когда полосок много сразу видно где лучше. Фото не может передать объем, вживую все очень наглядно.
24.12.18 в 02:24
1
Могли бы вы написать про коэффициенты для Марина?
24.12.18 в 05:11
2
Ну так для Марлина даже патчить код не надо, берёте родной генератор (ссылка в тексте) и подбираете.
24.12.18 в 10:28
1
Попробовал, правда для Марлина 1,1,9 и версия адаптации 1,5 вы я так понял описываете версию 1,0. Да все видно наглядно, только использовал черный пластик. Вопрос вот по этому пункту вашего описания.
И результат.
До включения адаптации приемлемые результаты были при ретракте 12мм, Coast=1.2 Wipe 1.2 мм.
Максимальная скорость печати по неразрыву внутреннего заполнения 115 мм/с

После Ретракт 3 мм, "улучшители" выключены, заполнение цельное при 138 мм/c
Касательно ретракта. В генераторе кода, используется значение ретракта. У меня он 10.4 мм, с этим значением подбирался коэфф К. У меня он вышел 1.25. Вы пишите что у вас ретракт стал меньше. Правильно я понимаю. Подобранное значение К, вносим в еепром, а в слайсере просто устанавливаем ретракт вместо 10.4мм другое значение которое подбираем ориентируясь на отсутствие соплей и волосков.

Да и K нужно подбирать для разных типов пластика?
24.12.18 в 11:18
2
1. Ретракт (если не говорить о длительных простоях) на идеальном принтере не нужен. Вообще.
В реальности без адаптации в конце печати линии в сопле ещё есть давление - и ретракт его сбрасывает.
Чем выше давление - тем больше нужен ретракт.

В утилите-генераторе сразу надо ставить маленький ретракт (я поставил 3) и под него настраивать.

Возможно (я ещё не успел протестить), ретракт будет вообще не нужен или нужен еще меньше.

2. Да, надо для разных типов пластика, для разных диаметров сопел. Хотя настройки для SBS 0.8мм я применил для ABS 0.6мм и вроде всё хорошо. Но в идеале надо калибровать и записывать в тетрадку для всех вариантов
24.12.18 в 17:01
1
Спасибо за работу. Нужно будет попробовать у себя.
26.12.18 в 11:59
1
В марлине я нашел LIN_ADVANCE_K, а L в нем есть?
26.12.18 в 15:55
1
/** * Implementation of linear pressure control * * Assumption: advance = k * (delta velocity) * K=0 means advance disabled. * See Marlin documentation for calibration instructions. */ #define LIN_ADVANCE #if ENABLED(LIN_ADVANCE) #define LIN_ADVANCE_K

Как я понимаю, мерлин поддерживает только линейную адаптацию, так что в мерлине коэффициент K===L в Repiter
18.02.19 в 19:42
0
Здравствуйте. Чего-то не проходит у меня команда с пронторфейса(( Где в репитетере включаются эти настройки? Спасибо.
22.04.19 в 07:55
0
В прошивке надо активировать


Enable advance algorithm (not stable) (USE_ADVANCE)
Enable quadratic advance terms (ENABLE_QUADRATIC_ADVANCE)
Ч\з конфигуратор это вот так:
6770785ce5e5432dc9c70bdc2e2e19f7.jpeg


И прошить принтер.
04.05.19 в 08:37
0
хоть убейте но на этой вкладке не вижу этих галок (версия та же version 1.0.4dev)
fa237992b09f6b1fac633ba6e7717eed.jpg



или киньте ваш конфиг файл,чтоб по аналогии выставить свои данные,спасибо!
04.05.19 в 17:46
0
хоть убейте но на этой вкладке не вижу этих галок
Эти галки и другие появляются, если Эксперт выбран:
9acabc9e5321e4c3e71e105908f026c8.jpeg
или киньте ваш конфиг файл
Вот на мои некоторые, но это не все текущие.
04.04.19 в 12:12
0
спасибо

Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

Курс лекций по 3D печати. Лекция 10. Моделирование (Окончание).

Дагестанские школы оснастят 3D-принтерами

Ремонт соковыжималки Tefal ELEA

Представляем ортопедические 3D-сканеры ScanPod3D

Обзор на ULTI by Tiger после 4 месяцев эксплуатации. . Эпизод II: IVILOL наносит ответный удар.

Мой собственный Spot Mini