Калибровка Pressure Advance

Открытая прошивка RepRapFirmware
Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Калибровка Pressure Advance

Сообщение demonlibra »

Не бойся поломать. Бойся не починить ))
Изображение
Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Re: Pressure advance tuning

Сообщение demonlibra »

Перевод статьи Pressure advance

Что такое Pressure advance?
Алгоритм Pressure advance предназначен для компенсации эластичности нити и неравномерности экструдирования пластика. Есть как минимум три источника эластичности:
  • Пруток пластика в трубке Bowden`а ведет себя так, как если бы она сжималась, потому что её диаметр обычно на 0,25 мм меньше внутреннего диаметра трубки. Когда пруток растянут, он выбирает самый короткий путь, который позволяет трубка. Когда пруток сжат, он будет изгибаться из стороны в сторону, поэтому длина нити в трубке будет больше.
  • Сам пруток слегка сжимается.
  • Для создания крутящего момента угол ротора шагового двигателя должен отставать от угла, определяемого током в катушках. Чем сильнее сопротивление нити при подаче, тем больше угол запаздывания. Так что сам мотор слегка «пружинит».
Эти факторы вызывают недостаточную экструзию всякий раз, когда скорость экструзии увеличивается, например, в начале прямой линии, когда сопло должно ускоряться с нулевой или почти нулевой скорости. Это связано с тем, что часть нити, подаваемой в начале движения, используется для противодействия эластичности и повышения давления. Точно так же вы получаете чрезмерную экструзию, когда скорость экструзии снижается, например, когда сопло замедляется в конце прямой линии. Это связано с тем, что давление в трубке Bowden`а продолжает проталкивать нить через сопло даже после того, как привод экструдера замедляется или останавливается.

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

Математически это работает так:

реальная_скорость_экструзии = запрошенная_скорость_экструзии + (K * текущее_ускорение_экструзии)

K - коэффициент Pressure advance, который необходимо определить опытным путём.

Как включить и настроить Pressure advance?
Pressure advance настраивается для каждого экструдера.
Различные экструдеры могут иметь разные настройки Pressure advance.

Чтобы включить Pressure advance используйте следующую команду:

Код: Выделить всё

M572 D0 S0.1
D - номер экструдера.
S - коэффициент Pressure advance.

Если у вас более одного экструдера, вы можете указать значения для нескольких экструдеров следующим образом:

Код: Выделить всё

M572 D0:1 S0.3:0.1
Как определить коэффициент Pressure advance?
Коэффициент Pressure advance будет варьироваться в зависимости от множества факторов, которые влияют на эластичность экструзионной системы, таких как:
  • расстояние между подающими шестернями и HotEnd`ом,
  • тип материала,
  • скорость печати,
  • температура печати,
  • значений рывка и ускорения.
Преобладающим фактором является длина трубы Bowden`а между экструдером и HotEnd`ом. Для очень длинной трубки Bowden`а (1 м) может потребоваться величина S, приближающаяся к 1,0 или даже 2,0 в некоторых случаях.
В то время как Direct экструдер, такой как Titan Aero, дает хорошие результаты со значением ~ 0,05.

Ориентировочные значения настройки для пластика PLA:

Direct: S0.025 и выше
Короткий Bowden (200 мм): S0.1 и выше
Средний Bowden (400 мм): S0.3 и выше
Длинный Bowden (600 мм): S0,5 и выше
Очень длинный Bowden (800 мм +): S0,7 и выше

Это только ориентировочные параметры. Для вашего конкретного случая может потребоваться значение больше или меньше.
Единственный способ узнать наверняка - это реальный тест печати. Различные материалы могут вести себя по-разному.

Способы определения коэффициента Pressure advance?
Один из вариантов поиска идеального коэффициента Pressure advance - использовать настраиваемый скрипт python, разработанный пользователем форума, который генерирует файл gcode с различным значением коэффициента Pressure advance: Pressure Advance Calibration

Другой вариант - использовать сценарий Marlin и изменить его, как описано здесь:
Tune Pressure Advance Using the Marlin Generator and Notepad++

Еще один вариант описан здесь: Guide: Pressure Advance Calibration (Bowden tube only!)

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

Необходимо нарезать куб 100 мм со следующими параметрами:
  • 1 нижний слой.
  • 1 или 2 периметра.
  • Минимальное заполнение или его отсутствие.
  • Охлаждение достаточное для печати с очень коротким временем слоя.
  • Выравнивание шва по одной точке в середине стороны.
  • Скорость печати близкая к Вашей обычной скорости печати.
  • Шаги экструдера откалиброваны.
  • Отключены накат и вытирание сопла о периметр.
Теперь начните печать с отключенным Pressure advance.
После нескольких слоев включите Pressure advance, отправив в консоли команду M572 с желаемым коэффициентом. Вы можете заметить короткую паузу в движении при изменении значения.
Продолжайте печать еще нескольких слоев. Попробуйте разные значения коэффициента и обратите внимание на Z-шов.
Слишком малое значение коэффициента может привести к выпуклости на конце периметра до смены слоя, слишком большое - может привести к разрыву шва.

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

Код: Выделить всё

