Металл2024 Реклама
Метобр2024 Реклама

Тест повторяемости Щупа из оптического концевика

Hy6yk
Идет загрузка
Загрузка
13.04.2019
3501
9
Личные дневники

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

16
Статья относится к принтерам:
Ender 3 Pro
Добрый день, уважаемая публика!

После предыдущей публикации о своём щупе, были высказаны сомнения в полученных тогда измерениях повторяемости. Я вполне их понимаю и не считаю прям совсем необоснованными. Действительно выглядит это прям чересчур)) Напомню, что в двух сериях из пяти замеров и одной из четырёх, тогда были получены следующие данные - Standard Deviation: 0.001. Это данные, рассчитанные по внутреннему алгоритму команды М48. Но уж коль возникли сомнения, то я решил, что стоит провести дополнительные, более детальные измерения и пояснить полученные значения. Просто вывалить сюда отчёт команды М48 с несколькими сериями по 10 измерений, как-то не комильфо, поэтому немного общей теории (как я её понимаю).

Сначала хотел бы пояснить, что понятия «Точность» и «Повторяемость» немного разные, хотя иногда кажется, что очень даже одинаковые. Если постараться упростить, то точность – это когда мы несколько раз, посылаем станок (а принтер, это тоже станок), например, в позицию 200,00 мм по оси X, и он приезжает один раз в позицию 200,01 другой раз 199,99 и т.д. (положение оси измерять каким-либо прибором, а не по индикации испытуемого станка). И вот если все наши «посылания» станка в позицию 200,00 укладываются между 200,01 и 199,99, то мы можем говорить о том, что точность нашего станка «плюс/минус сотка».

А вот теперь представим, что мы посылаем станок в позицию 500,00, а он гад такой, один раз приезжает в 500,50, другой раз в 500,498, третий 500,502, и сколько бы мы не посылали, всё укладывается между 500,498 и 500,502. Тут уже получается, что точность станка никакая - «пол миллиметра», но вот повторяемость чудесная - «плюс/минус два микрона»!

На самом деле всё не так просто, как я описал, есть разные стандарты и методики замеров в соответствии с ними, но надеюсь уловили суть разницы.

Теперь перейдём к дискретности принтера при перемещении по оси Z.

Ось Z подопытного, как и все остальные оси подавляющего числа принтеров, приводится в движение шаговым двигателем. Если заглянуть в EEPROM, то можно увидеть, что количество шагов на миллиметр для оси Z равно 400. Разделив миллиметры на шаги получим дискретность 0,0025 мм. Это значит, что максимальная (теоретическая) достигаемая точность позиционирования оси Z даже теоретически не может быть точнее 0,0025.

Сейчас, наверное, многие вспомнили о «магическом числе 0,04». :-) Для тех, кто не в курсе, вот англоязычное видео, где довольно подробно и убедительно рассказывается о нём. Даже не владея языком (я, например, владею на уровне читаю/перевожу с Яндекс-переводчиком) можно понять о чём речь.

У меня есть что сказать по этому поводу. И первое – в таком случае следовало бы назвать магическим именно 0,0025 :-)

Я не буду говорить, что это «число» совсем не имеет смысла, но и говорить, что оно будет работать, и работать так, как задумывал и обосновывал автор ролика, это заблуждение. Для того чтобы оно работало так, как описывается в видео, необходимо, чтобы срабатывание концевика Z приходилось на момент, когда шаговик находится в положении своего полного шага. (Это те положения, в которые встаёт шаговый двигатель при его отключении. Это те положения, которые мы можем ощутить если попробуем вращать вал обесточенного двигателя). Я думаю, уже становится понятным, что рассчитывать на то, что срабатывание концевика будет приходиться на полный шаг двигателя, было бы весьма опрометчиво. Пытаться подстроить механику таким образом, чтобы срабатывание происходило в требуемый момент, сложно, но если сильно постараться, то можно к этому приблизиться, но не вижу совершенно никакого смысла. Сизифов труд как по мне. А рассуждение о том, что дискретность перемещения по оси Z и при микрошаге должна быть 0,04 мм, не выдерживает никакой критики.

Но как же быть с результатами, которые предъявили на видео и сравнение до и после использования «магического числа 0,04»? Там ведь показывается улучшение качества под микроскопом! Я думаю, что здесь нет никакого подлога, я склоняюсь к тому, что человек хотел найти разницу и он её нашёл. Но то, что положительный результат явился следствием использования «магического числа 0,04» и исходя именно из рассуждений о шаге двигателя – это весьма и весьма сомнительно. Тот эффект, что автор ролика наблюдал под микроскопом, вполне можно объяснить механикой конкретного принтера – например, «залипанием» поперечины при микроперемещениях по оси Z, что более вероятно. Или точностью подачи пластика (например, у экструдера ведь тоже своя дискретность) – что ещё более вероятно. Скорее тут и то и другое, а может ещё и что-то третье ;-)

Ну это мы отвлеклись… но не упомянуть об этом, в контексте дискретности оси Z, я не мог))

Кстати стоит заметить, что дискретность оси Z в 0,0025 ещё не значит, что печатная головка физически переместится на эти 0,0025 если попросить принтер сделать это. Далеко не факт, что и на 0,005 переместится – всему виной суровая действительность с её несовершенством, зазорами, перекосами и прочими неприятностями.

Пора бы и к тесту переходить

Итак, тест на повторяемость производится командой М48. Если открыть описание команды на сайте Marlin, то можно увидеть что у команды есть параметры.

M48 [E] [L] [P] [S<0|1>] [V] [X] [Y]

  • Параметр Е – указывается без значения. Если параметр указан, то между замерами в серии, ножка щупа будет убираться в нерабочее положение.
  • Параметр L – указывается со значением. Значение – количество точек случайных перемещений между замерами
  • Параметр Р – указывается со значением. Значение – количество измерений. Если не указать, то будет произведено 10 замеров
  • Параметр S – указывается со значением либо 0 либо 1. Значение – это шаблон случайных перемещений между замерами: 0 – движение по окружности; 1 – звездообразно. По умолчанию количество точек перемещений 7. Параметром L можно изменить количество точек перемещения
  • Параметр V – указывается со значением от 1 до 4. Значение – это детализация отчёта. 4 – наиболее детальный, 1 – наименее детальный, по умолчанию – 1
  • X и Y – позиция выполнения замера по осям X и Y

Последовательность записи параметров не важна. Например, можно задать так:

M48 X100 Y100 P7 V4 E

и получим серию из семи замеров в точке X100 Y100, ножка щупа будет убираться после каждого замера в серии, детализация отчёта о выполнении теста на повторяемость наивысшая. Кстати указываемая позиция – это позиция с учётом офсетов от сопла до ножки (если вы из задавали при перепрошивке, конечно)

Я не совсем понял, в каких случаях могут потребоваться параметры L и S. В чём их необходимость в контексте 3D-печати? Если бы это был 3D-щуп, тогда ещё мог бы предположить. Одним словом, пользоваться ими не буду, как и параметром E. Этот параметр следует использовать для определения повторяемости щупов, в конструкции которых считывающий элемент не жёстко закреплён в корпусе, а например, на ножке щупа (как тут)

Непосредственно тест? Пожалуй...

Посылаем в принтер G28, а после выполнения «хоуминга» команду M48 V4 (наиболее детализированный отчёт). Замер будет производиться посередине стола, там, где осталась печатающая головка после хоуминга.
  • Тест №1 команда: М48:
  • M48 Z-Probe Repeatability Test
  • Positioning the probe...
  • Bed X: 115.000 Y: 115.000 Z: -0.005
  • 1 of 10: z: -0.003 mean: -0.0025 sigma: 0.000000 min: -0.003 max: -0.003 range: 0.000
  • 2 of 10: z: -0.003 mean: -0.0025 sigma: 0.000000 min: -0.003 max: -0.003 range: 0.000
  • 3 of 10: z: -0.003 mean: -0.0025 sigma: 0.000000 min: -0.003 max: -0.003 range: 0.000
  • 4 of 10: z: 0.000 mean: -0.0019 sigma: 0.001083 min: -0.003 max: 0.000 range: 0.003
  • 5 of 10: z: -0.003 mean: -0.0020 sigma: 0.001000 min: -0.003 max: 0.000 range: 0.003
  • 6 of 10: z: -0.003 mean: -0.0021 sigma: 0.000932 min: -0.003 max: 0.000 range: 0.003
  • 7 of 10: z: -0.003 mean: -0.0021 sigma: 0.000875 min: -0.003 max: 0.000 range: 0.003
  • 8 of 10: z: -0.003 mean: -0.0022 sigma: 0.000827 min: -0.003 max: 0.000 range: 0.003
  • 9 of 10: z: -0.003 mean: -0.0022 sigma: 0.000786 min: -0.003 max: 0.000 range: 0.003
  • 10 of 10: z: -0.003 mean: -0.0022 sigma: 0.000750 min: -0.003 max: 0.000 range: 0.003
  • Finished!
  • Mean: -0.002250 Min: -0.003 Max: 0.000 Range: 0.003
  • Standard Deviation: 0.000750
  • X:154.00 Y:124.00 Z:10.00 E:0.00 Count X:12320 Y:9920 Z:4000

