Не работают концевики на 3д принтере

Обновлено: 20.05.2024

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

Я использую 3д-принтер Wanhao Duplicator i3 Plus на прошивке Marlin , однако статью постараюсь сделать универсальной, с изложением базовых принципов. Это должно быть применимо и для других FDM принтеров.

Краткая теория

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

На старых станках в качестве контроллера использовались десктопы с LPT портом, тоесть контроллер фактически был вынесен из станка. Однако сейчас роль контроллера может выполнять даже Arduino Uno с её atmega328 . Это решает ряд проблем при использовании компьютера в качестве контроллера.

Надо понимать что обычно, роль контроллера – всего лишь выполнять команды, такие как сделай перемещение по оси X на столько-то , включи подогрев стола , используй текущую позицию как начало координат и тд. Закономерно, это привело к созданию абстракции (общего протокола численного программного управления (ЧПУ)) – G-code . Программа-slicer (например Cura , Fusion 360 ) создает управляющую программу как раз в формате G-code , однако не стоит забывать, что у G-code есть диалекты, тоесть каждый производитель прошивки, может немного поменять значения тех или иных команд, добавить функционал и тд. Для того, чтобы понимать чтоже самом деле происходит при посылке той или иной команды в станок, нужно:

  1. Узнать что именно за прошивка у вас установлена.
  2. Найти описание G-code команд на сайте производителя прошивки или просмотреть исходный код из которого прошивка собрана.

Восстановление печати

image

В моей версии прошивки Marlin на данный момент не реализована функция сохранения последней команды (youtube) или координат инструмента в энергонезависимую flash-память. А также нет алгоритма который мог бы рассчитать текущую позицию проведя инструмент до концевика. Ввиду этого, после перезагрузки, принтер не знает где у него находиться инструмент и какая должна быть следующая команда. И для того, чтобы исполнить любую операцию (и понимать где она будет сделана), нам нужно взять какую-то точку за начало координат и дальше проводить относительно неё все перемещения.

Поиск системы координат

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

  1. Аккуратно снять мешающуюся модель, точно запомнив место её нахождения;
  2. Добавить в G-code операцию паузы (такие используются для смены пластика) или приостановить принтер из его меню после обнуления координат и поднятия инструмента на рабочую высоту;
  3. Установить вашу модель назад (например с помощью клея);
  4. Продолжить печать.

Редактирование G-code

Все манипуляции нужно произвести в файле G-code текущей модели вручную. Он представляет из себя текстовый файл, зачастую большого размера. При попытке открытия такого обычным блокнотом у вас могут возникнуть проблемы, тк алгоритм данного редактора не рассчитан на работу с большими файлами и то и дело, то пытается весь файл прочитать, то весь файл записать и тд. Мне очень нравится редактор Visual Studio Code , который советую и вам.

G-code файл (FDM принтера) можно разделить на две части:

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

Повторяющиеся по своему виду наборы комманд для печати слоёв. При использовании, в качестве slicer’a, программы Cura , в G-code все слои любезно прокоментированы.

У нас получается примерно следующий алгоритм:

Смотрим всё что находится в шапке и разбираем, что это означает.

Например, мб такая ситуация, использования датчика уровня стола BLTouch – команда G30 . Её нужно заменить на использование концевика.

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

Затем нужно максимально точно измерить высоту напечанной модели.

image

В моём случае получилось 143.5 мм. Поделив данную высоту на толщину слоя можно получить номер слоя на котором прервалась печать: 143.5 мм / 0.15 мм = 956.[6].

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

Теперь следует удалить из файла G-code все операции печати слоёв влоть до 956 (не совсем так).

Имейте ввиду, что нумерация слоёв в Cura идёт с нуля, а не с единицы, поэтому в комментариях ищите 955 слой.

Найти нужный вам слой можно воспользовавшись поиском (ища по слову ;LAYER:955 ). В месте откуда вы хотите удалить код, установить курсор и не меняя его положении прокрутите до начала файла, зажав Shift и установив курсор в новом месте, у вас выделится весь кусок для удаления.

Печать каждого слоя начинается с команды перемещения инструмента на новую высоту, однако в случае, с Cura эта команда содержится в конце предыдущего слоя, соотвественно её нужно тоже сохранить.

image

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

Кстати проверить правильно ли вы определили слой можно как раз исходя из значения Z в этой команде.

