Самонаведение шагового двигателя в качестве экструдера с использованием E0/E1 с концевым выключателем и концевым упором

Примечание: Я расширил свой вопрос, поскольку некоторые из вас упомянули, что этот вопрос не совсем ясен.

Я использую плату RAMPS 1.4 с Arduino mega 2560. Мне нужно управлять шаговым двигателем в качестве экструдера, используя либо E0, либо E1. Я использую Repetier-Firmware и могу управлять экструдером (шаговым двигателем) с помощью E0 (RAMPS 1.4). Теперь для моего приложения мне нужно убедиться, что экструдер находится в исходном положении, прежде чем он начнет работать в самый первый раз. Я пытаюсь использовать переключатель для подключения к конечному упору и выполнения этой операции самонаведения. Я могу сделать это для осей X, Y и Z. Мне было интересно, как (h/w соединения и модификация прошивки) сделать это для экструдера?

, 👍3

Обсуждение

Я не понимаю, зачем вам понадобилось садиться за экструдеры., @Fernando Baltazar

Я хочу убедиться, что он находится в исходном положении, прежде чем начнет двигаться. Мне нужно сделать это для моего проекта. Спасибо!, @Osmani

Этот вопрос действительно неясен. Попробуйте описать вашу проблему до предполагаемого решения - это может помочь людям дать вам лучший ответ., @Sean Houlihane

Вы не прояснили это, если только не имеете в виду, что хотите вернуть домой сам шаговый экструдер? Почему бы вам, экструдер остался в том состоянии, в котором его оставил последний отпечаток. Вам все равно нужно загрунтовать экструдер в самом начале, а затем использовать G92 E0, чтобы сказать экструдеру, что он начинается заново с 0, что-то вроде дома., @0scar

@Osmani Обычно генератор gcode, Cura, slic3r, Simplify3D всегда записывает G92 0, чтобы установить "HOME" непосредственно перед началом печати. По крайней мере, за эти 2 года печати мне никогда не приходилось беспокоиться об этом., @Fernando Baltazar

Если какой-либо из ответов помог вам получить ответ на ваш вопрос или помог вам прийти к собственным выводам, то, пожалуйста, проголосуйте и примите ответ. Это помогает репутации пользователей, чтобы мы могли выйти из стадии бета-тестирования. Нашел другой ответ (тогда уже опубликованный) сам? Пожалуйста, добавьте этот ответ (и примите через 48 часов), чтобы поделиться своим опытом с сообществом. Если вы не смогли решить проблему, пожалуйста, обновите свой вопрос., @0scar

@0scar, ни один из ответов непосредственно не помог решить мою проблему, но оба были полезны. Я понял, что самонаводящийся экструдер-это не обычная операция, но для моего применения мне нужно было это сделать. Я действительно придумал метод для домашнего экструдера и опубликую решение здесь. Спасибо всем за вашу помощь., @Osmani

Пожалуйста, напишите ответ, вы сможете принять его через 48 часов, а другие могут проголосовать за ваше решение., @0scar


2 ответа


2

В отредактированном вопросе, по-видимому, упоминается, что фактические экструдеры печатающей головки должны находиться дома / ограничивать себя. Ответ заключается в том, что этого не требуется. При работе с установками экструдера с прямым приводом или приводом Боудена вы знаете (или можете измерить или выяснить экспериментально) расстояние, которое нить должна пройти от входа экструдера до hotend'а (например, для загрузки новой нити). Если уже загружено, потому что вы печатали раньше, вы также знаете, где находится нить (нить может остановиться после печати, лично я убираю нить на несколько мм после печати). Когда начинается новая печать, вы обычно отменяете втягивание при температуре и выдавливаете немного дополнительной нити, чтобы загрунтовать сопло, например, для противодействия вытекшей нити. В этот момент сопло загрунтовано, и затем используется код G92 E0, сообщающий экструдеру, что это начало нулевой длины, своего рода исходное положение нити. Все это обычно делается в стартовом коде вашего слайсера, аналогично отключению температуры рабочего стола и горячей конечной температуры или окончательному удалению в конечном коде вашего слайсера.

Этот ответ ниже касается первоначального вопроса, этот вопрос был не совсем ясен. Он был сформулирован как головка, содержащая экструдеры, которые необходимо правильно разместить. Обычные ограничители (могут быть механическими или оптическими переключателями) уже гарантируют правильную установку печатающей головки (содержащей экструдер или экструдеры) (если она правильно настроена в встроенном ПО вашего принтера). Начальные смещения, заданные в прошивке, определяют, что вы начинаете с начала координат (0,0,0).

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

В этом файле определено следующее:

// Пределы хода (мм) после самонаведения, соответствующие позициям упора.
#define X_MIN_POS 0
#define Y_MIN_POS 0

Эти значения необходимо изменить в соответствии со смещением между вашим переключателем и источником теплового стола (например, начало координат принтеров типа Prusa расположено слева спереди).

Для моего принтера-клона Prusa я определил:

// Пределы хода (мм) после самонаведения, соответствующие позициям упора.
#define X_MIN_POS -35
#define Y_MIN_POS -12

Это говорит о том, что переключатель самонаведения для оси X находится на 35 мм левее начала координат и т. Д.


,

Спасибо, я расширил свой вопрос для лучшего понимания., @Osmani


1

Я думаю, что на этот вопрос уже дан ответ(если это вообще возможно, потому что вопрос все еще не совсем ясен, что вы имеете в виду), но позвольте мне попытаться сформулировать это по-другому.

Вы должны спросить себя, что такое самонаведение и почему вы это делаете. Цель наведения ваших осей состоит в том, чтобы установить их положение 0 в пространстве. Это означает, что любые последующие перемещения будут выполняться относительно этих 0 положений, и если предположить, что двигатели не пропускают никаких шагов, это должно обеспечить точное позиционирование головки внутри объема сборки на протяжении всей печати. Другими словами, их относительное положение должно соответствовать их абсолютному положению. Как уже было сказано, ось экструдера работает по-другому.

Теперь я думаю, что некоторая путаница в вашем вопросе связана с тем, что вы подразумеваете под наведением экструдера. Положение экструдера определяется ранее упомянутыми осями X, Y и Z. Однако ось экструдера контролирует положение нити внутри хотенда и, следовательно, количество филамента, выдавливаемого в объем сборки. Эта ось произвольно устанавливается в 0 с помощью G92 в начале печати, потому что в отличие от пространственных осей абсолютное положение этой оси не особенно важно. Строго говоря, если бы вы заботились об абсолютном положении оси экструдера, дом, вероятно, был бы началом рулона. Однако это не имеет значения. Все, что вас волнует во время печати, - это то, что ось экструдера остается неизменной на протяжении всей печати, чтобы обеспечить точную экструзию.

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

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

,