Теперь попробуем команду M48 V2 в той же позиции (как по мне так с V4 много информации не несущей простому пользователю ничего полезного)
  • Тест №2 – команда: M48 V2
  • M48 Z-Probe Repeatability Test
  • 1 of 10: z: -0.003
  • 2 of 10: z: -0.003
  • 3 of 10: z: 0.000
  • 4 of 10: z: -0.003
  • 5 of 10: z: -0.003
  • 6 of 10: z: -0.003
  • 7 of 10: z: -0.003
  • 8 of 10: z: -0.003
  • 9 of 10: z: -0.003
  • 10 of 10: z: 0.000
  • Finished!
  • Mean: -0.002000 Min: -0.003 Max: 0.000 Range: 0.003
  • Standard Deviation: 0.001000

Теперь попробуем переехать в дальний правый угол стола и сделать замер там
  • Тест №3 – команда: M48 V2 X190 Y200
  • M48 Z-Probe Repeatability Test
  • 1 of 10: z: -0.043
  • 2 of 10: z: -0.045
  • 3 of 10: z: -0.045
  • 4 of 10: z: -0.043
  • 5 of 10: z: -0.043
  • 6 of 10: z: -0.045
  • 7 of 10: z: -0.045
  • 8 of 10: z: -0.043
  • 9 of 10: z: -0.043
  • 10 of 10: z: -0.045
  • Finished!
  • Mean: -0.043750 Min: -0.045 Max: -0.043 Range: 0.002
  • Standard Deviation: 0.001250

Теперь попробуем переехать в дальний левый угол стола и сделать замер там:
  • Тест №4 – команда: M48 V2 X20 Y200
  • M48 Z-Probe Repeatability Test
  • 1 of 10: z: -0.093
  • 2 of 10: z: -0.095
  • 3 of 10: z: -0.095
  • 4 of 10: z: -0.095
  • 5 of 10: z: -0.095
  • 6 of 10: z: -0.095
  • 7 of 10: z: -0.095
  • 8 of 10: z: -0.095
  • 9 of 10: z: -0.097
  • 10 of 10: z: -0.097
  • Finished!
  • Mean: -0.095250 Min: -0.097 Max: -0.093 Range: 0.005
  • Standard Deviation: 0.001346

Мне кажется, что достаточно тестов.

Проанализировав полученные данные можно понять, что срабатывание оптического концевика происходит пактически в одной точке, с разбросом плюс минус один микрошаг.

В первом и во втором тесте, т.к. мы выполняли их в позиции «хоуминга», значения при которых происходит срабатывание вертится около 0,000 (в основном минус один микрошаг двигателя)

В третьем тесте мы переместились в угол, и он оказался ниже на приблизительно 0.04 относительно центра, но срабатывания также происходили с разбросом минус одни микрошаг относительно «номинального» положения

В четвёртом тесте, следующий угол оказался ниже на приблизительно 0,095 относительно центра, но тут срабатывание происходило с разбросом плюс минус одни микрошаг (ну или просто минус два микрошага если за номинал взять значение -0,093).

В этом повествовании получился один текст, без картинок и это конечно плохо, поэтому хотя бы фото с выдвинутой ножкой щупа вставлю. ))
Тест повторяемости Щупа из оптического концевика
А это с задвинутой
Тест повторяемости Щупа из оптического концевика
Понял, что когда в прошлый раз описывал щуп, то не рассказал о том что с торца ножки выполнено отверстие куда вкручивается винтик М2,5 – для утяжеления и чтобы не плавилась сама ножка при контакте с горячим столом. Им же можно в каких-то пределах подрегулировать зазор по Z при необходимости.

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

16
Комментарии к статье
Кремень КБ Реклама
Кремень КМ Реклама