Проблема НЧ и ВЧ звона в 3D печати. Окончательный анализ.

Опубликовано: 14.02.2016


Ну что ж. С прошлым звоном, он же резонанс более-менее справились, подтянув 3D принтеру M2 ремни. С общем и целом, стало намного симпатичней. Первая часть статьи о борьбе со звоном здесь.

После регулировки ремней на 3D принтере M2 в общем и целом, стало намного симпатичней. Угадайте, где "до", а где "после":

3d_печать.png

Надеюсь, не только я вижу ужасные волны вверху и лишь некую рябь внизу. Если что - её мы уберём ускорениями. Правда, с мордами (напомню, там головка поворачивает не резко, а после скругления) не всё так хорошо. Я-то знаю, где морщины вдвое глубже, но их рисунок везде одинаковый. Но опять же, если что - призовём на помошь ускорения... Всё-таки простое подтягивание ремней не влияет на скорость печати, а волны - снизило. Так что берём на вооружение. Мы теперь знаем, при каких внешних проявлениях следует задуматься об этом.

Снимок_экрана_2016-02-14_в_15.21.05.png

Теперь рассмотрим более коварный и малопрогнозируемый высокочастотный звон. Это очень интересный эффект в 3D печати, в исследовании которого еще рано ставить точку, но очень жирную запятую - поставить уже можно.

Исторически, сначала у меня были  крокодилы с 3D принтеров MakerGear M2 и MZ3D-256, и я грешил на то, что у 3D принтера MZ3D есть такой звон, которого нет у принтера MakerGear M2.

Сравните зелёного крокодила, который распечатан на MakerGear M2) и синих, которых распечатал 3Д принтер MZ3D:

Снимок_экрана_2016-02-14_в_15.28.44.png

Налицо какие-то вертикальные столбики. Уже потом, выяснилось, что эти столбики есть практически у всех 3D принтеров. Я лично видел их на Прюше, мне рассказывали, что они есть на Альфе, так что оказалось, что искать надо не почему они имеются, а почему отсутствуют практически на всём, что сделано на MakerGear.

Апофеозом исследования стал крокодил (один из более, чем десятка), напечатанный на MakerGear M2, где эти столбики тоже были. Жаль, что пластик полупрозрачный, поэтому на фото их не привести. Тем не менее, исторически я начал биться с помехой на MZ3D и искать, от чего они зависят...  

Приступаем к исследованиям. Проверяем зависимость проявления дефектов от частоты или от шага. Синий напечатан с базовой скоростью 100 мм/c, фиолетовый - 66 мм/с. Если волна идёт с определённой частотой, то на разных скоростях гребни будут отстоять на разное расстояние, ведь скорости отличаюся существенно. Одно и то же колебание застало бы головку совершенно в разных местах.

Есть мнение, что всё-таки, звон привязан к шагу

Снимок_экрана_2016-02-14_в_15.34.29.png

Снимок_экрана_2016-02-14_в_15.35.51.png

Снимок_экрана_2016-02-14_в_15.36.11.png

Я бы сказал, что шаг примерно равен 10/15.5 = 0,65 мм.  Какой-то странный шаг, ни к какой физике его не привяжешь.

А нет ли взаимного влияния чего-нибудь? Для надёжности напечатаем вариант в Vase Mode (1 периметр без заполнения) и сравним результат под микроскопом.

Снимок_экрана_2016-02-14_в_15.39.55.png

Так и есть на картинке сверху результат 3D печати в Vase Mode и картинка чётче и отличается от нижней. В нижней внешний периметр промодулирован ранее напечатанным внутренним. Хорошо, посчитаем число вибраций на сантиметр в Vase Mode и прикинем шаг вибрации.

Снимок_экрана_2016-02-14_в_15.40.04.png

10/31=0.32. Уже похоже на диаметр сопла (у меня сопло 0.3).

Нет, для надёжности давайте прикинем ещё шаг головки. Штагненциркулем диаметр ремня на шкиве получается 11.1 мм. Умножаем на 3.14, чтобы получить длину окружности, которая получается 34,854 мм. Если бы двигатель работал на полном шаге, он на оборот делал бы 200 шагов. То есть, 34.854/200 = 0,17427, столько миллиметров головка проходила бы на шаг. Учитывая, что принтер работат на микрошаге, реально головка проходит меньше. Так что к шагу головки привязать проблему нельзя. А вот к диаметру сопла - пожалуй, можно.

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

Снимок_экрана_2016-02-14_в_16.33.20.png

Снимок_экрана_2016-02-14_в_16.33.30.png

Но вот ведь незадача! На виде сверху всё идеально! Головка не гуляет с шагом 0.3 м.

Снимок_экрана_2016-02-14_в_16.42.46.png

Снимок_экрана_2016-02-14_в_16.42.31.png

Снимок_экрана_2016-02-14_в_16.42.20.png

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

Дальше исследование пошло по неверному пути. Я долго предполагал, что во всём виноват неверный диаметр сопла, установленного на принтере. Но перебор всех возможных вариантов (от 0.25 до 0.5) показал, что волна есть всегда.Тем не менее, при переборе удалось сделать замечательные снимки. Вот на этих снимках обводки видно все вертикальные волны. То есть, имеется стопудовое доказательство, что дело в экструзими, а также имеется возможность посчитать их (да всё те же 15.5 волн на 5 мм, то есть, всё тот же шаг 0.32 мм).

Слайсер думает, что сопло 0.2 (кстати, волн почти не видно, но на самом крокодиле они всё равно есть):

Снимок_экрана_2016-02-14_в_16.48.09.png

Теперь укажем слайсеру, что установлено сополо 0.25 - волны уже появились на обводке, на крокодиле - и подавно.

Снимок_экрана_2016-02-14_в_16.48.22.png

А теперь установим в слайсере размер сопла 0.3 - как видим, волны уже легко сосчитать.

Снимок_экрана_2016-02-14_в_16.50.44.png

Фото образца печати на настройках 0,35 мм показывать не будем, а сразу перейдём к фото с соплом 0.4. Напоминаем, что размер сопла мы меняем только в слайсере, а в 3D принтере стоит установленное на заводе сопло диаметром 0,3 мм.

Снимок_экрана_2016-02-14_в_16.53.06.png

Собственно, вот, вывод из всего вытекает один: "Экструзия, экструзия и ещё раз экструзия..."

Здесь исследование снова пошло по ложному пути. Думая, что это - проблема чисто 3D принтера MZ3D, я воскликнул: "Чем отличается M2 от MZ3D? Тем, что у него шаговый двигатель подключён к экструдеру через понижающий редуктор 1:5. То есть, он может давить пластик меньшими порциями с меньшим шагом".  

Здесь можно было успокоиться - редуктор стоит дорого, поэтому на дальнейшие исследования можно было забить. Однако, когда мысли улеглись, возникла идея: Ну да, ну редуктор. Но в принтере стоят драйверы, работающие с микрошагом 1/16, но кто мешает купить на пробу плату с микрошагом 1/32?

В конце концов, именно для этого разработчики принтера сделали нам модульную схему! Цена вопроса - 120 рублей. Сказано - сделано. Через три недели плата была у меня.

Радостный, я вставил её в принтер (будете повторять - помните, что переменный резистор у неё в другом углу относительно "родных" плат):

Снимок_экрана_2016-02-14_в_16.56.29.png

Выставляем ток 1.7 А, для чего выкручиваем переменник так, чтобы на его движке было напряжение, равное 0.85 В (краем уха, я слышал, что крутить можно только когда на модуле нет напряжения, правда это или нет - не знаю, но лучше перестраховаться).

Дальше спрашиваем у принтера его настройки:

M503

Он говорит, среди прочего:

Steps per unit:

M92 X100.00 Y100.00 Z1600.00 E100.00

Просим его удвоить число шагов на миллиметр экструдера

M92 E200

и сохраняем результат в EEPROM

M500

Радостно печатаем очередного крокодила и...

Ээээ. Что это? Нет, ногтем ощущение такое, что волны стали менее глубокими, но ноготь - не калиброванный измерительный прибор. Хуже другое.

Накладываем результат "до" и "после" друг на друга... Частота волн осталась прежней! Сначала я думал, что что-то напутал, но проверки показали - нет, всё верно, экструдер шарашит вдвое быстрее. Почему волны идут так же?

Снова и снова я перебирал варианты. Бросил волнистых крокодилов, перешёл на строгие кубики. Сидел и тупо пялился в G-код рисования периметра кубика 40х40:

; outer perimeter

G1 X54.010 Y55.441 F6000

G92 E0

G1 X14.370 Y55.441 E0.8899 F3000

G1 X14.370 Y15.801 E1.7799

G1 X54.010 Y15.801 E2.6698

G1 X54.010 Y55.441 E3.5598

 

F3000 - это три тысячи миллиметров в минуту, то есть, 50 миллиметров в секунду.

На один миллиметр двигатели X и Y делают 100 шагов, это мы видели выше. То есть, если бы были виноваты они, то волна была бы на расстоянии 0.01 миллиметра, а не примерно 0.32.

Одна сторона периметра равна 40 миллиметров, то есть, головка едет 40/50=0.8 секунды. За это время выдавливается 0.8899 миллиметра филамента. То есть, на 1 миллиметр хода выдавливается 0,0222475 миллиметра филамента. 1 миллиметр - это исходно было  100 шагов, значит тут делается 2,22475 шага на миллиметр. Тогда волна была бы с частотой 0.45 миллиметра.

Очень близко к 0.32, но после удвоения числа микрошагов частота увеличилась вдвое, 1 шаг экструдера теперь приходится на 0.225 миллиметров хода, а частота волн - стоит на месте.

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

Совершенно случайно, я пообщался с ребятами, у которых имеется принтер Прюша с огромным редуктором на экструдере. У них на один миллиметр филамента приходится вообще 920 шагов. И что? А то, что у их крокодила тоже есть ВЧ звон. Но это ещё не всё. Накладываем их крокодила на моего и что видим?

crocodile.png

Извините меня, но частоты сов-па-да-ют!

То есть, рассматривая только два принтера, я искал совершенно не то! Я искал почему у меня появляется ВЧ-звон, а надо было - почему на M2 его нет!

Кроме того, давайте сравним параметры MZ3D и Прюши

Параметр

MZ3D

Prusa

Диаметр сопла, мм

0.3

0.4

Слой, мм

0.15

0.2

Шагов экструдера на миллиметр филамента

100 и 200

920

Шагов двигателей X и Y на миллиметр хода

100

100

Скорость печати, мм/с

100

60

Кроме шага по X и Y не совпадает ничего, но мы уже выяснили, что этот шаг слишком мал. Получается, что это уже относится к каким-то свойствам полимера. Я обратился к специалистам по полимерам, которые печатают на принтере "Альфа". В ответе говорилось, что они также наблюдают этот ВЧ звон, и вполне допускают, что тут замешаны свойства полимеров, хотя, они считают, что и механика принтера тоже участвует.

Уфффф. Интересно, какой процент читателей дошёл до этого места? Тем не менее, уже приближаемся к финишу. Не имея в настоящий момент доступа к принтеру M2, я стал просто перебирать все параметры MZ3D, чтобы понять, почему же на M2 ВЧ-звона нет, а на других принтерах - есть. И кажется, я нашёл разгадку.

И на MZ3D и на Прюше мы печатаем внешний периметр с замедлением. Скорость головки составляет всего лишь 50% от боевой. А на M2, как мне показалось, головка шарашит на полной скорости. Я задал скорость 100, на кубиках 40 мм - ВЧ звон ушёл.

На крокодиле (который подлиннее, чем 40 мм) он стал иным. Когда головка отошла от поворота, его нет. Со временем, он появляется. То есть, его нет на голове, его нет сразу после шеи, его нет после лап. Но он появляется на брюшке.  Синий крокодил - пример такого случая, красный положен для сравнения.

cr6.jpg

То есть, путь ясен, но почему его нет на M2 вообще? Помните мою статью, где я советовал "зажать" ускорения? Что я другим советую, тем и сам пользуюсь. У меня они зажаты. Я нашёл того крокодила, которого мы печатали на M2 с зажатыми ускорениями, волны еееееееесть! Всё сошлось! Можно не сдаваться в психушку. Правда, пластик прозрачный, так что не снять его на фотоаппарат. Не ловится звон. Уж поверьте на слово, и так уже сколько экранов текста и фотографий приведено.

Заключение

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

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

Однако, статья показывает, что не любой "звон" является недостатком принтера. Иногда следует посмотреть шире, сравнив принтеры разных систем. Кроме того, обладая полученными знаниями, всегда можно настроить слайсер под конкретные случаи (важно отсутствие ВЧ звона, важно отсутствие НЧ звона и т.п.).

C уважением В.Ш.

Использованный в этом исследовании 3D принтер MZ3D-256 можно заказать у нас с бесплатной доставкой по России!

Кстати сейчас доступна еще и новая версия 3D принтера с увеличенной XY областью печати 180 мм х 180 мм: 3D принтер mz3D-330

Купить 3D принтер MZ3D:

Комментарии (9)
  • В.Ш.
    Чем больше играю в сопло, тем больше начинают глодать меня сомнения: Не температура ли на это дело влияет? Просто когда я в ARM прошивке поменял параметры PID-регулятора (частоту опроса АЦП, если быть совсем точным) - звон несколько изменился. Когда добавил "курточку" на нагреватель - тоже. Уж не нагревательный ли элемент даёт такой эффект? Но честно говоря, сил на большое исследование нет и вряд ли в обозримом будущем будут. Но кому интересно - можете попробовать поменять режимы работы PID регулятора (частота опроса АЦП, частота ШИМ, характер нагрева, который зависит от коэффициентов PID - там много чего можно накрутить) и посмотреть, что выйдет... Беда в том, что может быть, и ничего не выйдет.
    05.04.2017 08:32
  • В.Ш.

    Очень забавная идея! Я как-то в эту сторону не думал совсем. Ещё во времена борьбы с НЧ-звоном, я переписывался с представителями завода МЗТО, и они написали, что на скоростной камере поймали дрожание крепления головки аккурат из-за того, что на том креплении зубы используются. Слишком зубы мягкие - дрожат. Но НЧ звон удалось победить, не глядя на ремень, так что лично я тему зубов у крепления перестал отслеживать. А вот Ваш комментарий позволяет глянуть на эту их находку под другим углом. Может, дело не в шаге ремня, а в дребезжании зубов ремня в районе крепления головки? Но в целом - зависимость от зубов - мне в голову не приходила, а сейчас - выглядит очень забавно.

    Кстати, измерил свой ремень. Шаг зубьев, вроде, 2 мм, где зуб примерно 1.3, а промежуток - примерно 0.7 мм. Могу ошибаться, руки кривоваты, но порядок величин всё равно такой, что кратность зубам не видна. А вот их дрожанию - почему бы и нет. Хотя бы как гипотеза.

    Прочее же - отметаем напрочь. Расчёт полного шага (грубый) в статье приводится 34.854/200 = 0,17427. Мало того, так получилось, что я видел принтеры с разным диаметром зубчатого колеса ремня, так что линейный шаг у них был разный (если быть точным - 80 и 100 микрошагов на мм, итого 5 и 6.25 полных шага на мм). Точность же микрошагов проверена тем, что я печатал панельку, в отверстия которой вставлялись иголки для зондирования ножек QFP чипа (насколько помню, шаг 0.6 мм). Они попадали точно в цель. Так что размеры принтер держит очень точно.

    Ну, и в целом, не зная кто виноват, что делать - к счастью, известно. Задирать скорость печати. Тогда ВЧ звон уходит. Если пластик позволяет, на PETG особо не задерёшь.
    11.06.2016 10:04
  • Сергей
    Бинго!! ТОлько что проверил - точно совпадает с полушагом ремня!
    07.06.2016 01:06
  • Сергей
    Интересное исследование.

    А проверялась зависимость с частотой зубов ремня?
    Так же ещё возможно с частотой полного шага двигателя. Ведь мощность микрошага намного меньше чем полдного шага, кроме того зависимость длинны микрошагов может быть нелинейная.
    А что ещё более вероятно величина шагов шагового двигателя непостоянна - из-за того что они криовато собраны (деешёвый китай), у другого принтера могут быть более качественные, с более постоянным размером шага. Особенно сильно может проявляться опять таки не на холостом ходу а при нагрузке.
    07.06.2016 00:55
  • В.Ш.

    Ой, ошибка эксперимента. Я вспомнил, что у меня после одного опыта коэффициент экструзии был задран до 1.4. Вернул 1.0 - и ажурность ушла, и шаг волны вернулся к нормальной величине. Поэтому получаем, что от угла поворота модели волна не зависит, а вот от коэффициента экструзии - нечаянно зависимость выведена была. Век живи - век экспериментируй, всегда что-то новенькое найдётся... Это про 3D печать...
    18.03.2016 16:52
  • В.Ш.
    Интересная идея. Да, частота изменилась. Скажу больше, изменился характер звона. Такой ажурный стал, Уже не звон, а узоры прямо-таки.

    Тем не менее, утверждение, что на высокой скорости рисования периметра звона нет, там тоже действует. Проблемы пошли только когда скорость головы снизилась. Может, в будущем поисследую причины, а пока - просто пользуемся выводом, он остаётся в силе. Поднимаем скорость печати внешнего периметра и всё. Кстати, недавно была моделька - внизу хорошая, вверху - звенящая. Почему? А у неё вверху площадь меньше, слайсер скорость печати снизил, вот звон и начался. Ещё со дня на день должны приехать драйверы, дающие шаг 1/32, ходовым двигателям, надо будет на них проверить и обычный и 45 градусный варианты, как будут звенеть. Но это всё уже в руках Почты России...
    17.03.2016 08:28
  • Дмитрий
    Очень интересная статья. У меня появилась мысль, как проверить, или ВЧ звон связан с движением по координатам. Поворачиваем крокодила на 45 градусов и печатаем. Если проблема связана с движением по осям, то шаг звона увеличится на 41%.
    28.02.2016 17:53
  • В.Ш.
    Пробовать без редуктора на M2 нет ни желания (20 дневный марафон вымотал абсолютно) ни возможности (до него только лететь 10 часов, не считая времени, чтобы добраться до и от аэропорта).

    Но в целом, если дело в шестерне подачи пластика, то:

    1) Почему на мягком Прототайпере тот же эффект? За него зубы прекрасно цепляются
    2) Почему шаг помехи не зависит от скорости головки? Если пластик срывается, он делает это с определённой частотой, а головка на разных скоростях будет проходить за это равное время различное расстояние, шаг должен плавать
    3) Почему шаг помехи идеально совпадает при разной скорости подачи пластика (разные микрошаги, разные настройки диаметра сопла, правда, физическое сопло было одно и то же, но скорость вращения шестерни - разная)?
    4) Почему на Прюше с девятикратным редуктором такой же эффект с тем же шагом?
    5) Почему высокая скорость печати периметров решает проблему?

    Если бы дело было именно в шестерне, часть этих "Почему" бы не возникла...

    Хотя... Лично я 20 дней помучался, задокументировал, теперь принимаю только проверенные утверждения. Взяли, попробовали, получилось. Потому что у меня через 20 дней получилось, хоть и не факт, что я точную причину угадал. Однако, на новые опыты я сейчас не готов. Потому что устал. И потому что старые опыты на двадцатый день дали эффект, который виден на фотографии. А практика - критерий истины.

    P.S. Ой, чуть не забыл...
    Почему на M2 с зажатыми ускорениями звон тоже не чётко, но виден?
    15.02.2016 21:13
  • Никита
    Стоит обратить внимание на драйв гир. В мз3д он отвратный, с круглыми зубами, проскальзывают по пластику. А ещё если осталось желание экспериментировать - поставить на м2 шд без редуктора и посмотреть что получится :) Помимо ускорений есть еще параметр jerk, он тоже завышен по умолчанию в марлине, лучше поставить 10 или 5. Ускорения по ху 1000, но у тебя вроде примерно такие и стоят.
    15.02.2016 19:00
Вы не представились
Не правильно введен e-mail
Нам интересно Ваше мнение
Все поля обязательны к заполнению
Перед публикацией комментарии проходят модерацию
Каталог
Цена
от
до
0 Корзина: 0 руб
Заказ в один клик (Способ доставки и оплаты согласовывается с менеджером)
Настоящим подтверждаю, что я ознакомлен и согласен с условиями оферты и политики конфиденциальности.