Андрей Смирнов
Время чтения: ~12 мин.
Просмотров: 22

Калибровка стола 3D принтера В 

  • Tutorial

Иногда владельцу 3д-принтера приходится этим заняться. Поведаю хабра-сообществу о своём способе. Прошу заметить, что руководство подробное, но приводит к отличным результатам — прилипает модель на отлично и не отклеивается в процессе печати. Для начала отмечу, что своё мастерство я оттачивал на принтере SmartCore Aluminium, приобретённом здесь.

Установка нагревательной платформы

Нагревательную (или не нагревательную, зависит от принтера) платформу для начала надо выставить по высоте. Для этого существует концевик для оси Z. Из википедии:

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

d0fd1b2924174adc809f55ed9851523a.jpg С помощью затяжного и прижимного болтов этот концевик можно регулировать по высоте. Нужно выставить его так, чтобы поверхность платформы чётко касалась сопла экструдера. Для дальнейшей калибровки будем использовать Pronterface из пакета ПО Printrun. Преимуществом этого пакета вижу наглядное и удобное управление соплом и платформой принтера, но если кому-то удобнее использовать Repsnapper, он тоже вполне подойдёт. Cura не подойдёт для калибровки, за неимением необходимого для этого функционала. Для продолжения давайте убедимся, что при нажатии на кнопку «Калибровка» («Home», изображен белый домик), платформа поднимается и упирается вплотную, но не пытается двигаться дальше, к соплу. Так-как на моём принтере прошивка взята с напрямую с репозитория SmartCore Aluminium (пусть и не напрямую с Marlin), сопло выезжает на середину платформы. Если у вас это не так, и сопло остаётся в углу по нулевых координатах — ничего страшного, для дальнейшей калибровки это не принципиально.

Калибровка

Следующие действия надо поочерёдно провести на центре, по углам и по контрольному кругу:

  1. Нажать на калибровку оси Z b9a2606578284db0be84bada7942176e.png
  2. Если упирается угол в сопло (центр должен упираться, как мы добились отрегулировав высоту концевика во время подготовки), то по чуть-чуть прижимаем болт платформы на этом углу, пока не появится минимальный просвет.
  3. Устраняем минимальный просвет, но не больше. В идеале у нас должно сопло стоять чётко впритык по всем углам и центру при нажатии на калибровку оси Z. Именно такого результата нам нужно добиться для качественной печати, о контроле результата позже.
  4. Теперь нужно убедиться, что при нажатии на 026c7f31a6d343b691564eae34185ad3.png будет появляться просвет. Если этого не произошло, можно немного отпустить болт, прижимающий этот угол и, нажимая последовательно то зелёный домик, то кнопку «0.1», повторять до получения желаемого результата.

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

Проверка

Для проверки я использую простую модель, нарисованную в FreeCAD и cгенерированный gcode в Cura. Пластик чем точнее диаметром, тем лучше — я беру здесь из-за заявленной точности и разнообразия цветов. Впрочем, для проверки будем использовать натуральный цвет ABS-пластика. Смысл простой маленькой проверочной модели, наверное, ясен — экономия средств и времени.ed4655b32b86498880a3dbdd984cdc80.png Именно в такой последовательности есть смысл проверять. Впрочем, если вы уверены в своей калибровке, то можете сразу начать с шага 2. Ну если у вас уже есть опыт и вы абсолютно уверены в своей калибровке, то можете сразу перейти к шагу 3 — распечатывать 5pad.gcode. Разница в количестве и расположении изделий. Я же опишу проверку первого шага, поскольку остальные аналогичны. Предположим, одна сторона платформы слишком высоко откалибрована. Это очень легко обнаружить в результате: Вид сверху:8eec9a916b814bde936bd75b09ab938e.jpg И что важнее сейчас для нас — вид снизу:2f4fa5890d324911ba2f227da316d6a8.jpg — вот так выглядит ободная кайма Cura, если сопло расположено слишком высоко к платформе. Пластик падает не точно, иногда цепляясь за соседние линии. Рассмотрим обратную ситуацию — если сопло слишком прижато к платформе:

Как видим, здесь тоже не всё гладко, пластик, стремясь заполнить доступное пространство, налазит на соседние линии, а на следующем слое повторно цепляется сопло, вмазывается вновь по доступному пространству. Впрочем, надо отметить, что прилипает в таком случае модель очень хорошо, а дефект калибровки не виден на следующих слоях. Более того, может быть даже не заметен вовсе, если вы выберете в Cura подложку для прилипания модели к столу. Наконец, желаемый и правильный результат:
Здесь вы видите небольшое нагорание, но оно связано с неубранным кусочком нити, что хорошо видно на фото вида снизу. Подобные нагорания присущи скорее предыдущему случаю, когда сопло слишком прижато. А в остальном — ровные линии, плотно уложенные. Так и должно быть. Примите поздравления — калибровка центральной точки, значит, успешна. Нормальная ситуация, если такой результат получен на стекле при температуре 100 градусов. При этом, если стекло обезжирено и ровное, то после окончания калибровки, отлипать в процессе печати не будет. Вы можете попробовать отодрать деталь от нагретой платформы после печати. Пока не остынет до 90-80 градусов, у вас это может, даже и не получится, без повреждения стекла. Также, может быть важным отсутствие сквозняка, который влияет на не менее важную равномерность прогрева поверхности платформы. Вот общие фото для удобства сравнения: Вид сверху:2d6b8a60e63c442ca16edd9965b9c772.jpg Вид снизу:4b62209cd5cf4396a1cfa53209e3340a.jpg Дальнейшая проверка аналогична по своей сути, но распечатать следует 4pad.gcode — охватывает немного большую центральную область. И 5pad.gcode — покажет качество калибровки по углам. Всем удачной калибровки! На завершение развлекательное видео, на котором отображено наслаждение результатом: Как видно, печатаю я не на стекле, но об этом в следующей статье.

Настройка экструдирования. Проверка и настройка точности длины подаваемого пластика

Это самая первая отстройка, которую необходимо сделать перед настройкой потока и слоя.

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

1.jpg

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

Обрезаем торчащую нить заподлицо фиксатору, что бы нить была вровень отверстия.

2.jpg

Далее, для проведения всех манипуляций, нам понадобится программа Repetier-Host. Там и консоль удобней и значения EEPROM проще редактировать.

Заходим в приложение, подключаем принтер и нажимаем ALT+E. На экран выводятся значения EEPROM.

5.jpg
EEPROM принтера

Нас интересует значение «E axis resolution». Это есть количество шагов двигателя для выдавливания 1мм прутка.

Прежде всего необходимо нагреть экструдер, иначе принтер не даст начать давить пластик. Делаем это командой M109 S180, которая скажет принтеру нагреть сопло до 180 градусов, нам будет достаточно, все равно он не принимает участия.

6.jpg

Как только нагреется сопло, нам надо подать из катушки некое удобное количество пластика, удобное для расчетов. 100мм или 200мм, которое будет проще измерить. Выдавим 100 командой G1 F400 E100.

Как только подача прекратится, можно отключить нагрев сопла командой M109 S0. Тем временем у нас торчит пруток пластика теоретически длинной 100мм.

3.jpg

Теперь необходимо так же заподлицо отрезать этот кусок и приступить к его измерению.

4.jpg

Как видно, нам выдавило 102мм пластика. По-этому нам надо пересчитать количество шагов/мм. Делается это следующим образом:

  1. 102мм нашего прутка это 98.5 шагов (текущее значение «E axis resolution» из памяти принтера)
  2. 100мм желаемых это «Х»
  3. Х = 100*98.5/102
  4. Х = 96.56 (можно округлить до 96.5 или ближайшего целого 97)

Вводим новое значение в поле «E axis resolution», нажимаем ОК. Значение сохранено в памяти и настройка завершена.

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

Настройка потока

Печатаем кубик 20мм на 20мм (скачать модель кубика) со следующими настройками:

  • Поток: 100%
  • Заполнение: 0%
  • Количество линий стенки: 1
  • Слои крышки: 0
  • Если включена «Чередующаяся стенка» или «Режим вазы» — выключить и то и другое.

Должно получиться в слайсере так:

7.jpg

Печатаем и приступаем к измерениям. Измеряем все стенки в нескольких местах. Скажем на каждой стенке провести по 3 измерения в разных ее местах. В итоге получим 12 значений, среди которых считаем среднее арифметическое.

Скажем, среднее арифметическое у нас получилось 0.44. Рассчитываем величину потока:

100% установленного потока * текущую толщину линии (печатаем соплом 0.4) / измеренную толщину. Получаем 100*0.4/0.44 = 90.9. Так же можно округлить до 91% и это значение вносим в настройки слайсера.

Далее печатаем кубик снова, что бы убедиться в верности новых настроек. Если результатом не довольны, провести калибровку еще раз.

«Магические числа»

Автор данного исследования: CHEP. Материал о магических числах является вольным переводом.

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

Что же за «магические числа»?

Шаговые моторы на Anycubic i3 MEGA имеют шаг 1.8 градуса, что равно 200 шагам на оборот. Это, если можно так сказать, его «натуральные шаги» или «натуральные положения вала». Эти положения максимально точны.

Микрошаги это дробление каждого шага на некоторое количество шагов. Этим и управляет драйвер двигателя. Микрошаг является менее точным положение. Во-первых, точности привода мешает геометрическая неидеальность ротора и статора двигателя, неидеальные обмотки, зазоры в подшипниках вала и т.п. В результате двигатель выполняет шаги всегда с некоторой погрешностью (как правило, 5% от величины полного шага), причем абсолютное значение погрешности постоянно для любого выбранного микрошагового режима! Кроме того, во многих драйверах управление двигателем также далеко от идеального, что приводит к дополнительной неравномерности перемещения в режиме микрошага.

