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

Добрый день, строители 3d-принтеров. После постройки принтера у меня возник вопрос: » А как принтер узнает, сколько оборотов надо совершить, что бы переместить головку на 1 мм и выдавить 1мм пластика?». Проще говоря,ю я задался вопросом о том, как калибровать принтер. Сегодня я опишу процесс калибровки экструдера.

 

Как ни странно, но начнем с прошивки. Сначала, надо сообщить принтеру, что у нас нет нагревательного элемента:

Ищем строку          #define TEMP_SENSOR_0 -1
и заменяем её на   #define TEMP_SENSOR_0 0

Если другие сенсоры не равны 0, то их тоже надо занулить.
Т.е. в прошивке все должно теперь выглядеть так:

отключаем датчик температуры экструдера

отключаем датчик температуры экструдера

Иначе Pronterface откажется крутить холодный экструдер и выдаст такую надпись: «echo: cold extrusion prevented@».

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

steps per mm=micro steps per rev * gear ratio / ( pinch wheel diameter * pi)

где:
micro steps per rev - количество микрошагов двигателя для 1 оборота
gear ratio - соотношение количества зубьев в редукторе экструдера
pinch wheel diameter - диаметр впадины толкающего винта (тот что с зубчиками)

В моем случае параметры следующие:

micro steps per rev = 3200
Т.к. я использую движки Nema 17, с шагом в 1,8 градуса (полный оборот 200 шагов) в режиме  микрошага 1/16, т.е. 3200 микрошагов на полный оборот

gear ratio = 39/11
(39 зубъев на большой шестерне и 11 на маленькой)

pinch wheel diameter = 5-7мм
(вот этот параметр и требуется подобрать , либо очень хорошо измерить, т.к. этот диаметр у всех разный)

У меня по формуле получилось 504.426

Заносим это число в прошивку в переменную #define DEFAULT_AXIS_STEPS_PER_UNIT  в последнее(выделено желтым цветом):

установка шага экструдера

установка шага экструдера

Т.е. перменная имеет вид #define DEFAULT_AXIS_STEPS_PER_UNIT (X-step,Y-step,Z-step,E-step). Вот вместо E-step и надо вписать число. Должно получиться следующее:

записываем шаг экструдера

записываем шаг экструдера

Далее заливаем прошивку в принтер и смотрим насколько мы угадали с числом :) Делается это следующим так — снимаем с экструдера нагревательную часть, чтобы пластиковый пруток просто входил в зятягивающий механизм и выходил. Вставляем пруток в механизм, что бы его немного затянуло. На пруток приклеиваем изоленту/скотч на расстоянии 5-10 см от края экструдера и ставим линейку, но лучше штангенциркуль:

 

делаем отметку на прутке

делаем отметку на прутке

В программе Pronterface просим экструдер вытянуть пруток на 50 мм (нажимаем кнопку extrude):

вытягиваем 50мм прутка

вытягиваем 50мм прутка

Если мы увидим следующую картину (экструдер засосал ровно 50 мм прутка), то все замечательно:

экструдер затянул ровно 50мм прутка

экструдер затянул ровно 60 мм прутка

На фото ошибка — экструдер затянул 60 мм прутка, вместо 50 мм. Это плохо.. Но не надо отчаиваться, продолжаем читать дальше.

Замеры лучше проводить штангенциркулем — точность будет выше. Если пруток затянуло не на 50 мм, значит ошибки в расчетах. Замеряем длину затянутого прутка с точностью до 0,1 мм :)
Дальше формула простая: new step per mm = (steps per mm*50mm/замеренную длину mm)

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

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

Значения параметра могут варьироваться от 140 до 1300 шагов на 1мм. Если у вас получается в таких пределах — все отлично!  Если хотите получить высокую точность калибровки — дайте задание экструдеру втянуть ровно 1 метр прутка, тогда ошибка в расчетах, если и была, сразу будет заметна ;)

В одной из следующих статей напишу о том, как калибровать оси X,Y и Z. Ожидайте :)

Понравилась статья? Получай обновления блога на e-mail:

Введите ваш e-mail:

1 комментарий к статье

  1. спасибо за чёткие и ценные инструкции, добавлю только, что отключение датчиков температуры вашим способом на Менделе 1,5 (Gadgets3D) не прокатило (при компиляции с установленными 0 значениями ардуинная прога ругалась на переменные, использующиеся в LCD панели :) ). Как отключить использование LCD на поверхности не нашёл, но нашёл что имеется параметр #define EXTRUDE_MINTEMP 170 В нём заменил 170 на 0, компильнул, отправил на плату и экструдер разрешил крутиться колесу без прогрева. После корректировки значения по вашему методу отмерять стало как в аптеке (хотя поляк говорил что скинул самую последнюю вылизанную прошивку), до этого погрешность на 50 мм была около 5мм.

"Интерстрой В" http://interstroy-v.ru - строительство

Оставить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

WordPress темы