; 0.2mm layer, 8 bands 5mm each, total height 40mm
{if layer_num== 1}M572 D0 S0.0
{elsif layer_num== 25}M572 D0 S0.05
{elsif layer_num== 50}M572 D0 S0.10
{elsif layer_num== 75}M572 D0 S0.15
{elsif layer_num== 100}M572 D0 S0.20
{elsif layer_num== 125}M572 D0 S0.25
{elsif layer_num== 150}M572 D0 S0.30
{elsif layer_num== 175}M572 D0 S0.35
{endif}
Этот скрипт будет вставлять новое значение M572 каждые 25 слоев. Вы можете настроить его, изменив значение S в конце.

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

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

Выбрав наиболее подходящее значение, можно повторить тест в более узком диапазоне.
В этом примере наилучшее значение было 0,15. Можно повторить тест для проверки всех значений от 0,1 до 0,2 и так далее.

Если у вас очень длинная трубка Bowden`а, Вам может потребоваться проверить довольно широкий диапазон значений и, возможно, потребуется выполнить несколько тестов.

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

Побочные эффекты алгоритма Pressure advance
Если вы используете большое значение коэффициента Pressure advance, экструдер может втянуть нить в конце движения. Если за этим движением последует движение с ретрактом, то общее втягивание может быть слишком большим для вашего HotEnd`а. Поэтому Вам следует подумать об уменьшении длины ретракта при использовании Pressure advance.

При изменении ускорения экструдера скорость экструдера должна измениться мгновенно. Если сконфигурированный рывок экструдера слишком мал, чтобы допустить это, ускорение экструдера будет ограничено с учетом максимального сконфигурированного рывка экструдера, что, в свою очередь, может ограничить ускорение печати. Таким образом, если включение Pressure advance замедляет печать, это может быть признаком того, что допустимый рывок экструдера, настроенный в команде M566, слишком низкий. Это может оказаться проблематичным для экструдеров с дистанционным прямым приводом, таких как Zesty Nimble, которые используют высокое передаточное число и низкие значения рывка.

Вы можете заметить, что при использовании Pressure advance возможно появление зазора между периметрами и сплошными линиями заполнения. Для борьбы с этим может потребоваться настроить значение перекрытия заполнения в слайсере.
Не бойся поломать. Бойся не починить ))
Изображение
Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Re: Калибровка Pressure advance

Сообщение demonlibra »

Для экструдера BIQU H2 я получил коэффициент Pressure advance = 0.025

Код: Выделить всё

M572 D0 S0.25
Не бойся поломать. Бойся не починить ))
Изображение
Аватара пользователя
Grek21
Сообщения: 59
Зарегистрирован: 18 янв 2020, 16:13

Re: Калибровка Pressure advance

Сообщение Grek21 »

Так 0,25 ,или 0.025,?
Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Re: Калибровка Pressure advance

Сообщение demonlibra »

Код: Выделить всё

M572 D0 S0.025
Не бойся поломать. Бойся не починить ))
Изображение
Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Re: Калибровка Pressure advance

Сообщение demonlibra »

На странице K-factor Calibration Pattern сайта Marlin не сохраняются параметры.
Каждый раз приходится вручную задавать параметры и править код для прошивки RepRapFirmware и свой принтер.

GCode Meta прошивки RepRapFirmware позволяет творить чудеса.
Написал свой сценарий калибровки коэффициента Pressure Advance.

Принцип аналогичный методу с сайта Marlin, печать линий с быстрым и медленными участками.
На каждой линии применяется свой коэффициент Pressure Advance.
Влияние коэффициента необходимо смотреть на участках торможения и ускорения при печати.

Ссылка: Pressure-Advance-Calibrate

Изображение

По похожему принципу написаны сценарии:
Не бойся поломать. Бойся не починить ))
Изображение
Аватара пользователя
Grek21
Сообщения: 59
Зарегистрирован: 18 янв 2020, 16:13

Re: Калибровка Pressure Advance

Сообщение Grek21 »

Почему то не работает (( не удается запустить печать, выдает ошибку
M32 "0:/gcodes/222.gcode"
Error: Операция не выполнена (Причина: ArgumentException in SimpleCode: Cannot convert Z parameter to float (value {var.z_lift}))
Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Re: Калибровка Pressure Advance

Сообщение demonlibra »

Как выяснилось, причина в том, что сценарий не работает при запуске через Raspberry Pi.

https://github.com/demonlibra/Pressure- ... e/issues/1
Не бойся поломать. Бойся не починить ))
Изображение
Аватара пользователя
UNI
Всея форума
Сообщения: 375
Зарегистрирован: 18 янв 2020, 11:50
Откуда: Стерлитамак

Re: Калибровка Pressure Advance

Сообщение UNI »

По предварительным тестам для штатного экструдера UNI 250/MINI PRO пока получилось 0,06 значение.
UNI Mini, UNI 1/2/2.2/
Аватара пользователя
Grek21
Сообщения: 59
Зарегистрирован: 18 янв 2020, 16:13

Re: Калибровка Pressure Advance

Сообщение Grek21 »

Похоже .. у меня от 0.04 до 0.080 в зависимости от экструдера, сопла, пластика..

Вернуться в «RepRapFirmware»