Калібрування екструдера 3d-принтера, diy life

Калібрування екструдера!

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

Як не дивно, але почнемо з прошивки. Перш за все, треба повідомити принтеру, що у нас немає нагрівального елементу:

Шукаємо рядок #define TEMP_SENSOR_0 -1
і замінюємо її на #define TEMP_SENSOR_0 0

Якщо інші сенсори не рівні 0, то їх теж треба занулити.
Тобто в прошивці все повинно тепер виглядати так:

Калібрування екструдера 3d-принтера, diy life

відключаємо датчик температури екструдера

Інакше 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 останнім (виділено жовтим кольором):

Калібрування екструдера 3d-принтера, diy life

установка кроку екструдера

Тобто перменная має вигляд #define DEFAULT_AXIS_STEPS_PER_UNIT (X-step, Y-step, Z-step, E-step). Ось замість E-step і треба вписати число. Має вийти наступне:

Калібрування екструдера 3d-принтера, diy life

записуємо крок екструдера

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

Калібрування екструдера 3d-принтера, diy life

робимо позначку на прутки

У програмі Pronterface просимо екструдер витягнути пруток на 50 мм (натискаємо кнопку extrude):

Калібрування екструдера 3d-принтера, diy life

витягуємо 50мм прутка

Якщо ми побачимо наступну картину (екструдер засмоктав рівно 50 мм прутка), то все чудово:

Калібрування екструдера 3d-принтера, diy life

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

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

Записуємо нове значення в прошивку, заливаємо її в принтер і повторюємо виміри знову і знову до тих пір, поки екструдер НЕ буде ідеально відміряти пруток.

Можна було спочатку нічого не брати до уваги, а відразу проводити експерименти, але тоді точність розрахунків виходить маленької - похибка в десятки кроків.

Значення параметра можуть варіюватися від 140 до 1300 кроків на 1мм. Якщо у вас виходить в таких межах - все відмінно! Якщо хочете отримати високу точність калібрування - дайте завдання екструдеру втягнути рівно 1 метр прутка, тоді помилка в розрахунках, якщо і була, відразу буде помітна

спасибі за чіткі і цінні інструкції, додам тільки, що відключення датчиків температури вашим способом на Менделя 1,5 (Gadgets3D) не пройде (при компіляції з встановленими 0 значеннями Ардуіно прога лаялася на змінні, що використовуються в LCD панелі). Як відключити використання LCD на поверхні не знайшов, але знайшов що є параметр #define EXTRUDE_MINTEMP 170 В ньому замінив 170 на 0, компільнул, відправив на плату і екструдер дозволив крутитися колеса без прогріву. Після коригування значення за вашим методом відміряти стало як в аптеці (хоча поляк говорив що скинув найостаннішу вилизану прошивку), до цього похибка на 50 мм була близько 5 мм.

Популярне

Схожі статті