Как было сказано выше: «Печать каждого слоя обычно начинается с команды перемещения в некоторую точку, с которой начинается печатать слоя». Однако не факт, что алгоритм реализованный в прошивке выполнит не быстрое перемещение (одновременное перемещение по всем осям), а сначала подъём по оси Z, а уже затем по осям XY. В случае быстрого перемещения есть вероятность того, что инструмент, двигаясь с нулевой точки в точку на которой находится продолжение печати, заденет модели.

Поэтому после операции обнуления координат (шапки G-code), я добавляю команду перемещения в точку над уже напечатанными моделями – G0 F0 X0 Y0 Z145 . Подробнее можно прочитать здесь.

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

Какое устройство выбрать?

Всё просто, если Вы хотите бизнес построить смотрите на готовые устройства заводской сборки - они как правило хорошо собраны, часто "работают из коробки" (но не всегда, как в моем случае), есть адекватные люди в тех поддержке, которые 90% проблем знают как решить, ну а кроме того эти устройства очень хорошо печатают.
Если руки не из жопы и мало денег, то добро пожаловать в reprap проекты, есть полностью открытые. Самый дешёвый вариант, вполне хорошее качество печати. Готовьтесь что этот принтер Вы будете строить все время, каждый раз что-то новое придумывается обществом или создателем принтера, и у Вас уже есть принтер нормально печатающий, но Вы себя ловите на том как покупаете новые платы на али или заказываете японские подшипники, и это невозможно остановить, только если продать принтер.
Всем остальным, желающим печатать бирюльки берите б/у принтеры, многие из них доведены до ума, и прослужат для Вас достаточно. И деньги сэкономите, и не получите головную боль от не работающего принтера.

На сегодняшний день их огромное количество, каждый из них по своему хорош и плох. В общем и целом, если у Вас открытый принтер то смело берём Pla, Sbs (он же ватсон), ПЭТГ, тотал cf-5 и большая часть арт пластиков типа имитация дерева, меди, бронзы, так как они сделаны на основе Pla. Все эти материалы самые простые и лёгкие в печати, с маленькой усадкой, требуют охлаждения. В общем Pla жёсткий, но термически не стабилен (после 60 начинает плыть), поэтому применения бытовое, шестерни печатать только для образца, в работе при первой же нагрузке съест зубья. СБС отличный материал для прототипов, одна небезызвестная компания делала имитацию стеклянных бутылок с идеально прозрачными стенками (в один проход с обработкой d-лимоненом). ПЭТГ крутой материал, минимум усадки, бешеная межслойная адгезия, в ряде случаев можно делать шестерни, будут жить, вообще хороший материал на замену ПЛА и Абс, вроде термически не стабилен с 90 градусов (но это не точно). Тотал cf-5 крутой материал, на основе полиуретана с добавлениями углеволокна. Прочный материал, можно делать не нагруженные и средненагруженные шестерни, идеально подходит для роликов работающих на трение качения. Соплом 0,4-0,5 печатается, меньше затруднительно, забивает сопло. Да и он очень хорошо "рассверливает" сопло - углеволокно агрессивно к латуни, выход ставить нержавейку (сопла).
Для закрытых принтеров подходят все вышеперечисленные и другие более вредные материалы, такие как АБС, АСА, нейлон. Все при нагревании источают вредные запахи, имеют большую усадку. Если начнёте печатать из этих материалов на открытом принтере Вас постигнет деламинация - растрескивание, загибание, отрывание детали от стола. Основная причина изменения размеров пластика из-за резкого остывания пластика, он сжимается и либо рвёт в местах слабого спекания, либо тянет, термокамера снижает это пагубное влияние. Абс для промышленных деталей, корпуса, рычажки все, что не сильно нагружено, пластик боится лютых морозов ниже 30 и ультрафиолета (от последнего можно защититься защитным лаком). АСА улучшенный абс с меньшим значением усадки и стоек к ультрафиолету. Нейлон самый капризный, температуру подбирать экспериментально, от 240 до 265, нужно обязательно сушить, даже если Вы только распаковали его, дикая усадка, для внешних размеров на 0,1-0,2 мм, для отверстий на 0,4-0,5 мм (все это нужно держать в голове при моделирование. Обязательно перед началом использования печатайте кубики, и разламывайте их кусачками, когда будет монолитная структура (не слоистая), значит можно смело печатать на этой температуре высоконагруженные шестерни.
К каждой детали подходите продумывая, в каких условиях она будет работать, жить и в зависимости от этого подбирайте материал, очень часто мы сначала печатаем из дешёвого пластика (абс, Пла), сверяем визуально детали, обмеряем, а потом уже печатаем из нейлона или ПЕТГ, тотала, это позволяет избежать некоторых ошибок и растрат на дорогостоящий материал.
Есть ещё ряд материалов с интересными свойствами, например флексы и резиноподобные материалы, воск и пмма (служат для изготовления литьевых форм), всякие токопроводящие, ультраны, поликарбонат, о них в следующий раз (по ним не так много опыта).

Адгезия
Как люди только не извращаются с решением слабой адгезии,используют пиво, воду сахаром, пва, лак для волос, клей карандаш, растворы абс в ацетоне, ультрабазы всякие (последние не пробовал). Для меня есть 2 адекватных средства - клей для 3д печати, самый дешёвый уфимский около 400 р за 0,5 л спрей, они одни из первых его начали делать. Держит все кроме нейлона, этот не держится даже на плоту. Нейлон держит только клей бф-2 со спиртом (пропорция 1:3). Естественно все это наносится на стекло или зеркало (кому как удобнее), мы имеем 2-3 стекла, с заранее нанесенными средствами, и после печати просто меняем стекла. Детали сами отходят от стекла при температуре где-то 40-50 градусов. Клей для 3д печати смывается водой, его хватает на 2-3 распечатки, бф-2 нужно замачивать в тёплой воде, тогда отходит плёнкой, засохший клей ничего не берет, ни спирт, ни ацетон, ни сольвентом, только замачивание.
Очень часто проблема адгезии бывает в малом зазоре между соплом и столом (стеклом). Я калибрую по бумажке, по 4 точкам при каждой смене с абс на пла (разная температура стола, разное расширение основы стола от нагрева), так чтобы бумажка скреблась об сопло и двигалась с минимальными затруднениями. Это приводит к тому что первый слой немного раздавливается, и хорошо липнет к основе.

Директ или боуден
Боуден система с вынесенным двигателем и механизмом подачи, директ - с двигателем и механизмом на голове.
У меня нет опреденного ответа, 3 принтера с боуден системой и один с директом. На одном принтере с боуден подачей я печатал всеми пластиками, в том числе и флексами, но воск для литьевки он не смог затолкать. На директе с этим проще.
Бытует мнение что на боуденах можно печатать с большой скоростью, а на директах нельзя, не знаю не проверял.

Скорость печати 100 мм/с и более

Мне никогда непонятны были эти заголовки, куда Вы так спешите, зачем Вам такая скорость, как Вы боретесь с инерцией. Всегда печатали на скорости 50-60 для абс, Пла, нейлон 40, флексы 20-30. Мне нужна качественная, ровная, заполненная деталь, пусть больше времени, но нормальная.

3д печать как бизнес

Пассивное увеличение заказов

Тут подразумеваются различные способы рекламы.
Первое что, Мы сделали, это создали группу в вк, в ней есть вся контактная информация, есть примеры работы, и периодически мы добавляем свои работы в группу. Группа приносит периодически клиентов, половина из них неадекваты. Следом зарегистрировались в справочниках - яндекс, гугл и др. С отражением на карте, это работает, люди ищут, и даже бесплатная версия выкидывает нас периодически в топ. Пока этого достаточно. Объявления на авито/юла, люди периодически звонят, говорят "звоню по объявлению", так что отметать нельзя. И сайт, он нужен чисто для галочки, и работает как визитка, причём желательно чтоб на своём домене, выглядит более серьёзно. Если везде публиковать информацию, чётко, проблема-решение, и фото. То постепенно (у нас 2 года), это приносит стабильную занятость, но до прибыльности далековато. Но опыт сам по себе не появится.

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

Изображение



Провода подключены правильно. подскажите где копать в прошивке? configurations.h вроде верно всё:
Код: Выделить всё • Развернуть
что не исправны все 3 концевика - тоже маловероятно

diglook » 19 июн 2014, 20:11

у вас что концевики и вверху и внизу? если нет верхние закоментить

Naruto » 19 июн 2014, 22:57

rostisko » 20 июн 2014, 00:58

rostisko писал(а): Подскажите пожалуйста!
При печати например болта печатает резьбу левую на kisslisere она правая. Надписи также печатает зеркально. Какой параметр надо поменять? Где копать? Заранее спасибо! Принтер самодельный, прошивка STARTER
По ссылке "Зеркальная печать" выдает ошибку.General Error
Привет всем! Решил проблему печать левой резьбы. Поменял направление оси Х и передвинул концевик на другую сторону. Без изменения прошивки все работает! Спасибо!

Jerry » 20 июн 2014, 08:13

diglook » 20 июн 2014, 09:13

У Вас наверно стол не по Z а по X или Y. Мотыляя столом создается воздушный поток как от небольшого вентилятора - это равносильно сквозняку.
Первое что пришло на ум - возьмите большую коробку без дна и верха окружите им принтер,
и второе температуру поднять выше. у меня есть тоже экземпяр поначалу капризный а потом поднял температуру до 290 - на этикетке 260(у всех принтеров разные показания)слой 0,2, если будет создаваться пробка увеличить скорость до 200-300% (подобрать)

kommunaga » 20 июн 2014, 10:28

Доброе утро! Пытаюсь на макбуке подключиться к принтеру reprap через pronterface. Как мне узнать к какому порту он подключен? Заранее спасибо!

MAD_Deimon » 20 июн 2014, 11:19

Ruslan писал(а): Подскажите пожалуйста, как печатать двумя цветами на одном экструдере? Интересует метод точной смены цвета между слоями. В актуальной версии прошивки Marlin есть функция смены пластика. Ну нужный момент надо на неё нажать, головка уедет от детали и экструдер вытащит пластик, нужно лишь вставить новый, продавить его немного, чтобы градиент весь вышел и нажать кнопку на принтере для продолжения печати.
Вот, снял видео процесса смены. Сорри за посторонние звуки шуруповерта )) И за то, что половина видео повернуто на 90 градусов )))
Но смысл должен быть понятен.
Всё для 3D печати
Напечатаю для вас любые детальки. :) Заходите в гости, все покажу и расскажу по 3D печати.

agrloki » 20 июн 2014, 21:41

kommunaga писал(а): Доброе утро! Пытаюсь на макбуке подключиться к принтеру reprap через pronterface. Как мне узнать к какому порту он подключен? Заранее спасибо!
Самый простой вариант посмотреть в /dev какое устройство появляется при подключении принтера. В моем случае это были: Код: Выделить всё • Развернуть
C какого перепуга ардуинка определилась как усб модем я хз - но работает Привел два примера, потому что две разные платы определились по разному.

diglook » 21 июн 2014, 08:12

MAD_Deimon
Благодарю за расширенный ответ. к тому же Вы мне открыли глаза на мою прошивку.
У меня PRotos, а у Вас Marlin. Я ка-то не обращал внимания, оказывается это разные прошивки.
быть может по этому нет в меню смены пластика и не работает М300. Попробую перешить.

Maikl_psk » 21 июн 2014, 10:31

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


Провода подключены правильно. подскажите где копать в прошивке? configurations.h вроде верно всё:
Код: Выделить всё • Развернуть
что не исправны все 3 концевика - тоже маловероятно

Так и не работает.
Купил механические концевики - заработало

skeinforge - не работает экструдер

Ruslan » 21 июн 2014, 13:09

Начал нормально печатать со slic3r, теперь пытаюсь освоить skeinforge (ради более оптимального кода для периметров, например при печати браслета). Почему-то с кодом от SF не работает сам экструдер.
Как же мне настроить SF, чтобы давал нормальный код?
Прошивка - марлин. Skeinforge загрузил вместе с repeiter-host 0.95F

В процессе создания 3D принтера возникла необходимость поставить концевики на каждую ось, что бы избежать аварийной ситуации когда блок печатающих головок упрется в боковые стенки. В Китае были приобретены самые дешовые механические ENDSTOP(ы).


На плате стоит концевой выключатель. Его нужно выпаять.


Берем оптопару. Оптопары я выпаял из старого лазерного принтера. Размечаем отверстия согласно выводам оптопары. Сверлим отверстия. Отверстия которые не соединяються с "массой" нужно со стороны установки оптопары "разенковать".


Вот схема по которой будем переделывать нашу плату.


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


Получилась вот такая платка.


Отличительная особенность механических концевиков от оптических, заключается в том, что механические концевики находятся в состоянии нормально разомкнутом состоянии, а оптические в состоянии нормально замкнутом. Поэтому в прошивке программы MERLIN нужно поменять в строчках значение (true) на (false):

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

Читайте также: