Калибровка pid стола 3d принтера

Обновлено: 19.05.2024

Для качественной печати крайне необходимо, чтобы экструдер продавливал именно то количество пластика которое подразумевается в нашем GCode, так как экструдер это по сути шаговый двигатель снабженный набором шестерней то в зависимости от их размера (и некоторых других параметров) количество пластика продавливаемое за один шаг мотора будет разным при разных конфигурациях. Нам необходимо узнать количество шагов необходимое для проталкивания одного миллиметра прутка филамента. Данная инструкция была написана для bowden экструдера и измерения производятся от нагревательного блока, во многих других инструкциях вы можете увидеть что пруток принято измерять до экструдера, этот метод является более удобным и более точным так как вы измеряете отрезок пластика, а не расстояние до метки (при другом методе на прутке обычно ставиться метка маркером и относительно нее и измеряют расстояние) хотя нам и потребуется испортить некоторое количество филамента для проведения данного теста, его объемы столь незначительны что ими можно пренебречь.

Подготовка

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

Начало замера

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


Калибровка шагов экструдера

Результаты нашего теста показали неутешительный результат, шаги выставлены неверно (слишком много) и количество пластика которое выходит из экструдера не соответствует заявленному (заданная длина- 200 мм., реальная длинна - 229 мм.). Что бы получить необходимое количество шагов можно воспользоваться простой формулой.



Для того что бы узнать текущее количество шагов (заданное в прошивке) используйте команду : Найти в выдаче строку:

E160 - количество шагов/мм для экструдера установленное в данный момент.

Так как все переменные нам известны давайте посчитаем необходимое количество шагов в нашем случае:


Необходимое количество шагов/мм для моего экструдера - 139,737

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

Сохранение шагов в EEPROM

Сохранение шагов в прошивку (предпочтительнее)

Необходимо заменить последнее значение после чего установить новую прошивку

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

Прикупил себе недавно 3D принтер anet A6. Искаропки печатает тут вопросов никаких, но печатает он на малярном скотче отчего качество нижней поверхности оставляет желать лучшего.

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

Измерения кривизны показали следующее:

1) Стекло ровное.

2) Стол немного кривой примерно на пару микрон с выпиранием в центре, но без стекла это не влияет на качество печати.

Скорее всего при выставлении уровня стол выпрямляется и изгибает раму.

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

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

P.S. Стекло оконное 6мм. В местном 3D магазине есть более тонкие зеркала под размер стола, но если проблема не уйдет, то это 500р в помойку,а мы гусские деньгами не гасскидываемся почем згя.

P.P.S. Проблема как я понимаю проявляется у 1-5% пользователей дешёвых 3D принтеров.

Проблема моя, тэг моя.


1.3K постов 8.6K подписчиков

Правила сообщества

Запрещено хамство и оскорбления, уважайте чужой опыт и труд

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

Не стал читать все комментарии, так и не понял нашли ли вы ответ. Скажу так.

1. Если кладете стекло 6мм - значит концевик по оси z надо чтоб срабатывал тоже раньше на 6 мм, перенесите его на это расстояние вверх или распечатайте регулировщик концевика.

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

3. Проверяйте калибровку стола, ТОЛЬКО после его нагрева. Вот вы решили напечатать деталь на температуре стола 75 градусов, вы просто нагрейте сначала стол без печати до 75, откалибруйте его и потом только печать запускайте т.к. калиброванный стол при нагреве может играть в ту или иную сторону.

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

5. Лучше конечно заказать хорошее стекло на заказ с ровными краями - оконные стекла херня, надо из нормального делать, хотя кому как.

Принтер у меня такой же как у вас, удачи в начинаниях).

p.s.Ктати чтоб не отлетала деталь, мажу обычным клеем-карандашом, держит мертво - клей прозрачный. Есть еще синий у них, он похуже и просто белый - но тоже держит.

У вас как-бы 2 варианта: 1) кривое стекло - это сплошь и рядом, у нас 3-4 стекла на принтер, периодически вертим их. 2) платформа стола искривилась - у нас на тронкси (прюша на профиле), передние 2 винта закручены на половину, задний левый на треть, правый на 2 оборота по стеклу на 105, на 60 ещё хуже. Платформа на которой стол стоит из акрила, и её постепенно ведёт, особенно если пружины сильно сжаты. Банально замер те линейные размеры от точек крепления стола до платформы, в холодном и нагретом состоянии, и наверное станет все понятно

У меня 4 мм оконное стекло.

Еще вопрос, винты законтрены гайками у самого стола?

Ох уж эти китайские Анет щас тоже мучаюсь.как я понял порядок действий таков

1)установить все в точки ноль принтера

2)открутить винты муфт оси Z

3)потом выравнять и закрутить

Буду сейчас побывать.

У меня Анет Е12.

до этого избавлялся от клея каптона (силиконовый клей) со стола с помощью бензина

АИ95 (может кому пригодится совет) по причине замены пленки на борсиликатное стекло.

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

После крепления принтера к ровной жесткой поверхности к ней должны ровно прилегать: 1) передняя планка, 2) задняя планка, 3) центральная рама, на которой все держится. Если нет, то надо сначала ослабить болты в районе центральной рамы, закрепить принтер, прижать раму, затянуть болты. Принтер крепить через шпильки минимум в 3х местах на каждой шпильке.
Далее надо затянуть винты крепления стола на примерно одинаковую длину, выровнять левую и правую каретки по высоте и начать калибровку "по чуть чуть" и по кругу, несколько раз.

Была схожая проблема, при установке ультрабазы. Как решается: 1) Рама принтера через печатный крепеж монтируется на ровную, тяжелую поверхность. У меня это квадратик фанеры. 2) Снимаем стол и протягиваем винты Н-пластины, после затяжки нужно каждый раз проверять ход по осям, он должен быть свободный. 3) Ставим стол с максимальным подъемом, выравниваем z-оси, не забываем установить проставку для z-концевика. Нагреваем стол до рабочей температуры, начинаем калибровать. Важный момент, если парные углы одинаково низко или высоко, то крутим не стол, а ось!

Сам я собственно так и сделал, про калибровку забыл.

о, пара вопросов, дружище. при стоковом креплении ремня к столу даст хоть что-нибудь распечатать? ибо ходит очень тяжело. и как эти гребаные каретки прикручивать. сначала одну сторону, потом другую или по диагонали?

Лево-право по оси Z не ездит? Так то стол ровный, печатаю ABS на БФ, выравнивается нормально

печатаю без стекла на БФ2 и все отлично. Еще хочу автоуровень прикрутить и тогда на кривизну будет вообще все равно

У меня был CTC i3 Pro B - фанерный клон Анета А8, так же трахался со столом. Решил проблему автолевелом, до автолевела выставил сначала стол по уровню (как написали выше - болты должны быть законтрены под горячим столом), а затем ось Х тоже по уровню, многие проблемы были из-за того, что она была не горизонтальна. В целом стекло не рекомендую, особенно оконное - к нему только ПЛА более-менее прилипает, малярный скотч в целом не самое плохое решение. В новом принтере я сделал интереснее - на алюминиевый стол просто укладываю стальную пластину с приклееным PEI - держит ПЛА, АБС и АСА, для ПЭТГа пластину снимаю, ибо слишком сильно прилипает

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

Только нужно следить за чистотой стола. Но у меня механика типа корекси там стол вниз ездит.

Я когда принтер купил сдуру купил часовой индикатор. Пытался им плоскость стола настраивать. Получалось ненадолго. Теперь настраиваю так: делают в каде кольцо диаметр 180 высота 1. Запускают печать. В процессе печати видно какая сторона ниже, подкручиваю болтики стола. После этого стол калибровки не требует.

на 3d today сходите. там, наверное, скоро уже отдельный раздел появится, про еблю с этими анетами. Каждый день в вопросах вижу - "у меня анет а6, проблема. " :D

Покупатель пришел забирать автомобиль у дилера с судебными приставами⁠ ⁠

Машину у продавца пришлось буквально изымать, так как у клиента требовали доплатить «сверху» еще 50%.

Житель Калининграда приобрел автомобиль еще в феврале этого года, заключив с официальным дилерским центром (название и марку авто не называют) договор купли-продажи. Он полностью оплатил покупку, однако автосалон не отдал ему транспортное средство в сроки, указанные в договоре, потребовав дополнительно заплатить еще 50%, сообщила пресс-служба УФССП России по Калининградской области.

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

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

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

Решение суда поступило в отделение судебных приставов по особым исполнительным производствам УФССП России по Калининградской области.

Судебные приставы выехали по адресу автосалона, вручили требование и разъяснили, что если автомобиль не будет передан покупателю в сроки, установленные для добровольного исполнения, последуют меры принудительного характера — арест имущества и денег на счетах.

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

Marlin PID Калибровка ⁠ ⁠

Marlin PID Калибровка 3D принтер, 3D печать, Гайд, Pid, Длиннопост

PID (ПИД, Пропорционально-интегрально-дифференцирующий регулятор) - регулятор, использующий сумму трех значения входного сигнала (Kp, Ki, Kd) для задания и поддержки температуры стола\хотенда в установленных пределах. Данные значения будут разными в зависимости от используемого железа, наличия обдува, силиконового носка и множества других факторов, поэтому калибровку необходимо производить как после первого запуска принтера, так и после изменения конфигурации хотенда\стола. Так же данную процедуру необходимо проводить при скачкообразных изменениях температуры и большом разбросе при удержании заданного значения.

Marlin PID Калибровка 3D принтер, 3D печать, Гайд, Pid, Длиннопост

В прошивку Marlin встроены инструменты для автоматической калибровки PID как для хотенда, так и для стола. Для управления нагревом стола с помощью PID необходимо предварительно активировать в прошивке параметр "PIDTEMPBED" (подробнее в разделе Прошивка -> Стол, данную процедуру необходимо провести перед калибровкой стола и прошить принтер, по умолчанию параметр выключен). Процедуру калибровки желательно проводить на максимально приближенных к печатным условиям, если у вас закрытый корпус - необходимо закрыть дверцу и надеть кожух\колпак, при калибровке хотенда стол должен находиться в непосредственной близости к соплу и обдув должен быть включен на максимум (либо значение, которое вы используете чаще всего). Внимание, во время проведения калибровки вам может показаться, что принтер завис, но это не так - тест довольно длительный и время его проведения зависит от количества установленных повторений.

Переместите хотэнд к центру стола, подведите стол как можно ближе к соплу и включите обдув хотенда. Калибровка проводится для конкретной температуры; это не значит, что если вы провели ее на температуре 230°, то на 250°\210° работать она не будет, это лишь значит, что чем больше разница рабочей температуры от заданной при калибровке - тем больше будет погрешность, поэтому необходимо устанавливать ту величину, что чаще всего используется.

Терминал принтера:
M303 E S C ;Запуск автоматической калибровки хотэнда
E - Порядковый номер хотенда (если у вас один хотэнд - 0)
S - Температура проведения теста
C - Количество повторений теста, чем их больше - тем точнее (минимум 3, по умолчанию 5)
Пример: M303 E0 S240 C7
Результаты выполнения команды:
>>> M303 E0 S240 C7
*тестирование*

Полученные значения можно внести в прошивку или сохранить в EEPROM, данная процедура описана в разделе "Прошивка". Также для калибровки хотенда можно воспользоваться готовым GCod'ом который проведет калибровку за вас и сохранит значения в EEPROM. Для этого необходимо скопировать код, описанный ниже (установив в нем свои значения номера экструдера, температуры, а также количество повторений) в текстовый файл, сохранить его с расширением ".gcode" и запустить на исполнение на вашем принтере; результаты тестирования будут автоматически сохранены. После завершения в терминал будут выведены текущие значения EEPROM для проверки, значения PID для экструдера находятся в строке с командой "M301".

;HotEnd_PID_calibration.gcode
G28 ;Вернуться в начало координат
G1 Y100.0 X100.0 Z5.00 F1500 ;Переместить хотэнд на координаты X100 Y100 Z5
M106 S255 ; включить обдув модели на 100%
;
M303 E0 S240 C7 U ;E0 S C U
M106 S0 ; выключить обдув модели
M500 ;Сохранить полученные значения в EEPROM
;
M503 ;Вывести текущие значения EEPROM для проверки

(необходимо активировать параметр PIDTEMPBED в прошивке)

Процедура калибровки PID для стола практически не отличается от калибровки хотенда. При наличии корпуса закройте дверцу и установите крышку принтера, чтобы создать закрытый объем внутри принтера. Обратите внимание, что команды для калибровки стола и хотенда совпадают, отличается лишь параметр номера экструдера, для стола это всегда будет "-1"

Полученные значения также вносятся в прошивку или сохраняются в EEPROM. Для тестирования стола также можно использовать GCode, указанный ниже, сохранив его в файл с расширением ".gcode" и запустив на принтере; он проведет тестирование и автоматически сохранит значения в EEPROM. После завершения в терминал будут выведены текущие значения EEPROM для проверки, значения PID для стола находятся в строке с командой "M304".

;Bed_PID_calibration.gcode
G28 ;Вернуться в начало координат
G1 Y100.0 X100.0 Z5.00 F1500 ;Переместить хотэнд на координаты X100 Y100 Z5
M106 S255 ; включить обдув модели на 100%
;
M303 E-1 S80 C7 U ;E-1 S C U
M106 S0 ; выключить обдув модели
M500 ;Сохранить полученные значения в EEPROM
;
M503 ;Вывести текущие значения EEPROM для проверки

Marlin PID Калибровка 3D принтер, 3D печать, Гайд, Pid, Длиннопост

Значения, полученные после PID калибровки, записываются в разделе "PID Settings" в файле "Configuration.h" по порядку (без кавычек):

Для управления нагревом стола через PID необходимо раскомментировать параметр "PIDTEMPBED" (убрать "//"), после чего можно по порядку ввести значения Kp, Ki, Kd в разделе "PID > Bed Temperature Control" в файле "Configuration.h":

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

Не стоит забывать, что значения PID хранятся в энергонезависимой памяти контроллера и после перепрошивки вам необходимо либо восстановить в EEPROM значения, указанные нами в прошивке, либо, если вы не хотите перепрошивать свой принтер, вы можете сохранить значения напрямую в EEPROM, но не забывайте, что при использовании команды "M502" (записать значения из прошивки в EEPROM) придется повторно записать PID значения в EEPROM, так как они будут заменены теми, что указаны в прошивке. Для хранения данных значений предпочтительнее указывать их в прошивке - это убережет вас от множества проблем.

Терминал принтера:
M301 P I D ;Установить значения PID для хотенда
M304 P I D ;Установить значения PID для стола
M500 ; Сохранить значения в EEPROM

Marlin PID Калибровка 3D принтер, 3D печать, Гайд, Pid, Длиннопост

Хотэнд (HotEnd) - блок из нагревателя, термодатчика, сопла и корпуса, который отвечает за нагрев пластика

Стол (Bed, HeatBed) - Рабочая поверхность принтера, на которой располагается модель

EEPROM (ПЗУ) - Память контроллера для хранения настроек, которые сохраняются после отключения электроэнерги

M500 - Cохранить текущие значения в EEPROM

M502 - Загрузить значения из прошивки

M503 - Вывести текущие значения EEPROM

M106 S - Включение обдува модели (0 - выключить)

M301 P I D - Установить значения PID для хотенда

M304 P I D- Установить значения PID для стола

Надеюсь данный гайд был полезен, так же прошу прощения за упрощения\упущения и тавтологию данный текст в основном направлен на новичков в 3D печати посему упрощенно по максимуму. Если мой вариант изложения информации будет доступным и понравиться людям продолжу публиковать минигайды относительно 3D печати.

Данный гайд так же опубликован на канале @LiS92Live в telegram в виде PDF документа с нормальным форматированием текста.

Настройка PID для 3D принтера

PID (ПИД, Пропорционально-интегрально-дифференцирующий регулятор) - регулятор, использующий сумму трех значения входного сигнала (Kp, Ki, Kd) для задания и поддержки температуры стола\хотенда в установленных пределах. Данные значения будут разными в зависимости от используемого железа, наличия обдува, силиконового носка и множества других факторов, поэтому калибровку необходимо производить как после первого запуска принтера, так и после изменения конфигурации хотенда\стола. Так же данную процедуру необходимо проводить при скачкообразных изменениях температуры и большом разбросе при удержании заданного значения.

Настройка PID для 3D принтера

Калибровка

Экструдер

Переместите хотенд к центру стола, подведите стол как можно ближе к соплу и включите обдув хотенда. Калибровка проводится для конкретной температуры; это не значит, что если вы провели ее на температуре 230°, то на 250°\210° работать она не будет, это лишь значит, что чем больше разница рабочей температуры от заданной при калибровке - тем больше будет погрешность, поэтому необходимо устанавливать ту величину, что чаще всего используется. Полученные значения можно внести в прошивку или сохранить в EEPROM, данная процедура описана в разделе "Прошивка". Также для калибровки хотенда можно воспользоваться готовым GCod'ом который проведет калибровку за вас и сохранит значения в EEPROM. Для этого необходимо скопировать код, описанный ниже (установив в нем свои значения номера экструдера, температуры, а также количество повторений) в текстовый файл, сохранить его с расширением ".gcode" и запустить на исполнение на вашем принтере; результаты тестирования будут автоматически сохранены. После завершения в терминал будут
выведены текущие значения EEPROM для проверки, значения PID для экструдера находятся в строке с командой "M301".

Стол (необходимо активировать параметр PIDTEMPBED в прошивке)

Процедура калибровки PID для стола практически не отличается от калибровки хотенда. При наличии корпуса закройте дверцу и установите крышку принтера, чтобы создать закрытый объем внутри принтера. Обратите внимание, что команды для калибровки стола и хотенда совпадают, отличается лишь параметр номера экструдера, для стола это всегда будет "-1" Полученные значения также вносятся в прошивку или сохраняются в EEPROM. Для тестирования стола также можно использовать GCode, указанный ниже, сохранив его в файл с расширением ".gcode" и запустив на принтере; он проведет тестирование и автоматически сохранит значения в EEPROM. После завершения в терминал будут выведены текущие значения EEPROM для проверки, значения PID для стола находятся в строке с командой "M304".

График температур нагрева стола и хотенда 3D принтера

Прошивка

Экструдер

Для управления нагревом стола через PID необходимо раскомментировать параметр "PIDTEMPBED" (убрать "//"), после чего можно по порядку ввести значения Kp, Ki, Kd в разделе "PID > Bed Temperature Control" в файле "Configuration.h": После прошивки принтера необходимо стереть EEPROM и загрузить в него значения, установленные нами в прошивке, для этого в терминале принтера нужно ввести две команды по порядку (до точки с запятой):

EEPROM

Терминал принтера:
M301 P I D ;Установить значения PID для хотенда
M304 P I D ;Установить значения PID для стола
M500 ; Сохранить значения в EEPROM

Данный гайд так же опубликован на канале @LiS92Live в telegram в виде PDF документа с нормальным форматированием текста.

Настраиваем прошивку Marlin и заливаем её в 3D принтер

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

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

Многие 3D принтеры работают под управлением популярной прошивки Marlin. Прошивка изначально сконфигурирована для Ultimaker Original. Разберём основные настройки для других 3D принтеров.

Прошивка лежит по этому адресу. Качаем. Давим на кнопку Download ZIP. Скачивается архив Marlin-Development.zip. Распаковываем его в выбранную папку.

Настраиваем прошивку Marlin и заливаем её в 3D принтер

Теперь скачиваем Arduino IDE для исправления и загрузки прошивки в 3D принтер. Ссылка. Давим на Windows Installer. Скачивается установщик arduino-1.6.0-windows.exe. Запускаем его и устанавливаем среду Arduino IDE.

В начале мы видим ссылки на калибровку 3D принтера. Пролистываем дальше и читаем: 'Это конфигурационный файл с основными настройками. Выберите тип контроллера, тип температурного датчика, откалибруйте перемещения по осям и сконфигурируйте концевые выключатели.'

Начнём с выбора контроллера (MOTHERBOARD). Список контроллеров находится во вкладке boards.h. Давим на треугольник в правом верхнем углу и выбираем boards.h.

Теперь посмотрим на установленную электронику. Вот некоторые типы плат:

Настраиваем прошивку Marlin и заливаем её в 3D принтер

Настраиваем прошивку Marlin и заливаем её в 3D принтер

Заменяю в configuration.h 'MOTHERBOARD BOARD_ULTIMAKER' на 'MOTHERBOARD BOARD_RAMPS_13_EFB'.

Следующим выбираем датчик температуры - термистор. Видим большой список '//// Temperature sensor settings:'. У меня стоит хотэнд E3D-v5 и китайский термистор на столе. Для E3D-v5 я выбираю '// 5 is 100K thermistor - ATC Semitec 104GT-2', для стола '// 1 is 100k thermistor - best choice for EPCOS 100k'. Если тип термистора неизвестен можно выбрать 1, а если температура не понравится можно выбирать любой и тестировать. Меняю.

100K thermistor - ATC Semitec 104GT-2

Настраиваем прошивку Marlin и заливаем её в 3D принтер

Настраиваем прошивку Marlin и заливаем её в 3D принтер

Если концевой выключатель подключен не стандартно и его состояние нужно инвертировать, то это можно сделать в прошивке, не перепаивая провода. Значения false или true. Команда M119 (например в Pronterface) показывает состояние концевых выключателей. У меня концевые выключатели стоят только в позиции HOME на MAX.

В положении HOME

Мне ничего менять не потребовалось.

const bool X_MIN_ENDSTOP_INVERTING = true;

const bool Y_MIN_ENDSTOP_INVERTING = true;

const bool Z_MIN_ENDSTOP_INVERTING = true;

const bool X_MAX_ENDSTOP_INVERTING = true;

const bool Y_MAX_ENDSTOP_INVERTING = true;

const bool Z_MAX_ENDSTOP_INVERTING = true;

Изменение направления вращения шаговых двигателей, значения false или true. Правильные перемещения сопла относительно стола:

- По оси X - влево '-', вправо '+'.

- По Y - вперёд '+', назад '-'.

- По оси Z - сближение '-', удаление '+'.

- Экструдер. Extrude - выдавливание нити, Reverse (retract) - откат, втягивание нити.

Дальше идёт настройка концевых выключателей. Нам нужно узнать где они расположены. Как это узнать? Начало координат находится в ближнем левом углу на поверхности стола, если сопло вывести в эту точку, то сработали бы концевики MIN, если в правую дальнюю верхнюю - сработают MAX. У меня в положении HOME находятся три концевых выключателя MAX, поэтому мои установки

// Sets direction of endstops when homing; 1=MAX, -1=MIN

Установка габаритов перемещения, после инициализации в положении HOME. Здесь мы задаём габариты рабочей зоны по X и Y, а также настройку сопла относительно стола.

// Travel limits after homing

Можно подкорректировать скорость перемещения в положение HOME.

Переходим к самому важному. Настройка шагов перемещения по осям. Экструдер тоже ось. Мои настройки.

Теперь посмотрим, как я их получил. По всем осям стоят шаговые двигатели 200 шагов на оборот, 16 микрошагов на шаг (устанавливается перемычками на плате). По осям X и Y стоит приводной ремень GT2 с шагом 2 мм и 20-ти зубые шкивы, итого получаем формулу (200*16)/(2.0*20). По оси Z стоят шпильки М8 с шагом резьбы 1,25 мм, итого формула 200*16/1.25.

Находим спецификации (даташит) на установленные шаговые двигатели. Видим, что за один шаг вал поворачивается на 1,8 градуса, а это значит 360/1,8=200 шагов на полный оборот. Этот параметр одинаковый у большинства шаговых двигателей устанавливаемых в домашние 3D принтеры.

Настраиваем прошивку Marlin и заливаем её в 3D принтер

Настраиваем прошивку Marlin и заливаем её в 3D принтер

Как померить шаг винта? Замеряем участок винта и считаем на нём витки, затем длину участка в миллиметрах делим на количество витков 20/16=1.25 мм. Для более точного результата замеряем участок максимальной длины.

Настраиваем прошивку Marlin и заливаем её в 3D принтер

Следующие цифры - это ограничение максимальной скорости перемещения по осям. На X и Y я ставлю 200 мм, остальные не трогаю.

Настройка ускорения перемещений по осям. При больших ускорениях возможны пропуски шагов. Можно подбирать, гоняя в программе Pronterface по осям на заданной скорости. Вот мои настройки:

Настраиваем прошивку Marlin и заливаем её в 3D принтер

Раскомментируем (уберём двойные слэши) следующие строки:

Пора заливать прошивку в контроллер. Для этого нужно в Arduino IDE правильно выставить тип платы и номер COM порта. Внизу окна отобразится тип платы и номер порта. Не забываем сохранять изменения (Ctrl+S).

Для выбора нужной платы в Arduino IDE нужно скопировать с заменой всё из папки с прошивкой 'Marlin-DevelopmentArduinoAddonsArduino_1.5.xhardwaremarlinavr' в папку Arduino IDE 'C:Program Files (x86)Arduinohardwarearduinoavr'. После этого появляется возможность выбрать плату Sanguino (базовая плата для Melzi) и нужный тип процессора. У меня нет платы Melzi, поэтому проверить не могу.

После того, как всё заработает нужно откалибровать PID нагрева хотэнда и стола. Для этого я использую Pronterface. Вводим команду 'M303 E0 C8 S260'. Где M303 - команда калибровки, E0 - хотэнд, C8 - количество циклов нагрева-охлаждения, S260 - типичная температура работы сопла.

Последние результаты записываем в прошивку.

По такой же схеме калибруем PID стола. Команда 'M303 E-1 C8 S110'. Где E-1 - стол, S110 - типичная температура нагрева стола. Последние результаты записываем в прошивку. У меня стол нагревается очень медленно и поэтому приходится перезапускать команду из-за ошибки Timeout.

Как узнать уже прошитые в 3D принтер параметры чтобы не калибровать повторно?

Параметры установленные в прошивке можно узнать в программе Repetier-Host через меню КонфигурацияКонфигурация EEPROM. Предварительно нужно указать COM порт в настройках и нажать кнопку 'Подсоединить'.

При подключении 3D принтера к программе Pronterface в правой части окна выводится список параметров прошивки

Также параметры можно увидеть на LCD дисплее. Через меню ControlMotion.

Хотелось бы увидеть подобные инструкции для Delta принтеров, CoreXY и H-Bot 3D принтеров.

Критические замечания настоятельно приветствуются, так как впоследствии инструкция будет размещена в 3D-Вики. Также очень важно мнение новичков, так как всё это делается именно для Вас!

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

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