Точность позиционирования PrintBox3D One 0.05 мм?? Проверим!
Ну и бросил. И тут, спустя где-то полгода, когда у меня появился один лишний штангенциркуль, я решил наконец-то изучить, что же не так с принтером. Решил я проверить, брешет ли производитель, заявляя точность позиционирования 50 мкм по всем осям.
Начал я с измерения по оси X. Расскажу во всех подробностях, как именно я это сделал по оси X, разберу результаты, а затем приведу результаты по Y и Z и сделаю страшные выводы. Ось проталкивания пластика «E» я не проверял, так как пока не придумал, как это сделать.
Ось X
Позиционирование по X – перемещение экструдера. Шаговый двигатель с зубчатым шкивом на носу таскает экструдер туды-сюды за зубчатый ремень. Экструдер весело ездит по рельсовой шариковой направляющей, почти без трения.
Трение в штангенциркуле значительно больше. Если бы я прикрепил штангенциркуль к принтеру, от трения мог увеличиться люфт (гистерезис). Поэтому я разобрал нафиг этот штангель, подвесил электронный блок на экструдер, а шкалу штангенциркуля положил на стол и приклеил каптоновым скотчем (чтоб не убегала от вибраций).Индикатор я прикрутил к экструдеру посредством железной пластинки. Она достаточно жёсткая, и в то же время в меру легко гнётся, чем я пользовался для настройки параллельности печатной платы индикатора и стола.После долгих плясок с бубном, подгибов железки (с высунутым под прямым углом языком), регулировки стола и разгибания шкалы штангенциркуля, я был более-менее удовлетворён поведением зазора. Много возни, зато никакого дополнительного трения!Штангенциркуль немного коротковат для всех 185 мм по X. Так что на краях можно ожидать повышенной погрешности. Это меня не очень волновало. Главное, что показания индикатора не «соскакивали».
Для начала я промерил перемещение головы взад-вперед с шагом 5 мм. Команды перемещения подавал на принтер напрямую, вводя g0 x5; g0 x10, … и записывал показания индикатора. Затем, вычел идеальную величину из показаний, и построил график отклонения реального положения от требуемого. Получилась вот такая ну очень интересная картинка:На этой картинке можно увидеть несколько важных моментов. Начнём со слона. Отличие «реального» положения от запрошенного достигает -0.05/+0.3 мм. Реального в кавычках, так как нужно ещё подумать, можно ли доверять китаёзному штангенциркулю, да ещё и разобранному.
Второе, что бросается в глаза – отклонение имеет осцилляции. Период этих осцилляций примерно 33 мм.
Осцилляции эти наблюдаются на фоне более-менее-линейно изменяющейся общей ошибки. Эта линейная составляющия – несоответствие калибровок штангенциркуля и принтера. Это несоответствие примерно 0.15 мм на фоне 180 мм, то есть 0.1%. Если вспомнить от всяких там термических расширениях и внутренних напряжениях при фдм-печати, то можно смело проигнорировать это несоответствие калибровок. К тому же его легко компенсировать, если прям так уж хочется. Вот с осцилляциями дело хуже…
Ну и последнее, на этом графике построены прямой и обратный проходы. Разница между которыми – «люфт» – примерно 0.07 мм. Люфт тут сложный, о нём попозже.
Попробуем выяснить, что это за период осцилляций такой, ведь из него можно выйти на причину этих осцилляций, и может быть даже их устранить.
* может это сам штангенциркуль? – у штангенциркуля под шкалой металлический узор. Плата индикатора чувствует этот узор по электрическим ёмкостям. Периодичность узора = 5.08 мм (0.2 дюйма). Не то. Может быть, конечно, этот период 33 мм «впечатан» в сам узор, на фабрике? Однако с точно таким же штангенциркулем, который я приладил на токарный станок, не наблюдается разногласий с лимбом более чем на 0.01 мм. Так что вряд ли.
* может это зубчики ремня? - их шаг 2.5 мм, однозначно не то.
* А может это всё-таки зубчики, просто частота высокая и кажется низкой лишь потому, что я снимал точки через 5 мм? чтож, это я проверил. В диапазоне 90-95 мм я отснял ошибку позиционирования, шагая по 0.1 мм. Результаты этого отснятия также нанесены на график, там такая кракозябра висит. Высокочастотной осцилляции не наблюдается. Значит период 33 мм – правильный.
* может это винты на рельсе? - нет, они идут с шагом 20 мм.
* может это полный оборот двигателя? - о да! оборот = 35 мм, это оно‼
Но что именно, не знаю. Может это отклонение «встроено» в сам шаговик. Может зубчатый шкив, что на носу шаговика, немного бьёт. Но скорее всего собака зарыта в свободном шкиве, тот что с другой стороны принтера, ремень натягивает. Его биение видно невооружённым глазом! Подозреваю, что ребята из RGT взяли тот же шкив и рассверлили дырку, чтоб затолкать туда шарикоподшипники. И угробили центровку. Эту версию я как-нибудь потом проверю.
Итак, пока я имею печальный вывод. Разброс ошибок позиционирования размахом в 0.2 мм (т.е. точность позиционирования ±0.1 мм). Это в два раза хуже, чем заявленные 50 мкм (интерпретируя 50 мкм как ±50мкм). Думаю, что если мне удастся победить осцилляции, может быть ось X выйдет на заявленную точность.
Чтож, продолжим. Про ось Y особо распинаться не буду, ситуация в целом похожая.
Ось YОсцилляций тут поменьше, люфт побольше. Существенно выше ошибка калибровки. Всё это мне говорит, что надо попробовать уменьшить натяжение ремня. Суммарный вывод точно такой же, как для оси X: размах отклонений 0.2 мм, что вдвое больше заявленного производителем.
Ось Z
Перемежение по Z у принтбокса по конструкции аналогично оному по x и y – те же ремень+рельсы, те же шаговики, те же шкивы. С той лишь разницей, что стол тащут параллельно сразу два шаговика с двух краёв.
Вообще мне эта система довольно-таки нравится. Во-первых, если вдруг я что-то не так сделал, и стол пошёл плющить экструдер, сил у шаговиков недостаточно для нанесения травм принтеру. Это делает систему дуракоустойчивой (и я ни раз таким дураком оказывался). Во-вторых, перемещения по Z столь же быстры, что и по x/y. Это полезно например для z-hopping (приподнимание экструдера над моделью при перемещениях).
Но вот точность…
Приладить разобранный штангенциркуль для измерения оси Z оказалось несколько труднее. Немного поразмыслив, я достал рельсовую направляющую, которую мне как-то раз свезло заполучить, и превратил её в аналог штангенциркуля, только без трения. «Шкала» была беспощадно оторвана мной от остатков штангенциркуля, и налеплена на рельс. К одной из кареток я прикрутил плату индикатора посредством всё той же железяки.
Здесь мне удалось получить гораздо меньший, равномерный и более стабильный зазор между платой и шкалой. Не без труда.
Сначала я пытался так же прикрутить всю эту конструкцию соплом экструдера. Но эта система гораздо тяжелее, требовала более длинных железяк, и неконтролируемо шаталась из стороны в сторону. Постепенно я довёл её до ума, сняв экструдер, и прикрутив эту систему почти прямо к каретке, через железячку. Отдельной историей было обеспечить параллельность измерительного рельса и рельсов принтера. Добился я этого так:
1. Поднять стол.
2. Приклеить рельс к столу (очень помогал фото-клей LUX Tools smart fix).
3. Опустить стол.
4. Оторвать рельс от стола (на столе остаётся отпечаток), и подогнуть железяки так, чтоб рельс не уводило в сторону от отпечатка на столе
5. Поднять стол, и проверить, попадает ли рельс в клеевой отпечаток. Если нет, повторить с шага 2. Двух итераций было достаточно для хорошего результата.
После всего этого срабатывание концевика и показания индикатора начали наконец повторяться идеально, и я приступил к измерениям.ПОЛМИЛЛИМЕТРА‼‼‼‼‼‼! X, Y были небольшим разочарованием, а вот Z – это КАТАСТРОФА! Становится понятно, почему первый слой печатается нормально только после мучительной калибровки зазора, и только один раз. Да как он вообще может печатать с толщиной слоя менее 0.2 мм, вообще не понятно. Я проверил и перепроверил, что люфт живёт не в системе измерения. И видимо буду перепроверять ещё.
Итак, вывод.
По X и Y, реальная точность позиционирования ±0.1 мм, т.е. в два раза хуже, чем обещал RGT. Есть надежда довести точность до ума.
С осью Z дело гораздо хуже, ±0.25 мм. И нет надежды это исправить. Однако, основная часть этой неточности закопана в люфт. Ось Z обычно едет в одном направлении, поэтому на качестве распечатков это сказывается не так уж катастрофически.
Добавка. Откуда есть пошёл люфт.
Люфт в этой системе – штука хитрая и труднопредсказуемая. Во-первых, трением в рельсах можно пренебречь, поэтому люфт может выбираться силами инерции при ускорении и торможении. Во-вторых, зубчатый ремень штука сложная, труднопредсказуемая.
Зубчатый ремень я себе представляю как беззубчатый ремень, а зубчики лишь ограничивают. Беззубчатый ремень не имеет люфта как такового. Вместо этого он имеет медленный уход от идеального положения, назову это «проскальзыванием». Проскальзывание может накапливаться по мере перемещения, особенно если привод работает против постоянной силы (например, вес стола).
У беззубого ремня проскальзывание может накапливаться неограниченно. А зубчики это проскальзывание ограничивают. Но ведь зубчики мягкие, резиновые. Так что они ограничивают не жёстко. И это делает и без того сложное поведения люфта ещё более сложным.
Таким образом, люфт не выбирается перемещением на величину этого люфта. То есть если у меня люфт по оси 0.05 мм, и я сдвину на 0.05 мм в любую сторону, этот сдвиг будет отработан, как будто люфта нет. Однако если я сдвину на большое расстояние и вернусь обратно, люфт проявится. И я попробовал измерить, насколько нужно отъехать и вернуться, чтобы полностью выбрать люфт.
Процедура. Для каждой точки на график:
1. едем в начало оси
2. едем в середину оси. Зануляем индикатор (обычно не надо, эта позиция очень хорошо воспроизводится, индикатор сам оказывается занулён).
3. Едем вперёд на тестовое расстояние r. Едем назад та то же расстояние.
4. Если индикатор показывает ноль, значит нет люфта. Если не ноль – это величина люфта. Записываем и ставим точку на график.
Получается вот такая картина:Отсюда видно, что для того, чтобы «собрать люфт», нужно сдвинуться минимум на 7 мм туда-сюда.
Почему-то люфт Y получился неожиданно мал по сравнению с тем люфтом, что проявлялся раньше при сборе ошибок позиционирования. Возможно, там что-то соскочило…
Для оси Z такая зависимость люфта оказалась намного сложнее и непонятнее.И опять величина люфта, измеренная разными методами, не сходится. Там был люфт 0.3 мм на середине оси, а тут почему-то 0.2 мм. Ррр.
Сначала у меня была мысль написать небольшой питоновый скриптик, который бы вносил изменения в ж-код для компенсации осцилляций и люфта. Однако, поведение люфта предсказанию не поддаётся. Всё это говорит мне, что дальнейшее изучение свойств этого люфта бесперспективно. Если хочется получить более точное позиционирование, нужно менять механизм привода. Радикально.
Добавка2. Немного истории.
Принтер я купил летом 2014 года. Вот вот ему стукнет 3 года. Использую я его довольно-таки неинтенсивно, изредка печатаю всякие детальки для своих и не только технических проектов. Всего истратил где-то 3 полных катушки пластика, в основном PLA.
Куплен он был в Мега-Электронике (СПб), под странным названием 3даджет. Судя по всему, это один из ранних экземпляров. На нём стоит старый экструдер, некоторые платы управления шаговиками спаяны вручную паяльником (неаккуратно!).
Издевался я над ним довольно много. Ампутировал вентилятор из блока питания, заменил оный на экструдере, добавив регулятор оборотов. Модифицировал конструкцию экструдера. Добавил разъём для внешнего питания от аккумулятора. Добавил светодиодную подсветку. Изменил систему заземления.
Переделал систему регулировки уровня стола. Добавил винт регулировки срабатывания концевика Z, который очень удобен для подгонки зазора первого слоя.
Как то раз была проблема. Ось X стала перемещаться с большим трением. Проблема была в рельсовой направляющей (наверно туда набилось слишком много пыли, а пыль у меня злая, с примесью металлов и керамик). Рельсовую направляющую снял, промыл, смазал. Ездить стала легче, но всё равно слегка «закусывает». То есть, привод X я полностью перебирал, натягивал ремень наощупь (не зная, как сильно его нужно натягивать). Приводы Y и Z я не трогал, все натяжки ремней «родные».
Добавка3. Шаги и миллиметры
1 период шаговика = 1/50 оборота = 0.7 мм.
1 полный шаг = 1/4 периода = 1/200 оборота = 0.175 мм.
Сколько там микрошагов – я не знаю, но перемещения по 0.1 мм принтер отрабатывает достойно.
Добавка4.
Про мои любимые пружинистые колёсики можно почитать тут (на ангицком!): https://forum.freecadweb.org/viewtopic.php?t=11913
vlad.m тестировал точность позиционирования Z принтера Anet A6 в куда более микроскопических масштабах, чем я тут. http://3dtoday.ru/blogs/7a5ad6b7a7/checking-the-accuracy-of-positioning-by-z-axis-for-3d-printer-anet-a6/
Еще больше интересных статей
Реализация I2C на MKS Robin nano v1.2 + Бонус прошивка по UART
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Flying Bear 5. Плагин для Prusa в Shui и Input Shapers.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
GCODE: Основы
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
GCODE: Плюшки от ПавлушкиПосле написания предыдущей...
Комментарии и вопросы
Чем монолит, залитый в 3D-печа...
Китайцы давно продают на эндер...
Из личного - винт и так отличн...
Приветствую товарищи, принтер...
Всем привет, возник вопрос - к...
Прикупил тут парочку. С расчет...
Здравствуйте. Мне бы хотелось...