В принтере Anycubic i3 MEGA на оси Z стоят ходовые валы со следующими параметрами:

  • Внешний диаметр: 8мм
  • Шаг: 2мм
  • Подъем гайки за 1 оборот: 8мм

В виду нехитрых расчетов, зная, что двигатель делает 200 шагов на оборот и за этот оборот подъем по оси Z составит 8мм, получаем 8мм/200шагов = 0.04мм. Это и есть «магическое число».

При любой высоте слоя печати кратной 0.04мм (0.12, 0.16, 0.2 и т.д.) двигатель будет совершать «натуральный шаг», следовательно и самое точное перемещение, что должно в результате дать равномерный слой.

Калибровка стола 3d принтера без всяких датчиков

Как известно для качественной печати на 3D принтере необходимо тщательно выровнять поверхность стола. К сожалению сделать это не всегда возможно. Довольно часто стол представляет собой криволинейную поверхность и даже использование стекла не позволяет полностью решить эту проблему. По счастью в последних прошивках Marlin всё больше и больше внимания уделется возможности калибровки поверхности стола. Полностью автоматическая калибровка требует применения дополнительных датчиков, что не всегда доступно, но кроме неё есть возможность калибровки стола в ручном режиме. Именно об этом я и хочу рассказать.

Включаем поддержку ручной калибровки


1234</pre>


…</pre>

Задаём опции сетки


123</pre>

Внимание! Не использовать больше 7 точек на ось. Это ограничение прошивки.

Добавляем пункты в меню принтера


1234567</pre>

Скрипт выполняемый после калибровки. Тут по умолчанию какие-то телодвижения экструдером, не факт что они нужны. Не уверен на этот счёт.


1</pre>

После этого заливаем обновлённую прошивку.

Для ручной калибровки используется так называемый Mesh Bed Leveling (MBL). Т.е. способ калибровки по массиву точек. Соответственно поверхность стола разбивается на сетку и по узлам сетки производятся замеры Z координаты перемещением вручную оси Z. Собствено для измерения нужен только лист бумаги и прямые руки.

В каждой точке под сопло экструдера подкладываем лист бумаги и движением оси Z (либо посылая специальную G команду через ПО с компьютера, либо через меню принтера) добиваемся такого состояния когда лист под экструдером ещё можно свободно двигать, а уменьшение положения экструдера на один шаг уже мешает листу перемещаться. После этого текущая точка записывается и продолжаем со следующей и так до конца.

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

По умолчанию для калибровки используется сетка 3×3 т. е. 9 точек, но при желании можно задать в прошивке другое количество (не более 7 на ось, т. е. не более 49 всего).

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


1234</pre>


M190 S65 ; Устанавливаем температуру столаM104 S210 ; Устанавливаем температуру экструдера ; Установка температуры необязательно но позволяет учесть ; при калибровке температурные расширения</pre>

Для калибровки стола есть специальная команда G29

  1. G29 S0 читаем текущие значения точек в памяти принтера.
  2. G29 S1 перемещение принтера в первую точку для начала процесса настройки. Фактически принтер сначала паркуется в исходное положение, потом переходит к первой точке.
  3. G29 S2 записываем текущую точку и двигаемся к следующей
  4. Повторяем процесс для всех точек
  5. Используем команде M500 для записи измеренных величин в память принтера

Выбираем в меню Presets следующие пункты

После чего видим на экране следующую надпись и наблюдаем как принтер паркуется в домашнюю позицию

IMG_20170607_201002.jpg

Затем принтер предлагает нам кликнуть по энкодеру.

IMG_20170607_201009.jpg

После клика экструдер переходит к первой точке

IMG_20170607_201014.jpg

И мы видим регулировку оси Z.

IMG_20170607_201019.jpg

Далее двигая рукоятку энкодера выставляем требуемый зазор как было описано выше.

IMG_20170607_201144.jpg

Кликом по энкодеру сохраняем значение и перемещаемся к следующей точке. Повторяем калибровку каждой точки (всего их 9 штук). После последней точки принтер выполнит парковку и покажет нам следующее:

IMG_20170612_202006.jpg

На этом процесс калибровки можно считать законченым и нужно сохранить настройки в память принтера.

IMG_20170607_201435.jpg

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

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

PS: Вот тут — Проблемы с автокалибровкой стола 3d принтера важное дополнение.

Используемые источники:

  • https://habr.com/post/282183/
  • https://mc-dos.ru/fine-tuning-3dprinter/
  • https://www.diytronic.ru/2017/06/12/3d-printer-bed-tuning-without-any-sensors/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации